Our Online House
Note: Many of the pieces of equipment listed here have descriptive links of them that reside on the Home Automations Systems web site. I do not have any connections with HAS besides being a satisfied customer and make no guarantees as to their service or products.
My interest in Home Automation goes way back to the beginning of the X10 'Plug and Power' modules offered by BSR and Radio Shack. These modules allowed remote command of appliances and lights via 'command consoles'. This was before the CP290 Powerhouse system was available and the only way to 'schedule' your lights or appliances was with a dedicated computer. I had just the computer too, a spare Commodore VIC-20. With it's 5K of RAM, 22 column display and a small 'User Port' X10 adapter, the VIC controlled lights and appliances in our small house on the schedule I prepared. It also had a simple cds light sensor hooked up to it that triggered a joystick fire button when it was dark so the program could turn the lights on at dusk and off at dawn... sometimes it worked, sometimes it didn't.
The program was written in Commodore interpreted BASIC and no power backup or reload capabilities were at hand. So if the power went out, I had to restart the whole computer/program... not too good of an idea if you want the house to look 'lived in' while on vacation. When the CP290 came out, that was one answer to my home automation desires... at least it could take care of scheduling everything. I purchased the CP290 with the C64 software and was off and running with the new system. My plans to keep the VIC online as a real-time monitoring system was dashed when the VIC AND the X10 interface was trashed somehow. I'm still not sure what/why or how it happened but they both didn't work. I eventually fixed the VIC and still have it, another VIC, and two C64's setting around gather dust.
With our move to our new house, the CP290 came with us and once I found some PC software to program the unit, it was hooked up to my new 8088 XT (Commodore brand in fact and it's still used in the garage) and set about doing it's simple scheduling task. I still hadn't pursued the real-time monitoring since I didn't have an easy way to hook the C64/VIC stuff up to X10 and didn't want to spend the extra money at the time to get a new interface. So for several years, the CP290 did it's job of turning the lights, computer monitors, heaters, etc. on and off as needed and is still working today.
Current System Quick Index
Analog Inputs | Digital Inputs | Digital Outputs | X10 Modules
Scenes | InfaRed Controls | Motion Detection | Clothes Dryer | Speech Output
Status via Pager | Sprinkler System | Phone Control | Other Stuff
CalledID via CIDMAN | Voice/Fax Mail | Computer Systems Description
I had planned on using an old PC to handle home automation. I even built a digital I/O board, and looked at many different ways to automate things. MicroMint's NetPort modules looked like a promising way for a distributed system but after working on the flow charting of developing the code to take care of it, I opted to go with the JDS TimeCommander Plus system. It is a stand alone or PC integrated system that provides 2-way X10 control, 8 analog inputs, 16 binary inputs, and 8 binary/relay outputs. The system uses an additional Support PC to handle features such as voice output, WAV output, and other special features listed below.
The JDS system is installed and running and has been located in a secured area near our home security system.
The system tracks the following items;
- 1 Outside Air Temperature (OAT)
- 2 Garage Temperature (GAT)
- 3 Inside Air Temperature (IAT)
- 4 Inside Humidity
- 5 Wind Speed (Future)
- 6 Future
- 7 Future
- 8 Future
- 1 Alarm System Armed Status
- 2 Alarm General Loop
- 3-5 Alarm Loops 1, 2, 3
- 6 Burglar Alarm Sounding
- 7 Fire Alarm Sounding
- 8 Door Bell
- 9 Garage Door Status
- 12 - Washing Machine
- 16 Clothes Dryer Monitor (11/05/96)
Digital Inputs Explained
Most of the DI's are self explanatory. The first 7 DI's are used to track the alarm system status, loop status, and alarm on status. The Doorbell input is primarily used to open the garage door in emergencies but will later allow announced visitors and the ability to take a message if we don't answer the door. I track doorbell toggles during the day and when I hit the 'home' code the system tells me if there were any doorbell rings today or not.
The garage door status is used to insure the door is closed at night and used as feed back for the relay output for closing/opening the door.
The Clothes Dryer?
(11/05/96) Yeah I track the dryer now. We recently purchased a new dryer and to my amazement, it doesn' t have a 'buzzer' or other notification sound that a cycle has finished. It is also located in the garage which makes it very difficult to know when the dryer is finished unless we happen to be in the garage at the time. So I added a dry contact relay output that goes ON if the dryer's running. The TC+ then checks the DI and if it TOGGLES and GOES OFF that means the dryer has finished and the system 'speaks' the notification through the sound system. It also will remind us every five minutes that the dryer is done until we toggle the notice off via an X10 control code. It's semi-intelligent in that if the away mode is set it will not announce and is DOES give up after an hour of notifications just in case. Works for me!
(03/14/99) To compliment the Dryer setup above and provide some run time and cycle feedback, I added the washing machine to the digital inputs. Actually we ran out of 'Bounce' dryer sheets one weekend and I couldn't ever remember when to add the fabric softener so I tied the washing machine in an have it announce that 'washing machine stopped' when that occurs. The connection is on the timer so it does show a stop in between wash and rinse which is exactly what I wanted.
- 1 Arm/Disarm Alarm
- 2 Open/Close Garage Door
- 3 Future
- 4 Future
- 5 Future
- 6 Alarm Siren Interrupt (01/02/97)
- 7 (future)
- 8 (future)
- Living Room - End lamps, recessed lighting, hall lighting and ceiling fan
- Kitchen - Ceiling light and fan, sink lighting, and TV
- All Bedrooms - Ceiling lights and fans, reading lights, and arch lamp
- Computer Room - Personal system Monitor, TV, HomeAutomation PC Monitor, All lights
- Outside Lighting - Low voltage pat lighting, north and south side lighting, patio and garage lighting and rear lighting. Driveway light is X10 motion/dusk sensor and is used to trigger front events.
- Ceiling fans are controlled through transmitters using a single button for light and fan control. The light is on the house code of the transmitter while the fan is on a different house code using the same unit number. The 'light' button pressed once will automatically turn on the light. If the button is pressed again within 3 seconds, the fan will be turned on by the TC+ using the XSEQ checks. Slowly replacing wall switches with Leviton Transmitters to allow standardized control of everything without having to use the current remote keypads. Primarily this is to keep from losing the remotes so often. Even with six of them all over the house, we never can find the one in the area we are at the moment.
During June of 1999 I purchased and begin implementation of Dan Hoehnen's ACE software system. The reason for switching to ACE was originally the CallerID features since I continued to have problems with CIDMan. I converted my speech applications to use the ACE Text To Speech since it offered more options and features than my SayIt program does and eliminated more Visual Basic coding for me to do.
Future functions for ACE
- Controlling a WebCam32 functions on a remote PC via the ACE Server / Client connection
- Pan/Tilt control of a webcam using the serial functions, two RC servos and a serial servo controller chip
- Remote digital inputs using ACE Client and digital input to serial chip
(04/20/97) Since the JDS TC+ unit pretty much runs the house in-as-far-as lights, controls, etc, in April 1997 I decided to go ahead and add a TRANSMIT ONLY IR unit to it. Having watched the online discussions about the JDS IRX2 and it's capabilities AND current problems, and having factored in the cost, I decided to just interface an OLD One-For-All 6 unit to the TC+ instead of spending the extra money for the IRX2. This is the old URC-4000 model OFA with the serial port or maybe better known as the 'upgradable' version.
The OFA 6 connects via the SDNET/AUX output and drives a PowerMidtm IR to RF transmitter/receiver that then drives the entertainment system. There is another PowerMid unit in the Master Bedroom that receives manual commands and transmits them to the entertainment system to.
Since most remote controlled equipment today uses a single code to power up AND down I wired a standard 110VAC relay to a power cord, plugged it into the Audio/Video receiver switched outlet and connected the dry contacts of the relay to a X10 PowerFlash Interface that tracks the power status of A/V receiver by X10 device status. That way the system knows to send the power command(s) if the receiver is on and it needs to be off or vice versa.
The system now checks to insure that the entertainment system is off when the Away and Goodnight mode is entered or when there is no motion in the entertainment room for an hour.
(07/28/97) - I also use the IR output to provide channel scanning and favorite channel selection. Since I have an under-the-counter TV in the kitchen that is always tuned to the same output the master TV is viewing (via modulator on the TV video out), I use a wall mounted X10 controller to scan the channels up or down. Pressing a control key ON twice scans up, OFF twice scans down. The OFF-ON sequence powers the Audio/Video system up or down and the ON-OFF sequence goes into the favorite channel scan mode providing 10 second (or thereabout) previews of MY favorite channels (as programmed in the TC+). While in favorite channel scan, pressing the control sequence again stops the scan. Of course this works from anywhere in the house with handheld X10 controllers. This can also be activated on the IR handheld remote through the X10 Command Console listed below.
(07/10/97) Added the Infrared X10 Command Console (shown at right) to allow IR input for the TC+ system. This is used primarily to allow simple input for macros and for control of lights in the living room without having to hunt down a keypad controller or cordless phone. The One-For-All remotes use the AUDIO2 or AUX bank for this control making it simple to switch over to X10 control while controlling the entertainment system. I use a couple of One-For-All device remotes, model URC-4053 and the older URC-2005 to control my audio/video devices as well as drive the IR X10 Console.
Outdoor motion is detected by an existing X10 flood light system with additional future unit planned. Since the TimeCommander will allow two-way X10 control, decisions on what to do with outside lights can be based on the X10 flood light and the current outside light level as well as if the system is in 'home' or 'away' mode.
Indoor motion detection is handled by some cheap X10 Wireless Motion Sensors located in various positions in the house. I have setup a house code for motion detection and use these to trigger some light activity. This is real useful in the garage and other low traffic areas. I am using an old modified flood light sensor and X10 PowerFlash Interface in the computer room and in the front exercise room for now to track motion and make decisions for lighting, computer monitors, occupation, etc.
Due to the kindness of another HA enthusiast, I now have a nice older B&W NTSC video camera and an included housing that makes a nice monitor for the front yard/driveway. I have it temporarily setup to turn on with motion but need to get a good modulator to send the signal to the entertainment system for popping on the TV. Current using an old green screen computer monitor to view results from it. It has some problems with low light but is great during the day and/or to see it there is truly someone there after the lights come on.
09/06/99 - Front Door Camera - Finally added a Front Door Cam for monitoring the front door from the living room. Ended up using a $46 B&W camera from QVC.com mounted in the corner of the front door porch area. Nice for the price in that it includes 60' of cable and has audio capability as well. The video/audio is current fed to an extra NTSC monitor that is above the existing TV for reviewing. Pictures coming soon. I also plan on patching the video out to the VCR so I can have the HA system switch inputs and record a few minutes when the system is in Away mode to see who came to the door. May add to the Snappy capture card too to get a web viewable version online sometime. I have an extra one for the back yard to put in place soon.
Several "scenes" have been established including, "home", "away", "goodnight", "entertainment", and "vacation".
The AWAY mode is triggered by X10 sequences OR by smart control by the system through the motion activity in the house. For example, if we forget to start the AWAY mode code (via dedicated "K"ontrol house coded mini-controllers in the garage and living room) during the week and no motion has been detected throughout the house for one hour in the morning, the AWAY mode is automatically set. The system then insures that all lights and unneeded controlled appliances are off, outdoor lights are off, garage door is closed, alarm system is active, etc. When we return home and set the HOME mode, the system welcomes us home and tell us how many times the doorbell has rung today.
GOODNIGHT mode is trigger either by a command or by time of night. This mode insures that outdoor lighting is indeed on, all interior lights not used are off, and the house is secure for the evening. It also is used to change the behavior of motion detected INSIDE and OUTSIDE of the house to help provide lighting for those moving about. Motion detected outside triggers a routine that turns on various exterior and interior lights in timed intervals to provide that "I see someone is outside" appearance. Motion inside the house brightens the affected area enough for those moving around to see where they're going and then darkens the room again after timing out. Since I use several 16 unit wireless controllers, the X10 sequences look for UNIT# - ON sequences AND UNIT# only sequences.
GOOD MORNING mode is trigger by an X10 sequence when I get up and is not triggered automatically. (We are not THAT consistent in the times that we get up, especially on the weekends). This mode lights up the house as programmed and then reads any special reports or statistics as required.
ENTERTAINMENT mode is trigger by an X10 sequence command and is used to dim certain lights and set the correct 'mood' for watching a moving on the entertainment system. The system will also power up the entertainment system if it's not already online and start the movie that's in the VCR, set the main and surround sound volume and turn off any secondary TV's or monitors that are on in the entertainment area. In addition the system says "I hope you enjoy the show" when everything is ready just for the fun of it.
Status via Dial Out Pager
The system provides outside communications including paging me with system information depending upon the situation. Although the paging is limited to digital values since that's what my pager is set to, it will let me know when something 'odd' is happening such as motion during time periods when no one should be home, abnormal temperatures, or other areas as I can think of them.
Yes I have a modem and a PC hooked up to the TC+. I accomplished this by putting the modem on an X10 Appliance Module. When/if the system needs to use the modem to page me, it turns the appliance module on, runs the paging code and then turns the module off. Obviously I would like to have the modem online full time but I've found too many conflicts for now to get this to work.
When I get around to building a phone ring detector, I will program the TC+ to look for the special ring sequence for dialup activity and turn the modem on if found. This would allow remote dialup access with my existing setup. The modem is an old US Robotics 9600 baud unit (I've modified the TC+ to run at 9600 baud instead of 2400).
(01/09/99 Updated) Since the JDS Timecommander series does not support any specific speech hardware or software, I've improvised by using the 'execute' option of the ASCII OUT function. If you have the MegaCommander running in Windows hooked to the JDS unit, you can use '&&' in an ASCII OUT command to execute any program you wish on the PC. Originally I used the Soundblaster 'SBTALKER' program to say whatever I send in the ASCII OUT command. I use this to validate arming the alarm, goodnight, vacation, and entertainment scenes, etc.
More recently (01/08/99) I have developed a Visual Basic app that runs as a text-to-speech server and a 'speak.exe' and 'read.exe' client program that provides the text to say via DDE calls. I had tried to use a single program to speak and read but by the time it loaded the program, then the speech engines, and whatever else it had to it was taking 3-6 seconds before talking. With the DDE server running, it speaks as soon as the speak or read program runs which works much better. I'll make the app available here shortly for download.
(01/12/99) If you'd like to play with the Text-To-Speech system called SayIt, check out the ProtoWrxs Files page.
(06/99) Converted over to the ACE Text-To-Speech system due to it's flexibility and my desire NOT to code mode in VB for now
(05/25/97) For the summer of 1997 I decided to integrate the simple sprinkler system I have with the HA system. Previously I used an electronic timer that turned on the sprinklers on a regular time schedule but it wasn't very smart and had a tendency to go through batteries rather quickly. This year I decided to replace the timer with a 24V control valve. To keep it simple, I have mounted the control valve near an existing faucet and use an appliance module to control the 24V supply wired out to the valve. I use a X10 PowerFlash Interface driven by a scratch built moisture sensor to determine if watering is needed or not for now. I have made the whole valve setup 'removable' so I can remove and store the it during the winter months. (It's just easier than plumbing a lot of interior water lines for now). Once I get some weather data input such as temperatures and wind speed/direction, I will have the TC+ make more intelligent decisions on watering.
(06/99) Implmented ACE Server on the main Home Automation PC for Caller ID and other items. Using the ACE TTS system due to it' integration with ACE Server and expanded DDE capabilities. The ACE system provides a better log file of calls for web access. Am working on the email interface to email my cel phone with numbers called during normal daylight hours. Additionally the ACE clients are running on some of the other systems on the net providing popup CID data when a call comes in.
(07/11/97) After playing with it for some time, I finally added a registered version of CIDMan which provides pretty complete CallerID support. CIDMan's primary purpose is to provide text-to-speech voice announcement of incoming calls via the text-to-speech system. It will support other speech systems such as WinSpeech but personally I like the SBTalker quality better. In September, 1997, CIDMan was updated to provide DDE capability for the SBTalker/Monologue engine providing a much better sounding and speedier voice announcement. CIDMan also provides incoming call logging, paging of specific or selected callers and script execution based on CID data plus many other features I haven't even explored yet.For under $30 it was a useful investment. What is really nice is you can have CIDMan hit your pager with a code AND the number of the person calling or with a little custom coding have an SMTP mailer email mail my celphone with the info.
I tried to use a PC Caller ID Plug to decode the CID info and drive CIDMan instead of the prior voice/fax/data modem but never really got the device to work correctly. It would continue to spit out garbage after the call which would blow up CIDMan.
(01/08/99) I have been using my speak.exe program since CIDMan provides an 'external' speech app and it is working great. Doubt if I'll fall back to Monologue again.
Voice/Fax Mail System
(01/08/99) Updated - The voice modem died so I am not using anything here for now. As soon as I replace the modem, I plan on coding a simple but effective answering machine in VB to replace the clunky previous way of handling calls. This will allow a better interface with the PC system I hope and allow me to see call info across the Internet as well.
(07/25/97) A 33.6K Voice/Fax/Data modem is installed in the HA PC. The modem handles incoming calls on my voice line. By using Bitware's voice/fax mail system, I can add mail boxes as needed, receive faxes automatically, and provide fax back capabilities if desired. The original challenge was to figure out how to have the TC+ or the PC notify us when we have new messages since the HA PC is not located in the main living area and the program doesn't provide repeated audio notifications of new messages. The solution was to use LaunchPad to monitor the mailbox file status. If the file changes, we assume we have new messages and LaunchPad kicks in and sends a key sequence to EventManager to generates an "ASCII IN" statement with "NEWMSG" that triggers the new message process. This process increments the NUMMESSAGE counter and notifies us that we so many messages waiting every few minutes and lets us use a standard control key on an X10 controller to we play them. A new message check is also made when we set the HOME scene.
Local and Remote Phone Control
(10/25/97) Added a Leviton Telephone Transponder (shown at right) that provides phone control of the X10 systems in the house. The unit simply takes a command from the phone keypad and sends the X10 command out so you can pretty much do anything you want on the phone just as if you had an X10 controller in your hand. It IS a little more difficult since you have to remember the command translations from the phone keypad but once you remember the main commands you use, it works okay. I don't like the requirement to enter a 'password' when you're picking up the phone locally BUT I guess the system doesn't know where you are (local or remote).
(10/12/99) Added phone features on the web interface ( http://House.Protowrxs.com ) to allow controlling Call Forwarding and Call Rejection from the web site. Call forwarding setup mainly because I forget to toggle it when leaving but do not necessarily ALWAYS want if forwarded when we're out. Originally this was in the AWAY mode event but proved to be too often.
- WAV Sound Effects
Several .WAV files are also used to provide an audio cue for certain items that I don't want the system speaking to me.I use this for alarms, garage door opening, system armed/disarmed, etc.
- Infared Extensions
I control the living room entertainment system via X10 Powermidtm transmitters. This is needed to control the primary hi-fi VCR that is used to play movies in the Master Bedroom when desired and to provide the ability to shut down the entertainment system from the bedroom at the end of the day. One is also used to to re-transmit commands from the TC+ as explained in the Infared Control section here.
- We use the voice output for several general 'reminders' such as;
- When to refill the humidifier - Every other day
- When to replace the HVAC filters - Monthly
- When to take out the garbage - The night before garbage pickup
- When to water the plants - Weekly
- Automatic Setback Thermostats
Although not integrated into the TC+ or PC systems at this time, we have used a automatic setback thermostat for nearly eight years now to set the temperature up/down during normal unoccupied times. I would love to have the X10 Controlled thermostat but it's difficult to cost justify it at this time.
- Vacuum Cleaner Shutoff
(10/30/97) Finally implemented the vacuum cleaner shutoff trick. Put a module on my vacuum cleaner and programmed the TC+ to turn it off if the doorbell rings. Will add code for the phone as soon as I get a ring detector put together.
- XTend Toolbar Control
(07/15/98) Just to make X10 control a little easier while working at my Main PC and to put an old CP290 X10 controller to work, I've added XTend to my main PC. XTend is a small app that resides in the System Tray and lets you quickly control any X10 device you have configured in the program. I've set XTend up for the most common controls I need while working in the computer room; Living Room Main and Reading lights, my son Austin's room, bedroom lights and the monitors and printers in t he computer room. Quick, cheap and effective way to use the old CP290. You can find out more about XTend and download a demo copy at http://www.netrox.net/~xpress/xtend .
- Personal Robot Integration (03/02/99) - Will be integrating a small personal robot (ProtoBot) into the HA system. Although initial integration will be limited, eventually I think the bot(s) should be able to communicate with the HA system and vice versa. Well see. More info on my Bots can be found on my Personal Robot Page.
Interface and Control
(01/08/99) With the addition of an ISDN line to my house in November of 1998 and a full time net connection, I have finally setup the local web page to be accessible from the world. The 'house' is located at http://House.ProtoWrxs.com and can be used to see (and control with authentication) items on the HA PC. The web server is behind an Ascend Pipeline firewall providing my home network with a higher level of security but still allowing in/outgoing TCP/IP services.
The system is currently using a MS Personal Web Server with Active Server Page script extensions and some added controls and components. Bye extending the feature of ASP, the web pages can interact with the JDS WinEvm program and therefore send/read commands from the JDS TC+ unit. More info can be found on the server at http://House.ProtoWrxs.com
(06/01/99) - Article appeared in the June 1999 Issue of the HomeToys.com EMag on what I've done Internet wise at the Nolen home. Goto HomeToys.com and checkout the June 1999 issue for the story.
(10/12/99) - Added links off the House Entertainment Page for local movies, TV listings, and New paper. This was added to allow quick access to these features since all the systems in the house default to the 'house' web page. Once touch screen capability is added to the system in the living room, it will be quite easy to get to these features without having to sit down at a machine.
- Hope to have a full house intercom wired up someday. This will include most major rooms (Living, Bedrooms, Kitchen, and Front Door) Once this is setup, the SB16 sound card will be integrated into the system and an X10 remote phone system added.
- Plan on adding some weather related inputs such as wind direction and speed, a 1/10" rain gauge, and humidity sensor. This values will be logged via the JDS system for decision and historical purposes and/or used to control devices inside the home such as the humidifier ONLY during the correct weather conditions.
- Have already wired up the HVAC system to track when the heat, A/C, and fan are running but haven't made room on the TC+ to install these. This will be used to track run times and for alarms if the interior temperature is out of range AND the HVAC unit(s) are not running.
- Working on a real-time electric usage system as described in Circuit Cellar INK. The system uses inductive feedback and a MicroMint Dominotm micro controller to monitor usage and then feeds this data via RS232 to a host PC for analysis. I plan on using a spare port on the HA PC and a Visual Basic or C++ program to read/log/analysis the data.
Still looking at some type of voice control system. Now with HomeVoice and others using continuous speech capabilities, it is getting more and more possible to do so. I've already tried the VoiceAssist product from Creative Labs with no satisfaction.
Have a DTMF decoder waiting to be implemented to log originating phone calls and controls made by phone. This is/was mainly a lesson in DTMF and how to make it all work but long term I'd like to code my own logger that would take these commands and do something on the HA PC such as emulate keystrokes, etc.
I am still interested in linking my robotics hobby and my ha hobby together so the 'bots could get feedback from the ha system and vice versa. Nothing particular at this time but if nothing else maybe knowing when home/away is set and something. Guess it could be done via RF links between the two?
Other Home Automation Links
Personal HA Systems Pages
Other HA Related (or can be made to be) Sites
Stories about Our House or System
Copyright © 1995-1999 - ProtoWrxs and Stephen W. Nolen
FastCounter by LinkExchange