ioBroker Adapter zum Steuern und Auslesen des Solarflow Gerätes in Home Assistant nutzen - nograx/ioBroker.zendure-solarflow GitHub Wiki
Ich möchte an dieser Stelle eine Anleitung bereitstellen, welche euch zeigt wie ihr Home Assistant in Kombination mit dem ioBroker Zendure Adapter verwenden könnt. Dies ermöglicht z.B. auch die Steuerung der Eingangs- und Ausgangsleistung, das Setzen der Lade und Entladelimits oder auch das Auslesen sämtlicher “Sensoren”.
Zu Beginn benötigt ihr natürlich eine ioBroker Instanz. In welcher Form ihr diese installiert bleibt natürlich euch überlassen. In meinem Fall habe ich einen Proxmox Server in welchem ich einfach einen weiteren virtuellen Server installiert habe (da mein Hauptsystem ioBroker ist, habe ich natürlich Home Assistant zusätzlich installiert).
Aber auch eine Installation vom ioBroker auf demselben System wie Home Assistant ist grundsätzlich möglich. Hier muss natürlich geschaut werden, dass sich beide Systeme nicht in die Quere kommen (z.B. bei der Portbelegung).
Sobald das ioBroker System läuft benötigt ihr 2 Adapter:
- “zendure-solarflow”. Dazu bitte auch unbedingt die Readme hier vom Adapter lesen, denn beim Setzen der Ausgangsleistung ist eine wichtige Einstellung in der Zendure App nötig. Der Adapter sollte dann in den Einstellungen eingerichtet werden und schaut bitte ob die Verbindung klappt. Ihr solltet dann unter “Objekte” und “zendure-solarflow.0” einen Objekt-Baum mit euren verbundenen Zendure Solarflow Geräten sehen. Hier könnt ihr euch vorab schon mal die Product IDs und den Device Key merken.
- Der zweite Adapter den ihr benötigt ist „MQTT Broker/Client“. Mit diesem möchten wir die “states” vom Zendure Adapter für die Home Assistant Installation bereitstellen. Achtet hier auf die IP und Port Einstellungen und merkt euch diese. Außerdem ist es wichtig bei “Maske zum Bekanntgeben eigener States” die Instanz vom Zendure Solarflow Adapter angegeben wird. Außerdem sind die 3 Einstellungen “Nachrichten ohne ‘retain’-Flag senden”, “Unterschiedliche Topic Namen für setzen und lesen nutzen” und “Sende auch Zustände (ack=true)” zu aktivieren.
Screenshots:
In Home Assistant muss die “MQTT”-Integration installiert werden. Hier gebt ihr dann die Verbindungsdaten eures MQTT Brokers in ioBroker an. Erscheint keine Fehlermeldung war die Verbindung erfolgreich.
Leider müssen die zu verarbeitenden Entitäten/States manuell konfiguriert werden. Dazu müsst ihr die configuration.yaml anpassen. Dies könnt ihr am einfachsten mit dem “File editor”-Addon. Im Editor dann oben links auf den Ordner klicken und die configuration.yaml suchen und öffnen. Falls noch nicht existent, müsst ihr hier noch eine Konfiguration mit “mqtt:” hinzufügen. Darunter könnt ihr dann für jeden “Sensor” und jeden “Control Parameter” eine Konfiguration anlegen. Hier mal ein vollständiges Beispiel inkl. “solarInputPower” (Sensor) und “setOutputLimit” (Control):
mqtt:
sensor:
- name: "Solar Input Power"
unique_id: "YYY.solarInputPower"
state_topic: "zendure-solarflow/0/XXX/YYY/solarInputPower"
unit_of_measurement: "W"
value_template: '{{ value }}'
icon: "mdi:solar-power-variant"
force_update: true
device:
name: "SF.a"
identifiers: "YYY"
manufacturer: "Zendure"
model: "SolarFlow HUB 1200 Controller"
number:
- name: "Control of Output Limit"
unique_id: "YYY.setOutputLimit"
state_topic: "zendure-solarflow/0/XXX/YYY/control/setOutputLimit"
command_topic: "zendure-solarflow/0/XXX/YYY/control/setOutputLimit/set"
value_template: >
{{ int(value, 0) }}
min: 0.0
max: 800.0
step: 1.0
mode: "box"
unit_of_measurement: "W"
icon: "mdi:home-plus"
device:
name: "SF.a"
identifiers: "YYY"
manufacturer: "Zendure"
model: "SolarFlow HUB 1200 Controller"
- XXX steht für die Product ID und YYY für den Device Key. Diese findet ihr wie bereits weiter oben erwähnt für das jeweilige Gerät unter Objekte im ioBroker.
Nun die Datei speichern und unter Entwicklerwerkzeuge die Konfiguration prüfen und neustarten. Anschließend sollte unter MQTT bzw. unter Geräte eurer entsprechendes Solarflow Device mit den konfigurierten Sensoren auftauchen. Weitere Sensoren oder Control-Parameter könnt ihr dann noch nach Belieben in der configuration.yaml hinzufügen.
Werte die ihr händisch und später dann per Automation z.B. in setOutputLimit setzt werden dann an ioBroker übertragen und von da aus dann zur Zendure Cloud.