Scholt MQTT Treiber
Die folgende Integration kann verwendet werden, um Anlagenmessungen über MQTT zu senden und Befehle für die verschiedenen installierten Gerätetypen zu empfangen.
Python-Demo-Skript
Dieser Testcode führt eine einfache Aufgabe aus: Er sendet kontinuierlich Dummy-Messwerte an eine Anlage und empfängt Befehle:
Bitte laden Sie die Datei unten in Ihrer bevorzugten Python-IDE herunter. Füllen Sie Ihre Seriennummer, Site-Filter und MQTT-Zugangsdaten aus und führen Sie das Skript aus:
SmartgridOneVoraussetzungen
Cloud Controller
Die Anlagen werden über einen Cloud Controller gesteuert. Bitte kontaktieren Sie Controller, um einen neuen Cloud Controller einzurichten.
Einrichtung der Anlage
Sobald ein Cloud Controller erstellt wurde, enthält dieser eine eindeutige Seriennummer (standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>).
Neue Anlagen können am Cloud Controller mit eindeutigen Site-Filtern standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/ generiert werden.
Diese beiden Variablen müssen in den MQTT-Themen und im Body verwendet werden.
Warnung
Die Verwendung identischer Site-Filter führt zu Fehlern.
Geräteauswahl
| Device Type | Unterstützt |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Hinweis
Die Geräte in einer Anlage können nach der Erstellung nicht mehr bearbeitet werden.
MQTT-Zugangsdaten
SmartgridOne stellt die MQTT-Zugangsdaten bereit. Der MQTT-Benutzername muss bei der Erstellung einer neuen Anlage eingegeben werden.
Hinweis
Die Zugangsdaten müssen nur einmal bereitgestellt werden. Ein Satz MQTT-Zugangsdaten kann verwendet werden, um alle Anlagen zu steuern.
Senden von Messwerten
Um Messwerte an den SmartgridOne Controller zu senden, kann das folgende MQTT-Thema zum Veröffentlichen verwendet werden: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Optionale Felder sind kursiv markiert.
Die folgenden Felder können je nach Gerätetyp gesendet werden:
-
Speicher
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Solar
- active_power_W
- today_energy_Wh
-
Wärmepumpen
- operation_modes
- Mögliche Betriebsmodi sind off, on
- active_power_W
- Entspricht der Nennleistung, wenn die Wärmepumpe on ist
- operation_modes
-
Zähler
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Die Nachricht muss wie folgt strukturiert sein:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Netz-Leistungsaufnahme in Watt>,
"today_imported_energy_Wh": <Netz-Energieimport in Wattstunden>,
"today_exported_energy_Wh": <Netz-Energieexport in Wattstunden>,
},
"meter": {
"active_power_W": <Netz-Leistungsaufnahme in Watt>,
"today_imported_energy_Wh": <Netz-Energieimport in Wattstunden>,
"today_exported_energy_Wh": <Netz-Energieexport in Wattstunden>,
},
"storage": {
"energy_stored_Wh": <Gespeicherte Energie in Wattstunden>,
"mean_soc_perc": <Durchschnittlicher Ladezustand in Prozent>,
"active_power_W": <Leistungsaufnahme in Watt>,
"today_charged_Wh": <Heutige Lademenge in Wattstunden>,
"today_discharged_Wh": <Heutige Entladungsmenge in Wattstunden>,
},
"solar": {
"active_power_W": <Solar-Leistungsabgabe in Watt>,
"today_energy_Wh": <Heutige Energieproduktion in Wattstunden>.
},
"heat_pump": {
"active_power_W": <Leistungsaufnahme Wärmepumpe in Watt>,
"operation_modes": <Betriebsmodus der Wärmepumpe>
}
},
"response_code": <Antwortcode>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}Bestätigung der Messung
Wenn eine Messung erfolgreich empfangen wurde, wird eine Bestätigung auf folgendem Thema gesendet: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Diese Bestätigung kann verwendet werden, um:
- Zu überprüfen, ob die Messnachricht erfolgreich empfangen wurde.
- Zu überprüfen, ob die Messnachricht alle notwendigen Daten enthielt.
Empfang von Befehlen
Um Befehle vom SmartgridOne Controller zu empfangen, abonnieren Sie das folgende MQTT-Thema: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Die Antwort ist wie folgt strukturiert:
{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}Die Liste der möglichen Richtlinien finden Sie hier: Liste potenzieller Richtlinien
