Home | | Programming Resources | | Home Automation | | Share This Page |
(double-click any word to see its definition)
Version
This is Version 3.2 (03/02/2008) of the ISY-26 PHP Web interface script. It is Copyright © 2008, P. Lutus. This script is released under the GPL.
Introduction
This page describes a convenient way to control and monitor all your Insteon controls by way of a Web page accessible on your local intranet. The only prerequisites are:
There are some Web pages served up by the ISY-26, but at the time of writing they're not very polished or useful, so I decided to create a PHP script that takes the ISY-26's HTTP output, processes it, and creates a simpler and more useful Web page.
I created this script because I can display it on my palmtop computer's browser, as a stand-in for a decent (but nonexistent) Insteon remote control — one with a lot of buttons.
By the way — the people who designed the ISY-26 could easily create a built-in Web page like this — a simple, intuitive page that allows a user to easily control his home system. Hint, hint.
Example
The resulting Web page looks like this:
Scenes:
All_Units On | All_Units Off | External/Foyer On | External/Foyer Off |
Lower Level On | Lower Level Off | Lower Staircase On | Lower Staircase Off |
Master Bedroom On | Master Bedroom Off | Middle Bathroom On | Middle Bathroom Off |
Radio Room On | Radio Room Off | Upper Bathroom On | Upper Bathroom Off |
Upper Staircase On | Upper Staircase Off |
Controls:
Computer Room | Dining Room | External/Foyer 1 | External/Foyer 2 |
Galley | Garage | Living Room | Lower Level 1 |
Lower Level 2 | Lower Level 3 | Lower Staircase 1 | Lower Staircase 2 |
Master Bedroom 1 | Master Bedroom 2 | Master Bedroom 3 | Middle Bathroom 1 |
Middle Bathroom 2 | Radio Room 1 | Radio Room 2 | Upper Bathroom 1 |
Upper Bathroom 2 | Upper Landing | Upper Staircase 1 | Upper Staircase 2 |
The idea of the page is that you can click any of the control labels to toggle that control's state — the control will be turned on if it's off, off if on, and the label color indicates the control's present state. For scenes, because the ISY-26 doesn't provide state information, there are two buttons per scene, one for on, one for off. By the way, the sample above is live — it won't actually control anyone's lights, but if you click one of the labels, a dialog will appear showing the action that would be taken.
Setup
To use the PHP script, simply follow these setup instructions:Miscellaneous Notes
To exclude a particular control or scene from the display, simply prefix its name with a double underscore (like __this). I have a number of scene definitions that only serve to make orphan controls broadcast their changing state to the ISY-26, but they don't need to be displayed in the page.
The reason there are no on/off color cues in the scenes table is because the present ISY-26 Web output doesn't provide this information. This may change in the future. In fact, there is some indication that a future ISY-26 software version will allow users to upload Web pages (or server-side control scripts) onto the controller and be served from there. That change would greatly simplify a project like this. Hint, hint.
The reason this script doesn't support light dimming is because I don't have any dimmable controls or lights (all compact fluorescents at my house). This function would be easy to add if there were a compelling reason.
This script is very simple to set up and use. It shows one of the many advantages of running Linux. One can run a Web server under Windows, but compared to Linux, it's a lot more effort to set up.
Home | | Programming Resources | | Home Automation | | Share This Page |