
Scholt MQTT-driver
De volgende integratie kan worden gebruikt om terreinmetingen via MQTT te verzenden en om commando's te ontvangen voor de verschillende geïnstalleerde apparaattoepassingen.
Python demo script
Deze testcode doet een eenvoudige taak van het continu verzenden van dummymetingen naar een installatie en het ontvangen van commando's:
Download het onderstaande bestand in je favoriete Python IDE. Vul je serienummer, sitefilter en MQTT-gegevens in en voer het script uit:
Vereisten
Cloud Controller
De sites worden beheerd via een Cloud Controller. Neem contact op met Eniris om een nieuwe Cloud Controller in te stellen.
Site-instelling
Zodra een Cloud Controller is aangemaakt, bevat deze een uniek serienummer (<Controller SN>
).
Nieuwe sites kunnen worden gegenereerd op de Cloud Controller met behulp van unieke sitefilters <site_filter>
Deze twee variabelen moeten worden gebruikt in de MQTT-thema's en -inhoud.
Het gebruik van identieke sitefilters resulteert in fouten.
Apparaatselectie
Device Type | Ondersteund |
---|---|
Zonne-energie omvormers | ✅ |
Opslagapparaten | |
Warmtepompen | |
Net- en verbruikmeters | |
EV-laders | ❌ |
De apparaten in een site kunnen niet worden bewerkt na creatie.
MQTT-gegevens
Eniris zal de MQTT-gegevens verstrekken. De MQTT-gebruikersnaam moet worden ingevoerd bij het genereren van een nieuwe site.
De gegevens moeten slechts één keer worden opgegeven. Eén set MQTT-gegevens kan worden gebruikt om alle sites te beheren.
Metingen verzenden
Om metingen te verzenden naar de SmartgridOne Controller, kan het volgende MQTT-thema worden gebruikt voor publicatie: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Optionele velden worden vermeld in cursief.
De volgende velden kunnen per apparaattype worden verzonden:
-
Opslag
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Zonne-energie
- active_power_W
- today_energy_Wh
-
Warmtepompen
- operation_modes
- Mogelijke bedrijfsmodi zijn uit, aan
- active_power_W
- Gelijk aan nominale kracht terwijl warmtepomp aan
- operation_modes
-
Meters
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Het bericht moet als volgt zijn gestructureerd:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Grid Actieve Vermogen in Watts>,
"today_imported_energy_Wh": <Grid Geïmporteerde Energie in Watt-uren>,
"today_exported_energy_Wh": <Grid Geëxporteerde Energie in Watt-uren>
},
"meter": {
"active_power_W": <Grid Actieve Vermogen in Watts>,
"today_imported_energy_Wh": <Grid Geïmporteerde Energie in Watt-uren>,
"today_exported_energy_Wh": <Grid Geëxporteerde Energie in Watt-uren>
},
"storage": {
"energy_stored_Wh": <Energie Opgeslagen in Watt-uren>,
"mean_soc_perc": <Gemiddeld Percentage van de Ladingstoestand>,
"active_power_W": <Actieve Vermogen in Watts>,
"today_charged_Wh": <Energie Opgeladen op de Huidige Dag in Watt-uren>,
"today_discharged_Wh": <Energie Ontladen op de Huidige Dag in Watt-uren>
},
"solar": {
"active_power_W": <Zonne-energie Actieve Vermogen in Watts>,
"today_energy_Wh": <Gegenereerde Energie Vandaag in Watt-uren>.
},
"heat_pump": {
"active_power_W": <Warmtepomp Actieve Vermogen in Watts>,
"operation_modes": <Warmtepomp Bedrijfsmodus>
}
},
"response_code": <Responscode>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}
Bevestiging van metingen
Wanneer een meting succesvol is ontvangen, wordt er een bevestiging verzonden op het volgende onderwerp: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Deze bevestiging kan worden gebruikt om:
- Te bevestigen dat het metingsbericht succesvol is ontvangen.
- Te bevestigen dat het metingsbericht alle noodzakelijke gegevens bevatte.
Ontvangen van commando's
Om commando's te ontvangen van de SmartgridOne Controller, abonneer je op het volgende MQTT-thema: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
De respons is als volgt gestructureerd:
{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<beleid>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<beleid>",
"storage_power_setpoint_w": -5000
}
}
De lijst met beleid die kan worden ontvangen, is hier te vinden: Lijst van Potentiële Beleidslijnen