|
I've received a lot of e-mail asking how I setup my "Automated Home Status" page.
It's not too difficult, though there are several different pieces to the puzzle.
First of all, I develop web sites for a living, and this web site resides on a server
at the offices of my web host provider (not on my PC here at home). So, if I'm
doing testing on my PC here at home, or if I reboot my PC, or whatever, this web site
is always up.
You'll notice that at the top of the status table, there is a time stamp. This means
that the statuses that you see are not really live. They are simply a snapshot of
the statuses as of that date and time. This is probably the only caveat to setting
it up the way I did. I could easily run it off a web server at home, or even use
HomeSeer's built-in web server, but I just don't want to; I do too much testing and
rebooting, etc. to the point where the status site would not always be up. So this
is the way I chose to do it.
To set this up, I wrote a script (VB Script) that runs twice every hour in HomeSeer. This script
saves the names and statuses of all my devices to a simple text file on my PC. The
text file has one line for each device, and each line contains several tab-delimited
fields of info about that device.
The next step is to get that status data from my PC to this web site. For that, I scheduled
a task that also runs right after the above script. This task uses WS_FTP Pro to upload the
status text file to this web site. It's all automatic.
Following is a link to the current data that was recently uploaded:
status.txt
The data in the above file is the actual current data that drives my status table.
Then, I have a Perl CGI script that reads this text file, and displays the page you
see.
For some of you, the explanation above may be enough. For others, you may want to see examples
of the VB Script and Perl scripts that I wrote. For now, I can't show those to you. I use some
proprietary libraries that I wrote and it would take some time to make them generic enough to
show you. I still may do that at some point in the future. We'll see.
|