Schönen guten Tag zusammen,
ich befasse mich aktuell mit dem EnOcean Serial Protocol 3 (ESP3) und stoße da jetzt auf Verständnisprobleme.
Laut dem Sheet EcOcean Equipment Profil 2.6.3 besteht jedes EEP aus den folgenden drei Bestandteilen:
Frage 1:
Ist "Type" aus dem DATA Segment das Gleiche wie "TYPE" aus dem HEADER? (siehe Anhang "EnOcean-Type")
Frage 2:
Bezieht sich "Data Length" auf das komplette "DATA" Segment des Paketes (siehe Anhang "ESP3-Packet"), oder auf "User Data" (siehe Anhang "ESP3-Userdata")?
Frage 3:
Die im HEADER definierte "Data Length" sind meines Verständnisses nach die Angabe in Bytes.
Mein Paket für einen "d5" Sensor sieht so aus:
55 00 07 07 01 7a d5 08 01 83 02 81 00 03 ff ff ff ff 30 00 37
Warum ist die "Data Length" hier 7 (7 Bytes), obwohl es sich hierbei um den "1BS" Typ handelt und daher nur 1 Byte als Data beinhaltet?
Frage 4:
Für das gleiche Paket sollten laut EEP Sheet folgende Werte raus kommen:
Wenn ich aber schaue, bekomme ich folgende Werte:
- RORG: d5
- FUNC: 02
- TYPE: 00 (DATA), 01 (TYPE = HEADER Packet Type)
Warum bekomme ich hier "02" anstelle von "00"?
Die HEX-Darstellung von "DATA" sieht ja so aus:
d508018302810002
In Binär so (Leerzeichen habe ich zwecks Übersicht hinzugefügt):
11010101 000010 0000000 0011000001100000010100000010000000000000000
Rechnung bezogen auf EEP 2.6.3 (siehe Anhang "EEP-Components")
Die ersten 8 Bits sind "RORG" und in Hex = D5, also richtig.
Die nächsten 6 Bits sollten jetzt "FUNC" sein. Hier bekomme ich aber jetzt 2 (Dezimal) bzw. 02 (Hexadezimal).
Die nächsten 7 Bits sollten jetzt "TYPE" sein. Hier bekomme ich aber 0 (Dezimal) bzw. 00 (Hexadezimal).
Ist jemand in der Lage, etwas Licht in's Dunkle zu bringen?