Hilfe bei Automatisierung IR-Heizung

Einschalten:
Habe mir hier eine Automatisierung erstellt, mit der ich meine IR-Heizung ab einen PV Erzeugung von 1500W und einem mindest SOC von 70% einschaltet. das funktioniert auch einwandfrei.

alias: IR-Heizung Bad Ein
description: ""
triggers:
  - entity_id:
      - sensor.evcc_pv_power_2
    above: 1500
    for:
      hours: 0
      minutes: 3
      seconds: 0
    trigger: numeric_state
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    above: 70
    enabled: true
conditions: []
actions:
  - data: {}
    action: switch.turn_on
    target:
      device_id: 06c66d44af45d95e1fb045e97f5c3595
      entity_id: switch.ir_bad
      area_id: bad
mode: single

Ausschalten:
Ausschalten soll die IR-Heizung wenn der SOC unter 90% ist oder die PV Leistung unter 300W
Das funktioniert auch, nur möchte ich jetzt das beide Auslöser erfüllt sein müssen, dass er Ausschaltet. Soll heißen es müssen die 90% SOC und auch die PV Leistung von 300W erfüllt sein das er abschaltet.
Was muss ich da noch dazu geben das er es so macht?

alias: IR-Heizung Bad Aus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    below: 90
    enabled: true
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_pv_power_2
    for:
      hours: 0
      minutes: 3
      seconds: 0
    below: 300
    id: PV Leistung
    enabled: true
conditions: []
actions:
  - data: {}
    action: switch.turn_off
    target:
      device_id: 06c66d44af45d95e1fb045e97f5c3595
      entity_id: switch.ir_bad
      area_id: bad
mode: single

Am einfachsten wäre es vermutlich eine Bedingung als Trigger und eine als Bedingung einzustellen. Also z.B. Trigger wenn Leistung unter 300W geht und als Bedingung dann, dass es nur ausgeführt wird, wenn es unter 90% SOC geht.
Das kann man aber natürlich auch andersrum machen.

1 „Gefällt mir“

Ich versteh jetzt das so, du meist statt zwei Auslöser nur einen Auslöser und eine Bedingung dazu?

1 „Gefällt mir“

noch einfacher, beides als trigger und beides als condition. Somit sollte immer beides erfüllt sein.

2 „Gefällt mir“

Beide Auslöser lassen und dann prüfen ob beide Bedingungen erfüllt sind:

alias: IR-Heizung Bad Aus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    below: 90
    enabled: true
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_pv_power_2
    for:
      hours: 0
      minutes: 3
      seconds: 0
    below: 300
    id: PV Leistung
    enabled: true
conditions: []
actions:
  - if:
      - condition: template
        value_template: >-
          {{ (states('sensor.evcc_pv_power_2) | float(0)) < 300 &&
          ((states('sensor.evcc_battery_soc') | float (0)) < 90}}
    then:
      - data: {}
        action: switch.turn_off
        target:
          device_id: 06c66d44af45d95e1fb045e97f5c3595
          entity_id: switch.ir_bad
          area_id: bad
mode: single

1 „Gefällt mir“

@MarzyHA @Alkly Danke euch beiden wegen dem Tipp, @Nicknol deinen Code habe ich mal versucht nur bekommt eine Fehlermeldung und kann nicht gespeichert werden!

Dann ändere den Code einfach manuell um :slight_smile:
Lasse die beiden Trigger, so wie sie vorher waren und füge beide Sachen noch als condition hinzu.

Es fehlt ein Anführungszeichen, Sorry

Ändere ich in wenigen Minuten

1 „Gefällt mir“

Ist die einfachste Lösung, nur möchte ich verstehe und wissen was da für eine Fehlermeldung kommt! Möchte ja für das nächste mal nicht wieder fragen müssen! :wink:

1 „Gefällt mir“

Hier fehlt sie nach evcc_pv_power_2 ?

ja, genau.

Sorry.

alias: IR-Heizung Bad Aus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    below: 90
    enabled: true
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_pv_power_2
    for:
      hours: 0
      minutes: 3
      seconds: 0
    below: 300
    id: PV Leistung
    enabled: true
conditions: []
actions:
  - if:
      - condition: template
        value_template: >-
          {{ 
            ((states('sensor.evcc_pv_power_2')  | float(0)) < 300 
            &&
            ((states('sensor.evcc_battery_soc') | float(0)) < 90  
          }}
    then:
      - action: switch.turn_off
        target:
          entity_id: switch.ir_bad
mode: single

Habe das ganze jetzt mal zwei Tage beobachtet und so wie es ist funktioniert es auch! Danke für eure Hilfe!
@Nicknol
Bei deiner yaml ist noch wo ein Fehler drin, den er hat noch eine Zeile gehabt wo was nicht gepasst hat. Konnte es aber den Fehler nicht finden. Trotzdem danke für bereitstellen!

1 „Gefällt mir“

Stimmt! Ich habe es mir mal angeschaut: Es scheint, dass am Anfang zwei Klammern statt einer steht (am Ende wurde nur eine geschlossen!) und man für templates and statt && nutzt.

Das hier wäre der korrigierte Code:

alias: IR-Heizung Bad Aus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    below: 90
    enabled: true
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_pv_power_2
    for:
      hours: 0
      minutes: 3
      seconds: 0
    below: 300
    id: PV Leistung
    enabled: true
conditions: []
actions:
  - if:
      - condition: template
        value_template: >-
          {{ 
            (states('sensor.evcc_pv_power_2')  | float(0)) < 300 
            and
            (states('sensor.evcc_battery_soc') | float(0)) < 90  
          }}
    then:
      - action: switch.turn_off
        target:
          entity_id: switch.ir_bad
mode: single

@mafe68 Du scheinst es ja aber anderweitig schon gelöst gehabt zu haben, umso besser! :slight_smile:
Wenn man die zwei Bedingungen als Bedingungen einfügt,wäre es sowieso einfacher und übersichtlicher.

2 „Gefällt mir“

So sieht jetzt die Automatisierung aus mit der die IR-Heizung abgeschaltet wird!

alias: IR-Heizung Bad Aus
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    below: 90
    enabled: true
conditions:
  - condition: numeric_state
    entity_id: sensor.evcc_pv_power_2
    below: 300
actions:
  - data: {}
    action: switch.turn_off
    target:
      device_id: 06c66d44af45d95e1fb045e97f5c3595
      entity_id: switch.ir_bad
      area_id: bad
mode: single

Danke Dir @MarzyHA :slight_smile:
das passiert wenn man versucht yaml „blind“ zu schreiben.

Und ja, es gibt viele Möglichkeiten die UND Bedingung zu platzieren.
doch sobald mehrere trigger_ids im Spiel sind, wird es mit dem „Standard“ conditions Block schwierig. :wink:

wie auch immer, der jetzt funktionierenden Heizung von @mafe68 ist gleich :smiley:

2 „Gefällt mir“

@MarzyHA @Nicknol
aber trotzdem möchte ich es wissen und werde den Code noch testen und dann kann ich immer noch entscheiden welchen ich nehme!

1 „Gefällt mir“

@Nicknol Deine Yaml habe ich jetzt seit zwei Tage laufen und funktioniert einwandfrei! Das lassen ich jetzt auch so! :+1:

2 „Gefällt mir“

das freut mich sehr!

Die Version ist recht robust, und hoffentlich auch logisch gut nachvollziehbar. sie reagiert auf beide möglichen Trigger und kombiniert die Sensor-Werte.

und auch Dank an @MarzyHA fürs korrigieren.

2 „Gefällt mir“