Installeer Pi-Hole met Domoticz plugin

Installeer Pi-Hole met Domoticz plugin

26 april 2021 1 Door Ivo

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.

Ziggo
Pi-hole settings

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&param=udevice&idx=$DOMAINSBLOCKED_IDX&nvalue=0&svalue=$DOMAINSBLOCKED"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$DNSQUERIESTODAY_IDX&nvalue=0&svalue=$DNSQUERIESTODAY"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$ADSBLOCKEDTODAY_IDX&nvalue=0&svalue=$ADSBLOCKEDTODAY"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$ADSPERCENTTODAY_IDX&nvalue=0&svalue=$ADSPERCENTTODAY"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$UNIQUEDOMAINS_IDX&nvalue=0&svalue=$UNIQUEDOMAINS"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=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

Voeg ook seizoenen of smilies toe in Domoticz! 😃