Bei PV-Überschuss- drei Verbraucher stufenweise zuschalten

Hallo liebe Experten,

ich habe HA nun schon über ein Jahr am Laufen, aber wenn ich ehrlich bin, den Durchblick habe ich nicht so richtig. Den Poweropti zur Messung der Einspeisung habe ich über Anleitung aus YouTube von Simon42 zusammengeflickt. Mit YAML kenn ich mich leider auch nicht aus, d.h. ich erstelle meine Automationen mit dem normalen Editor.

Meine kleine PV-Anlage hat bei gutem Wetter oft Stromüberschuss, den möchte ich gerne selber nutzten. Dazu habe ich in unserem Haus in einem Zimmer auf der Nordseite drei Infarot- Heizungen mit jeweils 300 Watt installiert, diese möchte ich gerne bei Überschuss jeweils in drei Stufen zuschalten. Das Ein- und Ausschalten der IR-Heizungen habe ich über drei ShellyPlugs realisiert.

Leider funktioniert die von mir gebastelte Automation nicht, es funktioniert nur die Stufe 1, einschalten der ersten Heizung!

Vielleicht kann mir jemand weiterhelfen und entsprechend einen Tipp geben?

Hier meine Automation:

alias: 3xHeizEinTest
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.poweropti
    attribute: Watt
    below: -305
conditions:
  - condition: device
    type: is_off
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
actions:
  - type: turn_on
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 32
  - condition: numeric_state
    entity_id: sensor.poweropti
    below: -305
    attribute: Watt
  - condition: device
    type: is_on
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
  - condition: device
    type: is_off
    device_id: 96d683a3fe998a626f2e1085df1ea372
    entity_id: 9d6b969af95d9ac4312946ef7f5ed195
    domain: switch
  - type: turn_on
    device_id: 96d683a3fe998a626f2e1085df1ea372
    entity_id: 9d6b969af95d9ac4312946ef7f5ed195
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 32
  - condition: numeric_state
    entity_id: sensor.poweropti
    attribute: Watt
    below: -305
  - condition: device
    type: is_on
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
  - condition: device
    type: is_on
    device_id: 96d683a3fe998a626f2e1085df1ea372
    entity_id: 9d6b969af95d9ac4312946ef7f5ed195
    domain: switch
  - condition: device
    type: is_off
    device_id: e4d1a19114f9d970a1febddbb8299f76
    entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
    domain: switch
  - type: turn_on
    device_id: e4d1a19114f9d970a1febddbb8299f76
    entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
    domain: switch
mode: single

Die Zeitverzögerung von 32 Sekunden habe ich eingebaut weil ich alle 30 Sekunden den Wert vom Poweropti auslesen.
Dank schon mal im voraus und Grüße aus Franken!

N’abend aus dem Rheinland,

ich bin mit den yaml-Automationen nicht ganz fit, aber so wie ich das sehe ist Deine erste Bedingung das Problem:

  - condition: device
    type: is_off
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch

Nach dem ersten Einschalten (Einspeisung war > 305 Watt) ist das erste Gerät ja an. Die folgenden Aktionen werden also nicht mehr ausgeführt.

Noch ein Gedanke dazu: baue eine Hysterese von ein paar Watt für’s Ausschalten ein. Ansonsten kann es Dir passieren, dass er alle 30 Sekunden die Heizung(en) ein- und wieder ausschaltet, wenn die Einspeisung sich um die Grenze von 305 Watt bewegt.

Noch ein Vorschlag zur Lösung:
Schiebe die Bedingung einfach komplett in den Aktionen-Teil und differenziere dort, was geschehen soll. Also Trigger wie gehabt, keine Bedingung und in den Aktionen dann drei bedingte Aktionen (für das Einschalten):

  1. Einspeisung > 305 Watt und keine Heizung an > dann 1. Heizung an
  2. Einspeisung > 305 Watt und erste Heizung an > dann 2. Heizung an
  3. Einspeisung > 305 Watt und erste und zweite Heizung an > dann 3. Heizung an.

Ausschalten musst Du sie natürlich dann auch noch :wink:

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Guten Morgen!

Vielen Dank für deine Unterstützung!

Ich habe nun mal versucht deinen zweiten Ansatz, also alles in den Aktionenteil zu schieben, umzusetzen. Eine Verzögerungszeit habe ich auch wieder eingebaut, da der Poweropti alle 30 sec den aktuellen Stromertrag abruft.

Vielleicht hast du nochmals Zeit meine nun aktualisierte Automation anzuschauen, ich werde sie ja auch parallel dazu testen.

PS: das Ausschalten habe ich auch im Focus!

alias: 3xHeizEinTest2
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.poweropti
    attribute: Watt
    below: -305
conditions: []
actions:
  - type: turn_on
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
  - condition: device
    type: is_on
    device_id: 9cc6453c1f672327c368d7b60615da90
    entity_id: 9adce2b133583afba057b653f3a087fa
    domain: switch
    for:
      hours: 0
      minutes: 0
      seconds: 32
  - type: turn_on
    device_id: 96d683a3fe998a626f2e1085df1ea372
    entity_id: 9d6b969af95d9ac4312946ef7f5ed195
    domain: switch
  - condition: device
    type: is_on
    device_id: 96d683a3fe998a626f2e1085df1ea372
    entity_id: 9d6b969af95d9ac4312946ef7f5ed195
    domain: switch
    for:
      hours: 0
      minutes: 0
      seconds: 32
  - type: turn_on
    device_id: e4d1a19114f9d970a1febddbb8299f76
    entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
    domain: switch
mode: single

Ahoi!
Das wird so nicht funktionieren: Du schaltest Heizung 1 ja immer an. Anschließend prüfst Du, ob Heizung 1 an ist… da sie ja vorher immer angeschaltet wurde, gehts direkt weiter. Dann schaltest Du Heizung 2 an… und prüfst wieder, ob Heizung 2 eingeschaltet wurde. Da sie das ja auch immer ist, geht es wieder weiter. Es müssten beim ersten Trigger also sofort alle Heizungen eingeschaltet werden. Verdammt warme Hütte! :wink:

Verwende im visuellen Editor den Baustein “Auswählen”. Dann erstellst Du drei Optionen (für jede der Situationen bzw. Aktionen). Anschließend bekommt jede Option die entsprechenden Bedingungen:

Option 1:

  • Bedingungen: Heizung 1 aus, Heizung 2 aus, Heizung 3 aus
  • Aktion: Heizung 1 an

Option 2:

  • Bedingungen: Heizung 1 an, Heizung 2 aus, Heizung 3 aus
  • Aktion: Heizung 2 an

Option 3:

  • Bedingungen: Heizung 1 an, Heizung 2 an, Heizung 3 aus
  • Aktion: Heizung 3 an

Wird optisch etwas herausfordernder… aber mit ein bisschen Ruhe und Geduld passt das schon.

Vielen, vielen Dank für deine Hilfe!

Ich habe deine Anweisung zum Erstellen einer neuen Automation gleich umgesetzt. Ich frage mich nur, ob ich noch eine Verzögerung einbauen muss. Mein Poweropti liest immer im Abstand von 30 sec. den Zählerstand am Stromzähler aus, d.h. wenn eine IR-Heizung eingeschaltet wird, dauert es immer 30 sec. bis sich der Zählerstand aktualisiert.

Ich habe die neue Automation gleich in Betrieb genommen, die Option 1 hat er schon mal super ausgeführt. Die weiteren Schaltpunkte (Option 2 + 3) sind bei unserem Wetter gerade leider nicht zu erwarten.

Hier mal die aktuelle Automation:

alias: 3xHeizEinTest3
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.poweropti
    attribute: Watt
    below: -305
conditions: []
actions:
  - choose:
      - conditions:
          - condition: device
            type: is_off
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_off
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
      - conditions:
          - condition: device
            type: is_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_off
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_on
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
      - conditions:
          - condition: device
            type: is_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_on
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_on
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
mode: single

Sorry, ich bin leider schon im fortgeschrittenen Alter, die greifen die Rädchen nicht mehr so flüssig ineinander.

Beste Grüße

Überhaupt kein Problem! - Sehr gern! :slight_smile:

Ich habe deine Anweisung zum Erstellen einer neuen Automation gleich umgesetzt. Ich frage mich nur, ob ich noch eine Verzögerung einbauen muss. Mein Poweropti liest immer im Abstand von 30 sec. den Zählerstand am Stromzähler aus, d.h. wenn eine IR-Heizung eingeschaltet wird, dauert es immer 30 sec. bis sich der Zählerstand aktualisiert.

Brauchst Du m. E. nicht: der Trigger für die Automation (PV-Überschuss steigt über 305 Watt) wurde ja bereits einmal ausgelöst und damit “verbraucht”. Die Automation löst erst wieder aus, wenn der Überschuss wieder geringer als 305 Watt geworden ist und dann die 305 Watt-Grenze erneut überschreitet.
In anderen Worten: der Auslöser ist “nur” das Überschreiten der 305 Watt-Grenze in der definierten “Richtung” (hier von einem Wert über der “below”-Grenze auf einen Wert unterhalb dieser).

Alles klar?

Ich habe die neue Automation gleich in Betrieb genommen, die Option 1 hat er schon mal super ausgeführt. Die weiteren Schaltpunkte (Option 2 + 3) sind bei unserem Wetter gerade leider nicht zu erwarten.

Sieht soweit gut aus, denke ich: die Struktur passt.

Du kannst Die Automation auch unabhängig von der aktuellen Produktion testen: Du könntest z. B. den Zustand des Sensors mit Hilfe der Entwicklerwerkzeuge einfach mal händisch auf einen entsprechenden Wert setzen.
Alternativ (falls Dir das zu kritisch ist): baue die Automation mit einem Zahlenwert-Helfer (zur Simulation der Messwerte des Sensors) und drei Schalter-Helfern (zur Simulation der Heizungen) einfach nach.

Viel Erfolg!

Danke die für deine erklärenden Zeilen, denke das habe ich kapiert!

Beim Testen der Automation, so wie du beschrieben, bin ich leider an meine Grenzen gestoßen. Habe gleich die vermutlich einfachere Version gewählt, das Erstellen der Helfer hat noch geklappt aber beim Erstellen der Automation mit den Helfern bin ich irgendwie ins Schleudern gekommen.

Ich habe mich dann lieber um das Ausschalten der 3 Heizungen gekümmert. Bisher habe ich das mit 3 einzelnen Automationen gemacht, was m.M. nicht zuverlässig funktioniert hat. Mit der nun neuen Automation habe ich mich an das von dir erstellte Schema gehalten, also auch die 3 Optionen in den Aktionsteil zu packen.

Sorry, wenn ich dich nochmals belästige, aber könntest da auch da nochmal drüber schauen

alias: 3xHeizAus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.poweropti
    attribute: Watt
    above: -10
conditions: []
actions:
  - choose:
      - conditions:
          - condition: device
            type: is_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_off
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_off
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
      - conditions:
          - condition: device
            type: is_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_on
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_off
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
      - conditions:
          - condition: device
            type: is_on
            device_id: 9cc6453c1f672327c368d7b60615da90
            entity_id: 9adce2b133583afba057b653f3a087fa
            domain: switch
          - condition: device
            type: is_on
            device_id: 96d683a3fe998a626f2e1085df1ea372
            entity_id: 9d6b969af95d9ac4312946ef7f5ed195
            domain: switch
          - condition: device
            type: is_on
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
        sequence:
          - type: turn_off
            device_id: e4d1a19114f9d970a1febddbb8299f76
            entity_id: 2cdf3bcca5f4532e0fb9f13f6d87b7c1
            domain: switch
mode: single

Vielen Dank und beste Grüße

Sieht soweit OK aus, denke ich. Nur den Grenzwert für das Ausschalten würde ich ändern: wenn die Module 300 Watt haben und Du unterhalb von -305 Watt einschaltest (und die PV-Leistung konstant bleibt), dann wäre der nächste Messwert -5 Watt. Die Ausschalt-Automation würde also bei “above -10 Watt” sofort auslösen (es sei denn, die PV-Leistung ist weiter gestiegen, was ja nicht gesagt ist). Versuche es doch mal mit +10 Watt. Dann hast Du eine Hysterese von 15 Watt.
Abhängig von Deiner PV-Anlage kann aber selbst das zu häufigem Ein-/Ausschalten führen (bei meiner 10 kWp-Anlage sind kurzzeitige Schwankungen von 100 Watt keine Seltenheit). An praktikable / sinnvolle Werte kannst Du Dich aber ja im Laufe der Zeit herantasten. :slight_smile:

Dank dir nochmals, habe das verstanden und werde es entsprechend anpassen!
Werde nochmals berichten ob es tatsächlich so funktioniert. Bisher hatte ich 3 kleine Automationen fürs Einschalten und 3 fürs Ausschalten, da ich nicht wusste wie man das in eine Automation packen kann. Zudem hat es leider auch nicht richtig funktioniert, besonders hatte ich Problem wenn bei viel Sonne alle 3 Heizstufen aktiv waren und wenn ich zusätzlich einen großen Verbraucher angeschaltet hatte, dann ist meistens die Heizung in Stufe 1 weitergelaufen.

Wünsche schönes Wochenende