Zum Hauptinhalt springen
Scholt

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.

warnung

Die Verwendung identischer Standortfilter führt zu Fehlern.

Gerätauswahl

Device TypeUnterstützt
Solar Inverters
Storage Devices
Heatpumps
Grid & Consumption Meters
EV Chargers
info

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.

info

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
  • 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:

  1. Zu überprüfen, dass die Messnachricht erfolgreich empfangen wurde.
  2. 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