Benachrichtigungen
Alles löschen

[Gelöst] Idee zum verhindern des 20W Netz Bezugs des Deye

94 Beiträge
24 Benutzer
22 Reactions
40.7 K Ansichten
(@michi84)
Vorsichtiger Stromfühler
Beigetreten: Vor 7 Monaten
Beiträge: 5
 

Mit den obigen Einstellungen sind es bei mir im Schnitt 20W Einspeisung. Da ich den Deye rein AC gekoppelt betreibe, muss ich den MI immer zum Laden aktivieren. Da würde ich vermutlich mit der 1135 ein Problem bei wenig Sonne bekommen, wenn es nicht möglich ist, genug "Respektabstand" zum Netzbezug zu halten. Mit der 1144 komme ich mit einer Automatisierung in Home Assistant gut hin, damit es zu keinem Pendeln um die Null kommt. 

Der mögliche Ladestrom wird laufend berechnet, sollte er unter einen voreingestellten Zielwetz (z.b. 50A) fallen, dann wird per Modbus das Ladestromlimit auf den aktuell verfügbaren Wert herabgesetzt. Der Deye nimmt sich dann 4-5 A weniger als das Limit, und damit habe ich automatisch 200 bis 300 Watt Abstand zum Netzbezug. Alle 15 Sekunden wird wenn nötig nachgeregelt. Wenn der verfügbare Wert wieder gleich oder größer dem Ladestrom-Zielwert ist, dann wird das Limit auf den Zielwert gesetzt und bleibt dort, bis wieder eine Reduktion nötig ist.

Im Oktober hatte ich mit diesen Maßnahmen inklusive E-Auto Überschussladen 0,28 kWh Netzbezug. Der Großteil davon sind Regelschwankungen vom Autoladen.


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

@michi84

das ist eine interessante Idee, um den Netzbezug weitestgehend zu vermeiden.

Ich nutze Fhem als Hausautomation und ich bin deshalb auf MQTT angewiesen, um Werte am DEYE zu schreiben.

Ich publishe von Fhem aus ein Topic mit einem Payload und, wenn der DEYE das dann empfängt, dann schreibt er diesen Wert in das entsprechende Register.

Leider ist es so, dass ich für jede Ampere-Zahl eine eigene Definition benötige, da ich nicht weiß, wie man den Wert des Payloads direkt zum Schreiben des Registers verwenden kann. Ich würde also zwischen 0 und 80A bei 5 A-Schritten 16 Definitionen benötigen - bei kleineren Schritten entsprechend mehr.

Wie hast du das konkret gelöst?

Viele Grüße Gisbert


   
AntwortZitat
(@scooter2)
Vorsichtiger Stromfühler
Beigetreten: Vor 7 Monaten
Beiträge: 34
 

Ich freue mich, nicht von Anfang an, das mein 100% autark Deye 100w selbst verbaucht. Hatte vorher einen Masterpower der es ersten nicht mal anzeigt und auch sonst nur Mist gemacht hat.


   
AntwortZitat
(@michi84)
Vorsichtiger Stromfühler
Beigetreten: Vor 7 Monaten
Beiträge: 5
 

@gisbert 

Ich verwende als Basis die ESPHome-Integration für Home Assistant, mit einem ESP32 Modbus Adapter, auf dem der Code von Klatremis (GitHub - klatremis/esphome-for-deye: Esphome component for Deye 3 phase inverters for Home Assistant) läuft. Die Umschaltung zwischen "Selling first" und "Zero export to CT" erfolgt zeigesteuert, ebenso die Aktivierung des Microinverter Modus. 

Die Ladestromberechnung erfolgt mittels Template-Sensoren. Zuerst wird die verfügbare Restleistung der Solarproduktion meines Huawei Wechselrichters abzüglich Netz und aktueller Batterieladeleistung berechnet:

- sensor:
      - name: "Residual PWR"
        unit_of_measurement: "W"
        state: >
          {% set PV = states('sensor.remote_inverter_active_power') | float(0) %}
          {% set Grid = states('sensor.remote_power_meter_active_power') | float(0) %}
          {% set Batt = states('sensor.sun12k_battery_output_power') | float(0) %}
          {{ ((PV)-(Grid)-((-Batt))) | float(0) }} 

Daraus wird dann die mögliche Ladeleistung für den Deye berechnet:

 - sensor:
      - name: "Deye Charge PWR"
        unit_of_measurement: "W"
        state: >
          {% set PV = states('sensor.remote_inverter_active_power') | float(0) %}
          {% set Residual = states('sensor.residual_pwr') | float(0) %}
          {{ ((PV)-(Residual)) | float(0) }} 

Jetzt muss dieser Wert noch in Ampere umgerechnet werden, weil das Ladeleistungslimit nur als Stromwert gesetzt werden kann.

- sensor:
      - name: "Deye Charge AMP"
        unit_of_measurement: "A"
        state: >
          {% set Volt = states('sensor.sun12k_bms_pack_voltage') | float(0) %}
          {% set PWR = states('sensor.deye_charge_pwr') | float(0) %}
          {{ (((PWR))/(Volt)) | float(0) }}

Damit kann ich dann meine Automatisierung füttern. In Home Assistant braucht man zum Starten einer Automatisierung einen Trigger, das kann eine Uhrzeit, ein Zeitintervall oder auch die Veränderung eines Sensorwerts oder Zustands sein. Ich nehme hier einfach einen Zeitauslöser, der alle 15 Sekunden die Automatisierung startet. Im ersten Schritt wird geprüft, ob überhaupt geladen wird bzw. werden soll, ob die Sonne aufgegangen und noch nicht untergegangen ist, und ob überhaupt genug Ladeleistung (Deye charge AMP) verfügbar wäre und ob der GEN-Port auf MI steht (sonst keine Ladung, da rein AC gekoppelt bei mir). Zusätzlich wird noch geprüft, ob das eingestellte Limit über 2A ist (damit kann beispielsweise durch Setzen von Null die Automatisierung auch bei aktivem MI-Modus ausgeschaltet werden).

alias: Deye Charge Current new 2
description: Deye Ladestrom Überschussregelung
triggers:
  - seconds: /15
    trigger: time_pattern
conditions:
  - condition: sun
    before: sunset
    before_offset: "00:45:00"
    after: sunrise
    after_offset: "00:50:00"
    enabled: true
  - condition: state
    entity_id: select.sun12k_grid_port_setting
    state: Microinverter
  - condition: numeric_state
    entity_id: sensor.deye_charge_amp
    above: 5
  - condition: numeric_state
    entity_id: input_number.deye_charge_current_limit
    above: 2

Wenn diese Bedingungen alle erfüllt sind, gilt es sicherzustellen, dass keine zu hohen Ladestromwerte gesetzt werden. Ich habe dazu ein Eingabefeld für das gewünschte Limit, bis zu dem die Regelung den Ladestrom hochfahren darf. In der Regel sind das 50 Ampere, damit wäre mein 280 Ah Akku in fünfeinhalb Stunden voll (in der Praxis sind derzeit in der Früh noch 40 bis 50 Prozent drin, daher dauert das Laden auch nur um die drei Stunden). Bei wechselhaftem Wetter setze ich den Wert höher, um Wolkenlücken besser ausnutzen zu können, maximal bis 140 Ampere.

Ausgehend von diesem gewünschten Limit gibt es jetzt zwei Fälle, die zu berücksichtigen sind:

a) Der verfügbare Ladestrom (Deye Charge AMP) liegt über dem gewünschten Limit: Dann soll der Ladestrom einmalig auf das Limit gesetzt werden und dort bleiben, solange der verfügbare Ladestrom über dem Limit liegt.

b) Der verfügbare Ladestrom liegt unter dem gewünschten Limit: Dann soll der Ladestrom auf den Wert des verfügbaren Ladestroms gesetzt werden, und alle 15 Sekunden nachgeregelt werden. Nur wenn der verfügbare und gesetzte Ladestrom gleich sind, soll er dort bleiben.

Edit: Code der Automatisierung wird von Forums-Firewall blockiert. Darum als Screenshot.

Diese r Beitrag wurde geändert Vor 6 Tagen von michi84

   
AntwortZitat
Seite 7 / 7
Teilen: