Protocol decoder:easymatic

From sigrok
Revision as of 15:39, 21 November 2017 by Platypus (talk | contribs) (details)
Jump to: navigation, search
easymatic
250px
Name EASYMATIC
Description Asynchronous, serial bus, differential
Status planned
License GPLv2+
Source code decoders/uart
Input logic
Output Easymatic protocol
Probes
Optional probes Thermostat, Boiler
Options invert_thermostat, invert_boiler

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

Hardware

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]

Protocol

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.

details

[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) 2sd byte 3th byte 4th byte 5th byte 6th byte Comments
0A  ? ?  ?  ?  ?
0B  ?  ?  ? T°C exterior example : 70,0°C = 0700DEC = 02BCHEX
0C 00? T°C max boiler T°C set point winter
0D 00? 00? 00? T°C exterior
0E Hour Day Minutes FF? FF?


Resources