DECUServe VMS Conference 3064.11 [Next-Reply] [Prev-Reply] [Next-Topic] [Prev-Topic] [ConfDir-Paged-New>Old] [ConfDir-Paged-Old>New] [ConfDir-All-New>Old][ConfDir-All-Old>New] Directory of conferences This topic directory --------------------------------------------------------------------------- Note 3064.11 X10 / X-10 / BSR / Home Automation 11 of 15 EISNER::COVERT "John.Covert@Compaq.com" 103 lines 17-JAN-2000 18:23 -------------------------------------------------------------------------------- In the next reply is Version 2 of CM11.BLI, which now both monitors with the CM11 module and actually talks out the CM11 as well. But I've discovered I can't retire the Firecracker completely. I have two TM751 transceiver modules (came with the firecracker and a second firecracker $6 package I bought from a friend) which have a controlled outlet on them. These transceivers send the received RF signal onto the power line as X10, but DO NOT operate the controlled outlet on receipt of an X10 command from the power line. So to control these two devices, I still have to use the firecracker. The plan is to the code in Firecracker.BLI into Version 3 of CM11.BLI, so that the two devices can sit on the same serial line; then a configuration file will indicate which device codes require RF. Since I had various procedures around that were using my original FIRECRACKER.COM, I renamed it "REALFIRECRACKER.COM" and continue to use the "historic name" for the new procedure, below, which talks to CM11.BLI. CM11.COM, as posted earlier, continues to work as before, but CM11_DAEMON.COM required an update, and is posted below as well. [new] FIRECRACKER.COM $! $! FireCracker.Com -- talks to the CM11 module $! (RealFireCracker.Com talks to the firecracker hack) $! $! $ device = f$logical("CM11_MAILBOX") $ if device .eqs. "" then goto nomailbox $! First argument must be an address. Then commands may follow. $ if p1 .eqs. "" then goto errorexit $ on control_y then goto errorexit $ on error then goto errorexit $ dataout="" $ data = "xx" $newunit: $ c = f$cvsi(0,8,f$edit(f$extract(0,1,p1),"upcase"))-f$cvsi(0,8,"A") $ if c .lt. 0 .or. c .gt. 15 then goto errorexit $ housecode = %x'f$extract(c,1,"6E2A195D7F3B084C") * 16 $ unit = f$extract(1,2,p1) $ if f$type(unit) .nes. "INTEGER" then goto errorexit $ unit = 'unit' - 1 $ if unit .lt. 0 .or. unit .gt. 15 then goto errorexit $ data[0,8]=4 $ data[8,8]= %x'f$extract(unit,1,"6E2A195D7F3B084C") + housecode $loop: $ dataout=dataout+data $nextparam: $ if p2 .eqs. "" then goto closeit $ p1=p2 $ p2=p3 $ p3=p4 $ p4=p5 $ p5=p6 $ p6=p7 $ p7=p8 $ p8="" $ p1 = f$edit(p1,"upcase") $ command = -1 $ if p1 .eqs. "DIM" then command = 4 $ if p1 .eqs. "BRIGHT" then command = 5 $ if p1 .eqs. "ON" then command = 2 $ if p1 .eqs. "OFF" then command = 3 $ if command .lt. 0 then goto newunit ! Not a valid command; maybe a unit $ hb = 6 $ if command .eq. 4 .or. command .eq. 5 then hb = 30 ! 3 Dim $ data[0,8]=hb $ data[8,8]= command + housecode $ goto loop $closeit: $ open/append mb 'device' $ on control_y then goto openerrorexit $ write mb dataout $ close mb $ exit $openerrorexit: $ close mb $errorexit: $ write sys$output "Format is Xnn ON/OFF/BRIGHT/DIM; X=A-P, nn=1-16" $ exit $nomailbox: $ write sys$output "Can't find CM11 Mailbox." $ exit CM11_DAEMON.COM $! $! CM11 daemon $! $ allocate tta3 $ define term_dev tta3 $ set proc/name="CM11 Daemon" $ set noon $ set ter tta3/nottsy/nohostsy/pasthru/typeahead/eight $ set proc/priv:sysnam $ define/table=lnm$process_directory lnm$temporary_mailbox lnm$system $ set nover $loop: $ pipe ( set proc/name="CM11 Daemon Dev" ; run cm11 ) | - ( set proc/name="CM11 Daemon DCL" ; @cm11pipe ) $ goto loop --------------------------------------------------------------------------- [Next-Reply] [Prev-Reply] [Next-Topic] [Prev-Topic] [ConfDir-Paged-New>Old] [ConfDir-Paged-Old>New] [ConfDir-All-New>Old][ConfDir-All-Old>New] Directory of conferences This topic directory --------------------------------------------------------------------------- DECUServe on-line conferencing system - consulting for peanuts DECnotes Script provided by Roland Kessi, 21 February 1996