Pi-hole a mqtt

Posílaní dat z Pi-hole na mqtt aby jsme to mohly využít třeba v Pimatic

Nainstalujeme python mqtt paho

sudo apt install python-pip

sudo pip install paho-mqtt

A napíšeme kod.

#!/usr/bin/env python

import json
import urllib2
import paho.mqtt.client as mqtt
import time klient = mqtt.Client("python_pub") #klient.username_pw_set("username","password") klient.connect("192.168.x.x", 1883) url = "http://localhost/admin/api.php" data = json.load(urllib2.urlopen(url)) parsed_json = data print data print(parsed_json['ads_blocked_today']) #pocet blokovanych domen print(parsed_json['unique_clients']) #pocet pripojenych zarizen print(parsed_json['dns_queries_today']) #pocet dotazovanzch domen print(parsed_json['ads_percentage_today']) #procent zablokovanych domen z celkoveho poctu print(parsed_json['domains_being_blocked']) #pocet domen na cerne listine print(parsed_json['status']) #stav Pi-Hole klient.publish("pihole/blokdns",(parsed_json['ads_blocked_today']))
time.sleep(1) klient.publish("pihole/klientu",(parsed_json['unique_clients'])) klient.publish("pihole/dotazudns",(parsed_json['dns_queries_today'])) klient.publish("pihole/procentblokdns",(parsed_json['ads_percentage_today'])) klient.publish("pihole/dnsbloklist",(parsed_json['domains_being_blocked'])) klient.publish("pihole/stav",(parsed_json['status']))

Přidáme do crontabu spuštění co 5minut

*/5 * * * * /home/pi/pimqtt.py