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
– 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:
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… 😉