Difference between revisions of "Protocol decoder:Easymatic"

From sigrok
Jump to: navigation, search
Line 162: Line 162:
| 05
| 05
| Boiler
| Boiler
| Boiler bits command
| Boiler bits command ***
| colspan="2"| Set point frost protection room T°C
| ?
| colspan="2"| Set point T°C drink water
| ?
| colspan="2"| exterior T°C
| ***(confirmation recieved order ?)

Revision as of 15:54, 21 November 2017

Description Asynchronous, serial bus, differential
Status planned
License GPLv2+
Source code decoders/uart
Input logic
Output Easymatic protocol
Optional probes Thermostat, Boiler
Options invert_thermostat, invert_boiler

The easymatic protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.


Differential link

The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut. Boiler power is a 24V modulated with communication power.

Communication is always working.

[To be confirmed]

The hardware is similar to OpenTherm Specifications : - differential link - about 24V - tension modulation for boiler - intensity modulation for thermostat (easymatic) ?

In order to link with a logic analyzer Saleae Logic an interface must be done.

Electrical coding

[To be define]

Idle state

[To be define]


Uart based

Whereas OpenTherm use Manchester code, the easymatic seems to be based on Universal Asynchronous Receiver Transmitter (UART). It's a : - 1200 bauds communication. - 8 bits of data - no parity - one stop bit

The bit order of the 8 data bits is LSB-first.


[To be discovered and detailed]

Frames are repeated twice

To be define : how an order is send

All frame are composed by 6 bytes Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E

Frame 0A/0B

Frame (first byte) Equipement 2sd byte 3th byte 4th byte 5th byte 6th byte Comments
0A Easymatic  ? ?  ?  ?  ?
0B Boiler  ?  ?  ? T°C exterior example : 70,0°C = 0700DEC = 02BCHEX
0C Easymatic 00? T°C max boiler Set point frost protection T°C exterior
0D Boiler 00? 00? 00? T°C exterior
0E Easymatic Hour Day Minutes FF? FF?
01 Boiler 40? T°C drink water T°C boiler water
02 Easymatic C1? Set point room T°C day Set point room T°C night
03 Boiler 00?  ?  ?  ?  ?
04 Easymatic 05? Set point frost protection room T°C Set point T°C drink water
05 Boiler Boiler bits command ***  ?  ? exterior T°C ***(confirmation recieved order ?)