It's been a while since I've visited these pages, I wrote this in 2001. I'd venture a guess that they still work (this page and LHAP II) as the code is stable. You will need to have JavaScript turned on as the Overlib library requires it to properly run.

How this basically works is you click on one of the green or red boxes and the X10 ID and an on or off command get sent. A green box is a device that is currently on, if clicked the off comnand will be sent. A red box a device that is off, if clicked the on command will be sent. The PHP code that this page is generated from (this page is a static display, sorry) takes the data passed to it (on/off and ID) and executes the command on the server to perform the requested operation. In the second example page (LHAP II) I also make use of the popups to describe the device. When I designed these pages in 2001 screen sizes of 640x480 were still common. So everything had to be made small. The popups (they behave like the modern HTML title attribute) allow you to have more than the cryptic A16 name on the device. Read the Readme to find out the program's dependencies.

This program would need to be completely rewritten but it's a prime candidate for AJAX. This would permit, close to, real-time updates of the current state of the X10 devices.

Remember that these pages are meant as examples. They're not very pretty but are functional and show how, with a little bit of code, you can create a very simple but functional home automation display.


Linux Home Automation PHP Page
X10 Status
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
A  DL   HU   A3   A4   A5   A6   A7   A8   A9   A10   A11   A12   A13   A14   A15   TV 
B  B1   B2   B3   B4   B5   B6   B7   B8   B9   B10   B11   B12   B13   B14   B15   B16 
C  C1   C2   C3   C4   C5   C6   C7   C8   C9   C10   C11   C12   C13   C14   C15   TH 
D  D1   D2   D3   D4   D5   D6   D7   D8   D9   D10   D11   D12   D13   D14   D15   D16 
E  E1   E2   E3   E4   E5   E6   E7   E8   E9   E10   E11   E12   E13   E14   E15   E16 
F  F1   F2   F3   F4   F5   F6   F7   F8   F9   F10   F11   F12   F13   F14   F15   F16 
G  G1   G2   G3   G4   G5   G6   G7   G8   G9   G10   G11   G12   G13   G14   G15   G16 
H  H1   H2   H3   H4   H5   H6   H7   H8   H9   H10   H11   H12   H13   H14   H15   H16 
I  I1   I2   I3   I4   I5   I6   I7   I8   I9   I10   I11   I12   I13   I14   I15   I16 
J  J1   J2   J3   J4   J5   J6   J7   J8   J9   J10   J11   J12   J13   J14   J15   J16 
K  K1   K2   K3   K4   K5   K6   K7   K8   K9   K10   K11   K12   K13   K14   K15   K16 
L  L1   L2   L3   L4   L5   L6   L7   L8   L9   L10   L11   L12   L13   L14   L15   L16 
M  M1   M2   M3   M4   M5   M6   M7   M8   M9   M10   M11   M12   M13   M14   M15   M16 
N  N1   N2   N3   N4   N5   N6   N7   N8   N9   N10   N11   N12   N13   N14   N15   N16 
O  O1   O2   O3   O4   O5   O6   O7   O8   O9   O10   O11   O12   O13   FP   O15   O16 
P  P1   P2   P3   P4   P5   P6   P7   P8   P9   P10   P11   P12   P13   P14   P15   P16 

HA Command: