Estimated reading time: 8 Minuten
Du kennst das sicher: Du hast Deine Home Assistant-Installation sorgfältig eingerichtet, alle Geräte verbunden, und plötzlich tritt ein Problem auf – die Verbindung zu einem Gerät bricht ab, wenn du es einschalten oder ausschalten willst. Vielleicht liegt es an einer Verbindung von Zigbee oder WLAN, einem vorübergehenden Ausfall des Geräts oder an einem anderen technischen Problem. Was auch immer der Grund sein mag, Du möchtest natürlich, dass Dein Smart Home reibungslos funktioniert. Hier kommt die Home Assistant Integration „Retry“ ins Spiel.
Für eine detaillierte Anleitung und Erklärung aller Konfigurationsmöglichkeiten empfehle ich das unten verlinkte YouTube-Video. In diesem Video wird ausführlich auf jede einzelne Einstellung eingegangen, sodass du eine umfassende Anleitung zur genauen Einrichtung erhältst. Eventuellen Code aus dem Video findest du in diesem Beitrag, so dass du ihn direkt nutzen kannst ohne abtippen zu müssen.
Installation von HACS und Integration von Watchman in Home Assistant
Schritt 1: Installation von HACS in Home Assistant
Home Assistant Community Store (HACS) ist ein benutzerdefiniertes Add-on für Home Assistant, das den Zugriff auf eine Vielzahl von benutzerdefinierten Integrationen und Plugins ermöglicht, die von der Community entwickelt wurden. So installierst du HACS:
- Voraussetzungen prüfen: Stelle sicher, dass dein Home Assistant idealerweise auf dem neuesten Stand ist.
- Download Skript ausführen: Für die Docker-Container Version oder die Core Version ein Terminal öffnen.
- Docker: in den Container einwählen mit:
docker exec -it homeassistant bash
oder (ähnlich) - Core: zum Nutzer wechseln, der Home Assistant ausführt
- Bei beiden Varianten folgenden Befehl ausführen:
wget -O - https://get.hacs.xyz | bash -
- Docker: in den Container einwählen mit:
- Home Assistant neu starten: Nachdem die Dateien kopiert wurden, starte Home Assistant neu.
- HACS in Home Assistant integrieren: Gehe in der Home Assistant-Oberfläche zu „Konfiguration“ > „Integrationen“ > „Hinzufügen“ und suche nach HACS. Füge es hinzu und gib dein GitHub-Token ein, falls du dazu aufgefordert wirst.
Für die Supervised Version gerne nochmal in der Dokumentation von HACS selbst die Installation nachlesen.
Schritt 2: Retry-Integration über HACS hinzufügen
Nachdem HACS installiert ist, kann man Retry einfach hinzufügen:
- Öffne HACS: Gehe in der Home Assistant-Oberfläche zu HACS.
- Integration suchen: Klicke auf „Integrationen“ und verwenden die Suchfunktion, um nach „Retry“ zu suchen.
- Retry installieren: Finde Retry in der Liste und klicke auf „Installieren“. Dadurch wird die Integration zu deinem Home Assistant hinzugefügt.
- Home Assistant neu starten: Starte Home Assistant erneut, um die Änderungen zu übernehmen.
- Retry konfigurieren: Nach dem Neustart kannst du Retry über „Konfiguration“ > „Integrationen“ in Home Assistant einrichten und anpassen.
Abschluss
Mit diesen Schritten hast du HACS erfolgreich in deinem Home Assistant installiert und die Retry-Integration hinzugefügt. Diese leistungsstarke Kombination eröffnet eine Welt voller zusätzlicher Funktionen und Anpassungen, die von der Home Assistant-Community entwickelt wurden und werden. Es folgen weitere Blogbeiträge und Videos zu nützlichen Integrationen. Wenn du das nicht verpassen möchtest, abonniere meinen YouTube-Kanal!
Was ist die Retry Integration für Home Assistant?
Das „Retry“-Feature für Home Assistant wurde entwickelt, um genau diese Art von Problemen zu lösen. Wenn eine Aktion fehlschlägt – sei es das Einschalten eines Lichts, das Senden einer Benachrichtigung oder das Abrufen von Sensordaten – kannst Du mit „Retry“ automatisch erneut versuchen, die Aktion auszuführen. Anstatt manuell einzugreifen und herauszufinden, warum die Aktion nicht erfolgreich war, übernimmt das Feature diese Aufgabe für Dich.
Warum ist Retry in Home Assistant so nützlich?
Stell Dir vor, Du nutzt Home Assistant, um wichtige Aktionen in Deinem Zuhause zu steuern – zum Beispiel das Einschalten der Heizung, bevor Du nach Hause kommst, oder das Auslösen einer Sicherheitsbenachrichtigung, wenn ein Sensor eine Bewegung registriert. Wenn eine dieser Aktionen fehlschlägt, möchtest Du natürlich, dass das System automatisch einen zweiten oder sogar dritten Versuch unternimmt. Das „Retry“-Feature spart Dir Zeit und gibt Dir die Sicherheit, dass Deine Automationen auch bei temporären Problemen zuverlässig ausgeführt werden.
Wie funktioniert Retry in Home Assistant?
Du kannst das „Retry“-Feature ganz einfach in Deine Home Assistant-Konfiguration integrieren. Es gibt verschiedene Einstellungen, die Du anpassen kannst, um das Verhalten von Retry genau auf Deine Bedürfnisse abzustimmen:
- Maximale Anzahl von Versuchen: Du bestimmst, wie oft eine Aktion wiederholt werden soll, bevor Home Assistant endgültig aufgibt. Dadurch behältst Du die Kontrolle darüber, wie lange das System versuchen soll, ein Problem zu beheben.
- Verzögerung zwischen den Versuchen: Du kannst festlegen, wie lange das System warten soll, bevor es einen erneuten Versuch unternimmt. Dies ist besonders nützlich, wenn Du vermutest, dass das Problem nur vorübergehend ist, etwa aufgrund einer Netzwerküberlastung.
- Exponentielles Backoff: Mit dieser Funktion kannst Du sicherstellen, dass die Verzögerungen zwischen den Wiederholungsversuchen schrittweise länger werden. Das ist hilfreich, wenn Du die Belastung des Netzwerks minimieren möchtest.
- Benachrichtigungen: Du kannst Home Assistant so konfigurieren, dass Du eine Benachrichtigung erhältst, wenn eine Aktion nach einer bestimmten Anzahl von Versuchen immer noch fehlschlägt. So bleibst Du informiert und kannst, falls nötig, manuell eingreifen.
Features und Einstellungsparameter
retries:
- Bestimmt die maximale Anzahl der Wiederholungsversuche, wenn eine Aktion fehlschlägt. Zum Beispiel:
retries: 3
würde bedeuten, dass die Aktion bis zu drei Mal erneut versucht wird.
- Bestimmt die maximale Anzahl der Wiederholungsversuche, wenn eine Aktion fehlschlägt. Zum Beispiel:
retry_condition:
- Definiert eine Bedingung, unter der eine Wiederholung stattfinden soll. Du kannst damit festlegen, ob und wann eine Aktion wiederholt werden soll, basierend auf bestimmten Kriterien (z. B. einem bestimmten Status eines Geräts).
max_delay:
- Setzt die maximale Verzögerungszeit (in Sekunden) zwischen den Wiederholungsversuchen. Diese Einstellung verhindert, dass die Verzögerungen zu groß werden.
min_delay:
- Legt die minimale Verzögerung (in Sekunden) zwischen den Wiederholungsversuchen fest. Dies ist die kürzeste Zeitspanne, die zwischen zwei Wiederholungen verstreichen soll.
backoff_factor:
- Gibt einen Multiplikationsfaktor an, der die Verzögerung zwischen aufeinanderfolgenden Wiederholungsversuchen schrittweise erhöht. Ein Wert von
2
würde beispielsweise die Verzögerung nach jedem Fehlschlag verdoppeln.
- Gibt einen Multiplikationsfaktor an, der die Verzögerung zwischen aufeinanderfolgenden Wiederholungsversuchen schrittweise erhöht. Ein Wert von
timeout:
- Setzt eine Zeitgrenze (in Sekunden) für die Gesamtdauer, die für Wiederholungen verwendet werden kann. Nach Ablauf dieser Zeit werden keine weiteren Wiederholungsversuche unternommen, selbst wenn die maximale Anzahl an Wiederholungen noch nicht erreicht ist.
catch:
- Bestimmt, welche Fehler oder Bedingungen von der Retry-Funktion abgefangen werden sollen. Du kannst damit spezifizieren, welche Arten von Fehlern einen Wiederholungsversuch auslösen.
Zusammenfassung:
Diese Parameter ermöglichen es Dir, die Wiederholungsstrategie genau auf Deine Bedürfnisse anzupassen, sodass Deine Home Assistant Automatisierungen robuster und zuverlässiger werden. Durch die flexible Einstellung von Verzögerungen, Bedingungsprüfungen und maximalen Wiederholungsversuchen kannst Du sicherstellen, dass Aktionen selbst bei temporären Problemen erfolgreich ausgeführt werden.
Beispiel: Ein Licht schalten
Nehmen wir an, Du hast eine Automatisierung eingerichtet, die das Licht im Wohnzimmer einschaltet, wenn Du nach Hause kommst. Manchmal kann es jedoch passieren, dass die Verbindung zum Leuchtmittel unterbrochen wird – vielleicht aufgrund einer schlechten WLAN- oder Zigbee-Verbindung oder eines anderen Problems. Mit „Retry“ stellst Du sicher, dass Home Assistant die Aktion automatisch erneut versucht, bis das Licht tatsächlich eingeschaltet ist.
alias: Küche an = LED Band an (und aus)
description:
trigger:
- platform: state
entity_id:
- light.kuche_deckenlichter
from:
- "off"
- "on"
to:
- "on"
- "off"
condition: []
action:
- action: retry.actions
metadata: {}
data:
sequence:
- choose:
- conditions:
- condition: state
entity_id: light.kuche_deckenlichter
state: "on"
sequence:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.kuche_led
- conditions:
- condition: state
entity_id: light.kuche_deckenlichter
state: "off"
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.kuche_led
retries: 4
mode: restart
Diese Home Assistant Automatisierung steuert das LED-Band in Deiner Küche basierend auf dem Zustand der Deckenlichter. Wenn Du die Deckenlichter ein- oder ausschaltest, wird das LED-Band automatisch synchron ein- oder ausgeschaltet.
Hauptbestandteile:
- Trigger: Die Automatisierung wird aktiviert, wenn das Küchenlicht ein- oder ausgeschaltet wird.
- Aktion: Das LED-Band wird eingeschaltet, wenn das Licht an ist, und ausgeschaltet, wenn das Licht aus ist.
- Retry-Funktion: Falls das Einschalten oder Ausschalten fehlschlägt, versucht die Automatisierung es bis zu vier Mal erneut.
- Mode „restart“: Die Automatisierung startet neu, wenn sie während des laufenden Vorgangs erneut ausgelöst wird, um immer den aktuellen Zustand zu berücksichtigen.
Kurz gesagt: Diese Automatisierung hält das LED-Band in der Küche immer synchron mit den Deckenlichtern, auch bei möglichen Verbindungsproblemen.
Umsetzung im YouTube-Video
Fazit
Die Retry Integration in Home Assistant ist eine großartige Möglichkeit, um die Zuverlässigkeit deines Smart Homes zu erhöhen. Es nimmt dir die Sorge ab, dass wichtige Aktionen aufgrund von vorübergehenden Problemen nicht ausgeführt werden, und sorgt dafür, dass dein Zuhause so funktioniert, wie du es möchtest und auch erwartest. Richte die Retry Integration ein und genieße die Sicherheit, dass dein System auch in schwierigen Situationen mit Konnektivitätsproblemen zuverlässig bleibt.
3 Kommentare
Oli - 9. September 2024 bei 15:06
Hi, ich denke wahrscheinlich zu kompliziert. Meine Situation. Ich habe GU10 Leuchtmittel mit Zigbee die sehr unzuverlässig sind und sich gefühlt alle 1-2 Wochen nicht ein- oder ausschalten lassen. Es kommt einfach keine Reaktion. Irgendwann geht es dann wieder. Das nervt mich.
Wie kann ich Retry dafür nutzen. Selbstverständlich habe ich eine funktionierende Automatisierung für Licht ein/aus.
Sascha Brockel - 12. September 2024 bei 00:57
Hi, ich kenne das Problem. Habe auch GU10 Leuchten, die eben nicht von Philips sind, sondern ich glaube OSRAM und Innr und die wollen auch häufiger nicht. Wenn du wirklich eine Automatisierung dafür hast, ist es der ideale Usecase. Wenn man nur auf die Entität zugreifen wollen würde, würde das Ganze nichts bringen. Wobei man glaube ich sogar das über ein Event abfangen könnte, also quasi eine Automatisierung bauen, die erkennt du möchtest light.xyz einschalten und dann das Ganze nochmal als Retry Action mit einbauen. Unschön, aber zweckmäßig. Würde dir so etwas empfehlen:
action: retry.action
data:
action: homeassistant.turn_on
expected_state: "on"
retries: 9
target:
entity_id: light.xyz
Das müsste dann eigentlich 9 mal das Ganze probieren und wenn es dann noch nicht geklappt hat, dann will die Lampe echt nicht (Angabe in Sekunden) [0, 1, 3, 7, 15, 31, 63, 127, 255]
Oli - 12. September 2024 bei 06:26
Vielen Dank Sascha. Ich werde es heute einbauen. Mal sehen ob sich damit diese Zicken bändigen lassen 🙂