Skip to content

3EF0: Actuator State

David Bonnes edited this page Oct 28, 2021 · 5 revisions

The code is sent from an OpenTherm bridge (as either a RP, or an I), a a BDR relay (I only) and from various controller-class devices (as an RQ).

The I and RP packets have the same structure. It is not expected to have an W packet. It is closely related to the 3EF1 packet code.

RQ Payload decode:
Unused/required [0:2] Fixed value 0x00
Ignored/optional [2:4] Fixed value 0x00

BDRs only have I packets, and only ever a payload of length 3. It should be noted that BDRs will RP to RQ/3EF1, and so that packet, which (for BDRs at least) is a super-set of a 3EF0 may well be more useful.

I Payload decode:
Unused [0:2] Fixed value 0x00
State [2:4] 0x00 for off or 0xC8 for on (i.e. 100%)
Unknown [4:6] Fixed value 0xFF

OTBs have I and RP packets, and have lengths of 6 (R8810A) and 9 bytes (R8820A).

I/RP Payload decode:
Unused [0:2] Fixed value 0x00
RelModLevel [2:4] Relative Modulation Level in 1% steps (0x00 to 0x64))
Flags_2 [4:6] a bitmask (suspected) (only 0x10, 0x11 ever seen)
Flags_3 [6:8] a bitmask: ch_enabled (bit 1), dhw_active (2), flame_active (3)
Flags_4 [8:10] a bitmask (suspected)
Unknown_5 [10:12] unknown (only 0x00, 0x1C, 0xFF ever seen)
Flags_6 [12:14] a bitmask: ch_active (bit 0)
CH_Setpoint [14:16] the CH setpoint in Celsius - just convert to an int
MaxRelModLevel [16:18] Maximum Relative Modulation Level in 1% steps (0x00 to 0x64))

Note that some of the above values may be N/A - e.g. 0xFF, 0xFE, 0x7FFF, etc.

Clone this wiki locally