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
}
OBISBedeutung
1-0:1.8.0Wirkenergie Bezug, Zählerstand
1-0:2.8.0Wirkenergie Lieferung, Zählerstand
1-0:1.7.0Momentane Wirkleistung, Bezug
1-0:2.7.0Momentane Wirkleistung, Lieferung
Welche Kennzahlen tatsächlich geliefert werden, hängt vom Zählertyp und vom Netzbetreiber ab. Es werden nur die Werte befüllt, die der Zähler herausgibt.

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.

Offset 69 beachten Die Register 0 bis 69 dienen einem Header. „Position 1“ aus der SunSpec-Spezifikation liegt daher auf Register 70. Rechnen Sie zu jeder Adresse aus der Spezifikation 69 dazu.
ModbusSunSpecInhalt
734Strom Phase L1
745Strom Phase L2
756Strom Phase L3
767Skalierung des Stroms (Standard −3, also 10−3)
109–11039–40Wirkenergie Lieferung
116–11747–48Wirkenergie 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.