Hallo,
ich bin ganz neu hier und eigentlich bin ich auch in der Home Automation, Home Assistant usw. ganz neu und recht unerfahren.
Ich habe HA auf einem Intel-Rechner installiert, auch mehrere Tasmota-Steckdosen eingebunden und nach den Tipps hier im Forum auch die Ahoy-DTU ins HA bekommen. Das war schon mal toll und allen die sich hier angergieren einen herzlichen Dank.
Nun würde ich gerne aus dem HA heraus und über die Ahoy-DTU das Limit des Wechselrichters ändern können. Dazu habe ich in einem anderen Forum Kommentare gefunden, doch komme ich mit denen nicht zurecht.
Es wird einmal wie folgt beschrieben: mosquitto_pub -t “inverter/ctrl/limit_persistent_absolute/0” -m “40”. Offenbar wurde dabei ein neues Limit per MQTT gesetzt. Kann man das auf über HA machen, also mosquitto_pub senden?
Eine andere beschriebene Methode ist: curl -i -H “Accept: application/json” -H “Content-Type:application/json” -X POST --data ‘{“id”: 0, “cmd”: “limit_nonpersistent_absolute”, “val”: 50}’ http://192.168.178.23/api/ctrl. wenn ich es richtig verstanden habe, ist das über die API, doch da habe ich auch noch keine Erfahrung. Ginge das aus HA heraus?
Mach vielleicht jemand sowas schon, die Ahoy-DTU über HA ansteuern? Kann mir vielleicht jemand sagen was ich dazu machen muss oder wo ich Beispiele finde?
Das EEPROM welches in den Wechselrichtern verbaut ist um den Wert Spannungsausfallsicher zu speichern hat nur begrenzt schreibzyklen ( zwar relativ viele, oft über 100000). Beim peristenten schreiben wird ins EEPROM geschrieben, nonperistent ist dein Powerlimit nach Wechselrichter Neustart wieder weg.
Das MQTT Topic auf das du schreiben muss sieht etwa so aus: Balkonsolar/ctrl/limit/0; Wobei Balkonsolar ersetzt werde muss durch das Topic welches du bei dir in der AhoyDTU unter MQTT gesetzt hast. Dann kannst du entsprechend ein nicht peristentes PowerLimit in Prozent setzen indem du es als Value übergibst. Ich habe bei mir das in NodeRed “ausprobiert” aber noch nirgends wirklich automatisiert eingebaut.
Hallo:)
soweit habe ich es jetzt auch verstanden aber meine DTU nimmt den Befehl noch nicht an. Wo muss ich den Befehl eingeben? Einstellungen->Geräte → MQTT_> und dann bei ein Paket veröffentlichen?
kann mir jemand ein konkretes Beispiel für diesen Befehl geben ?
Moin Traktori,
schau dir mal den Thread Nulleinspeisung PV mit Node-Red an. Dort wird über ein Node-RED Flow die Steuerung des Wechselrichters beschrieben. Evtl. ist das auch was für dich.
LL
Hallo,
ich suche letztendlich nach der gleichen Lösung.
Ich habe auch ein HA auf einem Intelrechner (unter Windows10 und virtueller Maschine) und einen Mikrowechselrichter per OpenDTU (AhoyDTU hatte ich auch schon) eingebunden.
Ich habe an dem Wechselrichter auch eine Batterie hängen und möchte nun nachts ein Nulleinspeisung realisieren.
Den aktuellen Verbrauch im Haus bekomme ich über die optische Schnittstelle des Zählers und einen Hichi-Lesekopf mit Tasmota.
Somit habe ich eigentlich alle Werte die benötigt werden im HA vorliegen, die Logik ist auch einfach. Nur wie kann man “einfach” das Limit des Wechselrichters aus HA setzen?
die Lösung per Node-Red habe ich auch schon gelesen, ich möchte aber eigentlich kein weiteres System aufsetzen, in das ich mich wieder einarbeiten muss.
Grundsätzlich gibt es ja Lösungen zur Nulleinspeisung mittels openDTU über ein Pythonskript:
Ein möglicher Ansatz könnte sein, ein ähnliches Pythonskript über HA auszuführen.
Zum Thema Pythonskript in HA ausführen habe ich eben das hier gefunden:
Insgesamt blicke ich bei beidem leider noch nicht so wirklich durch, sicherlich auch, weil ich kaum Python Kenntnisse habe.
Vielleicht gibt es aber noch eine einfachere Lösung mit der man direkt über eine HA Automatisierung eine MQTT Nachricht mit dem Limit an den Wechselrichter schicken könnte?
Edit:
mit dem Pythonskript aus dem ersten Link konnte ich auch schon das Limit des Wechselrichters schreiben. Nur leider fehlt mir der aktuelle Hausverbrauch da ich keinen Shelly 3M habe.
In HA habe ich ja grundsätzlich den Verbrauch vom IR-Lesekopf vorliegen (wenn auch nur alle 10s aktualisiert)
Stellt sich dann auch die Frage ob und wie ich in einem Pythonskript (was wie im zweiten Link beschrieben unter HA liefe) auf diesen Wert Zugriff bekomme…
Du mußt Dich doch nicht einarbeiten. Node Red installieren, Flow kopieren, Sensoren bzw. Ahoy-Daten austauschen, fertig. Ist wahrscheinlich in einer Viertelstunde erledigt. LG Pit
Moin Fischer,
ich hatte mir auch einige Sachen im Netz angesehen und das eine oder andere probiert bevor ich mit Node-RED die für mich einfachste und effektivste Anwendung gefunden und umgesetzt habe.
Node-RED ist kein System welches aufgesetzt werden muss und eine umfangreiche Einarbeitung erfordert (sonst wäre das nichts für mich ) sondern eine IoT-Programmierumgebung, mit welcher Hardware-Devices, Programmierschnittstellen (APIs) und Online-Dienste miteinander verknüpft
werden können und die einfach in HA eingebunden wird. Und wenn du dich mit Python auch nicht sonderlich auskennst wäre Node-RED vermutlich der einfachere Weg. Wobei ich dich nicht abhalten will, auch mit Python wirst du sicherlich zum Ziel kommen.
Wenn du mit dem Hichi-Lesekopf die Daten vom Zähler einliest hast du doch alles vorliegen was du brauchst, ein Shelly 3EM ist dann nicht notwendig. Oder liefert dein Zähler nicht die benötigten Werte?
Moin Pit, hiernach ist ein Ein- und Abschalten des Inverters über die rest API in der Ahoy-DTU möglich, wie man das als Node RED Befehl umsetzen kann (wenn das denn geht) weiß ich allerdings nicht.
Wenn du ihn vom Netz nehmen willst setze eine schaltbare Steckdose ein. Oder du setzt die Leistung über den Limit Befehl bei einem bestimmten Ereignis auf 0.
Wobei ich mich gerade Frage warum man das Teil abschalten sollte??
danke, die Seite hatte ich auch gefunden, aber damit konnte ich nichts anfangen.
Das Abschalten über die DTU soll schonender für das Gerät sein als die AC-Abschaltung über die Steckdose, außerdem soll er dann schneller wieder hochfahren.
Das Ganze ist für eine Nacht- bzw. Nulleinspeisung gedacht.
Irgendwie geht das über MQTT, ich weiß nur nicht, wie die Befehlszeile lautet.
Hi Pit,
ich denke mit der AhoyDTU wirst du kein Glück haben, bei der OpenDTU sollte es nach diesen Infos wohl möglich sein.
Für die OpenDTU benötigst du allerdings ein ESP32 Mikrocontroller, mit dem ESP8266 funktioniert die nicht.
Ich habe aber keine Ahnung, wie ich die Befehle
in eine MQTT-out-Node eintragen muß, damit es funktioniert bzw., wie ich die Message 1 oder 0 an die Node übergeben kann, vielleicht mit einer Switch-Node?
Moin Pit,
bitte nichts durcheinanderbringen. Der erste Link führt zu einem Blockly Script in ioBroker, der zweite zu einer AhoyDTU Regelung in Domoticz home automation. Nicht wirklich hilfreich für dein Vorhaben.
Ich nehme mal an die OpenDTU mit einem ESP32 Mikrocontroller hast du noch nicht am Laufen?
Nach der von mir verlinkten Doku ist der Befehl zum Abschalten des Inverters:
topic/serial/cmd/power 0
wobei topic und serial mit deinen Daten zu ersetzen sind und die 0 normalerweise in einem Node-RED Flow übergeben wird.
Wenn du die OpenDTU fertig hast kannst du ja mal deinen Flow zur Diskussion hier einstellen.
ich würde es aber gerne in der vorhandenen Ahoy-DTU realisieren. Man kann ja auf der Weboberfläche der DTU auch die Wechselrichter per Knopfdruck einzeln ein- und ausschalten und neu starten, dann müßte es ja eigentlich auch per MQTT funktionieren.