eHouse Home Automation .
Discussion of the software (source code) of Windows programming library.
Create a dedicated room control panels of Windows XP Tablet . . 7
Due to the increasingly lower cost tablets and wall panels can be tempted to use such a panel as “virtual switches”.
Tablets are much more mobile than standard electrical switches and wall panels.
As compared with the dedicated wall panels for typical systems Home Automation are almost ten times cheaper to dramatically reduce the cost of the final system that allows Control Home Automation .
In the case of hotel applications , in pensions , offices , where this number is very large (tens / hundreds) profits from such solutions are very specific (with around 3000 per panel at a price of panels dedicated to building automation in various standards) .
This project was based on the achievement of the simplest control panel room (room) with one RoomManager ( Home Automation Controllers eHouse) , obtain full functionality and ease of use , without wade through countless number of menu items which can be especially difficult for children or people with weak eyesight .
It is more instructional and minimalist design than the target for the VIP control panel .
The source code for the software application template can be more elegant and ” full-blown ” panel created by companies and investors developing eHouse system or its individual installations .
The simplicity of the control panel Automation , not shocking advanced graphics and a variety of additional , moderately needed functions , However, in terms of the maximum slimming gadgets , in order to understand the idea of the panel and not clutter the source code cluttered .
Another argument , which argues for simplicity is a significant energy savings (which is especially important in the mobile panels, battery powered) and low CPU power consumption compared to the same applications , much more graphic utilization.
This also makes the panels , much more readable and allows you to read the measurements and system status , a much greater distance , directly without the need to approach the panel
Screenshots for different states of the microprocessor controller (for Exhibition) showing the on / off outputs and measuring analog values .
The initial description of the project can be found at:
” Software Development peaceful Windows control panel for smart home eHouse ”
The application is based on a library of APIs (shared software with source code) eHouseLogAnalizer , which implements the automatic reading of the names of the drivers , I , output and synchronizes the status of drivers by creating a system logs on the server PC system eHouse .
More Info: ” Software API Library for Intelligent Building eHouse for Windows – eHouseLogAnalizer ”
The initial configuration is done with the main command line application:
As parameters on the command line or shortcut launcher application for the following applies:
/X: panel_width – Panel width in pixels / x: 800
/S: panel_height – panel height in pixels / s: 600
/A: controller_address – eg "/a:55-1 "for one alternative to roommanger /r
/R: controller_name – eg "/r: living" as an alternative to /a
/P: ehouse_remote_path – when you run the software on the server, not on the panel PC system and data read out eHouse are specified path and not the local directory – for example:
/p: //ehousesrv/eHouse/
Setting out the names are taken from the configuration of the PC (server eHouse) .
The rest of the settings are in the target of global variables can be retrieved from the configuration text files .
var path: String ; // Local path
remotepath: string ; // Remote path – eHouse path to remote server
oncolor: tcolor = clwhite ; // Button color for output ON – color of the button for the output is switched on
offcolor: tcolor = clgray ; // Button color for output OFF – Color button for starting off
deviceindex: integer ; // Index of RM table to display – index of the currently displayed roommanger
rows: integer = 4 ; // Number of buttons per row to display – number of buttons on one line
labelrows: integer = 2 ; // Number of buttons per row to display – number of labels in a single line of text
// All units in pixels for current screen – dimensions in pixels screen
fontsize: integer = 10 ; // Size of font for buttons – font size for buttons
labelfontsize: integer = 12 ; // Size of font for text labels – font size for text labels
yoffsetlabel: integer = 10 ; // Offset for labels block in y axis from the top – block offset in the x-axis labels
Buttonwidth: integer = 180 ; // All buttons width – width of the virtual buttons
Buttonheight: integer = 30 ; // All buttons height – amount of virtual buttons
LabelHeight: integer = 20 ; // All labels height – the amount of text labels
yoffsetouts: integer = 100 ; // Offset for outputbuttons block in y axis – move down to the input buttons
yoffsetprograms: integer = 350 ; // Offset for programbuttons block in y axis – down the shift key program
Xspace: integer = 3 ; // Space Between buttons in x axis – The distance between the buttons on the x-axis
yspace: integer = 5 ; // Space Between button in y axis – The distance between the buttons on the y-axis
labelwidth: integer = 250 ; // Width for all labels – width of all text labels
labelresultsize: integer = 100 ; // Dynamic labels result for size – size of the variable in the label being replaced by the results of measurements
computername: string ; // Computername for unique name of panel – computer name for the unification of multiple panels at the same time working
devicestoupdatestatus: string = ‘*’ ; // * For all devices otherwise addressh – addresslow – * Star checked all drivers or ” ADRESH – adresl ” only one (eg “55-1” )