Robins Blog – Technik und Multimedia

Fhem: Pi-Hole Statistiken auslesen

Wie doch die Zeit vergeht. Ich habe letztes Jahr im Februar über den kleinen Raspberry Pi Zero W gebloggt, auf dem ich auch schon fast ein Jahr Pi-Hole im Einsatz habe. Der kleine Raspberry werkelt munter vor sich hin und hat meistens nix zu tun. Der liegt bei mir in der Schublade und tut was er soll.

Kaufen bei Amazon.de Raspberry Pi Zero W

Pi-Hole bekommt ab und zu von mir einige Updates verpasst und das wars auch schon. Nun kam mir die Idee, Statistiken von Pi-Hole unter Fhem sichtbar zu machen.
Gesagt, getan, hier das kurze Fhem-Script.
Achtet drauf, die richtige IP vom Pi-Hole in der ersten Zeile zu ersetzen.
Die Ergebnisse erscheinen als Readings in Fhem. Diese könnt ihr dann weiterverarbeiten, zum Beispiel die Daten aufs Tablet beamen (-> hier)

Das Script nutzt das HTTPMOD plugin, welches durch die vorgegebene Website sich durchwühlt.

define pihole HTTPMOD http://192.168.178.152/admin/api.php?summary 60
attr pihole userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex
attr pihole reading01Name domains_being_blocked
attr pihole reading01Regex "domains_being_blocked":"(.*?)"
attr pihole reading02Name dns_queries_today
attr pihole reading02Regex "dns_queries_today":"(.*?)"
attr pihole reading03Name ads_blocked_today
attr pihole reading03Regex "ads_blocked_today":"(.*?)"
attr pihole reading04Name ads_percentage_today
attr pihole reading04Regex "ads_percentage_today":"(.*?)"
attr pihole reading05Name unique_domains
attr pihole reading05Regex "unique_domains":"(.*?)"
attr pihole reading06Name queries_forwarded
attr pihole reading06Regex "queries_forwarded":"(.*?)"
attr pihole reading07Name queries_cached
attr pihole reading07Regex "queries_cached":"(.*?)"
attr pihole reading08Name clients_ever_seen
attr pihole reading08Regex "clients_ever_seen":"(.*?)"
attr pihole reading09Name unique_clients
attr pihole reading09Regex "unique_clients":"(.*?)"
attr pihole reading10Name status
attr pihole reading10Regex "status":"(.*?)"
attr pihole room System,Umwelt
attr pihole verbose 0

Und wie immer, bei Fragen, fragen und ab in die Kommentare.

Die mobile Version verlassen