Reload Home Assistant Integration in 3 Schritten

In diesem Beitrag beschreibe ich ausführlich: Reload Home Assistant Integration – und das auch noch automatisch, so dass „Integration unavailable“ der Vergangenheit angehört! Ziemlich jeder dürfte Bedarf an einer Automation zum Neuladen von Home Assistant Integrationen haben!

Aber der Reihe nach: Mein Smarthome mit Home Assistant ist über die letzten Jahre ziemlich gewachsen. Ich habe zwar immer wieder auch versucht mich auf das wesentliche zu konzentrieren und unnötige Integration (wie zum Beispiel die von Hue) zu entfernen. Aber dennoch nutze ich mittlerweile zahlreiche Integrationen und Funktionen.

Und je mehr Integrationen man in Home Assistant nutzt, desto größer wird die Wahrscheinlichkeit, dass von Zeit zu Zeit bei einer Integration „unavailable“ angezeigt wird. Dies bedeutet, dass Home Assistant keine Verbindung mehr zu dem Dienst der externen Integration hat und du somit diese Integration über Home Assistant nicht nutzen kannst.

Ich selbst habe das Problem immer wieder mit dem Meross Garagentorschalter gehabt. Ich sage jedoch nicht, dass dies zwangsläufig an dem Garagentorschalter oder der Integration (Github: Meross Integration) liegt. Vielmehr scheint es bei mir eine Frage des WLAN-Signals zu sein. Wer hat in der Garage schon ein ausgezeichnetes WLAN? 😉

Reload Home Assistant Integration
Manueller Reload Home Assistant Integration

Wenn immer mir also die Integration als „unavailabe“ angezeigt wurde, habe ich über Einstellungen -> Integrationen -> Mausklick auf die 3 Punkte bei der jeweiligen Integration -> „Neu laden“ einen Reload Home Assistant Integration manuell angestoßen. Tatsächlich habe ich das solange gemacht, bis ein anderer Home Assistant Nutzer mich in einem Kommentar hier auf meinem Blog auf das gleiche Problem bei ihm aufmerksam machte und nach einer Lösung fragte.

Automatischer Reload Home Assistant Integration

Um nun hierfür eine Automation zu erstellen, welche automatisch die Integration neu lädt (also ein „Reload Home Assistant Integration“ ausführt), benötigen wir zuerst die „URL“, welche beim zuvor beschrieben Klick auf „Neu laden“ aufgerufen wird.

Reload Home Assistant Integration API-Call

Hierfür öffnen wir in Chrome die Entwicklertools und beobachten den Traffic des Browsers wenn du auf „Neu laden“ geklickt hast:

Reload Home Assistant Integration
Reload Home Assistant Integration API-Call

Auf den Aufruf mit dem Namen „Reload“ machst du nun einen Rechtsklick und wählst Copy -> Copy link address. In deiner Zwischenablage befindet sich nun der manuell von die ausgeführte API-Call über welchen der Reload der Home Assistant Integration erfolgt ist.

Dies sollte in etwa wie folgt aussehen (nein die IP von meinem Home Assistant ist nicht wirklich 08 15 47 11 1 und nein die hier gezeigte ID der Integration stimmt auch nicht ;)):

http://08.15.47.11.1:8123/api/config/config_entries/entry/09asgse69e86948a281bea7f693b4sdfsdf5/reload

Als nächstes benötigen wir einen „langlebigen Zugangs Token“, damit wir den soeben kopierten API-Call ausführen können. Hierfür klickst du in Home Assistant unten links auf ein Profil und scrollst auf der sich öffnenden Seite ganz nach unten, bis du zum Bereich „Langlebige Zugangs-Token“ kommst:

Reload Home Assistant Integration in 3 Schritten
Langlebigen Zugangs-Token für Home Assistant erstellen

Hier folgst du den Anweisungen und erstellt einen solche Token!

Shell-Command für Reload Home Assistant Integration erstellen

Mit dem API-Call und dem langlebigen Zugangs-Token erstellen wir nun einen Shell-Command. Diesen werden wir dann von einer Automation bei Bedarf abfeuern. Aber zu der Automation späte mehr!

shell_command:
  meross_restart: "/usr/bin/curl -X 'POST' -H 'authorization: Bearer DEIN-LANGLEBIGER-ZUGANGS-TOKEN' http://47.11.08.15.1:8123/api/config/config_entries/entry/09asgse69e86948a281bea7f693b4sdfsdf5/reload"

Da ich hier das automatische Neuladen einer Home Assistant Integration am Beispiel meiner Meross-Integration beschreibe, heißt mein Shell-Command „meross_restart“. Dies kannst du natürlich beliebig anpassen/ändern!

Nun haben wir alle Vorbereitungen getroffen, um eine Automation zu erstellen, welche die Integration neu lädt, sobald diese den Zustand „unavailable“ hat:

Automation zum automatischen Reload Home Assistant Integration erstellen

Die Integration kannst du eigentlich 1:1 übernehmen und musst lediglich die Bezeichnung anpassen, sofern deine Automation nicht für eine Meross-Integration ist:

- alias: Meross-Restart
  trigger:
  - platform: state
    entity_id: cover.smart_garage_door_opener_msg100_main_channel
    to: unavailable
    for: '00:05:00'
  condition: []
  action:
  - service: shell_command.meross_restart
    data: {}

Auch hier passiert wieder keine wirkliche Raketenwissenschaft (aber dennoch ein klein wenig Magie ;)):

Als Trigger nehmen wir die Plattform „state“ der Entity des Garagentores („cover.smart…“) und zwar genau dann, wenn der Zustand auf „unavailable“ wechselt und diesen für 5 Minuten hatte. Ist dies der Fall, feuern wir unseren Shell-Command und fertig!

Die 5 Minuten Wartezeit sind nicht zwingend notwendig. Ich möchte aber auch nicht, dass der Shell-Command unnötig oft gefeuert wird. Starte ich zum Beispiel den Router neu und deswegen ist die Intgeration unavailable, wird nicht sofort ein Reload der Integation ausgelöst. Und nach 5 Minuten dürfte das WLAN auch wieder voll funktional laufen und somit die Integration wieder verfügbar sein.

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

AngebotBestseller Nr. 1
Echo Dot (3. Gen.) Intelligenter Lautsprecher mit Alexa,...*
  • Unser beliebtester smarter Lautsprecher – Jetzt mit neuem...
  • Steuern Sie die Musikwiedergabe per Sprachbefehl – Streamen Sie...

*= Preis inkl. MwSt., ggf. zzgl. Versandkosten. Letzte Aktualisierung vor 60 Minuten / Affiliate Links / Bilder von der Amazon Product Advertising API. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

8 Kommentare

  1. Kay 26. Mai 2021
    • Olli 26. Mai 2021
  2. Marco 31. Juli 2021
    • Olli 31. Juli 2021
      • Marco 1. August 2021
        • Olli 2. August 2021
          • Marco 5. August 2021
          • Olli 6. August 2021

Schreibe einen Kommentar

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulares wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.