So wie du die Automation aufgebaut hast, wird sie nur einmalig um 10.00 Uhr ausgeführt und prüft alle untergeordneten Bedingungen. Danach trifft die übergeordnete Bedingung 10:00 Uhr ja nicht mehr zu.
hmmm ok… habe das eigentlich alles mit ID´s in den Auslösern gemacht, da ich dann eigene Wenn-Dann Formeln genommen habe mit entsprechenden Auslösern…
Um 10 Uhr schaltet er die aber komischerweise auch nicht ein…
Hast du die in der Grafischen Oberfläche erstellt? Mir kommt es komisch vor, dass da unterhalb von actions: als erstes - alias: kommt und nicht action:
tippe mal du möchtest ab 10:00 Uhr prüfen und wenn beide Bedingungen = IO dann Ausführen??
also anderen Trigger, z.B. den „sensor.ac_power_uberschuss“ bei jeder Veränderung
und die Uhrzeit nach 10:00 Uhr als Bedingung (also ein Zeitraum Von Bis)
Irgendwie verstehe ich nix mehr… oder ich stehe auf dem schlauch… Grundidee ist:
Um 10 Uhr soll die Pumpe auf jeden Fall angehen…
Aber es gibt 2 Optionen.
Erste Option: Wenn zu der Zeit der überschuss unter 1000 ist, soll nur die Pumpe angehen.
Option 2: Wenn zu dieser Zeit der Überschuss über 2000 ist und die Temperatur unter 27 ist dann soll die Pumpe UND ZUSÄTZLICH die Wärmepumpe angehen.
Die Uhrzeit als Bedingung und nicht als Trigger zu setzen, wird auch funktionieren (wie Drecksfresse vorgeschlagen hat). Ich habe es jetzt aber mal so umgesetzt, hier bleibt der Trigger auf 10.00 Uhr und standardmäßig wird die Pumpe um diese Uhrzeit immer eingeschaltet, sollte keine der Bedinungen erfüllt sein. Die beiden Bedingungen sind dann 2000Watt Überschuss und unter 27 Grad. Die andere prüft ob unter 1000Watt Überschuss anliegen.
Entitäten musst du dann noch mit deinen austauschen.
Danke…
Wenn ich mir das jetzt aber anschaue dann sehe ich irgendwie keinen unterschied zu meiner Automation jetzt…
Einziger unterschied das ich das mit der funktion "Ausgelöst durch → ID (10 Uhr).
Naja nicht so ganz, du löst die Aktion bei dir um 10.00 Uhr durch den Trigger 10 aus. Dann prüfst du aber nochmal in der wenn/dann Funktion, ob die Uhrzeit 10.00 Uhr entspricht. Die kann aber nicht mehr 10.00 Uhr entsprechen, weil bereits ein paar Sekunden vorher, genau um 10.00 Uhr, durch den Trigger die Aktion ausgeführt wurde. Das hatte Thomas oben im ersten Post auch schon geschrieben. Bei mir wir die Uhrzeit als Trigger genutzt und dann erst die Bedingungen geprüft, ob diese wahr oder falsch sind.
Letztlich wurden die ganzen unnötigen, wenn/dann Funktionen entfernt und die Automatisierung dadurch vereinfacht und übersichtlicher gestaltet.
aber ich hab in den Bedingungen nicht nochmal 10 uhr drin…
Das steht nur wenn ausgelößt durch „10 Uhr“.
Das ist doch aber der Sinn von den Auslöser IDs…
Ja das ist der eine auslöser für den ja die ID Vergeben wurde. Das ist ja der Sinn von IDs.
So habe ich das auch mit Bewegungsmeldern usw. in einer automation…
Also wenn Bewegung erkannt dann eine Aktion und wenn wieder frei eine aktion.
Es wird eine ID für jeden auslöser eingerichtet und kann dann in der Wenn-Dann Aktion (Ausgelöst durch) den jeweiligen gewünschten auslöser eintragen…
Guten morgen zusammen.
Es hat mit keine ruhe gelassen und habe mal ChatGPT gefragt ob sie meine Automatisierung prüfen kann auf fehler. Sie hat sofort was gefunden und die Automation angepasst. Heute mal getestet und um 10 Uhr ist sie auch angegangen.
Habt ihr sowas schon mal mit ChatGPT gemacht?
Hier der Code den die erstellt hat.
alias: Poolpumpe und Wärmepumpe
description: ""
triggers:
- at: "10:00:00"
id: 10 Uhr
trigger: time
- entity_id: sensor.ac_power_uberschuss
below: 500
for: "00:15:00"
id: Überschuss unter 500
trigger: numeric_state
- entity_id: sensor.ac_power_uberschuss
below: 200
for: "00:15:00"
id: Überschuss unter 200
trigger: numeric_state
- entity_id: sensor.tasmota_poolthermometer_ds18b20_temperature
above: 28
id: Pool über 28 Grad
trigger: numeric_state
conditions:
- condition: state
entity_id: input_boolean.poolsaison
state: "on"
- condition: state
entity_id: input_boolean.pool_service_wartung
state: "off"
actions:
- alias: Einschalten Poolpumpe (mit/ohne Wärmepumpe) um 10 Uhr
if:
- condition: trigger
id: 10 Uhr
then:
- choose:
- alias: Mit Wärmepumpe bei viel Überschuss & kaltem Pool
conditions:
- condition: numeric_state
entity_id: sensor.ac_power_uberschuss
above: 2000
- condition: numeric_state
entity_id: sensor.tasmota_poolthermometer_ds18b20_temperature
below: 27
sequence:
- target:
entity_id: switch.poolpumpe
action: switch.turn_on
data: {}
- delay: "00:00:15"
- condition: numeric_state
entity_id: sensor.poolpumpe_power
above: 100
- delay: "00:02:00"
- target:
entity_id: switch.warmepumpe
action: switch.turn_on
data: {}
- data:
name: Pool-Automation
message: >-
Poolpumpe & Wärmepumpe um 10 Uhr gestartet (viel
Überschuss).
action: logbook.log
- alias: Nur Poolpumpe bei wenig Überschuss
conditions:
- condition: numeric_state
entity_id: sensor.ac_power_uberschuss
below: 1000
sequence:
- target:
entity_id: switch.poolpumpe
action: switch.turn_on
data: {}
- data:
name: Pool-Automation
message: Nur Poolpumpe um 10 Uhr gestartet (wenig Überschuss).
action: logbook.log
default:
- target:
entity_id: switch.poolpumpe
action: switch.turn_on
data: {}
- data:
name: Pool-Automation
message: Poolpumpe um 10 Uhr gestartet (Standard-Fallback).
action: logbook.log
- alias: Wärmepumpe ausschalten bei wenig Überschuss am Abend
if:
- condition: trigger
id: Überschuss unter 500
- condition: time
after: "16:00:00"
before: "19:00:00"
- condition: state
entity_id: switch.warmepumpe
state: "on"
then:
- target:
entity_id: switch.warmepumpe
action: switch.turn_off
data: {}
- data:
name: Pool-Automation
message: Wärmepumpe ausgeschaltet wegen zu wenig Überschuss (Abend).
action: logbook.log
- data:
title: Wärmepumpe ausgeschaltet
message: >-
Wenig PV-Überschuss: Wärmepumpe wurde um {{ now().strftime('%H:%M')
}} ausgeschaltet.
action: notify.mobile_app_daniels_iphone
- alias: Wärmepumpe ausschalten bei über 28 Grad
if:
- condition: trigger
id: Pool über 28 Grad
- condition: state
entity_id: switch.warmepumpe
state: "on"
for: "00:05:00"
then:
- target:
entity_id: switch.warmepumpe
action: switch.turn_off
data: {}
- data:
name: Pool-Automation
message: Wassertemperatur über 28°C – Wärmepumpe ausgeschaltet.
action: logbook.log
- alias: Wärmepumpe wiederholt aktivieren tagsüber
if:
- condition: time
after: "10:10:00"
before: "15:30:00"
then:
- repeat:
sequence:
- target:
entity_id: switch.warmepumpe
action: switch.turn_on
data: {}
- data:
title: Wärmepumpe gestartet
message: >-
Wärmepumpe wurde um {{ now().strftime('%H:%M') }} automatisch
aktiviert (PV-Überschuss vorhanden).
action: notify.mobile_app_daniels_iphone
until:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.ac_power_uberschuss
above: 1500
- condition: numeric_state
entity_id: sensor.tasmota_poolthermometer_ds18b20_temperature
below: 28
- condition: state
entity_id: switch.warmepumpe
state: "off"
- condition: state
entity_id: switch.poolpumpe
state: "on"
- alias: Poolpumpe ausschalten bei sehr geringem Überschuss am Abend
if:
- condition: trigger
id: Überschuss unter 200
- condition: time
after: "18:00:00"
before: "20:00:00"
then:
- target:
entity_id: switch.poolpumpe
action: switch.turn_off
data: {}
- data:
name: Pool-Automation
message: Poolpumpe ausgeschaltet wegen sehr geringem Überschuss.
action: logbook.log
- alias: Poolpumpe sicherheitshalber aus ab 19 Uhr
if:
- condition: time
after: "19:00:00"
then:
- target:
entity_id: switch.poolpumpe
action: switch.turn_off
data: {}
- data:
name: Pool-Automation
message: Poolpumpe ausgeschaltet (nach 19:00 Uhr).
action: logbook.log
mode: single
ChatGPT und Gemini sind meine Freunde wenn ich mal Hilfe bei Automationen brauche oder etwas nicht funktioniert.
Man muss sie nur gut füttern.
Wo lag denn jetzt dein Fehler. Hatte leider keine Zeit mir das näher anzusehen.
Wenn du mehr Automationen hast wird es noch unübersichtlicher.
Meine sind teilweise auch sehr komplex, aber ich habe eben immer alles in einer und somit ist es für mich übersichtlicher.
Ich hatte einen kleinen fehler… Es wurde als Auslöser Uhrzeit 10 Uhr gesetzt dann 2 optionen. Jetzt wurde als Standard Option noch einschalten von Poolpumpe eingestellt.
Dann wurde gefunden das ich als bedingung für wärmepumpe die temperatur von unter 27 grad habe und dafür die falsche Entität (ID statt Temperature) eingegeben habe… alles wurde geändert…