
Scholt MQTT-drivrutin
Följande integration kan användas för att skicka platsmätningar via MQTT och ta emot kommandon för de olika typerna av enheter som är installerade.
Python demo-skript
Denna testkod utför ett enkelt jobb med att kontinuerligt skicka dummy-mätningar till en installation och ta emot kommandon:
Vänligen ladda ner filen nedan i din föredragna Python-IDE. Fyll i ditt serienummer, platsfilter och MQTT-uppgifter och kör skriptet:
Förutsättningar
Cloud Controller
Platserna kommer att kontrolleras via en Cloud Controller. Vänligen kontakta Eniris för att ställa in en ny Cloud Controller
Platsinställning
När en Cloud Controller har skapats kommer den att innehålla ett unikt serienummer (<Controller SN>
).
Nya platser kan genereras på Cloud Controller med unika platsfilter <site_filter>
Dessa två variabler måste användas i MQTT-ämnena och meddelandets kropp.
Att använda identiska platsfilter kommer att leda till fel.
Enhetsval
Device Type | Stödd |
---|---|
Solpaneler | ✅ |
Lagringsenheter | |
Värmepumpar | |
Nät- och förbrukningsmätare | |
EV-laddare | ❌ |
Enheterna på en plats kan inte redigeras efter skapande.
MQTT-uppgifter
Eniris kommer att tillhandahålla MQTT-uppgifter. MQTT-användarnamnet måste anges när en ny plats genereras.
Uppgifterna måste endast tillhandahållas en gång. En uppsättning MQTT-uppgifter kan användas för att kontrollera alla platser.
Skicka mätningar
För att skicka mätningar till SmartgridOne Controller, kan följande MQTT-ämne användas för publicering: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Valfria fält nämns i kursiv.
Följande fält kan skickas per enhetstyp:
-
Lagring
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Sol
- active_power_W
- today_energy_Wh
-
Värmepumpar
- operation_modes
- Möjliga driftlägen är av, på
- active_power_W
- Lika med nominell effekt när värmepumpen är på
- operation_modes
-
Mätare
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Meddelandet måste struktureras enligt följande:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"meter": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"storage": {
"energy_stored_Wh": <Energy Stored in Watt-hours>,
"mean_soc_perc": <Mean State of Charge Percentage>,
"active_power_W": <Active Power in Watts>,
"today_charged_Wh": <Energy Charged on the Current Today in Watt-hours>,
"today_discharged_Wh": <Energy Discharged on the Current Today in Watt-hours>,
},
"solar": {
"active_power_W": <Solar Active Power in Watts>,
"today_energy_Wh": <Energy Produced Today in Watt-hours>.
},
"heat_pump": {
"active_power_W": <Heat Pump Active Power in Watts>,
"operation_modes": <Heat Pump Operation Mode>
}
},
"response_code": <Response Code>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}
Mätbekräftelse
När en mätning har tagits emot framgångsrikt skickas en bekräftelse på följande ämne: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Denna bekräftelse kan användas för att:
- Verifiera att mätmeddelandet mottogs framgångsrikt.
- Verifiera att mätmeddelandet innehöll alla nödvändiga data.
Ta emot kommandon
För att ta emot kommandon från SmartgridOne Controller, prenumerera på följande MQTT-ämne: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Svaret är strukturerat enligt följande:
{
"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
}
}
Listan över policys som kan mottas finns här: Lista över potentiella policys