1DESCRIPTION 2----------- 3 4BottleRocket is an interface to the X10 FireCracker home automation 5kit. The FireCracker kit consists of a dongle-like RF transmitter 6that connects to the serial port of a PC, and a receiver that plugs 7into a wall socket and intercepts the signals, passing them on 8through house wiring to other units that turn appliances on/off or 9dim/brighten lamps. It doesn't support any kind of 2-way 10communication, unlike some of the other X10 products. 11 12This is version 0.04c; it includes changes for better timing (ideas 13taken from "firecracker" by Chris Yokum) and support for machines with 14no proper DTR, as well as restoring the states of the lines mucked 15with (apparently this caused havoc with some UPSes). Also support 16for Solaris was added. 17 18Need to tweak timing parameters in older versions should be fixed now. 19However, still, if you have problems, increase the delay values (they're 20different from the older ones, but same idea) in br_cmd.c. 21 22Starting with 0.04, BottleRocket incorporates a bunch of code by Ashley Clark 23(aclark@ghoti.org) for better x10-amh compatability, somewhat cleaner code, 24multiple device selection and getopt_long support (at least for Linux). 25Auto configuration support added by David Anderson to make it easier to set 26things up on different systems. Also added support for a slower but more 27reliable delay between outgoing bits; should work better for non-x86 28based machines (there's a line to uncomment in the Makefile for this). 29If you do get this working on something that's not Intel, please drop me 30a note and let me know. 31 32A problem has also been fixed whereby any user with serial port access through 33br could have error/info from bottlerocket output to any device plugged in 34through the transmitter. However, there's still no way to guarantee a user 35can't cause a modem plugged in through the transmitter to drop carrier. 36 37Thanks to Warner Losh for portability/security info. 38 39Also thanks to Christian Gafton for bug fixes and cleanup in 0.04a. 40 41Version 0.03 started the x10-amh compatability and nicer serial port usage 42as well as the ability to repeat commands, and environment/command line 43selectable port (for root, at least). 0.03a was a bugfix release. 44 45Version 0.02 moved command handling into its own file so it can be linked 46into other things. 0.02a and 0.02b were bug fixes. 47 48This version has accidentally been tested while my modem was online, and 49everything worked just fine. I still wouldn't suggest it though. 50 51 52FILES 53----- 54 55README - you're looking at it. 56 57Makefile - decided to add one of these to make things easier now that 58 there is more than one file in the collection 59 60br.c - The command line interface; uses the br_cmd stuff (below) 61 to carry out commands. 62 63br_cmd.c - Functions for executing X10 comands using the FireCracker 64 home automation system. Basically only one function you 65 need in this: x10_br_out which takes the file descriptor 66 of the serial port to which the Dynamite interface is 67 connected, an address (high 4 bits correspond to the letter 68 of the device address, lower 4 correspond to the numeric 69 part) and a command (these are defined in br_cmd.h; valid 70 commands are ON, OFF, DIM and BRIGHT). Note that you should 71 set the address to 0 if you're using DIM and BRIGHT. 72 73br_cmd.h - The file you should include to make use of br_cmd.c. It 74 holds the numeric IDs of the commands. 75 76br_translate.h - Translation tables used by br_cmd to build commands. 77 You shouldn't have to mess with this unless you're 78 messing around with innards. Doesn't need to be 79 #included by other programs to use br_cmd stuff. 80 81 82COMPILING 83--------- 84Change to the bottlerocket directory and type "make". That's it. 85 86 87RUNNING 88------- 89 90Use is simple. Just run BottleRocket with the address of the unit 91you want to control and the command you want it to execute. Note 92that dim/brighten are only able to address a whole letter group 93of units at a time, so only the letter portion should be specified 94on the command line for these commands. 95 96e.g. 97 98br A6 on -- turns on appliance set to be unit "A6" 99br P dim -- dims last selected lamp set to housecode "P" 100 101Also, Ashley Clark has given me code for x10-amh compatability so you can 102do things like: 103 104br -c A -f 1,2,3,4,5,6 -n 7 105 106to turn off units 1-6 and unit 7 on. All 'on' commands will be executed 107before 'off', and 'dim' comes last, so br -c A -f 1 -n 1 will turn 108A1 on then off. 109 110Note: You generally have to be root to run this, as it requires 111 serial port access. 112 113THE INTERFACE 114------------- 115The interface is really pretty simple; just wiggle the RTS and DTR lines 116on a serial port and the little box hooked up to your machine will 117transmit signals to another little box that routes the signal to where 118it should go (if everything works). The module is made as a pass-thru 119kind of thing, and X10 claims that you can hook up other serial devices to 120the same port without a problem, but I wouldn't suggest it (at least if 121you're using any kind of hardware handshaking, or have a modem that will 122drop carrier if it loses DTR... those lines are actually generally pretty 123nice to have working without someone jittering bits down them)... 124 125CONTACTING ME 126------------- 127 128If you have ideas/comments/code/bug reports, email me at tymm@acm.org. 129 130 131 132 133