Not a question, just a wibble...
Got one of these for testing (no affiliation etc etc):
4 temp levels per day and 5/2 *or* 7 day modes. Remote probes, programmable offsets, frost protection, holiday modes, and local temp overrides - it seems to have everything...
There are versions with less features too.
Anyway, couldn't resist, so I hooked it up to my linux box with an RS232-485 converter and after a bit of buggering about, plus reading the protocol docs:
I like :)
It's not radio, but that's not a problem for me...
Cheers
Tim
Footnote:
Here's a rougharsed bit of sample code to set the holiday mode to 3 days:
#!/usr/bin/perl use strict; use warnings; use Digest::CRC qw(crcccitt);
my @msg = (
0x01, # target address 1-32
0x0c, # Frame len
0x81, # Our address
0x01, # 1= write, 0 = read
0x18, # DCB index to access, hi
0x00, # DCB index to access, lo
0x02, # Data len to write, lo
0x00, # Data len to write, lo
3 * 24, # 3 days, in hours, lo part
0x00, # high part );
my $dat = ''; foreach my $b (@msg) { $dat .= chr($b); }
my $crc = crcccitt($dat); my $crclo = $crc & 0xff; my $crchi = $crc >> 8;
# Slap a CCITT CRC on the end my $packet = $dat . chr ($crclo) . chr ($crchi);
print $packet;
#################
And fire it off with:
perl test.pl | socat STDIN /dev/ttyS0,raw,echo=0,b4800
#################
Next I have to do a frame decoder. They seem to have missed a trick. No obvious way to resynchronise after a broken/corrupted frame (other people might use SLIP encoding or some other reliable way to demark frames).
Probably have to do something like "no data for a second or more, then next data will be a new frame".