Heatmiser - quite impressed

Jun 26, 2009 23 Replies

Not a question, just a wibble...



Got one of these for testing (no affiliation etc etc):



formatting link
quite nice, reasonably sane interface (bar the low level config which is weird).


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:



formatting link
managed to remote command it (teccie people, see footnote).



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".


Is the protocol "command response" - i.e. a response elicited by each command, or does it chatter away asynchronously?

John Rumm coughed up some electrons that declared:

Hi John,

It's a single master mutli slave half duplex (shared TX/RX pair) system - so it is elicited response only.

I see where you're going - you think: send command, wait upto n-time for data, if good frame OK, if broken frame then reset state and send next command (in fact the manual states the master must retry upto 5 times and write commands are ACK'd, except in broadcast mode).

I agree - it's not disasterous, but some clean frame delimiting would be nice. SLIP works very well for this IME. Can make the decoder slightly simpler.

On an aside - I bought some CANbus interface chips to play with (quid each). Higher level CAN protocols can manage bus arbitration with priority holdoff for multimaster systems, or as the chips just handle the media layer, one could implement any system and take benefit of a fairly solid media layer. If it's good enough for cars, it should handle my house :)

Cheers

Tim

Not even that complicated... do the sort of thing you do on a real time system (assuming the response message indicates the current state, rather than indicating that an event has occurred) you just bash out a command update to it every so often and cache the response (if any). Use that for accessing current state rather than the message itself. That way your pool of status is kept fresh, but you don't actually care if a message is missed since you are only going to get valid that that is a little stale - say 500ms or whatever polling period you go for.

Perhaps a STX ETC framing would have helped - but for such a small message it probably does not matter, since its transit time is short in comparison to the link idle time. It is also unlikely to introduce any delay between outgoing bytes - especially at 2.28ms/byte!

Yup, a novel addressing scheme; using "comes from" addresses rather than "goes to".

formatting link

Picture, top right of your link, shows elegant female hand adjusting temperature while, presumable, guests sit in soft focus luxury.

Ha ha ha ha ha ha ha.

Sorry, deep tech, sample code, idylic domestic scene...

Does not compute.

click. whirch. shting. does not compute. click. whirch. shting. does not compute. click. whirch. shting. does not compute.

Devany coughed up some electrons that declared:

formatting link
>

She's turning it to max temperature override to make the room heat up faster of course, silly... In women-land, thermostat is just a rotary on-off switch with silly numbers written on it.

I can assure you sir there are no idylic domestic scenes in my house ;->

And no-one round here can cope with thermostats either. Which is why I like the look of these. Fiddle the override and it clunks back to normal at the next switching time. There's a keypad lockout too. And remote programming means I can potentially reload the programmes no matter how many times people fiddle with them.

See that advantage now?

Does sir require some WD40 for sir's brain?

Which, with an ordinary thermostat it will, subjectively. With the thermostat in operation the heat turns off as soon as the air reaches the set temperature (modulo some latency in the radiators), and it'll cool down quite quickly if the walls are still cold. With the thermostat set to max it'll keep heating, so the walls will warm up quicker, resulting in reaching a subjectively comfortable temperature quicker (and then overshooting it). So naturally, people who are used to this behaviour (and prefer being too warm to too cold) will do the same thing even if the thermostat is cleverer about it. Unless the display says something more informative. ("Brr it's cold in here, I'm trying as hard as I can to get it warm, honest" might do the trick).

I do wish people would make a distinction between women and "girlies" (for want of a better term). Most of the women I know (and I admit to having been fairly selective about who I get to know) understand thermostats and such.

formatting link
>>>>> Looks quite nice, reasonably sane interface (bar the low level config

The same principal applies to women and ovens.

In women-land, thermostat is just a rotary on-off

And the girlfriend has just asked where I keep my sewing kit! What planet is she on?

Adam

I am fairly selective with women. I have never asked any of them of them if they can use a room thermostat. Do you only select women who are hot? I do. I have a probe that takes readings of their temperature and dampness.

Adam

Jon Fairbairn coughed up some electrons that declared:

Woosh!

Sorry - I should have added a smilie ;->

Why don't I have the faintest idea what you two are talking about?

Is it anything to do with Dilithium crystals?

The Medway Handyman coughed up some electrons that declared:

If it is, then I want the green alien girl - they're cute, even though they take you for everything they can get.

:->>

formatting link
> Looks quite nice, reasonably sane interface (bar the low level config > which

Wossit for other than controlling yer heating then? or could I link it to me Windoze box and using Nokia 5800 port into it and switch on/off me boiler?

R coughed up some electrons that declared:

Windows?

I am sure most of the words make sense - even if the ordering is a bit strange ;-)

Yup - on buses that fit inside cars and presumably, buses! Just make sure you are not wearing a red polo shirt before beaming down for the first time!

Jon Fairbairn coughed up some electrons that declared:

Ow - my brain cell! I just glanced at the Wikipedia article for that(!)

R coughed up some electrons that declared:

A real man does not need to wave his OS in the air by way of comparison of magnitude, he is content simply knowing that his *is* longer and stronger and able to stay the course where others drop their core and wilt ungracefully.

;->

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required