Enalpin-MQTT-Treiber
Die folgende Integration kann verwendet werden, um Standortmesswerte über MQTT zu senden und Befehle für die verschiedenen installierten Gerätetypen zu empfangen.
Python-Demonstrationsskript
Wenden Sie sich an a-TroniX, um ein Demonstrationsskript anzufordern.
Voraussetzungen
Cloud Controller
Die Standorte werden über einen Cloud Controller gesteuert. Bitte wenden Sie sich an a-TroniX, um einen neuen Cloud Controller einzurichten.
Standorteinrichtung
Nachdem ein Cloud Controller erstellt wurde, enthält er eine eindeutige Seriennummer (<Controller SN>).
Neue Standorte können auf dem Cloud Controller mithilfe eindeutiger Standortfilter <site_filter> erstellt werden.
Diese beiden Variablen müssen in den MQTT-Topics und im Nachrichtentext verwendet werden.
Warnung
Die Verwendung identischer Standortfilter führt zu Fehlern.
Geräteauswahl
| Device Type | Supported |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Hinweis
Die Geräte eines Standorts können nach dessen Erstellung nicht mehr bearbeitet werden.
MQTT-Zugangsdaten
Im Gegensatz zu anderen Marken verwendet Enalpin keinen einzelnen MQTT-Benutzer, der von allen Standorten gemeinsam genutzt wird. Für jeden Standort muss der Zugriff über einen eigenen, vom Installateur bereitgestellten MQTT-Benutzernamen gewährt werden. Dieser muss beim Erstellen eines neuen Standorts eingegeben werden.
Hinweis
Der MQTT-Benutzername ist pro Standort erforderlich und darf nicht leer gelassen werden.
Senden von Messwerten
Um Messwerte an den a-TroniX Controller zu senden, kann das folgende MQTT-Topic zum Veröffentlichen verwendet werden: standard1/outbound/enalpin_meas/<site_filter>/<Controller SN>/
Optionale Felder sind 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 Betriebsmodi sind off, on
- active_power_W
- Entspricht der Nennleistung, während die Wärmepumpe on ist
- operation_modes
-
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": <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"
}Bestätigung des Messwertempfangs
Wenn ein Messwert erfolgreich empfangen wurde, wird eine Bestätigung über das folgende Topic gesendet: standard1/rp_one_s/enalpin_ack/<site_filter>/<Controller SN>
Diese Empfangsbestätigung kann verwendet werden, um:
- Zu überprüfen, ob die Messwertnachricht erfolgreich empfangen wurde.
- Zu überprüfen, ob die Messwertnachricht alle erforderlichen Daten enthielt.
Empfangen von Befehlen
Um Befehle vom a-TroniX Controller zu empfangen, abonnieren Sie das folgende MQTT-Topic: standard1/outbound/enalpin_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 Richtlinien, die empfangen werden können, finden Sie hier: Liste möglicher Richtlinien
