---- cut here for README ---- heyu.cgi is a WWW interface to Daniel B. Suthers "heyu". "Heyu" is a C program that talks to an X10 CM11A computer interface unit that in turn controls devices around the home. heyu.cgi is a PERL WWW executable that generates an HTML table listing the home devices and a simple click will turn on, off, dim, or brighten the device. Setup instructions: - Set up "heyu". - Create a user to host heyu.cgi. (This isn't strictly necessary but it's nice to localize control. Heyu.cgi will use the GCOS field of this user's account as the title of the WWW page. If you want another title just edit the beginning of heyu.cgi. It's documented in the .cgi file.) - On the command line execute "heyu.cgi". (It should say "(offline mode: enter name=value pairs on standard input)"; if it doesn't it means PERL isn't being found or the file isn't executable or it'll indicate whatever ails it. Fix these problems or drop me a note and I'll see if I can help.) - Configure heyu.cgi to be executable by your httpd. (This can by by putting it in a cgi-bin directory; renaming it to heyu.pl if your httpd is configured to know that all .pl files are executable. ) Heyu.cgi has been tested with an Apache server on Linux. I know of know theoritical reason why it won't work with other servers. For Apache adding/enabling the line: "AddHandler cgi-script .cgi " in srm.conf and bouncing the daemon is enough to make heyu.cgi executable. - Make sure ~heyu/.x10config exists or you have edited heyu.cgi to point to .x10config. heyu.cgi will map a '_' in the device alias to a space, and will assume anything called "light" or "lamp" is dimmable. - Make sure the www server can write to the DBs as specified at the start of heyu.cgi. - Load the URL. The URL might look like http://mylinux/~heyu/cgi-bin/heyu.cgi. - If you see the text of heyu.cgi then the server isn't configured to treat this file as executable. Check srm.conf, check heyu.cgi is executable again. Check the httpd's error_log and see if there's information there. - Click and see. Here's my example .x10config: # this file should contain x10 appliance aliases, one per line, as: # appliance-name housecode modulenumber # for example: # mydesklamp A 4 # atticfan B 3 # # In addition, the devicename for the line the Powerhouse is attached to may # be specified with: # TTY /dev/tty00 # and the default housecode with: # HOUSECODE A # this is only used by the switches on the unit itself, and units # specified by number only on the command line. # Rory's_bedside_lamp A 1 Sue_Ann's_bedside_lamp A 2 Master_bedroom_fan_light A 3 Whole_house_fan A 4 Sitting_room_reading_lamp A 5 Outside_garage_lights A 6 Front_door_lights A 7 Game_room_fan_light A 8 Fishtank_florescents A 9 Kids_bathroom_light A 10 Family_room_fan_light A 11 All_3_alcove_lights A 12 Family_room_reading_lamps A 13 Upstairs_Corridor_Lights C 1 Kitchen_breakfast_area_lights C 2 Kid's_bedroom_lamp C 3 Mud_room_lights C 4 Master_bedroom_reading_lamp C 5 Family/Kitchen_lights A 9,11,12,13 # # Boston: LATITUDE 42:20 LONGITUDE 71:05 # # set default housecode -- the one the switches will use HOUSECODE A TTY /dev/ttyS1