Ich glaube hier komme ich ohne Gemeinschaft nicht ganz so weit.
Dieser APS....END....END String kommt aus dem regelmäßigen Datenpaket an die EMA Cloud, welche ich für mein Logging als Grundlage nehmen will (keine direkten ECU Abfragen mehr nötig und weitere interessante Werte)
Bisher konnte ich schon einige Zahlen/Felder eindeutig zuordnen, andere jedoch noch mit Fragezeichen.
Mitschnitte von anderen ECU-B (evtl auch C und R) könnten die gleichen Daten entlocken und für eine weitere Analyse hilfreich seien.
Dieses am besten mit unterschiedlichen Setup's (zwei DS3, unterschiedliche APSystems Inverter über eine ECU, ...)
Auch sieht man mal, was für Werte überhaupt an die Cloud gesendet werden.
Aktuell kann ich zu diesem Datenpaket im Internet fast gar nichts finden und würde sozusagen der erste Schritt werden. Teilweise konnte ich mir die Datenfelder aus Informationen von einem homeassistant Plugin vergleichen. Die Felder passen allerdings nicht ganz zusammen (da ging es um die CommandGroup 11, hier ist es 18)
Für erste Analysen habe ich die Strings aus drei Tage Produktion angehangen, falls jemand hier einsteigen möchte.
Die Datensätze will ich mir mit tcpdump mitschneiden und eventuell direkt per Parsing an ein Script weiterreichen,
oder mit tcpdump einen rollenden Mitschnitt anfertigen und diese Schnipsel auf die Strings filtern, aufbereiten und loggen. Durch die opnsense Shell bin ich hier etwas mit den Möglichkeiten eingeschränkt.
Nicht unmöglich aber machbar.
Im Bereich von 23 Uhr werden Datensätze von der ECU nachgemeldet. Dabei handelt es sich wahrscheinlich um fehlgeschlagene Übertragungen an die EMA Cloud.
Daher sind auch die Zeitstempel nicht durchgehend passend.
APS18AA179AAAAAAA121630001234500000000240000000000000000178820230210083850001000000END703000012345142330050011000380001600041200000000001003200030010550130020029100300093801100END | |||||
Substring (index/length) | Start Index | Länge | Coding | Name | |
Header | |||||
APS | 1 | 3 | ASCII | SignatureStart | |
18 | 4 | 2 | ASCII | CommandGroup | |
AA | 6 | 2 | zu FrameLength gehörend? A nur Platzhalter? | ||
179 | 8 | 3 | ASCII | FrameLength, Zeichenanzahl mit APS...END | |
AAAAAAA | 11 | 7 | Signature??? | ||
ECU data | |||||
1216300012345 | 18 | 13 | ASCII | ECU-ID | |
0000000024 | 31 | 10 | ASCII | ECU Commulated Inverter Total Power | |
00000000000000001788 | 41 | 20 | ASCII | ECU Commulated Total Energy | |
20230210083850 | 61 | 14 | ASCII | TimeStamp | |
001 | 75 | 3 | Online Inverter count??? | ||
000 | 78 | 3 | Offline Inverter count??? | ||
000 | 81 | 3 | unknown | ||
END | 84 | 3 | SignatureStop | ||
Inverter Data | |||||
703000012345 | 87 | 12 | ASCII | Inverter-ID | |
1 | 99 | 1 | Online/Offline??? | ||
4 | 100 | 1 | InverterType??? 4=DS3? | ||
2330 | 101 | 4 | ASCII | AC Voltage /10 | |
0500 | 105 | 4 | ASCII | AC Frequency /10 | |
110 | 109 | 3 | ASCII | °C, -100 | |
0038 | 112 | 4 | unknown, RSSI? | ||
00016 | 116 | 5 | Momentanwert ActivePower/Wirkleistung??? W bezugnehmend zum Zeitstempel | ||
000412 | 121 | 6 | Momentanwert ApparentPower/Scheinleistung??? VA /10 bezugnehmend zum Zeitstempel | ||
0000000000 | 127 | 10 | Signature? Filler? | ||
Nur Zutreffend mit InverterType =4?? DS3? | |||||
1 | channel 1 | 137 | 1 | Inverter Channel | |
00320 | channel 1 | 138 | 5 | ASCII | Voltage |
0030 | channel 1 | 143 | 4 | ASCII | Current |
01055 | channel 1 | 147 | 5 | unkown, steht in Zusammenhang mit Current | |
013 | channel 1 | 152 | 3 | ASCII | Power |
00 | channel 1 | 155 | 2 | Signature? Filler? | |
2 | channel 2 | 157 | 1 | Inverter Channel | |
00291 | channel 2 | 158 | 5 | ASCII | Voltage |
0030 | channel 2 | 163 | 4 | ASCII | Current |
00938 | channel 2 | 167 | 5 | unkown | |
011 | channel 2 | 172 | 3 | ASCII | Power |
00 | channel 2 | 175 | 2 | Signature? Filler? | |
ECU Datagram | |||||
END | 177 | 3 | SignatureStop |