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.
Unknown DataID forwarded to thermostat as Write Ack
Moderator: hvxl
Re: Unknown DataID forwarded to thermostat as Write Ack
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!
Topic can be closed!
Re: Unknown DataID forwarded to thermostat as Write Ack
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.
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
Re: Unknown DataID forwarded to thermostat as Write Ack
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.
Re: Unknown DataID forwarded to thermostat as Write Ack
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
Re: Unknown DataID forwarded to thermostat as Write Ack
The described issue only happens in very specific circumstances:
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.
- The boiler must not support MsgID 16.
- The list of alternative Data IDs has been cleared.
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