-
Notifications
You must be signed in to change notification settings - Fork 10
22D9: Boiler Setpoint
David Bonnes edited this page Feb 18, 2020
·
11 revisions
The target temperature for a boiler.
In the case of an OpenTherm Bridge, an RQ/RP pair occurs every 5 minutes, and is often followed by a 3220 message exchange. However, strictly speaking, this is not part of the OpenTherm protocol.
067 RQ --- 01:187666 10:138822 --:------ 22D9 001 00
059 RP --- 10:138822 01:187666 --:------ 22D9 003 000C1C
| segment | size | contents |
|---|---|---|
| unused | [0:2] | Unused (always 0) |
| setpoint | [2:6] | Target temperature (degrees C / 100) |
Using Python, the payload can be decoded as:
def parser_22d9(payload) -> Optional[dict]:
assert len(payload) / 2 == 3
assert payload[:2] == "00"
return {"boiler_setpoint": _temp(payload[2:6])}See the _temp() function for detail on how to decode temperature/setpoint fields.
- 07/CS92: DHW Sensor
- 13/BDR91: Relay
- [04/HR92: TRV][HR92]
0001RF Check0004Zone name0008Relay demand0009Relay failsafe000AZone config000CZone actuators0016RF signal test0100Localisation0404Zone schedule0418System fault1030Mix zone config1060Battery state10A0DHW setpoint10E0Device info1100Boiler relay info1260DHW temperature12B0Window sensor1F09System Sync1F41DHW mode1FC9RF bind1FD4Opentherm ticker22C9UFH setpoint22D9Boiler setpoint2309Zone setpoint2349Setpoint override2E04Controller mode30C9Zone temperature313FSystem datetime3150Heat demand3220Opentherm message3B00Actuator sync3EF0Actuator info3EF1Actuator unknown
0002External sensor0005Zone management0006Schedule sync000EUnknown01D0Unknown01E9Unknown042FUnknown1280Outdoor humidity1290Outdoor temp12A0Indoor humidity2249Now/next setpoint22D0UFH unknown22F1Ventilation unit command22F3Ventilation unit temp. high2389Unknown2D49Unknown3120Unknown31D9HVAC Unknown31DAHVAC Unknown31E0HVAC Unknown