Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!tektronix!percy!parsely!bucket!rickb From: rickb@bucket.UUCP (Rick Bensene) Newsgroups: sci.electronics Subject: Re: X-10 PC Controller Source/Voice-Mail Cards? Message-ID: <1820@bucket.UUCP> Date: 18 Dec 89 06:29:57 GMT References: <1540@gwusun.gwu.edu> <585@limbic.UUCP> Organization: Rick's Home-Grown UNIX; Portland, OR. Lines: 164 gil@limbic.UUCP (Gil Kloepfer Jr.) writes: >I'm considering making a X-10 transceiver for my 3B1...this way it can >monitor the control signals from other controllers and keep a constant >status of the X-10 modules on-line. Has anyone else done this? I'm >trying to work from some old magazine articles in Byte (a-la Steve >Ciarcia) and in Radio Electronics. An X-10 transceiver REALLY adds a lot of flexibility to a home control system, especially if you have a computer capable of some reasonable multi-tasking connected to the transceiver (or a dedicated computer). X-10 now makes a transceiver device which allows a computer to send and receive X-10 signals. It is called the TW523. It demodulates the X-10 signals on the powerline, provides a zero-crossing signal, and has an input which can be used to modulate a signal onto the powerline. Information on this device was printed in Steven Ciarcia's "Circuit Cellar Ink" magazine during Summer of 1889. X-10 also sells the PL-513, which is a transmit-only device. I got into X-10 about 8 years ago, long before ideas of transceivers and things like burglar alarm modules, RF Remotes, etc. I always dreamed of a transceiver allow a computer to monitor X-10 traffic and make decisions based on what it sees. It would allow such things as: - Logical mapping of keys on controllers (meaning DIM doesn't have to mean dim anymore) - Identification of location of controllers. Each controller console is on its own housecode, so the computer can infer that a room is occupied if there is activity on a controller which it knows is in a given room. - Different actions depending on time of day, day of week, and state of external devices, etc. - Scheduled events which can refer to sunrise and sunset, which could be calculated on a day-to-day basis so that schedules don't have to be manually updated. ..and much more. I was always looking around for a transceiver, but X-10 didn't see fit to create such a device, and no one else seemed to address it. I tried numerous times to build such devices, with little or no success (and a few good shocks thrown in for good measure). Then, about a year and a half ago, I found a device made by a company called Enerlogic that did exactly what I needed. The box was an X-10 transceiver, with an on-board CPU and a programming language to allow fairly complex programming of an X-10 system. I ordered one, and found that though the box worked great as a transceiver, I found that the internal programming stuff was a bit unweildly, and not as flexible as I would have liked. Fortunately, the box has an RS-232 interface, and a mode which it simply listens to the RS232 for X-10 commands to transmit, and when an X-10 command is received, it spits it out the RS232. I plugged the box into my home Unix system, and started writing code. After a lot of code writing, some hardware hacking, and a lot of tolerance from my wife, here's what I've come up with: I built a device that scans switch closures on up to 10 channels, and transmits the switch open/close events out on X-10. This device monitors contact closures in the burglar alarm system (armed, pre-alarm, and alarm contacts), outdoor Infra-Red motion detectors (driveway, front porch, back yard), and contacts in fence gates, and transmits X10 messages back to the control system whenever the state of any of the monitored devices changes. This device uses the above mentioned PL-513 to interface the 8051 microcontroller which runs the beastie to the powerline. I also built a programmable Infra-Red remote control system. This system uses a cheap ($49.95) Radio Shack trainable IR controller, with a cobbled up interface that allows a small microcontroller to effectively press keys on the remote. Using Rabbit Systems Inc. 'RABBIT' boxes to distribute video and IR remote control signals around the house, all of the IR controllable devices can be controlled from the Unix system. Another custom built device is a system that uses DTMF recognition & dialing, speech synthesis, a 300 baud modem, and a phone line interface to allow me to call in from outside to check the status of the system, program events, turn devices on/off, and even leave canned EMail messages, or even connect up with a laptop to do home-control specific things. I've got a number of 'special' X-10 devices, such as an X-10 controlled speaker switch (selects stereo speakers in the garage or family room), and an X-10 controlled 'doggy door' that can let the dogs into the house from the garage when we get home from work, as well as let them in (three big German Shepherds) if someone breaks into the house when we aren't around. The system is also connected to a Heathkit Weather Station, so it can do things like warn if there is chance of pipes freezing, excessively high winds (we have lots of big trees around the house), etc. All of this, together with lots of X-10 Lamp, Appliance, Wall Switch, and Wall Outlet modules everywhere in the house, makes for a reasonable, if not a bit kludgey, home control system. Some features: System knows sunrise/sunset, and all events can be qualified by it. No more adjusting schedules as the length of the daytime changes. There's also an outdoor ambeint light sensor, which is used in conjunction with the sunrise/ sunset calculations to correct for early dusk on cloudy days. It too uses X-10 to communicate back to the Unix box that runs the show. System knows when we are home and when we aren't. When we aren't home, it takes care of cycling lights and TV/radio to make the house appear more 'lived in'. System knows which TV shows we like. If we're home, it makes sure to turn on the TV and tunes it to the channel the program is on. If we're not home, it automatically records them, and leaves EMail telling what it recorded. The system also knows all about simulcasts on FM of cable channels like MTV, etc. (we have a brain-dead cable system that doesn't propogate MTS stereo through the converter box), so it can automatically tune in the correct FM station on the stereo for any given cable channel. The system monitors outdoor motion sensors to let us know of visitors, expected or unexpected. At night while we are asleep, if someone comes up to our front door, opens a gate, or pokes around in the back yard, it lets me know by turning on the radio in the bedroom for a few seconds...enough to rouse me to check out the visitor. Of course, outdoor lighting is activated to let the person know that 'someone' is watching. When we are away, unusual outdoor events are reported to me via EMail, or in the case of serious situations, by a direct phone call with a synthesized voice message indicating the problem. The burglar alarm system can be armed (not disarmed) via phone. If the burglar alarm is tripped, outdoor lights flash, indoor lights are all forced off at 1 second intervals, and all sound producing devices (TV's, Stereos) are turned on and have volume raised to uncomfortable levels. The dogs are let in from the garage, and phone calls are placed to neighbors, local relatives, and to me at work or other places, depending on the time of day. Incoming house voice phone line can be remotely forwarded to another phone number for cases when I know I'm going to be somewhere for a while, and I want to receive calls there. The forwarding can be set to auto-cancel upon my return home, or, after a specified period of time. Selected acquaintances can phone up the system, and using touch tone phone, leave canned EMail messages for me. I can also leave canned messages for them, which will be delivered to them by synthesized voice when they call in. I'd LIKE for voice mail/phone answering machine to be integrated with all of this, but I've had no luck getting any voice mail vendor to sell me anything capable at a reasonable price. I have a 'Watson' which serves as a fancy answering machine, but the programmer's toolkit is much too expensive to allow me to use it as an integrated part of the system, plus I can't justify dedicating a PC for this function. Maybe later, when someone can offer a box that does the voicemail/phone functions, and interfaces with a Unix system via Ethernet. :-) I've got a lot more ideas for my system, and I've really begun to scratch the surface. Sometimes it's frustrating...especially when programming mistakes do things like turn on the TV at 3:00 AM, or you come home to a house that has EVERY light turned on, and things like that, but overall, it is a lot of fun, and has real, practial use. I'm always interested in hearing about other peoples' home control projects, and am willing to share ideas with anyone who wants to talk about this stuff. I can be reached through any of the methods in the .signature below. Rick Bensene -- Rick Bensene Tektronix, Inc. PO Box 3500 C1-890 Vancouver, WA 98668 rickb@tekigm2.MEN.TEK.COM (work) Voice: (206) 253-5685 (10A-5P Pacific) ..tektronix!tessi!bucket!rickb (home) BBS: (503) 254-0458 300/1200/2400