Unknown DataID forwarded to thermostat as Write Ack

This Forum is about the Opentherm gateway (OTGW) from Schelte

Moderator: hvxl

Post Reply
mvn23
Starting Member
Starting Member
Posts: 6
Joined: Tue Feb 02, 2021 4:13 pm

Unknown DataID forwarded to thermostat as Write Ack

Post by mvn23 »

While investigating a bug report against pyotgw (here) I noticed the following:
When the boiler sends an Unknown DataID packet, the gateway forwards this as a Write Ack packet to the thermostat.

This may be intended behavior, but it seems odd to me to take the value from the boiler (in this case 0) and forward it to the thermostat as a Write Ack.
The way I see it, it should either forward the Unknown DataID response in full (as an Unknown DataID packet) or acknowledge the received value from the thermostat (as a Write Ack packet) since the gateway has received and processed the new value.

Is there a rationale behind the current behavior that I am missing? I'm happy to fix the problem in pyotgw, but I would like to know some more about the current behavior to be able to choose the best way around this.
mvn23
Starting Member
Starting Member
Posts: 6
Joined: Tue Feb 02, 2021 4:13 pm

Re: Unknown DataID forwarded to thermostat as Write Ack

Post by mvn23 »

The reporter of the bug provided additional info from the OpenTherm Gateway firmware sources. It seems this is intended behavior for good reason.

Topic can be closed!
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unknown DataID forwarded to thermostat as Write Ack

Post by hvxl »

When the boiler sends an Unknown DataID packet, the gateway forwards that, with some exceptions. One exception is MsgID 16. Because that ID is crucial for the proper functioning of the remote room setpoint override, I wanted to make sure that the thermostat will keep sending it. For that reason, the OTGW will return an acknowledge rather than an unknown data-id response.

I agree that it would be better for the gateway to include the original data value in the acknowledge. I will attempt to correct that in a future firmware version.
Schelte
mvn23
Starting Member
Starting Member
Posts: 6
Joined: Tue Feb 02, 2021 4:13 pm

Re: Unknown DataID forwarded to thermostat as Write Ack

Post by mvn23 »

Thank you for the clarification. Does this apply to MsgID 23 (room setpoint 2) as well? I tried to go through the sources, but I'm not fluent in assembly. From what I can tell it does not apply in that case, but I may very well be mistaken.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unknown DataID forwarded to thermostat as Write Ack

Post by hvxl »

You are right. There is no "remote override room setpoint 2" message defined in the Opentherm protocol. So the OTGW does not have a feature that would suffer from MsgID 23 being suppressed by the thermostat. It therefor has no need to turn an Unknown-DataID for MsgID 23 into a Write-Ack.
Schelte
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unknown DataID forwarded to thermostat as Write Ack

Post by hvxl »

The described issue only happens in very specific circumstances:
  • The boiler must not support MsgID 16.
  • The list of alternative Data IDs has been cleared.
If the list of alternative IDs is not empty, the OTGW will only forward MsgID 16 to the boiler 3 times following a restart. Only those 3 messages will result in a Write-Ack with a data value of 0.00. After that, the message is replaced by one of the alternative IDs. In this case the final response to the thermostat does contain the data value sent by the thermostat. If those initial 3 messages are a problem, MsgID 16 can be permanently configured as unknown using the UI=16 command.

Nevertheless a fix is included in firmware 5.6 and 6.3. With these firmware versions, the OTGW acknowledges the original value that the thermostat sent for all Room Setpoint messages.
Schelte
Post Reply

Return to “Opentherm Gateway Forum”