Monitoring DeDietrich from Linux

When my boiler was properly detected and connected and I was sure that I can ‘talk’ to it using the Recom protocol, I had to make the connection permanent and constantly query it from my Raspberry Pi.

The boiler has 5V TTL signal level and I have an F/UTP cable placed from RPi to the boiler, so I could do it via ethernet.
I was considering the following options:
– Arduino which act as a serial port server
– integrated serial port server board, like USR IOT
– ESP8266
– USB connection
– build a dedicated PCB

Additional problem was, that I wanted to power it from the same ethernet line (like PoE).
Because it is a gas boiler – I also wanted to have some kind of opto-isolation.

I have to admit, that this time I was lazy and didn’t want to bother with preparing the PCB, soldering, etc 🙂
So I started to consider the options left:

ESP8266 was a nice choice, but I’d probably also need a dedicated power line and WiFi on the other end near the Raspberry Pi (I have no integrated radio in my RPi).

USR IOT unfortunately doesn’t have (at that time) any module with 5V TTL logic (they are mainly using 3.3V on the board which I was taking into account).
Neither have an optocoupler. They only have a 5V devices as RS232 or RS485 to Ethernet.
So I’d need some additional level shifter and optocoupling.
Converting from RS232 to RS485 was also not the way I like.

For Arduino I would need ethernet version or shield with PoE and making/buying an optocoupler for the serial connection.
It was making it rather complex and expensive solution, not mentioning that I would also need to write and deploy a firmware for it (additional work hours).

Finally I choose the USB connection. Why? Because it was the simplest to do and cheapest solution for me (not counting the USB hub) 🙂
I ordered this three things:

  • i-tec USB 2.0 Charging HUB, U2HUB412, a “pluggable” clone:

  • MCP2200 USB-UART based Optically Isolated Serial Converter:

  • USB Extension Ethernet RJ45 Cat5e/6 Cable LAN Adapter Extender Over Repeater Set:

With the above set I am now able to directly talk to the DeDietrich boiler using a /dev/ttyACM0 serial device under Raspberry Pi.

I created a small case for the PCB, mounted in on the wall and connected to the Raspberry Pi over the LAN extender:

By default the Recom application is querying the boiler every second. In my case I lowered the interval to 5 seconds, which is more appropriate for collecting the data in the long term.

I created a sample demo project on github, so you can have a look or test how to query the boiler:
https://github.com/manio/remeha-demo

Now I am able to fill the InfluxDB with the boiler data and finally create a nice graphs from its work:

This type of connection is only suitable for monitoring the boiler, and even set some parameters.
The big downside is that I am still unable to set/force a temperature setpoint.

To have this possibility, I’d need to build the Opentherm Gateway. and connect it via OpenTherm connector between the boiler and the DeDietrich iSense controller.
Maybe some day… 😉

Comments

  1. Hi, I’m working on a Remeha Tzerra monitoring hobby project with node-red and influxdb but I’ve got some troubles with the serial parameters to read the boiler. Can you share these in the comments or your post? It will be really helpful because I’m quite new to the Rasberry/Node-red stuff. Looking forward to it!

      1. Hi Manio,

        I’ve got everything up and running now. In a flow in node-red I tickle the boiler and he answers correctly. The message I can process with help of your pointers defined in the script, so thanks for get me started!

        I also have the recom software installed and there are some other extra parameters to log and they are interesting for me. Do you know how to point to the current dhw temperature, state of the 3-way valve and the flow of dhw? Those are interesting for me when I’m installing a ventilation heat pump and external 100l storage vessel.

        Hopefully you can help me further with the last details 🙂

        1. Cris,
          It is easy – just look into remeha folder – you can find an xml files there. In my case I am looking into PCU-05_P2.xml, there is a full definition of the protocol. You only need to find a description for each field in another xml.

          Also according to this: https://github.com/aequitas/remeha/blob/master/datamap.py
          the 3-way valve is probably in byte 38 on some bit(s) 🙂
          When you find it, just check if it is indeed what you was looking for 🙂

          Good luck!

Leave a Reply

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