How to deal with the Opentherm Gateway

After I installed our new thermostat and put the Opentherm Gateway between the cable from thermostat to the boiler, I got things up and running really fast. I had already developed a small application during my Opentherm Monitor adventure and I could reuse most of the code to display the incoming traffic from the Opentherm Gateway.

Opentherm Gateway dataThe 3rd (B/T) and 4th column (“00000000”) is the data received from the OT (Opentherm) Gateway; the rest is added by the application.

The length of an OT frame is 8 bytes and with more than 100 frames per minute this means I’ll have to process an amount of 2.5 MB of OT data per day.

That might seem not that much, but this would mean the OT Gateway would win the gold medal as data producer in our house! (here you can see a list of all interfaces with their respective in- and outgoing streams, reset at midnight)

Well, I can start polling the OT Gateway with the PS command which will stop the OT gateway from reporting each frame, but I don’t like polling and I want to know what’s going on right away!

OK, another approach to reduce the amount of frames could be to locally filter out duplicates per DataID (that’s OT protocol talk) and only report changes; that would reduce the amount of traffic immensely; sounds like a nice job for a JeeNode; add a Digi XBee and I’m done 😉


Wow, not so fast…. now I’m thinking the way I used to – that’s not good. The integration of Opentherm into my system is a good exercise for my wish of transforming my system into a distributed application based on a messaging system. And that’s where I still have a lot of decisions to make.

ZeroMQ or MQTT (Mosquitto)? What should the topic schema look like? How do I keep it all maintenance free, adaptive to changes, etcetera…

I mean, I’ve seen enough examples of a single sensor publishing it’s value to a hard-coded IP address, but that’s not good enough for me – cause if you have a large system, you don’t want that. Nightmares! And this is just a simple example of the challenges I’m facing.

So I really have to think some things over very thoroughly before I proceed. Fortunately I’m not the only one struggling with these issues.

And maybe the choice for a thermostat with built-in schedule was not such a bad choice after all, cause I like to do things only once; the right way.

Maybe I just have to stop doing things for some time and start thinking a bit harder 😉

Exit Proliphix Thermostat

Time for something new…

Proliphix NT20eThe Proliphix NT20e has been in use for almost 3 years now. The Proliphix thermostat has brought me a lot of fun (integrating it into my Domotica system, working on the Homeseer Proliphix Plugin to add Celsius support) and comfort. But it’s time for a change!

Last year I built a Opentherm Gateway, because we noticed that a modulating boiler performed much better than a on/off controlled boiler -modulation made the “up’s and down’s” in temperatures disappear – the temperature became much more constant, which also made the floor heating much more comfortable than before.

However, the Honeywell Evohome set I used last year didn’t work well with the Opentherm Gateway; I could not override the temperature setpoint with the Gateway, which was the primary reason why I built it 🙁

I don’t know why it didn’t work, but it may have something to do with the EvoHome RF communication being not 100% 2-way?

Honeywell Chronotherm

So yesterday I dismantled the Proliphix and replaced it with a Honeywell Chronotherm Modulation (wired version). The thermostat cable running from the boiler to this new thermostat has been extended so I can give the Opentherm Gateway a place out of sight, connect a Serial to Ethernet server to it and remotely monitor the OpenTherm traffic as well as override the room setpoint.

To be continued…

First look at the simplecortex

Today a Dutch product, manufactured by Iteadstudio arrived – the simplecortex. I ‘discovered‘ this board just before holidays started, so it took some time before I could really hold one in my hands. Now I can.

The board comes with a mini CD with several tutorials on how to get started, example code and a CoIDE tutorial. It looks like the contents of this CD has been produced about 4 months ago, so I decided to download the libraries and the rest I needed to get going from the simplecortex website, especially since it’s such a new product where it’s not uncommon that libraries on the website are newer than on the CD.

The board looks very nice – I think that lots of Arduino shields will fit even better on the simplecortex than on a Arduino Duemilanove with its big USB socket! The only thing I’m missing are mounting holes. And a micro SD card inserted into the slot sticks out – maybe this was done on purpose, but I would personally prefer the micro SD card to stay within the PCB dimensions of the simplecortex.

I had already installed CoCenter & CoIDE, so all I had to do was install the USB drivers and I was good to go. After a first ‘blinking LED‘ example to test if everything was installed correctly and working like it should, I decided to take a deep breath and start trying!

First thing I noticed is that the CoIDE is a big improvement compared to the Arduino IDE:

Just hover over a function call and you can see the code behind it – and if it doesn’t fit in the popup, the F2 key enables you to scroll through it; Esc makes the popup disappear again.

Flashing the simplecortex is also amazingly fast compared to the Arduino platform,  wow. And I haven’t even scratched the surface yet, so there are probably many more surprises to come 😉

I bought a TFT LCD with Touch some months ago and I thought it would be a nice exercise to get this LCD working with the Arduino pin compatible simplecortex, even though I know almost nothing about the simplecortex and its components yet. I saw a simplecortex Graphics LCD library, but unfortunately this library could only be used with TFT LCD shields that use different pins than the TFT LCD I have here. So now I’m trying to adapt this library to my LCD; I think I’ll have a lot more to tell when I’ve accomplished that.

And after that.. who knows, what other tasks the simplecortex will get in my Home Automation system!