
Scholt MQTT-Treiber
Die folgende Integration kann verwendet werden, um Standortmessungen über MQTT zu senden und Befehle für die verschiedenen installierten Gerätetypen zu empfangen.
Python-Demo-Skript
Dieser Testcode sendet kontinuierlich Dummy-Messungen an eine Installation und empfängt Befehle:
Bitte laden Sie die Datei unten in Ihrer bevorzugten Python-IDE herunter. Fügen Sie Ihre Seriennummer, Standortfilter und MQTT-Anmeldeinformationen ein und führen Sie das Skript aus:
Voraussetzungen
Cloud-Controller
Die Standorte werden über einen Cloud-Controller gesteuert. Bitte kontaktieren Sie Eniris, um einen neuen Cloud-Controller einzurichten.
Standort-Setup
Sobald ein Cloud-Controller erstellt wurde, enthält er eine eindeutige Seriennummer (<Controller SN>
).
Neue Standorte können auf dem Cloud-Controller mithilfe einzigartiger Standortfilter <site_filter>
generiert werden.
Diese beiden Variablen müssen in den MQTT-Themen und im Körper verwendet werden.
Die Verwendung identischer Standortfilter führt zu Fehlern.
Gerätauswahl
Device Type | Unterstützt |
---|---|
Solar Inverters | ✅ |
Storage Devices | |
Heatpumps | |
Grid & Consumption Meters | |
EV Chargers | ❌ |
Die Geräte in einem Standort können nach der Erstellung nicht bearbeitet werden.
MQTT-Anmeldeinformationen
Eniris wird die MQTT-Anmeldeinformationen bereitstellen. Der MQTT-Benutzername muss bei der Erstellung eines neuen Standorts eingegeben werden.
Die Anmeldeinformationen müssen nur einmal bereitgestellt werden. Ein Satz von MQTT-Anmeldeinformationen kann verwendet werden, um alle Standorte zu steuern.
Messungen senden
Um Messungen 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 in kursiv angegeben.
Die folgenden Felder können pro 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 Betriebsarten sind aus, ein
- active_power_W
- Entspricht der Nennleistung, während die Wärmepumpe ein 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": <Netzaktive Leistung in Watt>,
"today_imported_energy_Wh": <NetzImportierte Energie in Wattstunden>,
"today_exported_energy_Wh": <NetzExportierte Energie in Wattstunden>,
},
"meter": {
"active_power_W": <Netzaktive Leistung in Watt>,
"today_imported_energy_Wh": <NetzImportierte Energie in Wattstunden>,
"today_exported_energy_Wh": <NetzExportierte Energie in Wattstunden>,
},
"storage": {
"energy_stored_Wh": <Energie gespeichert in Wattstunden>,
"mean_soc_perc": <Durchschnittlicher Ladezustand in Prozent>,
"active_power_W": <Aktive Leistung in Watt>,
"today_charged_Wh": <Energie geladen am aktuellen Tag in Wattstunden>,
"today_discharged_Wh": <Energie entladen am aktuellen Tag in Wattstunden>,
},
"solar": {
"active_power_W": <Solaraktive Leistung in Watt>,
"today_energy_Wh": <Heute produzierte Energie in Wattstunden>.
},
"heat_pump": {
"active_power_W": <Wärmepumpenaktive Leistung in Watt>,
"operation_modes": <Betriebsmodus der Wärmepumpe>
}
},
"response_code": <Antwortcode>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}
Messungsbestätigung
Wenn eine Messung erfolgreich empfangen wurde, wird eine Bestätigung auf dem folgenden Thema gesendet: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Diese Bestätigung kann verwendet werden, um:
- Zu überprüfen, dass die Messnachricht erfolgreich empfangen wurde.
- Zu überprüfen, dass die Messnachricht alle notwendigen Daten enthielt.
Befehle empfangen
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 empfangbaren Richtlinien finden Sie hier: Liste der potenziellen Richtlinien