Hat ein wenig gedauert, hatte mit meinen Autowächter in der Garage noch zu tun.
Dann schauen wir mal ob ich alles richtig verstanden habe.
Du hast 2 Helfer erstellt.
- Dauer der autom. Bewässerung ist ein input_number -> Dieser heisst in meinem Bsp. input_number.bewaesserung_zeit
- Automatische Bewässerung ist ein input_boolean -> Dieser heisst in meinem Bsp. input_boolean.automatische_bewasserung
Diese Sensoren/Aktoren kommen zum Einsatz:
- Regen Sensor -> binary_sensor -> binary_sensor.hmip_swo_pl_wettersensor_regen
- Der Bewässerung Timer -> number.bewasserungscomputer_timer
- Der Bewässerung Computer -> switch.bewaesserungs_computer
Aufgabenstellung:
Um 6 Uhr soll bewässert werden, wenn es nicht regnet und der Schalter Automatische Bewässerung eingeschaltet ist.
Um 18 Uhr soll Bewässert werden, wenn um 6 Uhr nicht bewässert wurde, da eine der o.g. Bedingungen nicht erfüllt waren.
Die 2 Bedingungen gelten auch für die 18 Uhr Bewässerung.
Code: Alles auswählen
alias: Gartenbewässerung
description: ""
mode: single
trigger:
- platform: time
at: "06:00:00"
- platform: time
at: "18:00:00"
condition:
- condition: state
entity_id: binary_sensor.hmip_swo_pl_wettersensor_regen
state: "off"
- condition: state
entity_id: input_boolean.automatische_bewasserung
state: "on"
- condition: template
value_template: |
{{ now() - (this.attributes.last_triggered | default((now() -
timedelta(hours = 13, minutes = 1 )), true)) > timedelta(hours=13) }}
action:
- service: number.set_value
data:
value: |
{{ states('input_number.bewaesserung_zeit') | int(0) }}
target:
entity_id: number.bewasserungscomputer_timer
- service: switch.turn_on
data: {}
target:
entity_id: switch.bewaesserungs_computer
Die Auslöser. Es wird um 6Uhr und 18Uhr ausgelöst
Code: Alles auswählen
trigger:
- platform: time
at: "06:00:00"
- platform: time
at: "18:00:00"
Die Bedingungen:
Der Regensensor ist ist off
Code: Alles auswählen
- condition: state
entity_id: binary_sensor.hmip_swo_pl_wettersensor_regen
state: "off"
Die Automatische Bewässerung ist eingeschaltet
Code: Alles auswählen
- condition: state
entity_id: input_boolean.automatische_bewasserung
state: "on"
Die letze Ausführung dieser Automatisierung liegt länger als 13h zurück. Diese Bedingung stellt sicher, das um 18 Uhr nur ausgeführt wird, wenn um 6 Uhr die Automatisierung nicht ausgeführt wurde. Erklärung dazu findest Du hier.
Code: Alles auswählen
- condition: template
value_template: |
{{ now() - (this.attributes.last_triggered | default((now() -
timedelta(hours = 13, minutes = 1 )), true)) > timedelta(hours=13) }}
Aktionen:
Bewässerung Timer auf den Wert von Helfer Dauer der autom. Bewässerung einstellen
Code: Alles auswählen
- service: number.set_value
data:
value: |
{{ states('input_number.bewaesserung_zeit') | int(0) }}
target:
entity_id: number.bewasserungscomputer_timer
Bewässerung Computer einschalten
Code: Alles auswählen
- service: switch.turn_on
data: {}
target:
entity_id: switch.bewaesserungs_computer
Ich hoffe, das war einigermaßen verständlich erklärt.
Gruß
Osorkon