"My Home Automation Projects"

xPLMyHouse

Please also read the Disclaimer

xPLMyHouse is an attempt to provide a graphical interface to an xPL Network

It consists of a "Pivot" which is the nerve centre of the system, a "Client" thru which you can control and design your system and a "Web Server" that allows you to view and control your system from anywhere in a PC Browser or hand held device browser.

New! Added Native Support for iHomeTouch

New! Added iPhone Website
 

An xPLMyHouse system consists of one or more "floors" with rooms, doors and devices drawn/dropped onto them

 

Installation

Important: the previous beta release data files are not compatible with this version. Sorry.

You can download the latest installation package from here (last updated 16/02/2011) and simply run "setup.exe" on the Windows PC/Server you wish to act as the "Pivot". Patches for the new version of xPLMyHouse can be obtained from the Change Log.

Both the Pivot and Web Server are windows services. By default the services are set to manual start up.

To start the pivot, simply start the service (control panel / administrative tools / services)

(Note: if after starting the Pivot service you see in the application folder a file called error_log.txt and it contains mention of an error related to scripting then you need to install the Microsoft Scripting Control. If you have xPLHal on the same machine then this should already be installed)

If you require the Web Server to run on the same PC/Server then you can also start the Web Server service, but you should not do this until you have created at least 1 floor in the system. If you prefer to run the Web Service on a different PC/Server simply run the setup.exe on that PC/Server and disable the pivot service (as you can only have 1 pivot in a network, although you can have multiple Web Servers if required)

To run the client simply copy the contents of the "Client Install" folder to any PC's you wish to run it from. On first start up there will be a delay while it copies all images and webcam definitions to a local cache. It is also valid to run the client (xPLMyHouse.exe) directly from the "Client Install" folder if you like

You can run the client on the same PC/Server as the Pivot and Web Server, or on any other PC on the local network. You can also, though I don't know why you'd want to, run the client multiple times on the same PC

IMPORTANT: Any PC/Server running a Pivot, a Web Server or a Client MUST have a working xPL Hub installed to function correctly

The installation also includes a MediaNetRollup.zip which MediaNet users should apply to MediaNet (backup your old version first) to add compatibility for use with xPLMyHouse.

Also, on the xPL Software page of this site, i've added updates to a couple of my existing xPL applications and a bunch of new applications (well old applications rewritten as windows services). You may want to install these to get the best experience from my own applications

 

Initial Configuration

You are not required to make any configuration changes before you get started, however the Pivot uses, by default, the multicast IP address 239.0.0.8 and port 58800 and detects the host name of the PC/Server it is running on. If required/needed you can change these values by editing data\mypivot.xml

 

IMPORTANT: Microsoft made a change to the DNS service in windows which means it grabs thousands of ports and holds them open. This means that if any port used by xPLMyHouse (e,g, 58800) is grabbed by DNS they will fail to start. If you think you have this problem then try stopping the DNS service, starting the xPLMyHouse service that is not starting, then starting DNS service again. There are a number of "fixes" for this on the Internet, but I haven't yet found one that seems to work for me!

Change Log

27/02/11 Various Tweaks
Have made a few tweaks, the main areas being:
Improved stability in the built-in Webcam device
Added support for my new xPLOwl app (device file and display of current KW usage in the client)
Double-click now brings up context menu in "Live" mode to improve use on a touch screen
Added an X10 PIR device file which doesn't trigger occupancy (for use purely as a motion sensor)
To install you need to update the Pivot and Client and, optionally, the new device files and images for Owl device
16/02/11 Support for Battery Reminders
Have added a new button/form to the Device Edit Screen that allows you to specify the device is battery operated and enter a date for when the batteries were installed and when they should be shown for reminder for replacement
The client screen shows a battery symbol with a question mark next to the device when the reminder date has passed
To install this you need to update each client exe and copy the image "reminder_battery.gif" to the Pivot Image folder and do a client update on each client (Help/Update Client) to download the image to the clients
13/02/11 Support for Mapping PIR Light Sensors to Lamps
Have added support for using a PIR light sensor to track the On/Off state of a Lamp in the same room
When modifying the properties of a Light/Dark sensor there is now a button to launch a new form that allows you to choose the lamp and map the PIR Light/Dark state to trigger the Lamp On/Off state to match
This does NOT physically turn a light On/Off, it only changes the state of the light within xPLMyHouse (though it will trigger any events the lamp might have attached).
It depends on having a Dawn/Dusk xPL device active to determine if xPLMyHouse considers it Day/Night
If it is Night then when the light sensor triggers dark it sets the light to off and vice versa
If it is Day then when the light sensor triggers dark it sets the light to off, BUT does nothing if it triggers light (as this will probably be daylight)
There is an option to ignore Dawn/Dusk for sensors/lights in a room with no daylight so they always flip state
This system also means non-automated lights can also be monitored for on/off state if a light sensor is present by adding a dummy light device...
When Dawn/Dusk changes it looks thru the light sensors with a mapped lamp (except those set to ignore dawn/dusk) and corrects the light on/off status based on the same rules as above (this last function is still being tested)
To update to this version you need to update the Pivot and Client exe's
31/12/10 Support for Pseudo X10 Devices
Appropriate devices can now be given a Pseudo X10 device code for on/off control
(e.g. turn a HomeEasy device on/off as if it's an X10 device)
Only the Pivot EXE and Device files (HomeEasy Lights) need updating
This allows for methods such as iHomeTouch to control HomeEasy devices
Only the HomeEasy light device files have been modified to support this so far
To enable any other device simply add a parameter to the devices xml file for the Pseudo X10 device to be specified (e.g. <params name="Pseudo X10 (i.e. A1)" usedevicename="False" />)
Then add x10 get's to the device states with a 'set="true"' parameter (e.g. <get xpl="xpl-cmnd;*;x10.basic;command=off;device={3}" set="true" />)
Basically when the Pivot makes a match to a 'get' where set=True it stops processing the X10 command and sends the specified set command for the device in question which then causes the light (in this example) to be switched on/off as appropriate
24/12/10 Support for iHomeTouch iPhone/iPad App
Supports control of X10 devices using the iHomeTouch App http://1jump2.com/apps/ihometouch
Only the Web Client needs updating
If it proves a usable app I'll look at adding support for Pseudo X10 control of other on/off etc devices (e.g. Homeeasy etc)
10/09/10 Fix for New Twitter API
Fixed issue where basic username/password authentication no longer works
This is a quick fix, as I can't store the consumer key/secret key in the program as it's open source
You need to update xPLMyHousePivot.exe, TwitterVB.dll, devices\xPLMyHouse Twitter.xml and Schemas\sendmsg.twitter.xml
To make it work you need to login to the twitter account you post to from xPLMyHouse and setup xPLMyHouse as a client application
Once setup you can get the Consumer Key, Consumer Secret Key, Token Key and Token Secret Key to enter into the Twitter device properties
You setup the application by logging into your Twitter account at https://twitter.com/apps
The application name is what will show as the poster against any tweets from xPLMyHouse
09/07/10 Fix for iPhone OS4
Fixes issue with css file not loading with OS4 installed
Need to update your xPLMyHouseWeb.exe and iUI.css files
No idea what the website looks like on an actual iPhone4 though!
06/07/10 Support Alternative SMTP Port
The built-in SMTP device now supports the use of an alternative port (default is 25) in the device properties and smtp xPL message
Specify the port on the end of the host e.g. mail.somewhere.com:443
04/06/10 Bug Fixes in Client and Pivot
Fix various bugs in event design and save in Client
Fix various bugs related to system values when events run in Pivot
All XML data files are now indented for easy manual editing
02/06/10 Webcam System Rewritten and Bug Fix
Fixed bug where in design mode shifting the floor layout resulted in devices on all floors being shifted
Webcam system support for html files removed due to high instability (mainly caused by Java delays)
Webcams now support only images (refreshed in client at roughly 500ms intervals) so if the camera does not support grabbing a still image over http then you need to use 3rd party solution software
You need to update xPLMyHousePivot.exe, xPLMyHouseWeb.exe, Client Install\xPLMyHouse.exe and Devices\xPLMyHouse Webcam.xml and re-enter the necessary device parameters
The webcam device now supports a capture action (saved by default to program path\webcams, but you can specify an alternative path in the device parameters) and saves the image as a jpeg as device name_yyyyMMddhhmmss.jpg and the newest captured image is also stored as device name_latest.jpg. No functions exist to view these within the client or web servers at the moment.
The url parameter will accept ";" seperated url;user;password BUT some software camera solutions won't authenticate with this method, and IP cameras that do may be slow to display. Preferably don't use authentication.
19/05/10 Pivot Security System
Modified so that Alarm System Anti False Alarm doesn't apply when armed in home mode
This is because an intrusion in home mode would only be indicated by a single perimeter trigger in most cases
15/05/10 Bug Fix etc
Fix bug which prevented editing of Events that included "system global", "system month" etc
Updated the UPS Device xml
Scrapped xPLMyHouse4WHS (will revisit when WHS Vail is released)
06/05/10 UPS Support
New Generic UPS Device added which uses ups.basic
When Pivot detects any ups.basic message with status=battery it forces a save of all caches etc
29/04/10 Amendment to Events
When editing an event there is now a "States" button
Clicking this brings up a form to allow selection of DawnDusk, Occupancy and Security System states,
this is to provide a better way of controlling when a script runs, rather than wasting IF's on them
23/04/10 Pivot Bug Fix
Pivot was crashing on devices with an automatic state timeout if >1 timeout queued
22/04/10 Various Bug Fixes and Tweaks
17/04/10 Various Bug Fixes and Tweaks
14/04/10 Various Bug Fixes, Tweaks and New Devices
10/04/10 Various Bug Fixes
08/04/10 Various Bug Fixes, Tweaks and New Devices
06/04/10 Bug Fix and New Device
Fixed bug in client that prevented design save if door added
Added device file and images for Homeeasy HE-305 security sensor
05/04/10 iPhone Speed Improvements
Changed dropdown options url's to minimize the size of the menu file
Connecting on external port presents a menu with a choice of Wifi or 3G/Edge
Selecting 3G/Edge suppresses display/download of device images in menus to improve performance
(note: need to update www\ui folder as well as web exe if updating)
04/04/10 Added support for Webcam images to iPhone Interface
Will obtain image from either pre-cached disk image or direct download from ip camera or website
03/04/10 Added iPhone Web Interface
Use http://<ip/host>:<port>/ for internal use (uses port from default website)
Use http://<ip/host>:<port+1>/ for external use (uses port / password from default website)
01/04/10 New Version
Various bug fixes and added built-in Twitter device