[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: X10 and Linux



Gerald <nothere@xxxxxxxxxx> wrote:

>Morning all.
>
>New to this NG. Was semi-active on the X10 forums for a bit but "forums"
>in general kind of annoy me. Hard to "pick up where you left off" if you
>go away for a few weeks.
>
>OK, here's what I've got going on. I'd like to be able to use one of my
>Linux machines to control my X10 setup. BUT, I want to send/receive RF and
>only RECEIVE PLC (to be able to see status reports from 2 way modules).
>
>I do not want to ever send PLC signals. I have a V572AB set up along with
>a phase couple in a dedicated box connected to a set of breakers directly
>in my main breaker panel outside. The V572 does all of my PLC signal
>sending and does it quite well. I can operate the system with a slimfire
>keychain remote from well over 100' away inside the cab of my truck (not
>exactly sure how far away because I can't see my house lights from further
>up the road and I haven't walked it off).
>
>A few photos of the v572 setup on the bench before install are at
>http://phorce1.us/x10572/ I'll add photos of the installed setup later.
>
>In my parts stash I have a CM11A, a couple of CM19As, and a CM15A.
>
>It would be nice if I could use the CM19A but I know it's not well
>supported yet. I have the driver which was written by Neil and hacked into
>an xmms controller by Mike LeMay running -- I can issue
>on/off/dim/bright commands at the command line but read what it receives
>and act on it.
>
>Niel, sorry I missed your message of November 12th to me about the CM19A
>in the X10 forums. I JUST saw it as I was reviewing old stuff to write
>this post.
>
>Neil seems to be making headway with the CM15A *BUT* from what I read all
>sends are going out over RF and PLC. That would cause potential double
>signals for me because I use the V572 for all PLC injection.
>
>I'd like to be able to control Ninjas at some point so it seems the CM19A
>or CM15A are the only choices. I had considered a CM17A + CM11A
>combination but the CM17A is send-only and doesn't control the Ninja bases.
>
>If someone can point me to a piece of code that will read the output from
>the current CM19A driver and write it to a text file I can start
>documenting everything it spits out in response to the various remotes I
>have (Palmpad, Scanpad, LOLA remote) and I'll buy a Ninja with the Ninja
>remote and add that also. Heck, that may be all I need for now (ignoring
>2-way status reports via PLC) if I can enough info to use bash and cron to
>script around the responses the CM19A spits out when an RF signal is
>recieved. I am not a programmer but if I can get something recognizeable on
>stdout I can probably do something with it. I have a pair of CM19A units
>so I can probably also get them talking to each other to find out what
>they SEND in response to various commands.
>
>I am not concerned at all about a controller having the ability to store
>it's own macros. The PC will be the controller and if it's off then the
>power is out and X10 is a bit useless at that point.
>
>So, basically, any suggestions as to where I should go from here? Set up a
>CM11/CM17 system for now an dwait for Neil and Woody to get further on the
>CM19 and switch to CM11/CM19 when that happens? Hope for RF-only from the
>CM15 and go with that when Neil has it working.

I hope to be releasing roZetta in the next 2-4 weeks. I think all of the
problems have finally been resolved with the latest (actually I'm testing
the pre-release version) of ZBasic and the ZX-40a VM although I'm still
rewriting code and testing things. I'm working with Neil so he can provide a
Linux interface. He's working on routines for downloading the VM and
compiled ZBasic application to the ZX-40a.

It looks like it will simultaneously support...

*1 high-speed, full-duplex, interrupt-driven, hardware-UART-based serial
port (115200 max)
*4 low-speed, full-duplex, interrupt-driven, software-UART-based serial
ports (9600 max) one port is RS232/RS485
*2 full-duplex, interrupt-driven X-10 TTL I/O channels
*1 internal wireless channel using either IR or user installed RF receiver
*8 10-bit ADC or DIO pins (polled but can be scheduled)

The high-speed serial port can optionally be replaced (jumper select) with a
Tibbo EM202 and communicate via TCP/IP with a virtual ethernet-serial comm
port on the PC end. Linux drivers are available from Tibbo.

It will store events and macros, has a software RTC with an optional,
plug-in battery-backed RTC or can sync to a connected PC. It calculates
sunrise/sunset, handles DST and stores a user created list of holidays.
Macros can be modified by day-of-week, holidays and certain time-of-day
periods.

Everything about it is user programmable so you can make it do all that
you've listed. If you don't like what it does, both ZBasic and Tibbo Basic
(EM202) are free downloads so you can make it do something else. While I did
not anticipate anyone might want to control everything full-time from a PC,
it is possible to send commands to any of the ports from a PC and all inputs
from all ports are reported to the PC. (You may have to control command
pacing - most commands are ACKed only after execution but I haven't really
planned on full-time PC control.) I will publish the communications protocol
as well as the EEPROM storage schema.

Translating between multiple protocols is not trivial but I've tried hard to
keep roZetta KISS-able (and she is dressed in red). The user programming is
fairly simple and straightforward, organized by port. Users can determine
how much EEPROM to allocate for each port so unused ports do not waste
EEPROM. It takes 15 bytes to translate an X-10 extended dim code into a UPB
or Insteon code. I expect between 16KB and 40KB (with the larger EEPROM)
will be available for macros and scheduled events but adding features may
cut into that.

The X-10 TTL ports can interface with a PL513, TW523, XTB-II or legacy
controllers (with or without opto-coupling). A PL513 or TW523 (or
equivalent) is required to supply ZC if a legacy controller is used. ZBasic
couldn't come up with a way to generate ZC internally with sufficient
accuracy.

The serial ports support MR26, CM11A, ADI, 1132B, 2414S (both protocols),
UPB PIM, ASCII devices and several players to be named later.

The initial units will have a 32KB EEPROM which contains both the
application firmware and user data. 64KB EEPROMs will be available in a few
months and subsequent units will use them. Users can upgrade by replacing
the EEPROM chip (requires soldering SO-8 surface mount chip).

If the internal RF receiver is used, it reports all known X-10 RF - standard
X-10, security X-10, Digimax 210, Nola, Ninja/Robocam, AUX RF codes on most
X-10 universal remotes, MouseRemote, etc. I captured Ninja codes a few years
back - they are documented on my website. I've decoded all the others but
have not published the results. roZetta will also report codes from the
Chamberlain garage door sensors.

You could use any of the 8 ADC/DIO pins to send a baseband pulsetrain to an
RF transmitter of your choice. It could be used for Ninja/Robocam or for any
ceiling fan for which you can find the appropriate transmitter. I've also
decoded many of those. I have a proprietary compression algorithm that will
allow storing arbitrary codes in EEPROM (64KB version only) without taking
up a lot of memory. I have a web page listing ceiling fan frequencies and RF
transmitter/receiver sources.

A bare board (with all SMD, switches and headers pre-installed but without
the through-hole connectors, sockets, etc) will cost under $30. It can be
fully assembled (less ZX-40a, EM202, RF receiver) for under $80 (less if you
do the assembly). Users will need to buy the ZX-40a ($40), optional EM202
($63) and optional RF receiver ($5).

Once I'm sure I've survived the development of roZetta, there are about a
dozen related PIC-based DIY projects I'll try to finalize. One is a
daughterboard that replaces the CM15A processor, turning it into a serial
device with full access to all of its features. Others are DIY RF receiver
modules that will report signals from other security switches, etc. They
will be RS232/RS485.

I will try to update the roZetta link on my website as things progress.

http://davehouston.net
http://tech.groups.yahoo.com/group/roZetta/
roZetta-subscribe@xxxxxxxxxxxxxxx


comp.home.automation Main Index | comp.home.automation Thread Index | comp.home.automation Home | Archives Home