Heizstäbe mit Pv Überschuss steuern

Hallo ich möchte 3heizstäbe mit je 1000watt steuern. Aber ich bekomm es einfach nicht hin auch ki konnte mir nicht helfen. Jetzt hoffe ich ihr könnt es. die automation soll so funktionren:

  • Trigger (Auslöser):
    • Der Code wird aktiviert, wenn:
      • Die PV-Einspeisung einen bestimmten Wert überschreitet (1050 Watt).
      • Die PV-Einspeisung unter einen bestimmten Wert fällt (50 Watt).
      • Die Warmwassertemperatur unter einen bestimmten Wert fällt (57 Grad Celsius).
      • Die Warmwassertemperatur einen bestimmten Wert überschreitet (58 Grad Celsius).
  • Aktionen:
    • Einschalten (PV-Überschuss und niedrige Temperatur):
      • Wenn genügend PV-Überschuss vorhanden ist und die Wassertemperatur niedrig ist, werden die Heizstäbe nacheinander eingeschaltet.
      • Der Code verwendet einen Zähler (sensor.anzahl_heizstab_schalter_eingeschaltet), um zu verfolgen, wie viele Heizstäbe eingeschaltet sind, und schaltet den nächsten verfügbaren ein.
      • Zwischen dem einschalten der Heizstäbe 0 und 1 gibt es eine Verzögerung von 5 Sekunden.
    • Ausschalten (geringe Einspeisung oder hohe Temperatur):
      • Wenn die PV-Einspeisung zu niedrig ist oder die Wassertemperatur zu hoch ist, werden die Heizstäbe nacheinander in umgekehrter Reihenfolge ausgeschaltet.
  • Wichtige Punkte:
    • Der Code ist so konzipiert, dass er mit einem Sensor zusammenarbeitet, der die Anzahl der eingeschalteten Heizstäbe zählt.
    • Die Reihenfolge des Ein- und Ausschaltens ist wichtig, um eine Überlastung zu vermeiden.
    • Die Verzögerung zwischen dem einschalten der einzelnen Heizstäbe, soll verhindern das es zu problemen mit der korrekten Zählung kommt.

Hier der Code:

- id: "pv_ueberschuss_heizstab"
  alias: PV-Überschuss Heizstabsteuerung
  trigger:
    - platform: numeric_state
      entity_id: sensor.power_meter_wirkleistung
      above: 1050
    - platform: numeric_state
      entity_id: sensor.power_meter_wirkleistung
      below: 50
    - platform: numeric_state
      entity_id: sensor.warmwasser_temperatur_sensor_temperature
      below: 57
    - platform: numeric_state
      entity_id: sensor.warmwasser_temperatur_sensor_temperature
      above: 58
  condition: []
  action:
    - choose:
        - conditions:
            - condition: numeric_state
              entity_id: sensor.power_meter_wirkleistung
              above: 1050
            - condition: numeric_state
              entity_id: sensor.warmwasser_temperatur_sensor_temperature
              below: 57
          sequence:
            - choose:
                - conditions:
                    - condition: state
                      entity_id: switch.heizstarb_switch_0
                      state: "off"
                  sequence:
                    - service: switch.turn_on
                      target:
                        entity_id: switch.heizstarb_switch_0
                    - delay:
                        seconds: 5
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 0
                    - condition: state
                      entity_id: switch.heizstarb_switch_1
                      state: "off"
                  sequence:
                    - service: switch.turn_on
                      target:
                        entity_id: switch.heizstarb_switch_1
                    - delay:
                        seconds: 5
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 1
                    - condition: state
                      entity_id: switch.heizstarb_switch_2
                      state: "off"
                  sequence:
                    - service: switch.turn_on
                      target:
                        entity_id: switch.heizstarb_switch_2
        - conditions:
            - condition: numeric_state
              entity_id: sensor.power_meter_wirkleistung
              below: 50
          sequence:
            - choose:
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 1
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_2
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 0
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_1
                - conditions:
                    - condition: state
                      entity_id: switch.heizstarb_switch_0
                      state: "on"
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_0
        - conditions:
            - condition: numeric_state
              entity_id: sensor.warmwasser_temperatur_sensor_temperature
              above: 58
          sequence:
            - choose:
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 1
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_2
                - conditions:
                    - condition: numeric_state
                      entity_id: sensor.anzahl_heizstab_schalter_eingeschaltet
                      above: 0
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_1
                - conditions:
                    - condition: state
                      entity_id: switch.heizstarb_switch_0
                      state: "on"
                  sequence:
                    - service: switch.turn_off
                      target:
                        entity_id: switch.heizstarb_switch_0

Problem ist das sich immer nur ein heizstarb Einschaltet die ID sind alle richtig. alle Schalter funktionieren und auch der Zähler .

Mit freundlichen Grüßen Daniel

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)