Anzeige
NetzwerkSmart Home

Anleitung: Philips-Hue-Geräte mit Checkmk überwachen

Dies ist quasi der dritte Teil unserer kleinen Hue-API-Serie: Zuerst habt Ihr Zugriff erlangt, dann gelernt, wie man Hue-Leuchten von der Kommandozeile aus anspricht. Und wie einfach man eigene Checks für Checkmk erstellen kann, haben wir auch schon mal gezeigt. Nun kommt das alles zusammen: Ein Local Check zum prüfen des Status von Hue-Leuchten.

Anzeige

UPDATE 12/2012: Diesen Artikel haben wir jetzt in einer etwas erweiterten neuen Version – das Skript nimmt dann autmatisch alle Hue-Geräte auf und ein Dashboard gibt es auch noch.

Voraussetzung: Ihr benötigt wieder Eure User-ID und den curl-Befehl für die Abfrage der Leuchten (kommt gleich aber auch noch mal).

Anzeige

1. Check-Skript schreiben

Einfacher geht es nicht: Ihr fragt schlicht den Status der Leuchte ab, schaut, ob die Zeichenkette „on“:true vorkommt und lasst die Anzahl der ausgegebenen Zeilen zählen. Denn wenn der Status true (also eingeschaltet) ist, gibt es eine Zeile, ist er es nicht (also false/ausgeschaltet), wird keine Zeile ausgegeben. Ihr bekommt als Ausgabe also entweder 1 oder 0 – und das kann dann in Checkmk als OK und CRIT auftauchen.

Zur Erinnerung: Die Ausgabe eines lokalen Checks für Checkmk muss einem bestimmten Format folgen, wie Ihr im Local-Check-Artikel nachlesen könnt. Hier nun das Skript namens hue.sh:

#!/bin/sh
a=$(curl 192.168.178.119/api/123456789ABCDEFG/lights/1 | grep '\"on\":true' | wc -l)
if [ $a = 1 ]
 then
  echo 0 hue1 - Hue 1 ist aktiv.
elif [ $a = 0 ]
 then
  echo 1 hue1 - Hue 1 ist aus.
else
  then
    echo 3 hue1 - Irgendwas ist kaputt.
fi   

Zunächst führt Ihr die besagte curl-Abfrage für die Leuchte mit der ID 1 aus, durchsucht dann die Ausgabe mit grep nach der Statusmeldung und zählt die Anzahl der ausgegebenen Zeilen mit wc -l. Die Ausgabe (0 oder 1) wird dann in der Variablen $a gespeichert.

Es folgt eine simple if-Abfrage: Wenn $a den Wert 1 hat, wird 0 hue1 – Hue 1 ist aktiv. ausgegeben – diese 0 wird dann von Checkmk als OK interpretiert und hue1 setzt dann den Namen für den Service in Checkmk. Dann folgt das Spielchen nochmal für $a ist 0, was den Service auf WARN setzt, sowie für $a ist was anderes, was den Service auf CRIT setzt.

Ihr könnt das Skript direkt im Terminal testen – vorher aber mit chmod +x hue.sh ausführbar machen!

2. Skript in Checkmk integrieren

Lokale Checks müssen in fixe Verzeichnisse kopiert werden, unter Linux ist das /usr/lib/check_mk_agent/local. Anschließend ruft Ihr Euer Checkmk auf und fügt das als neuen Service erkannte Skript wie üblich über WATO/Hosts/Host-Name/Services zum Monitoring hinzu.

check_mk hue
Status einer Hue-Leuchte als Checkmk-Check.

Das Ganze ist jetzt die wohl einfachste Herangehensweise gewesen. Und wenn Ihr wirklich nur ein paar Lampen im Auge behalten wollt – warum nicht. Ansonsten müsst Ihr naütrlich etwas ausführlicher skripten. Vielleicht interessiert Euch auch das Nagios-Plugin Check Philips Hue devices: Das könnt Ihr einfach in der Art

check_hue_connected.sh 192.168.178.119 123456789ABCDEFG lights 1 | grep "Power On" | wc -l

oder genereller

check_hue_connected.sh 192.168.178.119 User-ID Geräteklasse Geräte-ID 

aufrufen könnt. Das Skript bietet auch Zugriff auf Temperatur, Batteriestatus und Verfügbarkeit.

Wir haben noch allerlei weitere Artikel rund um Philips Hue und das Monitoring-System Checkmk.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Empfohlene Beiträge

Schaltfläche "Zurück zum Anfang"
Tutonaut.de
Cookie Consent mit Real Cookie Banner