Page 1 of 1

Interpreting OTGW serial output

Posted: Sun Dec 11, 2016 1:56 am
by franky999
Hello,

I've recently successfully built the OTGW (great product!), and I've hooked it up to an ESP8266. I've programmed the ESP8266 with the Arduino IDE to join my wifi network, and publish all data published by the OTGW to a topic on an MQTT server.

The topic now gets messages as follows (so it seems to work):

- BC0192DB3
- T80000200
- B40000200
- T10010600
- BD0010600
- etc...

Ideally, I would like the ESP8266 to emit more human-friendly messages. I would like to make sense of the messages to try to do this, but I'm having some trouble.

I understand what the first letter stands for, but I'm lost on the rest.

Could someone give me a primer on how to parse these kinds of messages?

Re: Interpreting OTGW serial output

Posted: Sun Dec 11, 2016 2:33 pm
by Templar
franky999 wrote: Could someone give me a primer on how to parse these kinds of messages?
It's the 4 byte Opentherm frame in hexadecimal format. See OpenTherm Protocol Specification v2.2 paragraph 4.2.

Re: Interpreting OTGW serial output

Posted: Sun Dec 11, 2016 3:08 pm
by marcelr
Could someone give me a primer on how to parse these kinds of messages?
I have a parser for these data, written in plain old C, built for a linux box with serial IO . Could that be of use to you?

Re: Interpreting OTGW serial output

Posted: Sun Dec 11, 2016 4:21 pm
by franky999
@templar: thanks!
marcelr wrote:I have a parser for these data, written in plain old C, built for a linux box with serial IO . Could that be of use to you?
That would be of great help, yes!

Re: Interpreting OTGW serial output

Posted: Sun Dec 11, 2016 8:44 pm
by marcelr
OK, just try it.

This is far-from-production-level code for a boiler emulator that I've been working on some time ago. It works for an RS232 OTGW with a serial-to-USB converter attached, and interface 1.1 firmware installed.
Part of the code is a thermal description of my boiler, you can safely ignore that, it's incomplete and probably highly incorrect. (building a direct EMS gateway now, to read more data from the boiler and fill the gaps in my boiler parameters).
You may be interested in the functions parse_and_reply() and read_until_valid(), and preprocessor definitions that go with these routines. All reading and parsing is done there.

The OT IDs implemented so far are the ones that are supported by Eneco's toon thermostat and my boiler. Using the protocol specification Templar pointed at may help you fill some of the gaps that may exist for your configuration.
Haven't added the GPL yet, but if you add anything worth sharing, please do so.

Enjoy, and please share any updates.

Re: Interpreting OTGW serial output

Posted: Sun Dec 18, 2016 6:43 pm
by hvxl
OTMonitor also includes a parser for Opentherm messages. It handles more than only the messages that are supported by Eneco's Toon and marcelr's boiler.

Re: Interpreting OTGW serial output

Posted: Wed Jan 25, 2017 9:23 am
by mvdp
@Schelte,

Please provide an example how to use otmonitor to parse the Opentherm serial output.

Re: Interpreting OTGW serial output

Posted: Sat Feb 04, 2017 12:33 am
by hvxl
OTMonitor by default parses the Opentherm serial output. You don't need to do anything special for that.

Re: Interpreting OTGW serial output

Posted: Thu Sep 06, 2018 11:42 am
by Yamen
franky999 wrote:I've recently successfully built the OTGW (great product!), and I've hooked it up to an ESP8266. I've programmed the ESP8266 with the Arduino IDE to join my wifi network, and publish all data published by the OTGW to a topic on an MQTT server.

Ideally, I would like the ESP8266 to emit more human-friendly messages. I would like to make sense of the messages to try to do this, but I'm having some trouble.
Hi, would you mind sending me the code you wrote?
I've been trying to do the same thing lately but with no success.