SmartPlug GUI Images

= General = This is the GUI for the project Python Control of Smart Plugs: There are two applications, ( smart_plug.py and smart_plug_graph.py ) which look very similar. In the images below both are show with their graphs open ( separate windows, available on demand ).

Differences Between the Applications

 * SmartPlug runs live, turns plugs on and off, sets timers..... and graphs data as it comes in.
 * SmartPlugGraph runs primarily off the database built by SmartPlug.

Similarity Between the Applications

 * Many of the widgets and functions are similar.
 * Both have message areas taking up most of the lower part of the window. It displays messages from other actions, and it is controlled by the widgets to its left.
 * Both can produce similar graphs ( one live graphs, the other from the database ).



We will discuss each application in the sections that follow.

= SmartPlug GUI =

This application provides for live control and monitoring of smart plugs. Some of the functions are common to both apps this will be noted here. Note that this screen shot was taken during a debugging session and has some artifacts that will soon disappear, features that will be improved, then a new screen shot should be placed here.

Keeping screen shots up to date is a pain, these may lag the actual application which should look and perform better as time goes by.



System Widgets
These widgets are present both the SmartPlug and the SmartPlug Graph application. They are related to managing the application, not to the purpose of the application.
 * : Open the application python log file using the system editor specified in parameters.py file. Note: The edit functions work only after you have configured parameters.py for your systems text editor
 * : Open the application parameters.py file using the system editor, after the file has been modified.  The system can be quickly restarted using the Restart button.
 * : Quickly restarts the system after the parameters.py file is changed or any time you want to restart the system from its current defaults
 * : Open help file ( which mostly links to this wiki ?? )
 * : Scans tcpip addresses as set in parameters.py to find plugs on your network.  Output to message area results including a draft for self.device_list.
 * : An about box, also display memory application is using.
 * : Displays application name, version, and mode ( mode set in parameters.py ).

Application Widgets

 * : Displays the name of the device, when pressed the message area will display a broad collection of data about the device.
 * : Turns the device on/off.
 * : When on displays power in a right hand column to right of window.  Also enables graphing of the device.  ( Plugs that do not support energy reporting may throw a nasty error )
 * : Turns the device power, energy recording ( to the database ) on/off.
 * : Turns device on and begins a countdown to turn it off.  Turn on time to right of widget, time left displayed off to the right.   may be used to end time earlier than set.
 * : Start and stops live graphing ( in separate window ).
 * : Lets you pick a database file ( default set in parameters.py ).

Message Area Widgets
The message area is the large white area at the bottom left of the window. It is a scrolling text area. It keeps a finite number of lines as set in parameters.py It is present in both applications.


 * : Copies selected/highlighted ( select with mouse ) into the clipboard
 * <Copy All>: Copies all the data.
 * <Scroll> checkbox: Turn on and off auto scrolling of the message area, turning it off can make reading and copying easier.

= SmartPlug Graph GUI = Note that this screen shot was taken during a debugging session and has some artifacts that will soon disappear, then a new screen shot should be placed here.



System Buttons
These buttons are present in both the SmartPlug and the SmartPlug Graph applications. For explanation see: SmartPlug GUI above.
 * <Edit Log>
 * <Edit Parms>
 * <Restart>
 * <Help>
 * <About>

Graph Control

 * Start date and hour: set date and hour to begin the selection of data for the graph ( default at startup set in parameters.py )
 * End date and hour: set date and hour to end the selection of data ( default at startup set in parameters.py )
 * Use check box to choose devices for data selection. Each device is graphed separately but on the same graph. ( list of devices defaulted in parameters.py )
 * Database file selected in space to right of label. Use <Browse> button to select file from your file system. ( default at startup set in parameters.py )
 * <Graph> button: create graph in new window -- there are additional controls on that window, see documentation below.

CSV

 * Data selection same as for the graph ( output file name set in parameters.py )
 * <CSV > button: create csv file from selected data.

Database

 * Database file: as above ( name a new file when creating an empty database )
 * <Define 0 DB>: create an empty, new database.

= SmartPlug Recording Graph =

Sample of a graph

Graph Control
See also Graph GUI for other graph control, this is only for the controls on this window. Icons at the top left allow you to (hover over buttons for help):


 * Zoom in on data
 * Return to original display
 * Scroll around the graph
 * Adjust graph parameters
 * Save image to a file
 * Move forward and backward through views you have modified