Installeer Pi-Hole met Domoticz plugin
De installatie
De installatie van Pi-Hole is relatief eenvoudig gemaakt.
sudo curl -sSL https://install.pi-hole.net | bash
That’s all, naja dan volg je de installatie schermen, stel in of WLAN of LAN wordt gebruikt, controleer het ip-adres. En op de laatste pagina zie je (als je de admin web activeert) het wachtwoord, schrijf deze of sla deze ergens op!
De basis is klaar.
Instellingen in je Router
Ik heb een Ziggo modem, op het modem van andere providers is de handeling vergelijkbaar.
Schaken de DHCP op het modem uit en schakel de pi met Pi-Hole in.
Domoticz Pi-Hole plugin
Maak als eerste 6 dummy apparaten aan.
Domains blocked – Tekst
DNS queries today – Tekst
Ads blocked today – Tekst
Ads percentage today – Percentage
Unique domains – Tekst
Queries forwarded – Tekst
Schrijf de IDX nummers op (of laat het Domoticz op een tabblad open)
Open de Terminal:
cd /domoticz/scripts/sudo nano PiHole_read.sh
Plak onderstaande tekst
#!/bin/bash # Instellingen gevonden op Rouwette.com PIHOLE_IP="IP van je pi-hol pi" # PiHole IP DOMO_IP="IP van je Domoticz pi" # Domoticz IP DOMO_PORT="8080" # Standaard Domoticz poort, pas aan als de jouwe anders is DOMAINSBLOCKED_IDX='IDX' DNSQUERIESTODAY_IDX='IDX' ADSBLOCKEDTODAY_IDX='IDX' ADSPERCENTTODAY_IDX='IDXZ' UNIQUEDOMAINS_IDX='IDX' QUERIESFORWARDED_IDX='IDX' # krijg ata van Pi_Hole API INPUT=$(curl "http://$PIHOLE_IP/admin/api.php") DOMAINSBLOCKED=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $2}') DNSQUERIESTODAY=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $4}') ADSBLOCKEDTODAY=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $6}') ADSPERCENTTODAY=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $8}') UNIQUEDOMAINS=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $10}') QUERIESFORWARDED=$(echo "$INPUT" | awk -v FS="(:|,)" '{print $12}') # Maak het leesbaar DOMAINSBLOCKED=$(printf "%'d" "$DOMAINSBLOCKED") DNSQUERIESTODAY=$(printf "%'d" "$DNSQUERIESTODAY") ADSBLOCKEDTODAY=$(printf "%'d" "$ADSBLOCKEDTODAY") UNIQUEDOMAINS=$(printf "%'d" "$UNIQUEDOMAINS") QUERIESFORWARDED=$(printf "%'d" "$QUERIESFORWARDED") # Laad in in domoticz curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$DOMAINSBLOCKED_IDX&nvalue=0&svalue=$DOMAINSBLOCKED" curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$DNSQUERIESTODAY_IDX&nvalue=0&svalue=$DNSQUERIESTODAY" curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$ADSBLOCKEDTODAY_IDX&nvalue=0&svalue=$ADSBLOCKEDTODAY" curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$ADSPERCENTTODAY_IDX&nvalue=0&svalue=$ADSPERCENTTODAY" curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$UNIQUEDOMAINS_IDX&nvalue=0&svalue=$UNIQUEDOMAINS" curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=udevice&idx=$QUERIESFORWARDED_IDX&nvalue=0&svalue=$QUERIESFORWARDED"
(soms verspringen de enters, ik zoek nog een oplossing.)
Sla op en sluit (CRTL+O en CTR+X)
sudo chmod +x PiHole_read.sh
Open Crontad met:
crontab -e
Voeg ondergaande een regel toe, en sla op.
*/5 * * * * ~/domoticz/scripts/PiHole_read.sh
Reload de crontab
sudo service cron reload
Bovenstaande gevolgd. Maar werkt helaas niet. Ik heb al geprobeerd met de ” en de ‘ weg te laten. Ik zie ook niets over deze datacommunicatie in de Log. Wel stek ik vast dat de datum en uur bij de sensoren zich wel aanpassen, maar krijg geen waarde uitlezing. Dus de cron werkt wel. Volgens mij zit het ergens bij het ophalen van de data. Ik snap niet waarom er ook geen poort toegekend moet worden van de Pi-Hole. Als ik via de webbrowser naar de pi-hole ga moed ik inloggen met xx.xx.xx.xx/admin
Zou het hier iets mee te maken hebben? Of heeft het te maken dat hij niet voorbij de paswoordcontrole komt?
Leuk als ik dit aan het werken krijg, want is best wel handig.