Trennung von Kalender-Entitäten in Home Assistant für Automationen
Einleitung
Die Automatisierung von Smart-Home-Geräten ist ein zentraler Bestandteil von Home Assistant. Eine häufige Anforderung ist die Trennung von Informationen aus Kalender-Entitäten, um spezifische Aktionen auszulösen. In diesem Artikel wird erläutert, wie Du eine Kalender-Entität für die Steuerung einer Signalleuchte nutzen kannst, indem Du die relevanten Informationen extrahierst.
Problem
Ein Benutzer hat einen Kalender für die Abfallentsorgung erstellt, der Einträge im Format „Bioabfall|1“ enthält. Um eine Signalleuchte am Abend vor der Abholung zu aktivieren, muss der Benutzer die Bezeichnung des Kalendereintrags und das Datum trennen. Die Frage ist, ob dies direkt in einer Automation möglich ist oder ob ein Helfer benötigt wird.
Lösung
Um die Informationen aus der Kalender-Entität zu trennen, kannst Du Templates in Home Assistant verwenden. Templates ermöglichen es Dir, Daten dynamisch zu verarbeiten und zu manipulieren. In diesem Fall kannst Du die split
-Funktion nutzen, um die Bezeichnung des Kalendereintrags von dem Datum zu trennen.
Hier ist ein Beispiel, wie Du dies in einer Automation umsetzen kannst:
automation:
- alias: 'Signalleuchte aktivieren'
trigger:
platform: calendar
event: start
entity_id: calendar.abfall_kalender
condition:
condition: template
value_template: "{{ trigger.event.split('|')[0] == 'Bioabfall' }}"
action:
- service: switch.turn_on
entity_id: switch.hmip_bsl
- delay: '00:10:00' # 10 Minuten warten
- service: switch.turn_off
entity_id: switch.hmip_bsl
In diesem Beispiel wird die Automation durch einen Kalendereintrag ausgelöst. Die Bedingung prüft, ob der Eintrag „Bioabfall“ ist, und aktiviert dann die Signalleuchte.
Schritte zur Umsetzung
1. Erstelle eine neue Automation in Home Assistant.
2. Definiere den Trigger, der auf den Kalender reagiert.
3. Füge eine Bedingung hinzu, die den Kalendereintrag überprüft und die Bezeichnung trennt.
4. Lege die Aktion fest, die die Signalleuchte aktiviert und nach einer bestimmten Zeit wieder ausschaltet.
Hintergrundwissen
Templates in Home Assistant verwenden die Jinja2-Syntax, die es ermöglicht, Daten zu verarbeiten und zu formatieren. Die split
-Funktion ist besonders nützlich, um Strings anhand eines bestimmten Trennzeichens zu teilen. In diesem Fall wird das Zeichen „|“ verwendet, um die Bezeichnung vom Datum zu trennen.
Typische Fehler können auftreten, wenn das Trennzeichen nicht korrekt angegeben wird oder wenn die Entität nicht existiert. Stelle sicher, dass die Entität des Kalenders korrekt konfiguriert ist.
Zusätzliche Infos
Funktion | Erklärung | |
---|---|---|
`split(' | ')` | Teilt einen String an dem angegebenen Trennzeichen. |
`trigger.event` | Zugriff auf das Ereignis, das den Trigger ausgelöst hat. | |
`condition` | Bedingung, die erfüllt sein muss, damit die Aktion ausgeführt wird. | |
`service` | Aufruf eines Dienstes, um eine Aktion auszuführen. |
Hinweise & Best Practices
- Teste Deine Automationen gründlich, um sicherzustellen, dass sie wie gewünscht funktionieren.
- Verwende die Home Assistant-Dokumentation, um mehr über Templates und Automationen zu erfahren.
- Halte Deine Automationen modular, um die Wartbarkeit zu erhöhen.