Dateiname & ID
Dateinamensschema
<Manufacturer>.<Category>.<PROTOCOL (DDF)>.<Model>.<Version>(0x<ID>).csv
| Teil | Beispiel | Bedeutung |
|---|---|---|
| Manufacturer | Keba, myGEKKO, Carlo Gavazzi |
Hersteller, entspricht MANUFACTURER |
| Category | Wallbox, Energy meter, Graphical user interface |
Gerätekategorie, entspricht TYPE |
| PROTOCOL (DDF) | MODBUS TCP (DDF), REST-API (DDF), OCPP (DDF) |
Protokoll, entspricht PROTOCOL |
| Model | P30 c-series, OCPP GENERAL |
Modell, entspricht DEVICE |
| Version | 1 |
Version, entspricht VERSION_NR |
| ID | 0x1200000100080100 |
Geräte-ID, entspricht ID |
Reale Beispiele:
myGEKKO.Wallbox.OCPP (DDF).OCPP GENERAL.1(0x1200000100080100).csv
myGEKKO.Graphical user interface.SVG (DDF).SVG Visualization Library.1(0x1100000100010100).csv
myGEKKO.Graphical user interface.LIBRARY.Systemlibrary_SVG.1_0xC800000100010100_.csv
Frauenhofer ISE.Portal.REST-API (DDF).EnergyChartsPrice.1(0x0D00006E00010100).csv
Note
Der Loader wertet den Dateinamen nicht aus. Maßgeblich sind die Werte in *GENERAL. Das Schema dient der Ordnung in der DeviceLib.
Aufbau der ID
Die ID ist ein Hex-Wert mit 8 Bytes (16 Hex-Ziffern). Intern wird sie auf 18 Zeichen (0x + 16 Ziffern) gekürzt bzw. mit 0 aufgefüllt (IODEVICEDB_ID_LEN 18).
Abgeleitet – zu klären
Die folgende Byte-Aufteilung ist aus den Beispieldateien abgeleitet. Im Code ist sie nicht dokumentiert.
0x 12 000001 0008 0100
│ │ │ └─ Version (2 Bytes, z. B. 0100 = 1.0)
│ │ └────── Modellnummer (2 Bytes)
│ └───────────── Herstellernummer (3 Bytes, 000001 = myGEKKO, 000033 = Keba)
└──────────────── Protokoll-Code (1 Byte)
| Protokoll-Code | Protokoll |
|---|---|
0x09 |
SERCOM |
0x0A |
MODBUS TCP |
0x0B |
MODBUS RTU |
0x0D |
REST |
0x0F |
DMX512 |
0x10 |
MQTT |
0x11 |
SVG (GUI-DDF) |
0x12 |
OCPP |
0xC8 |
LIBRARY |
Regel
Eine ID muss eindeutig sein. Bei einer neuen Modellvariante wird die Modellnummer erhöht, bei einer neuen Dateiversion die Version.
Beispiel aus den Quellen: SVG_CHARTS.csv trägt die ID 0x0900004000010000 (Code 09) bei PROTOCOL;SVG. Die Zuordnung Code ↔ Protokoll wird also nicht erzwungen (zu klären).