Here is a list of the various ideas I'm working with:
+--------------------+
| GUI | Shell | cron |
+--------------------+ ^
| CMDS <=> scripts | |
+--------------------+ |
| Network | system | |
+--------------------+ |
| Daemons | |
+--------------------+ |
| Device | V
+--------------------+
Hey that looks just like the ISO model, hmmm what a coincidence
:-) It also happens to be the Unix design philosophy. Create a
tool, keep it simple so that it does one thing really well. BTW
the drawing is incorrect, the Daemons are built on top of the
Network/Systems layer. I will correct that at a future date.
What I had originally envisioned was to build simple daemons which
would perform the I/O to the devices. They would convert simple
ASCII commands to the proper format and handle the timing to the
interface with the device. You could then connect to the daemon
via a network socket (telnet me x10d for example) and type
in commands and receive responses. Then the next step would be to
build programs that would interface to the daemon so you could
type simple easy to remember commands from the command line
(something a little closer to english such as on TV
as opposed to A1AON). This of course would permit
the commands also to interact with other commands (through the use
of pipes or filters such as expect). The next logical step would
be the creation of GUI's to permit the Object Oriented view of
things (you click on a TV to turn it on or off). We're not too
far from that now. My problem is that I want to use the browser to
be that interface. This would allow any user Windows, Mac, or
Unix to bring up a display and make changes dynamically. I've
started working on using Perl/Tk because I can write the code once
and run it under Windows and under Unix (it may also be possible
to run it on a MAC but I'm not setup for this).
System A System B
+--------------------+
| GUI | Shell | cron |
+--------------------+ ^
| CMDS <=> scripts | |
+--------------------+ +--------------------+ |
| Network | system | <------------> | Network | system | |
+--------------------+ +--------------------+ |
| Daemons | | Daemons | |
+--------------------+ +--------------------+ |
| Device | | Device | V
+--------------------+ +--------------------+
Further Home Automation software can be found at the admin's
personnal home page: http://members.home.net/ncherry
And the project admim may be contacted at: ncherry@users.sourceforge.net
Please check back soon for updates or visit SourceForge