Die Automation Läuft jede Minute von 0 Uhr bis 24 Uhr. Lediglich die Ausführung der Aktionen finden nach 10 und vor 22 Uhr statt. Also 1440 Ausführungen pro Tag.
Die Stunden kannst Du weg lasen in Deinem Template, bzw. Insgesamt das Template vereinfachen.
Und dann würde es sich anbieten das Template als Auslöser zu verwenden und nicht als Bedingung.
Und zusätzlich die Ausführung auf die Stunden 10 bis 22 zu beschränken.
Wenn es um das Thema Kompaktheit geht, liese sich das ganze dann auch noch optimieren.
description: ""
triggers:
- trigger: template
value_template: "{{ (now().minute %6) == 1 and (now().hour > 9 and now().hour < 22) }} "
id: "off"
- trigger: template
value_template: "{{ (now().minte %6) == 0 and (now().hour > 9 and now().hour < 22) }}"
id: "on"
conditions: []
actions:
- action: switch.turn_{{ trigger.id }}
metadata: {}
target:
entity_id: switch.xyz
data: {}
mode: single
Es führen also viele Wege nach Rom. Und es gibt wahrscheinlich noch viele Dutzend andere mögliche Lösungen.
Gruß Osorkon
Hallo
Würde gern die fest vorgegeben Zeiten 1min u 5min durch einen Zeitpunkt-Eingabe Helfer ersetzen. So kann ich die Einschaltzeit, sowie die Pausenzeit flexibel gestalten.
weiss aber nicht wie ich das in der Automation einfügen kann. Für viele von euch ist das ein leichtes, für mich nicht.
Mit dieser Variante kannst Du doch die Einschalt und Ausschalt Dauer flexibel gestalten.
Um 10 Uhr einschalten, um 22 Uhr ausschalten
Zwischen 10 und 22 Uhr
Wenn Schalter 1 min an, dann ausschalten
Wenn Schalter 5 min aus, dann einschalten
description: ""
mode: single
triggers:
- trigger: time
at: "10:00:00"
id: einschalten
- trigger: time
at: "22:00:00"
id: ausschalten
- trigger: state
entity_id:
- switch.xyz
to:
- "on"
for:
hours: 0
minutes: 1
seconds: 0
id: ausschalten
- trigger: state
entity_id:
…
Einfach die Trigger bearbeiten.
Oder möchtest Du die Dauer in Minuten jeweils über einen Inüut number vorgeben.
Dann einfach anstatt einer festen Zeit, den Input Number angeben.
Also anstatt eine feste Zahl
for:
hours: 0
minutes: 1
seconds: 0
Den Input Number verwenden:
for:
hours: 0
minutes: "{{ states('input_number.xyz') | int }}"
seconds: 0
Gruß Osorkon
wiwowilli:
Zeitpunkt-Eingabe Helfer
Ich möchte den Zeitpunkt-Eingabe Helfer benutzen.
So kann ich im Dashboard die Zeiten ändern, und muss nicht in der Automation was ändern.
Siehe Bild 2, Poolpumpe
Wenn Du mit einem Zeitpunkt-Eingabe Hälfer anstatt einen Zahlenwert Helfer arbeiten möchtest, dann so:
for: |
{{ states('input_datetime.xyz')}}
Gruß Osorkon
wiwowilli:
Zeitpunkt-Eingabe Helfer
Das funktioniert so
Danke
Osorkon:
Input Number
Das funktioniert nicht.
Es kommt immer ein Fehler das das Format nicht passt.
Obwohl ich den Helfer sowie die Zahlenwert Eingabe in “min” formatiert habe.
Dann lass mal die Automation sehen (yaml)
Gruß Osorkon
alias: PP Zyklus 1/5
description: ""
triggers:
- trigger: time
at: "10:00:00"
id: einschalten
- trigger: time
at: "20:30:00"
id: ausschalten
- trigger: state
entity_id:
- switch.aussen_poolpumpe_shellyoutdoorsg3_poolpumpe
to:
- "on"
id: ausschalten
for:
hours: 0
minutes: {{ states('input_number.pp_laufzeit_zyklus') | int }}
seconds: 0
- trigger: state
entity_id:
- switch.aussen_poolpumpe_shellyoutdoorsg3_poolpumpe
to:
- "off"
for:
hours: 0
minutes: {{ states('input_number.pp_pausenzeit_wert') | int }}
seconds: 0
id: einschalten
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- einschalten
- condition: time
after: "10:00:00"
before: "20:30:00"
sequence:
- action: switch.turn_on
metadata: {}
target:
entity_id: switch.aussen_poolpumpe_shellyoutdoorsg3_poolpumpe
data: {}
- conditions:
- condition: trigger
id:
- ausschalten
- condition: time
after: "10:00:00"
before: "20:31:00"
sequence:
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.aussen_poolpumpe_shellyoutdoorsg3_poolpumpe
data: {}
mode: single
rstuck
5. Juli 2026 um 11:58
29
Da stimmen sie Einrückungen nicht. Osorkon hat es weiter oben gezeigt.
ok
gemacht
Es kommt aber immer noch die Fehlermeldung:
Message malformed: expected float for dictionary value @ data[‘for’][‘minutes’]
Das Template gehört in Anführungszeichen!!
minutes: "{{ states('input_number.pp_laufzeit_zyklus') | int }}"
Oder:
minutes: |
{{ states('input_number.pp_laufzeit_zyklus') | int }}
Gruß Osorkon
OK, das funktioniert.
Danke
Bei den Anführungszeichen weiß man immer nicht, gehört das dazu, oder wird der Text damit Markiert.