Dokumentation
Schnittstellen
Der Adapter stellt dieselben Messwerte über JSON, MQTT und Modbus TCP bereit. Hier steht, wie Sie sie abholen.
JSON-API
Der Adapter stellt zwei REST-Endpunkte bereit. Beide erwarten im Header einen Authorization-Token, den Sie in der Weboberfläche unter API → JSON erzeugen und kopieren.
Messwerte
GET https://<IP>/api/data/measurement.json
Authorization: <Token aus der Weboberfläche>
Die Antwort ist nach OBIS-Kennzahlen geschlüsselt. Jeder Wert trägt einen
Unix-Zeitstempel; sma_time ist die Laufzeit des Geräts in Sekunden.
{
"1-0:1.8.0": { "value": 105119, "time": 1104625548 },
"1-0:2.8.0": { "value": 0, "time": 1104625548 },
"1-0:1.7.0": { "value": 33, "time": 1104625548 },
"1-0:2.7.0": { "value": 0, "time": 1104625548 },
"api_version": "v1",
"sma_time": 14011.8
}
| OBIS | Bedeutung |
|---|---|
1-0:1.8.0 | Wirkenergie Bezug, Zählerstand |
1-0:2.8.0 | Wirkenergie Lieferung, Zählerstand |
1-0:1.7.0 | Momentane Wirkleistung, Bezug |
1-0:2.7.0 | Momentane Wirkleistung, Lieferung |
Status und Diagnose
GET https://<IP>/api/sma/status.json
{
"sma_status_id": 2,
"api_version": "1.0",
"sma_time": 14285.1,
"meter": {
"supplier": "Netz Oberösterreich",
"manufacturer": "Siemens",
"interface": "IR-Lesekopf",
"name": "TD351x"
},
"sma_module_type": "UART",
"meter_valid_package_cnt": 142829,
"meter_invalid_package_cnt": 0,
"sma_status": "running",
"wifi": { "ip": "10.2.2.211", "rssi": -34, "ssid": "NetworkSSID" },
"fw_version": "c59cf4b510",
"partition": "ota_1"
}
meter_valid_package_cnt und meter_invalid_package_cnt sind
die nützlichsten Felder für die Fehlersuche: Steigt der erste Zähler nicht, kommen
überhaupt keine Telegramme an; steigt der zweite, ist meist der Zählerschlüssel
falsch.
MQTT
Der Adapter ist ein MQTT-Client und bringt keinen eigenen Broker mit. Sie geben Broker und Topic vor; die Zählerdaten werden im selben JSON-Format publiziert wie über die REST-Schnittstelle.
Konfiguriert wird das in der Weboberfläche unter API → MQTT. Weil die Werte an den Broker gehen und nicht direkt am Adapter abgeholt werden, ist MQTT auch der richtige Weg, wenn mehr als drei Clients die Daten brauchen – der Adapter selbst lässt nur drei gleichzeitige Verbindungen zu.
Modbus TCP
Muss in der Weboberfläche unter API → Modbus aktiviert werden. Die Registerbelegung folgt dem SunSpec-Standard für Meter-Modelle.
| Modbus | SunSpec | Inhalt |
|---|---|---|
| 73 | 4 | Strom Phase L1 |
| 74 | 5 | Strom Phase L2 |
| 75 | 6 | Strom Phase L3 |
| 76 | 7 | Skalierung des Stroms (Standard −3, also 10−3) |
| 109–110 | 39–40 | Wirkenergie Lieferung |
| 116–117 | 47–48 | Wirkenergie Bezug |
Die Werte sind skaliert, und der Skalierungsfaktor steht jeweils in einem eigenen Register (etwa „AC Voltage Scale Factor“). Lesen Sie ihn aus, statt ihn anzunehmen – er kann je nach Zähler abweichen. Register, die der Zähler nicht liefert, bleiben leer.
Zum Prüfen auf der Kommandozeile eignet sich modbus-cli. Für
4-Byte-Register wird \I angehängt:
modbus $IP 73 # Strom L1
modbus $IP 76 # Skalierungsfaktor
modbus $IP 116\I # Wirkenergie Bezug (32 Bit)
SunSpec-Spezifikation: Meter Models A12023-1.2
Dashboard
Die eingebaute Weboberfläche ist unter https://<IP> erreichbar und
zeigt die gemessene Wirkleistung für Bezug, Lieferung und Summe als Diagramm sowie die
aktuellen Werte in Tabellenform. Ob der Zugriff nur über HTTPS oder auch über HTTP
erlaubt ist, stellen Sie unter Sicherheit ein.