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?
Interpreting OTGW serial output
Moderator: hvxl
Re: Interpreting OTGW serial output
It's the 4 byte Opentherm frame in hexadecimal format. See OpenTherm Protocol Specification v2.2 paragraph 4.2.franky999 wrote: Could someone give me a primer on how to parse these kinds of messages?
Last edited by Templar on Sun Dec 11, 2016 5:15 pm, edited 2 times in total.
Re: Interpreting OTGW serial output
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?Could someone give me a primer on how to parse these kinds of messages?
Re: Interpreting OTGW serial output
@templar: thanks!
That would be of great help, yes!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?
Re: Interpreting OTGW serial output
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.
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.
- Attachments
-
- boiler_emu.tar.gz
- C-code for parsing OTGW data.
- (10.9 KiB) Downloaded 702 times
Re: Interpreting OTGW serial output
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.
Schelte
Re: Interpreting OTGW serial output
@Schelte,
Please provide an example how to use otmonitor to parse the Opentherm serial output.
Please provide an example how to use otmonitor to parse the Opentherm serial output.
Re: Interpreting OTGW serial output
OTMonitor by default parses the Opentherm serial output. You don't need to do anything special for that.
Schelte
Re: Interpreting OTGW serial output
Hi, would you mind sending me the code you wrote?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.
I've been trying to do the same thing lately but with no success.