Benachrichtigungen
Alles löschen

Home Assistant Einbindung vom Deye 12k und baugleiche (Sunsyk, solarman...)

401 Beiträge
73 Benutzer
79 Reactions
46 K Ansichten
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

@Gisbert

Hallo Gisbert,

ich habe deine MQTT Lösung ausprobiert. Nach der Anpassung kamen die Werte sofort, verändern kann ich die jedoch nicht. 

Muss vielleicht in dem WR irgendwas eingestellt werden, um die Werte verändern zu können?

 

Gruß

Peter


   
AntwortZitat
Gisbert
(@gisbert)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 98
 

@peter-pan01,

Hallo Peter,

sehr schön, dass das Auslesen des WR geklappt hat.

Um Werte zu schreiben, muss man per MQTT Werte publishen. Ich nehme an, dass du mit MQTT bisher wenig Erfahrung hast.

Ich sende automatisiert von meiner Hausautomation Fhem per MQTT Messages raus, auf die der ESP32 lauscht und bei passendem Inhalt dann Register beschreibt.

Ein Befehl sieht bei mir bspw. so aus (kein copy/paste, es sind mehrere Vorarbeiten, die im Befehl nicht ersichtlich sind, notwendig, damit das gelingt):

set Deye_Inverter:FILTER=MaxBattCharge!=80 MaxBattCharge 80

Der WR beschreibt das entsprechende Register mit dem Wert 80 (Ampere). Wenn du mit MQTT und publish was anfangen kannst, dann ist das der richtige Weg. Ansonsten wird eine Hilfestellung etwas schwierig, ohne deine Bedingungen wie Server, Hausautomation, ... zu kennen.

Viele Grüße Gisbert 


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

Hallo Gisbert,

du hast richtig erkannt, mit mqtt kenne ich mich fast gar nicht.

Zu der Automatisation, die ich verwende. Ich habe mir einen Proxmox Server auf mini PC installiert auf dem verschiedene Systeme laufen.  

Ich benutze jetzt hauptsächlich Homeassistant, aber auch Iobroker. Fhem hatte ich mal in einem Container laufen, aber bin damit nicht wirklich warm geworden.  Fhem wieder neu zu installieren, ist kein Problem.  

Ich konnte bis jetzt alles, was über mqtt gekommen ist, mit HA und Iobroker direkt ansprechen und steuern. 

Welche Vorarbeit ist nötig, um den set Befehl senden zu können? 

Ich wäre dir dankbar bei der Hilfestellung, damit ich das Thema besser verstehen kann.

 

Gruß

Peter

 

 

 

 


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

Hallo Gisbert,

du hast richtig erkannt, mit mqtt kenne ich mich fast gar nicht.

Zu der Automatisation, die ich verwende. Ich habe mir einen Proxmox Server auf mini PC installiert auf dem verschiedene Systeme laufen.  

Ich benutze jetzt hauptsächlich Homeassistant, aber auch Iobroker. Fhem hatte ich mal in einem Container laufen, aber bin damit nicht wirklich warm geworden.  Fhem wieder neu zu installieren, ist kein Problem.  

Ich konnte bis jetzt alles, was über mqtt gekommen ist, mit HA und Iobroker direkt ansprechen und steuern. 

Welche Vorarbeit ist nötig, um den set Befehl senden zu können? 

Ich wäre dir dankbar bei der Hilfestellung, damit ich das Thema besser verstehen kann.

 

Gruß

Peter

 

 

 

 


   
AntwortZitat
Gisbert
(@gisbert)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 98
 

Hallo Peter,

mit Home Assistant kenne ich mich nicht gut aus, mit IoBroker gar nicht aus.

Möglicherweise funktioniert das Auslesen (und Schreiben) von ESPHome in Home Assistant ganz ohne MQTT. Vielleicht kann dir jemand mit Home Assistant-Kenntnissen helfen.

Die Vorgehensweise bei MQTT zum Testen wäre folgende:

- Prüfen, ob MQTT bei Home Assistant installiert ist. Wenn nicht, muss das installiert werden.

- Eine Message von einem (Dummy)-Device senden und einem anderen empfangen, als Test.

- Das, was der ESP32 als Message benötigt, steht in der yaml-Datei (im Bereich mqtt). Das Prinzip ist, dass bei einer passenden Message ein Register beschrieben wird.

Ohne gemeinsame Basis wird es schwer, konkrete Vorschläge zu machen.

Viele Grüße Gisbert


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

Hallo Gisbert,

ok, danke

Gruß

Peter


   
AntwortZitat
Gisbert
(@gisbert)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 98
 

@peter-pan01,

Hallo Peter,

ausprobieren kannst du MQTT auch ohne Hausautomation. Die Voraussetzung ist, dass ein MQTT-Broker auf deinem Server / Heimnetz / ... läuft.

Es gibt eine Windows-Software, mit der du Messages empfangen (subscribe) oder senden (publish) kannst und somit prüfen kannst, ob deine Definitionen funktionieren: MQTT.fx 1.7.1

Du musst deinen MQTT Broker, eventuell Credentials in den Einstellungen eintragen.

Wenn du das hast, kannst du schauen, ob du Messages subskribieren kannst; die Topics hier als Beispiel heißen so, wie in meiner yaml-Datei, die ich dir zugeschickt habe.

Unter Subcribe in dem Feld folgendes eintragen:

/DEYE/sensor/#

und den Button rechts "Subscribe" drücken. Du wirst sehen, dass zyklisch alle Topics mit /DEYE/sensor/ reinlaufen; # bedeutet alle folgenden Einträge sind möglich.

Wenn das funktioniert hat, kannst du dich am Publishen versuchen. Das musst du aber vorsichtig angehen, um nichts an deinem Deye kaputt zu machen.

Ein unverfängliches Beispiel wäre im kleinen Feld neben Publish:

/DEYE/MaxBattDischarge/current

Im großen Feld kannst du z.B. 100 oder 0 (nur diese beiden Fälle hab ich in der yaml-Datei definiert) eintragen und Publish drücken.

Damit hast du das Register für die maximale Entladestromstärke beschrieben.

 

Ein andere Möglichkeit, Werte von Registern zu ändern, besteht direkt in ESPHome. Du tippst die IP-Adresse deines ESP32 in einen Browser ein und dann siehst du, was alles ausgelesen wird, und einige der Register kann man beschreiben. Das funktioniert auch alles, wie es soll, aber eben nicht automatisiert über eine Hausautomation, in der du die publish-Befehle automatisieren kannst. Auf der ESPHome-Seite deines ESP32 kannst du alle Zahlen (innerhalb der vorgegebenen Grenzen, meist ganzzahlig oder eine Nachkommastelle - wie vorgegeben) eintragen und abschicken. Aber bitte Vorsicht - du beschreibst damit wirklich die Register deines Deye; es könnte auch daneben gehen, also keinen Unsinn eingeben.

Kannst ja berichten, ob du damit weitergekommen bist.

 

Viele Grüße Gisbert


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

Hallo  Gisbert,

vielen Dank nochmal für deine Hilfe.

Ich kann machen, was ich will, der Wert, den ich ändern wollte, wird nicht überschrieben. (probiert charge current zu ändern)

Meine Vermutung, das liegt an den Konvertern, die ich verwende. Das sind billige rs485 Konverter von Aliexpress. 

Das kann nicht sein, dass ich die Werte im ESPHome direkt auslesen kann genauso wie mit mqtt. 

Ich probiere die mit Homeassistant direkt über ESPHome zu ändern, ------> geht nicht

über das Web Interface ---> geht nicht

genauso über mqtt (WebI und auch über Iobroker ---->geht nicht

Gelesen bekomme die Werte mit jeder Variante.

Kannst du mir bitte noch sagen, welche Konverter funktioniert?

Ich bin langsam verzweifelt. 

 

Dank dir, hatte ich von der Möglichkeit erfahren den WR zu steuern, wenn der Batteriestand niedrig ist sowie von der Bridge-Möglichkeit mit dem Seplos. 

Danke dafür.

 

Gruß

Peter

 

 

 


   
AntwortZitat
(@amiko)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 298
 

Veröffentlicht von: @peter-pan01

Ich kann machen, was ich will, der Wert, den ich ändern wollte, wird nicht überschrieben.

Welche Register möchtest du ändern?

 

 

 


   
AntwortZitat
Gisbert
(@gisbert)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 98
 

@peter-pan01,

Hallo Peter,

ich hab RS485 Boards bei AliExpress  bestellt: https://a.aliexpress.com/_EJTKNjX

Auf der Seite von Bagges auf GitHub wird erklärt, wie man den Widerstand am RS485 Board misst; das solltest du überprüfen.

Dann fällt mir nur noch ein, dass die physischen GPIO-Pins auf dem ESP32 mit den Definitionen von TX und RX im yaml-File übereinstimmen müssen; auch das solltest du verifizieren.

Hoffentlich findest du die Ursache.

Viele Grüße Gisbert 


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

Hallo Gisbert,

das mit den Widerständen wusste ich auch nicht. Habe die Brücke erstellt und kann jetzt zwischen A und B ca. 115 Ohm messen. Leider kann ich weiterhin nichts ändern. Das mit den TX/RX an dem ESP32 ist schon klar. Habe mit Pin 16/17 und auch 26/27 probiert. Ich habe mir jetzt die Konverter, die auch du benutzt, bestellt.

Nur noch eine Frage, wenn du zB. "sun12k_Solar_sell" deaktivierst oder aktivierst, wird der Haken auf dem Display sichtbar, oder wird nur der Register angesprochen, ohne Rückmeldung auf dem Display?

Gruß

Peter


   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

@amiko 

Hallo,

habe deine Frage übersehen.

Ich würde gerne unterschiedliche Register ändern wollen, abhängig von Gegebenheiten. Als Beispiel, Lade und Entladestrom anpassen. Switch "xxx_Solar_sell"

Mich wurm hauptsächlich, dass es bei mir nicht klappt, was bei anderen anscheinend funktioniert.

 

Gruß

Peter


   
AntwortZitat
(@amiko)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 298
 

Veröffentlicht von: @peter-pan01

Ich würde gerne unterschiedliche Register ändern wollen, abhängig von Gegebenheiten. Als Beispiel, Lade und Entladestrom anpassen.

 

poste bitte deine modbus.yaml Datei, dann sehen wir weiter.

Diese r Beitrag wurde geändert Vor 2 Wochen von amiko

   
AntwortZitat
(@peter-pan01)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 36
 

@amiko 

hier ist die.

 


   
AntwortZitat
(@amiko)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 298
 

sollte eigentlich ganz einfach sein, in HA links auf Einstellungen klicken dann auf Geräte und Dienste und oben auf Entitäten, dann suchst du z.B nach Maximum battery charge current, da sollte so ein Eintrag zu finden sein: number.sun12k_Maximum_battery_charge_current, auf den klicken. Im geöffneten Fenster oben befindet sich ein Schieberegler, mit dem die gewünschte Strom eingestellt werden kann.

sollte etwa so aussehen

Wenn das nicht funktioniert, gibt es noch eine andere Möglichkeit, Register über Automatisierung zu schreiben.


   
AntwortZitat
Seite 25 / 27
Teilen: