Opentherm Gateway for the win

At the end of last year the central heating system (including hot water) at home started to fail. Luckily it was not directly broken, but it slowly gave less and less heat, which was most noticeable while taking a shower, brrr.
I was not totally unhappy then the maintenance guy told me the pump and three way valve replacement would be very expensive and besides that, the heating unit was nearing it’s expected lifetime. This way it was legit to buy a new one! One that could integrate with the already present home automation solution provided by openHAB.

It took a few hours to learn and decide which system was best for me. I won’t go into much detail about my selection and why, but I eventually came up with the Remeha Tezerra Plus 39c CW5 including Remeha iSense v28 thermostat. The heating system and thermostat are using the OpenTherm protocol to communicate. In the research process I learned there’s a device called the Opentherm Gateway which is capable of monitoring the OpenTherm messages that are passed between the heating unit and the thermostat, but most important, it’s able to set or override the setpoint temperature.

According to the compatibility matrix on the Opentherm Gateway website, this setup should work. So I ordered the USB version of the opentherm gateway kit at Kiwi electronics. This is a kit containing a pcb, components, USB cable and instructions. It took me a couple of hours to complete the soldering task, but now I have a working Opentherm Gateway, whohoo!

soldered otgw in the closet
Sorry for the poor image quality (phone, shaky hand and low light)

More than a week has passed since I soldered all loose pieces together and connected the gateway to the openHAB system by using USB. On the openHAB system, which runs raspbian wheezy on a raspberry pi 2, I configured the otmonitor-ahf program to run in the background as a daemon. This little nifty program also created by the creator of the Opentherm gateway, supports various methods of publishing it’s data. Lucky for me it also supports MQTT. I use this lightweight messaging protocol as much as possible, so it was easy to point it at the already running a Mosquitto broker, which openHAB is subscribed to.

Screenshot from 2016-01-07 22:39:17
My current heating view, simple but efficient for other household members

Once it’s in openHAB I’ve set up some rules to set the temperature when my alarmclock goes off, coming home and leaving the house. Just need to add some graphs to monitor the times the heating is active and when hot water is used. Besides setting the setpoint temperature I also set the outside temperature. This can be displayed on the thermostat and the outside temperature is also used by the heating unit when using certain heating strategies. Don’t like to admit, but I will have to read the manual for that 🙂

Conclusion up till now: extremely satisfied with the chosen setup!

17 thoughts on “Opentherm Gateway for the win

  1. Hoi Dirk-Jan,

    leuke blog. Ik ben toevallig met precies hetzelfde bezig. Ik ben alleen nog op zoek hoe je de items en sitemap van openhab hebt ingeregeld om de setpoint in te stellen. Zou je ook je items file willen delen?

    1. Hi Wilko,

      Little bit late, but here it is:

      /* Heating */
      Group gHeating (All)
      Number ot_roomtemperature "Gemeten temp. [%.1f °C]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/roomtemperature:state:default]"} Number ot_setpoint "Ingestelde temp. [%.1f °C]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/setpoint:state:default],>[mybroker:actions/otmonitor/setpoint:command:*:default]"}
      Number ot_outsidetemp "Buiten temp. [%.1f °C]"
      (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/outside:state:default],>[mybroker:actions/otmonitor/outside:command:*:default]"}
      Number ot_boilerwatertemp "Boilerwater temp. [%.1f °C]"
      (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/boilerwatertemperature:state:default]"} Number ot_returnwatertemp "Retourwater temp. [%.1f °C]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/returnwatertemperature:state:default]"} String ot_powermode "Powermode [%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/powermode:state:default]"} Switch ot_chenable "Verwarming [MAP(nl.map):%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/chenable:state:OFF:0],<[mybroker:events/central_heating/otmonitor/chenable:state:ON:1]"} Switch ot_centralheating "CV status [MAP(nl.map):%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/centralheating:state:OFF:0],<[mybroker:events/central_heating/otmonitor/centralheating:state:ON:1]"} Switch ot_flame "Vlam [MAP(nl.map):%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/flame:state:OFF:0],<[mybroker:events/central_heating/otmonitor/flame:state:ON:1]"} Switch ot_hotwater "Heetwater [MAP(nl.map):%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/hotwater:state:OFF:0],<[mybroker:events/central_heating/otmonitor/hotwater:state:ON:1]"} Switch ot_fault "Fout indicator [MAP(nl.map):%s]" (gHeating) {mqtt="< [mybroker:events/central_heating/otmonitor/fault:state:OFF:0],<[mybroker:events/central_heating/otmonitor/fault:state:ON:1]"}

  2. Hallo Dirk-Jan,

    Interesting, ik wilde ook met OpenHab beginnen en sta op het punt een Remeha Tzerra M Plus 39C CW5 aan te schaffen ivm. onze lekkende Vaillant… Ik kan er een iSense of eTwist bij krijgen, waarbij qua manueel bedieningsgemak de voorkeur naar de eTwist lijkt uit te gaan. Van de Remeha website:

    De (meegeleverde) gateway is nodig voor alle huidige Remeha toestellen en wordt geplaatst tussen de eTwist en de OpenTherm aansluiting op je Remeha ketel. Aansluiten is eenvoudig. Tevens kan de eTwist door middel van de gateway aangesloten worden op andere OpenTherm toestellen.

    Zie jij problemen om een eTwist te nemen ipv een iSense ivm. latere aansluiting op OpenHab ?

    Bedankt !

    1. Hallo Henk,
      Ik vermoed dat het gaat werken aangezien de eTwist OpenTherm compatibel is, maar je weet het nooit. De eTwist komt nog niet voor op de compatibiliteit matrix van de otgw (http://otgw.tclcode.com/matrix.cgi). Kun je met de leverancier niet afspreken dat je de eTwist twee weken wilt proberen? Dan kun je eerst een en ander testen.

      1. Hallo Dirk-Jan,

        Toch de Remeha Tzerra M Plus 39C CW5 met eTwist maar besteld en vandaag is die geplaatst. De eTwist App zegt in System info GTW-16, dat lijkt inderdaad de OpenTherm-protocol versie Gateway, die onderin de ketel als redelijk open printplaat zit geïntegreerd.
        Moet verder nog met OpenHab wegstarten, maar heb goede hoop dat ik eea. kan integreren tzt…

        Dank voor je reply & meedenken !

        1. Hallo Henk,
          Hoe gaat het met de eTwist i.c.m. de openTherm gateway?
          Ik heb hem nu geplaatst tussen een Remeha Calenta en een eTwist.
          De meeste zaken gaan prima maar voor mij is het van belang dat ik de ketel kan inschakelen zonder dat de eTwist vragend is. Ik dacht dat met het TT of TC commando te kunnen doen.
          Helaas lukt dat niet. Als ik het setpoint van de eTwist wijzig dan zie ik dat in de Monitor maar andersom, van Monitor naar eTwist, werkt niet.

          Hoe zou dit op te lossen zijn? Overigens vond ik het niet zo belangrijk dat die waarde op de eTwist te zien is, als ik maar de ketel kan inschakelen.

          Alsvast bedankt voor het meedenken.

          1. Leuk om te lezen, Was je hier al iets verder mee? Ik wil de OTGW wel bestellen, maar als ik hier nog heel weinig aan heb dan is het lastig. Ik heb wel Remeha gemaild ( welke zeer vlot reageren) en die komen met het volgde antwoord:

            De eTwist is op dit moment nog niet geschikt voor OTGW. Wij zijn hier wel mee bezig.

            Het zou dan voor mij gaan om
            MsgID 9 (Remote override room setpoint)
            MsgID 100 (Remote override function)

            te gebruiken om zodoende geofencing toe te passen

  3. Dirk-Jan,

    Toevallig op jouw blog terechtgekomen.
    Ik ben ook de USB OTGW besteld en wil deze ook integreren met mijn openhab installatie.
    Ben zelf een grote fan van Openhab. Heb al bijna alles in huis ermee gekoppeld behalve de verwarming.

    Zou je je volledig MQTT setup willen meedelen? Heb geen idee hoe je de verbinding d.m.v MQTT.
    Wat doet dit pakket trouwens?

    Bedankt!

    1. Hoi Bart,

      Mijn openHAB installatie draait op een Raspberry Pi 2. De OTGW zit middels usb aangesloten op deze Raspberry. Om de OTGW uit te lezen installeer je het programma ‘Opentherm Monitor’, zie http://otgw.tclcode.com/download.html#utilities . Ik heb deze software op de Raspberry Pi gezet waar ook openHAB op geïnstalleerd staat, maar dit mag ook een ander systeem zijn. Vervolgens heb ik in deze monitor software aangegeven MQTT te gebruiken voor bericht uitwisseling. Ik had al een MQTT broker, dus dit was relatief snel ingeregeld. Als broker gebruik ik Moquitto, dat ook weer op dezelfde Raspberry Pi actief is.

      Ik hoor het wel mocht je meer info nodig hebben 🙂

      1. Dirk-Jan,

        Is het mogelijk om een deel van je config te delen? Ik heb namelijk nog nooit MQTT gebruikt en zou niet weten wat je er mee kan. Zelf heb ik een uitgebreide openhab draaien op mijn Qnap NAS. deze draait ook op linux. Ik heb even op de OTGW website gekeken en daar vind ik de 64gb linux versie. is dit 1 executable file?

  4. Ik zal in een nieuwe blog post mijn configuratie voor de Opentherm gateway in combinatie met openHAB delen.

  5. Dirk-Jan : Please paste the .map file,
    I can’t parse mqtt message for example:
    events/central_heating/otmonitor/flame
    {“name”: “on”, “type”: “boolean”, “value”: false, “timestamp”: 1489302725863}

    false/true

Leave a Reply

Your email address will not be published. Required fields are marked *