Wenn eine Website nicht erreichbar ist, kann das ein einfacher Ausfall beim Provider sein – oder ein größeres Problem wie z. B. ein Hackerangriff. Über Down-Zeiten kann man sich mit Home Assistant recht einfach informieren lassen.
Dazu bauen wir einen neuen Binary-Sensor mit einem Kommandozeilenaufruf.
- platform: command_line
name: nachbelichtet Status
command: response=$(curl -LIk -m 3 --insecure https://staging.nachbelichtet.com/ -o /dev/null -w "%{http_code}\n" -s); test "$response" -eq 200 && echo "OFF" || echo "ON"
scan_interval: 60
value_template: '{{ value }}'
device_class: 'problem'Code-Sprache: YAML (yaml)
Wir nutzen dazu die Platform command_line und rufen damit den CURL-Befehl auf. Wir konfigurieren den Aufruf so, dass wir den Response-Code der zu überwachenden Seite bekommen – in meinem Fall https://staging.nachbelichtet.com. Eine erreichbare Seite gibt den Response-Code 200 zurück. Der Parameter –insecure sorgt dafür, dass der Test nicht an einer SSL-Zertifikatsabfrage hängen bleibt.
Diese Abfrage wird dann mit scan_interval: 60 alle 60 Sekunden durchgeführt, was man natürlich auch ändern kann.
Gibt es keine Probleme, hat die neue Binary-Sensor-Entität „nachbelichtet Status“ den Status off. Gibt sie jedoch einen anderen Response-Code als 200 zurück, hat sie den Status on oder problem.
Damit kann man nur eine Automation bauen, die z. B. eine E-Mail mit einem Hinweis verschickt, die Beleuchtung im Büro blinken lassen oder was ihr sonst damit auslösen wollt.
Diese Lösung ist übrigens sinnvoller als ein einfacher Ping-Befehl. Dieser würde immer eine positive Rückmeldung geben, wenn auch nur der Webserver eine Reaktion zeigt, was aber z. B. auch ein Fehler 500 sein könnte.





Schreibe einen Kommentar