Deye Nachts ausschalten wenn Akku leer ist | HA&ESPHome& HA Automatisierungen

Die 3 phasigen genehmigen sich mit Batterie um die 100-120w. Schaltet man die Batterie aus in den Einstellungen des deye sind es um die 30w.

Leider interpretiert Deye die Einstellung "NoBat" in den Settings etwas eigenwillig... Denn es wird die Batterie dann zwar nicht mehr genutzt, trotzdem zieht der Deye kontinuierlich rd. 20w aus dem Akku. Was im Winter nicht so toll ist, weil der Akku bei fehlender Ladung irgendwann in den kritischen Bereich kommt und das BMS dann trennt.

Der nächste negative Punkt ist, wenn man auf "NoBat" gestellt hat, springt der Deye nicht mehr an bei wenig Pv Leistung vom Dach, er geht dann in den OFF Betrieb. Wenn meine 8 Module bei schlechtem Wetter rd. 200w bringen würden, reicht das bei der NoBat Einstellung nicht den Deye zu starten. Stell ich wieder auf Batterie, springt er ganz normal an.

Na ja, ich habe mit 14kWp fast täglich wenigstens ein wenig was in den Akku geht, also von dem bisschen passiert bei 10% SOC nix, da kann der schon etwas rumstehen.

Bi mir nicht, der Modus ist dann StandBy... PV liefert dann auch ohne Probleme, schalte den akku dann wieder zu, wenn min. 150W mehr als Verbrauch da ist über eine gewisse Zeit.

Heute sogar 100% voll geworden, obwohl die Sonne ganz milchig durch die Wolken nur zu sehen war.

@linuxdep, leider ist das Wetter hier seit Ende Oktober als andere als PV freundlich. Der Deye ist seitdem fast kompl. aus. Schalte ihn nur noch ein, wenn zumindest etwas vom Dach kommt, von laden des Akkus kann aber auch dann nicht die Rede sein.

Hab das jetzt mehrfach ausprobiert mit "NoBat", liegt die PV Leistung bei rd.150-200w (8 Module am String) geht er in den OFF Modus obwohl vorher im Display noch rd. 250V für den String stehen, schalte ich den Akku wieder ein, produziert er auch bei der Leistung nur bleibt auf Grund des Eigenverbrauch fast nichts über und den Akku entlädt er dann auch noch . Ich hatte gehofft, dass ich den geringen PV Ertrag wenigstens für die Grundlast nehmen könnte. So bleiben nur meine beiden MWR, die liefern immer und wenns nur 20w sind und der Deye ist die meiste Zeit kompl. aus.

Ich kann nur nicht verstehen, warum man bei der "NoBat" Einstellung den Akku nicht einfach trennt und in Ruhe lässt anstatt ihn kontinuierlich leicht zu entladen. Da dies mein erster Winter mit dem Deye ist, hatte ich ihn relativ weit entladen. Auf Grund des Dauerentladen bei NoBat hab ich ihn aus dem Netz auf 60% geladen damit er nicht irgendwann in die UVP läuft. Das sollte dann bis zu den nächsten Sonnenstrahlen reichen.

@linuxdep switch und number habe ich nun erfolgreich hochladen können.

wo und wie muss ich jetzt den automatisierungsteil einrücken. kann mir einer ein Bild machen wie es bei euch ausschaut?

@virtez hatte ich doch geschrieben...

@linuxdep sorry das ich mich so blöd anstelle,

wie gesagt Number und switch sind drin aber wo muss der teil rein.

alias: Deye Ein-/Ausschalten Low Batt
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.deye_battery_voltage
below: 51.3
id: Voltage_Low
- platform: time
at: "07:30:00"
id: DeyePower_Off
condition: []
action:
#Power Off und zuvor den Alarmton ausschalten
- if:
- condition: and
conditions:
- condition: trigger
id: Voltage_Low
- condition: time
after: "18:00:00"
before: "7:00:00"
- condition: template
value_template: |
{{states("sensor.deye_battery_output_power") | float(0) < 200 }}
- condition: template
value_template: |
{{ now().month in [1,2,3,10,11,12] }}
then:
- service: number.set_value
data:
value: "8"
target:
entity_id: number.deye_beep1
- service: switch.turn_off
data: {}
target:
entity_id: switch.deye_power_on
else: []
#Deye morgens anschalten und danach den Alarmton reaktivieren
- if:
- condition: and
conditions:
- condition: trigger
id: DeyePower_Off
- condition: template
value_template: |
{{is_state("switch.deye_power_on", "off") }}
- condition: template
value_template: |
{{ now().month in [1,2,3,10,11,12] }}
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.deye_power_on
- delay: "00:02"
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.beep
- service: number.set_value
data:
value: "13"
target:
entity_id: number.deye_beep1
else: []
mode: single

Na an der Stelle, wo du ihn ein oder ausschalten willst... am einfachsten klickerst das in der GUI in HA zusammen wie du es haben willst. So wie du das beep ein und aus schaltest (ist bei mir immer aus, hat mich schon bei der Einrichtung genervt und hört eh keiner im Keller) schaltest auch den WR.

Habe den installationsprt gefunden und wurde auch alles soweit gespeichert. Nun habe ich alles angeschlossen, bekomme aber keine MODBus Verbindung.

den Deye habe ich wie auf dem Bild eingestellt. Verkabelung habe ich schon kontrolliert.

was hab ich vergessen ?

hat sich erledigt :slight_smile: jetzt muss ich nur noch das Dashboard hinbekommen :slight_smile:

Ich nutze mittlerweile auch schon einige Tage die Option den Deye Abends über Modbus auf NoBattery zu stellen. Allerdings kommt es so gefühlt bei jedem zweiten Versuch dazu, dass er beim Netzbezug nur noch eine Phase über Modbus mitteilt. Bei mir kommen nur noch für die Phase 2 Werte an. Ich nutze allerdings nicht die CT-Klemmen sondern einen Eastron SDM630, der ansonsten auch gut und mittlerweile auch seit einem Jahr zuverlässig funktioniert.

Ich hatte bislang die 1135er Firmware, dann mal die 1144 ausprobiert, aber wieder runtergeworfen da bei mir gar keine Modbus Kommunikation mehr möglich war und nun die 1140. Aber leider keine Besserung bei der Thematik...

Sofern ich noch mal manuell umschalte von NoBattery auf SOC, warte bis er sich wieder sortiert hat und dann wieder auf NoBattery schalte funktioniert es meistens.

Kommt das bei anderen die die Abschaltung über NoBattery nutzen auch vor? Nutzt Ihr die CT-Klemmen oder auch ein externes SmartMeter?

Muss ich mal genau schauen, nutze aber die CT Klemmen.

1 „Gefällt mir“

Ich hoffe, es schlagen jetzt nicht einige die Hände überm Kopf zusammen aber so wirklich komm ich damit noch nicht klar... Ich hab es jetzt endlich, dank großer Hilfe eines Foren Mitglied hier, geschafft ESP Home in Gang zu kriegen und das läuft mit der Bagges Platine am Deye und meinem Seplos Akku problemlos.

Jetzt würde ich gern das Ein/Ausschalten dort mit einbinden und was mir persönlich wichtig wäre auch das Ein/Abschalten des Mi Port bzw. umschalten auf Generator.

Ich hab also die Bagges Yaml (Bagges Yaml) ohne Änderung installiert, API und secrets sind drin, also lauffähig. Brauch ich jetzt diesen Teil einfach nur unter "Switch" in der Bagges dazufügen und habe dann einen zusätzlichen Schalter in HA? [spoiler title="Register 80"]

- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}_Power_On
register_type: holding
address: 80
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"

[/spoiler]

Und wie würde das für den Mi Eingang aussehen? Da gibt es ja kein Ein/Aus sondern nur ein Umschalten auf Smart oder Generator.

Und wenn ich die neuen Zeilen eingefügt habe, muss ich dann im Editor auf "Install" klicken oder reicht das speichern und Neu starten des ESP?

die Einstellungen für den Gen-Port können über das Register 133 (hex 85) geändert werden.

Das Register 133 kann 3 Werte annehmen

only Gen use – 0

only smart load output - 1

only microinverter input – 2

Mit dem Befehl kannst du den Gen-Port auf Generator umschalten

011000850001020000B9C5

mit dem Befehl auf smart load umschalten

0110008500010200017805

und mit dem Befehl auf MI umschalten

0110008500010200023804

wie man die Befehle in ESP Home integriert, kann ich dir leider nicht sagen

Danke dir, das hattest du mir ja bereits geschrieben :wink:. Ich würde das, wie geschrieben, aber gerne in HA integrieren.

@totti1001 such mal etwas, habe meine Lösung schon mal gepostet...

weil ich mal nicht so bin habe ich es noch mal hier anhängen

Wenn du Änderungen an der yaml datei macht, am besten SAVE, dann Verify und immer Install, wenn du es auch auf dem ESP32 haben willst.

Diese zwei Register werden benötigt um Umzuschalten. Per Modbus reicht Adresse 235, stellst du aber am Gerät um, schaltet er auch Register 98 um.

unter switch
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}_Battery_Typ
register_type: holding
address: 98
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
unter text_sensor:
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_GEN_Port_Status
bitmask: 0
register_type: holding
address: 235
raw_encode: HEXBYTES
name: ${device_type}-GEN Port Status
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
switch (value) {
case 0: return std::string("GEN Input");
case 1: return std::string("SmartLoad Output");
case 2: return std::string("Micro INV Input");
default: return std::string("----");
}
return x;
1 „Gefällt mir“

Darf ich ein Paar Fragen stellen?

Welche Modbus Tabelle benutzt du?

Ich habe die hier Deye.MODBUS.RTU.V104 und da ist das Register 235 so beschrieben

Das Register 98 wird bei mir nicht geändert, wenn ich am Gerät die Einstellungen für den Gen-Port ändere, gerade eben geprüft. Ich habe noch 1128 FW drauf.

Vielen dank @linuxdep. Ich bin in dieser Yaml Geschichte leider völlig unbedarft. Deinen ursprünglichen Post hatte ich auch gesehen, aber war mir nicht sicher ob ich nach einfügen nur speichern oder/und auch Install drücken muss. Ich bin aber bemüht, mich bei dem Thema zu bessern :wink:

Ich hab jetzt die Teile eingefügt und soweit funktioniert es sogar, allerdings sehe ich beim Gen Port Status "Gen Port" aber der Deye steht auf Micro Inv und vor allem, wie kann ich den Gen Port umschalten, also von Mirco Inv auf Generator? Einen Schalter habe ich bisher dafür nicht gefunden.

Probiere bitte an der Stelle

register_type: holding   

address: 235

raw_encode: HEXBYTES

anstatt 235 die Adresse 133 einzutragen, dann soll der Zustand von dem Gen-Port richtig angezeigt werden

Das mit 133 hat funktioniert, bekomme den tatsächlichen Zustand jetzt richtig angezeigt, vielen dank! Bleibt aber noch die Frage: Wie kann ich das auch umschalten, also von Micro Gen auf Generator?

Und das nächste was mir aufgefallen ist, ist der Batterie Schalter. War ich auf "No Batterie" und schalte ihn ein in HA , springt er auf Lithium. Ich möchte aber, dass er auf BatV geht weil ich nicht per Can verbunden hab. Stell ich aus, geht er wieder auf No Batterie, das ist ja auch ok

Edit: Hab mir mal die Modbus Register angeschaut, kann es sein, dass ich bitmask auf 0 ändern muss, damit er in Batv geht?

Edit: Scheint mit 0 nicht zu funktionieren, bleibt bei NoBat und der HA Schalter springt gleich wieder auf off wenn ich ihn einschalte.

Du kannst probieren in dem Programm nach switch.deye_Battery_Typ zu suchen, es muss irgendwo die Ansteuerung vorhanden sein.Oder abwarten bis der @linuxdep sich meldet, er weißt bestimmt wo die Ansteuerung ist.

Den kompl. Eintrag dafür hat er ja schon eine Seite vorher beschrieben, mit "bitmask 1" funktioniert das ja auch, er switch dann zwischen "No Batterie" und "Lithium". Nun hab ich mir die Modbus Tabelle angeschaut und für Lead ("Batv") gibt es ja auch einen Eintrag und in meinem unwissenden Leichtsinn hab ich vermutet, das 0x0000 dann bitmask 0 wäre, da Lithium ja 0x0001 ist. Funktioniert leider nicht.

DEYE-Modbus-RTU-Google-Docs.png

Und wie man den Genport umschalten kann, hab ich leider auch noch nicht gefunden. Es ist auch der von dir beschriebene 133 und die Anzeige stimmt ja auch nur wie ich den umschalten kann, keine Ahnung. Mir würde zwischen "only Gen use " und "only Microinverter use" ja schon reichen, SmartLoad brauch ich nicht.

Mit Solar Assitant geht das im übrigen, da wird aber über die Bezeichnung "Battery Operation" geschaltet und zwar zwischen "Voltage" (Batv) und "None" (No Batterie).

Auch den Gen Port kann ich darüber schalten also muss es ja auch in HA gehen.