Scholt MQTT Driver
De volgende integratie kan worden gebruikt om site-metingen via MQTT te verzenden en commando's te ontvangen voor de verschillende geïnstalleerde apparaattype.
Python demo script
Deze testcode voert een eenvoudige taak uit door continu dummymetingen naar een installatie te sturen en commando's te ontvangen:
Download het onderstaande bestand in je favoriete Python IDE. Vul je serienummer, sitefilter en MQTT-gegevens in en voer het script uit:
SmartgridOneVereisten
Cloud Controller
De sites worden beheerd via een Cloud Controller. Neem contact op met Controller om een nieuwe Cloud Controller op te zetten.
Site Setup
Zodra een Cloud Controller is aangemaakt, bevat deze een uniek serienummer (standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>).
Nieuwe sites kunnen worden aangemaakt op de Cloud Controller met unieke sitefilters standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/.
Deze twee variabelen moeten worden gebruikt in de MQTT Topics en Body.
Waarschuwing
Het gebruik van identieke sitefilters zal resulteren in fouten.
Apparaatselectie
| Device Type | Ondersteund |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Opmerking
De apparaten in een site kunnen niet worden aangepast nadat ze zijn aangemaakt.
MQTT gegevens
SmartgridOne zal MQTT-gegevens aanleveren. De MQTT-gebruikersnaam moet worden ingevuld bij het aanmaken van een nieuwe site.
Opmerking
De gegevens hoeven slechts één keer te worden verstrekt. Eén set MQTT-gegevens kan worden gebruikt om alle sites te beheren.
Metingen versturen
Om metingen te versturen naar de SmartgridOne Controller, kan het volgende MQTT-topic worden gebruikt voor publicatie: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Optionele velden zijn 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
-
Zon
- active_power_W
- today_energy_Wh
-
Warmtepompen
- operation_modes
- Mogelijke bedrijfsmodi zijn off, on
- active_power_W
- Gelijk aan nominale capaciteit als warmtepomp on is
- operation_modes
-
Meters
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Het bericht moet als volgt gestructureerd zijn:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Net Active Power in Watt>,
"today_imported_energy_Wh": <Net Geïmporteerde Energie in Watt-uur>,
"today_exported_energy_Wh": <Net Geëxporteerde Energie in Watt-uur>,
},
"meter": {
"active_power_W": <Net Active Power in Watt>,
"today_imported_energy_Wh": <Net Geïmporteerde Energie in Watt-uur>,
"today_exported_energy_Wh": <Net Geëxporteerde Energie in Watt-uur>,
},
"storage": {
"energy_stored_Wh": <Opgeslagen Energie in Watt-uur>,
"mean_soc_perc": <Gemiddeld Laadniveau Percentage>,
"active_power_W": <Actief Vermogen in Watt>,
"today_charged_Wh": <Vandaag opgeladen Energie in Watt-uur>,
"today_discharged_Wh": <Vandaag ontladen Energie in Watt-uur>,
},
"solar": {
"active_power_W": <Zon Actief Vermogen in Watt>,
"today_energy_Wh": <Vandaag opgewekte Energie in Watt-uur>.
},
"heat_pump": {
"active_power_W": <Warmtepomp Actief Vermogen in Watt>,
"operation_modes": <Warmtepomp Bedrijfsmodus>
}
},
"response_code": <Response Code>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}Bevestiging Meting
Wanneer een meting succesvol is ontvangen, wordt een bevestiging verzonden op het volgende topic: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Deze bevestiging kan worden gebruikt om:
- Te verifiëren dat het meetbericht succesvol is ontvangen.
- Te verifiëren dat het meetbericht alle benodigde gegevens bevatte.
Commando's ontvangen
Om commando's te ontvangen van de SmartgridOne Controller, abonneer je op het volgende MQTT-topic: 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": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}De lijst met mogelijke beleid die ontvangen kan worden, is hier te vinden: List of Potential Policies
