Hallo,
ich habe eine Problem mit dem SML_Parser von "Oliiiver"
Folgende Umgebung: Arduino und ESP32, Auswertung für eine EASY-Meter M60
Grundlegend arbeitet die Auswertung für die verschiedenen Parameter.
In dem SML-Datensatz gibt es einen Parameter der länger als 15 Zeichen ist.
Dieser setzt das MSB und es folgt ein weiteres Byte mit Längenangabe.
Das wird auch, soweit ich das analysieren kann, korrekt ausgewertet.
Allerdings kann ich es nicht abfragen.
Die Info vor dem "erweiteren" String (81) und die Info danach gehen einwandfrei.
Es geht speziell um den Code "81 81 C7 82 08 FF" nennt sich "Zählertyp"
Hier die Info von EasyMeter
Kennt jemand das Problem oder kennt jemand sogar Abhilfe ?
Hier noch der SML-Record
0x1B 0x1B 0x1B 0x1B 0x01 0x01 0x01 0x01 0x76 0x0B 0x45 0x53 0x59 0x45 0x3B 0x32 0x04
0x92 0xAB 0x82 0x62 0x00 0x62 0x00 0x72 0x65 0x00 0x00 0x01 0x01 0x76 0x01 0x04 0x45
0x53 0x59 0x08 0x45 0x53 0x59 0x39 0x2B 0xAB 0x82 0x0B 0x09 0x01 0x45 0x53 0x59 0x11
0x03 0xC5 0x3B 0x32 0x01 0x01 0x63 0x18 0x08 0x00 0x76 0x0B 0x45 0x53 0x59 0x45 0x3B
0x32 0x04 0x92 0xAB 0x83 0x62 0x00 0x62 0x00 0x72 0x65 0x00 0x00 0x07 0x01 0x77 0x01
0x0B 0x09 0x01 0x45 0x53 0x59 0x11 0x03 0xC5 0x3B 0x32 0x07 0x01 0x00 0x62 0x0A 0xFF
0xFF 0x72 0x62 0x01 0x65 0x01 0x86 0x39 0x2B 0x7D 0x77 0x07 0x81 0x81 0xC7 0x82 0x03
0xFF 0x01 0x01 0x01 0x01 0x04 0x45 0x53 0x59 0x01 0x77 0x07 0x01 0x00 0x00 0x00 0x09
0xFF 0x01 0x01 0x01 0x01 0x0B 0x09 0x01 0x45 0x53 0x59 0x11 0x03 0xC5 0x3B 0x32 0x01
0x77 0x07 0x01 0x00 0x01 0x08 0x00 0xFF 0x65 0x00 0x00 0x02 0xA0 0x01 0x62 0x1E 0x52
0xFC 0x59 0x00 0x00 0x00 0x00 0xC7 0x2F 0x72 0x7E 0x01 0x77 0x07 0x01 0x00 0x01 0x08
0x01 0xFF 0x01 0x01 0x62 0x1E 0x52 0xFC 0x59 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x01 0x77 0x07 0x01 0x00 0x01 0x08 0x02 0xFF 0x01 0x01 0x62 0x1E 0x52 0xFC 0x59 0x00
0x00 0x00 0x00 0xC7 0x2F 0x72 0x7E 0x01 0x77 0x07 0x01 0x00 0x02 0x08 0x00 0xFF 0x65
0x00 0x00 0x02 0xA0 0x01 0x62 0x1E 0x52 0xFC 0x59 0x00 0x00 0x00 0x07 0x62 0x6E 0x72
0xD0 0x01 0x77 0x07 0x01 0x00 0x10 0x07 0x00 0xFF 0x01 0x01 0x62 0x1B 0x52 0xFE 0x59
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x83 0x56 0x01 0x77 0x07 0x01 0x00 0x20 0x07 0x00 0xFF
0x01 0x01 0x62 0x23 0x52 0xFF 0x63 0x09 0x1B 0x01 0x77 0x07 0x01 0x00 0x34 0x07 0x00
0xFF 0x01 0x01 0x62 0x23 0x52 0xFF 0x63 0x09 0x1C 0x01 0x77 0x07 0x01 0x00 0x48 0x07
0x00 0xFF 0x01 0x01 0x62 0x23 0x52 0xFF 0x63 0x09 0x24 0x01 0x77 0x07 0x01 0x00 0x00
0x00 0x00 0xFF 0x01 0x01 0x01 0x01 0x0F 0x31 0x45 0x53 0x59 0x31 0x31 0x36 0x33 0x32
0x35 0x37 0x33 0x39 0x34 0x01 0x77 0x07 0x81 0x81 0xC7 0x82 0x08 0xFF 0x01 0x01 0x01
0x01
0x81 0x0D 0x45 0x61 0x73 0x79 0x4D 0x36 0x30 0x2D 0x42 0x2D 0x32 0x54 0x2D 0x4D
0x5A 0x2D 0x32 0x52 0x2D 0x57 0x53 0x33 0x2D 0x42 0x61 0x73 0x65
0x01 0x77 0x07 0x81
0x81 0xC7 0xF0 0x06 0xFF 0x01 0x01 0x01 0x01 0x05 0x0F 0x01 0x00 0xC1 0x01 0x01 0x01
0x63 0x04 0x58 0x00 0x76 0x0B 0x45 0x53 0x59 0x45 0x3B 0x32 0x04 0x92 0xAB 0x84 0x62
0x00 0x62 0x00 0x72 0x65 0x00 0x00 0x02 0x01 0x71 0x01 0x63 0xE7 0xF9 0x00 0x00 0x00
0x00 0x1B 0x1B 0x1B 0x1B 0x1A 0x03 0x55 0x10
-- 1 -- Length 468 byte Frame 1000 msec Gap 514 msec
Der betroffen Teil wurde extra abgesetzt.
Und hier noch Info die ich durch "Serial.print" innerhalb von "sml.cpp" habe ausgeben lassen
0x81 0x81 0xC7 0x82 0x08 0xFF
another TL byte will follow
TL size 27
0x45 0x61 0x73 0x79 0x4D 0x36 0x30 0x2D 0x42 0x2D 0x32 0x54 0x2D 0x4D 0x5A 0x2D 0x32 0x52 0x2D 0x57 0x53 0x33 0x2D 0x42 0x61 0x73 0x65
Ich lese daraus der SML_Code wird richtig erkannt "0x81 0x81 0xC7 0x82 0x08 0xFF" auch die Länge des OctetString ist korrekt festgehalten.
Aber der Ausgabe wird alles ausgegeben nur nicht der Zählertyp (Meter type). Siehe unten:
Manufacture ident (81-80:C7.82.03)..: ESY
Uint identifier (1-0:0.0.9)..: ESY⸮;2
Power T1+T2 (1-0:1.8.0)..: 334177.549 Wh
Power T1 (1-0:1.8.1)..: 0.000 Wh
Power T2 (1-0:1.8.2)..: 334177.549 Wh
Power Deliver (1-0:2.8.0)..: 3171555.907 Wh
Actual Power (1-0:10.7.0).: -321.51 W
Voltage_L1 (1-0:20.7.0).: 232.40 V
Voltage_L2 (1-0:34.7.0).: 234.20 V
Voltage_L3 (1-0:48.7.0).: 235.10 V
Owner number (1-0:0.0.0)..: 1ESY1163257394
Meter type (81-81:C7.82.08)..:
Meter configuration (81-80:C7.F0.06)..: 0x0F 0x01 0x00 0xC1
Ich habe mittlerweile Tage verbracht das Proble zu lösen ohne Erfolg.
Daher nochmal die Frage, kennt jemand das Problem und hat einen Lösung dafür ?
Gruß Berny
