Wie kann ich mit EINER Automation bei Beginn eines Kalendertermines eine Steckdose einschalten und beim Ende wieder ausschalten ?
Geht das noch über UI oder muss ich schon YAML lernen ?
Du kannst doch in der Automation nach dem Einschalten auf ein Ereignis warten. In deinem Fall auf ein bestimmtes Datum.
Du meinst also auf das Ende des Termines warten. Wie geht das ? Ich bin wirklich noch absoluter Anfänger.
Als Auslöser nach Kalender suchen.
Hier findest Du die von Dir gesuchten Auslöser, Termin beginnt bzw. Termin endet.
Beide Auslöser hinzufügen und diese dann unterschiedliche Auslöser ID zuordnen.
Dann als Aktion → Baustein → Auswählen
Option 1 reagiert auf Auslöser → beginn
Und Option reagiert auf den Auslöser → ende
Bsp.:
description: ""
mode: single
triggers:
- trigger: calendar.event_started
target:
entity_id: calendar.xyz
options:
offset:
days: 0
hours: 0
minutes: 0
seconds: 0
offset_type: before
id: beginn
- trigger: calendar.event_ended
target:
entity_id: calendar.xyz
options:
offset:
days: 0
hours: 0
minutes: 0
seconds: 0
offset_type: before
id: ende
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- beginn
sequence:
- action: switch.turn_on
metadata: {}
target:
entity_id: switch.xyz
data: {}
- conditions:
- condition: trigger
id:
- ende
sequence:
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.xyz
data: {}
Gruß Osorkon
@Osorkon Danke, aber es klemmt noch. Beide Auslöser sind eingetragen, id: beginn und ende. Dann ‘Aktion hinzufügen/ Baustein/ Auswählen’, ‘Wähle eine Option aus’ 3-Punkte: In YAML bearbeiten’ den folgenden angepassten Code eingefügt:
description: "Kalender_Schalter"
mode: single
triggers:
- trigger: calendar.event_started
target:
entity_id: calendar.kalender_klaus
options:
offset:
days: 0
hours: 0
minutes: 0
seconds: 0
offset_type: before
id: beginn
- trigger: calendar.event_ended
target:
entity_id: calendar.kalender_klaus
options:
offset:
days: 0
hours: 0
minutes: 0
seconds: 0
offset_type: before
id: ende
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- beginn
sequence:
- action: switch.turn_on
metadata: {}
target:
entity_id: switch.fritz_smart_steckdose_1
data: {}
- conditions:
- condition: trigger
id:
- ende
sequence:
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.fritz_smart_steckdose_1
data: {}
Beim Speichern kommt: Message malformed: Unable to determine action @ data[‘actions’][0]
Sind meine Anpassungen in YAML falsch oder muss ich YAML aufteilen in beiden Bedingungen ?
Das ist die komplette Automation.
Aber warum lässt sie sich nicht speichern?
Weil du anscheinend den Code in einer Aktion eingefügt hast. Der Code ist aber die komplette Automation.
Wie und wo muss ich den Code einsetzen?
In einer leeren Automation einfach STRG + V drücken.
Danke, das probiere ich gleich morgen
maxe, ich bin ehrlich begeistert, es funktioniert. ![]()
Wenn ich die Automation nach dem Einfügen des YAML-Codes ansehe, erscheint unter ‘Sobald/ Termin beginnt/ Kalender-Klaus’ die Auslöser-ID ‘beginn‘. Die ist ja nicht im Y-Code definiert, sondern in einer anderen Automation, die sich wie beschrieben, nicht speichern ließ. Verschwindet die ID irgendwann wenn ich etwas lösche und wo kann ich sie sehen ?
Verstehe ich nicht, ist doch in deiner Automation definiert
Ich hatte den Beitrag von Osorkon so verstanden, daß ich zuerst die beiden IDs vergeben muß und dann den Code einfügen.
Deine Antwort beruhigt mich. Ich habe die Zeile ‘id: beginn‘ als Ende einer ‘Prozedur/ oder SUB’ interpretiert. Ich muß mich wohl in YAML reinlesen. Gibt es da einen Tipp ‘YAML für Anfänger’ oder so ?
Dafür brauchst du kein yaml, die IDs kannst du auch über die UI vergeben/ändern.
Es klappt. Unser Vereinshaus kann jetzt über einen Kalendereintrag zu beliebigen Zeiten beheizt werden. Zum Terminbeginn wird das Heizungsthermostat auf Komforttemperatur gestellt und beim Terminende auf Absenktemperatur zurückgesetzt. Die beiden Temperaturen können elegant (finde ich) über das Dashboard eingestellt werden. Über einen kleinen YAML-Code kann das Thermostat eine beliebige Zeit VOR den Terminbeginn öffnen. Der Eintrag im Kalender zeigt aber immer die geplante Nutzungszeit. Zeitgleich schaltet eine FritzSteckdose einen Lüfter, der in dem hohen Raum die warme Luft von der Decke holt.

