Scholt MQTT Driver
De volgende integratie kan worden gebruikt om locatiemetingen via MQTT te verzenden en ontvangen opdrachten voor de verschillende geïnstalleerde apparaattypen.
Python demo script
Deze testcode doet een eenvoudige taak door continu dummy-metingen naar een installatie te sturen en opdrachten te ontvangen:
Download alstublieft het onderstaande bestand in uw favoriete Python IDE. Vul uw serienummer, locatiefilter en MQTT-gegevens in en voer het script uit:
Voorwaarden
Cloud Controller
De locaties zullen worden beheerd via een Cloud Controller. Neem contact op met SmartgridOne om een nieuwe Cloud Controller in te stellen.
Locatie-instelling
Zodra een Cloud Controller is aangemaakt, bevat deze een uniek serienummer (<Controller SN>).
Nieuwe locaties kunnen op de Cloud Controller worden gegenereerd met unieke locatiefilters <site_filter>.
Deze twee variabelen moeten worden gebruikt in de MQTT-onderwerpen en -inhoud.
Warning
Het gebruik van identieke locatiefilters zal leiden tot fouten.
Apparatenkeuze
| Device Type | Ondersteund |
|---|---|
| Zonne-inverters | ✅ |
| Opslagapparaten | |
| Warmtepompen | |
| Net- en verbruiksmeters | |
| EV-laders | ❌ |
Note
De apparaten in een locatie kunnen niet worden bewerkt na creatie.
MQTT Gegevens
SmartgridOne zal MQTT-gegevens verstrekken. De MQTT-gebruikersnaam moet worden ingevoerd bij het aanmaken van een nieuwe locatie.
Note
De gegevens moeten maar één keer worden verstrekt. Eén set MQTT-gegevens kan worden gebruikt om alle locaties te beheren.
Metingen verzenden
Om metingen naar de SmartgridOne Controller te verzenden, kan het volgende MQTT-onderwerp worden gebruikt voor publiceren: 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
-
Zon
- active_power_W
- today_energy_Wh
-
Warmtepompen
- operation_modes
- Mogelijke bedrijfsmodi zijn uit, aan
- active_power_W
- Gelijk aan nominale vermogen 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 Watt>,
"today_imported_energy_Wh": <Grid Geïmporteerde Energie in Watt-uur>,
"today_exported_energy_Wh": <Grid Geëxporteerde Energie in Watt-uur>,
},
"meter": {
"active_power_W": <Grid Actieve Vermogen in Watt>,
"today_imported_energy_Wh": <Grid Geïmporteerde Energie in Watt-uur>,
"today_exported_energy_Wh": <Grid Geëxporteerde Energie in Watt-uur>,
},
"storage": {
"energy_stored_Wh": <Energie Opgeslagen in Watt-uur>,
"mean_soc_perc": <Gemiddeld Percentage Laadstatus>,
"active_power_W": <Actieve Vermogen in Watt>,
"today_charged_Wh": <Energie Opgeladen op de Huidige Dag in Watt-uur>,
"today_discharged_Wh": <Energie Ontladen op de Huidige Dag in Watt-uur>,
},
"solar": {
"active_power_W": <Zonne Actieve Vermogen in Watt>,
"today_energy_Wh": <Energie Geproduceerd Vandaag in Watt-uur>.
},
"heat_pump": {
"active_power_W": <Warmtepomp Actieve Vermogen in Watt>,
"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 verifiëren dat het meetbericht succesvol is ontvangen.
- Te verifiëren dat het meetbericht alle noodzakelijke gegevens bevat.
Opdrachten Ontvangen
Om opdrachten van de SmartgridOne Controller te ontvangen, abonneert u zich op het volgende MQTT-onderwerp: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Het antwoord 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 van beleidsmaatregelen die kan worden ontvangen, is hier te vinden: Lijst van Potentiële Beleidsmaatregelen
