Difference between revisions of "Protocol decoder:Easymatic"
Uwe Hermann (talk | contribs) (Random cleanups and fixes.) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 34: | Line 34: | ||
* intensity modulation for thermostat (easymatic)? | * intensity modulation for thermostat (easymatic)? | ||
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle | In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle). | ||
=== Electrical coding === | === Electrical coding === | ||
Line 52: | Line 52: | ||
* 1200 baud | * 1200 baud | ||
* 8 data bits (LSB-first) | * 8 data bits (LSB-first) | ||
* | * even parity | ||
* one stop bit | * one stop bit | ||
Line 95: | Line 95: | ||
| ? | | ? | ||
| ? | | ? | ||
| colspan="2" | T°C | | colspan="2" | T°C outside | ||
| Example: 70.0°C = 700 = 0x02bc | | Example: 70.0°C = 700 = 0x02bc | ||
Line 103: | Line 103: | ||
| 00? | | 00? | ||
| colspan="2" | T°C max boiler | | colspan="2" | T°C max boiler | ||
| colspan="2" | Set point frost protection T°C | | colspan="2" | Set point frost protection T°C outside | ||
| | | | ||
Line 112: | Line 112: | ||
| 00? | | 00? | ||
| 00? | | 00? | ||
| colspan="2" | T°C | | colspan="2" | T°C outside | ||
| | | | ||
Line 165: | Line 165: | ||
| ? | | ? | ||
| ? | | ? | ||
| colspan="2" | | | colspan="2" | outside T°C | ||
| ***confirmation received order ? | | ***confirmation received order ? | ||
Line 181: | Line 181: | ||
| 07 | | 07 | ||
| Boiler | | Boiler | ||
| Alarm ? | |||
| ? | | ? | ||
| ? | | ? | ||
| colspan="2" | outside T°C | |||
| colspan="2" | | |||
| | | | ||
Line 203: | Line 203: | ||
| ? | | ? | ||
| ? | | ? | ||
| colspan="2" | | | colspan="2" | outside T°C | ||
| | | | ||
Latest revision as of 07:12, 11 April 2018
Name | EASYMATIC |
---|---|
Description | Asynchronous, serial bus, differential |
Status | planned |
License | GPLv2+ |
Source code | decoders/easymatic |
Input | uart |
Output | easymatic |
Probes | — |
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 is 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 capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).
Electrical coding
[To be defined]
Idle state
[To be defined]
Protocol
Uart based
Whereas OpenTherm uses Manchester code, the easymatic seems to be based on Universal Asynchronous Receiver Transmitter (UART):
- 1200 baud
- 8 data bits (LSB-first)
- even parity
- one stop bit
Details
[To be discovered and detailed]
Frames are repeated twice.
To be defined: how an order is send
All frames consist of 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 description
Frame (first byte) | Equipment | 2nd byte | 3rd byte | 4th byte | 5th byte | 6th byte | Comments |
---|---|---|---|---|---|---|---|
0A | Easymatic | ? | ? | ? | ? | ? | |
0B | Boiler | ? | ? | ? | T°C outside | Example: 70.0°C = 700 = 0x02bc | |
0C | Easymatic | 00? | T°C max boiler | Set point frost protection T°C outside | |||
0D | Boiler | 00? | 00? | 00? | T°C outside | ||
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 ** *** | ? | ? | outside T°C | ***confirmation received order ? | |
06 | Easymatic | Boiler bits command ** *** | ? | ? | ? | ? | ***order ? |
07 | Boiler | Alarm ? | ? | ? | outside T°C | ||
08 | Easymatic | 00? | ? | ? | ? | ? | |
09 | Boiler | 00? | ? | ? | outside T°C |
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1