Module /

Pi-hole

Pi-hole (ab Version 6) über die REST-API in Symcon überwachen und steuern.

Stable 2.0Beta 2.01.478 Downloads114 in 30 Tagen

Privat kostenlos Gewerblich auf Anfrage Anfrage senden

Diese Dokumentation beschreibt immer die neueste Version des Moduls, aktuell 2.0 im Kanal Beta.

Version Version License Check Style Tests

Diese Bibliothek bindet einen Pi-hole (ab Version 6) über dessen REST-API in IP-Symcon ein. Ein Splitter hält die Verbindung, einzelne Instanzen bilden die Bereiche der API ab.

Inhaltsverzeichnis

Screenshots

Die Kacheln der Pi-hole Instanzen

1. Voraussetzungen

  • mindestens IPS Version 8.1
  • Pi-hole ab Version 6 (REST-API)
  • Passwort oder App-Passwort des Pi-holes (entfällt, wenn kein Passwort gesetzt ist)

2. Funktionsumfang

  • Blocking ein- und ausschalten, auch zeitlich begrenzt
  • Kacheln für die Kachel-Visualisierung (DNS, Statistics, System, Network, Filters, Maintenance)
  • Statistik, Top-Listen, Verlauf und DNS-Abfragen
  • Systemzustand, Versionen, Meldungen und Logs
  • Wartung: Gravity, DNS-Neustart, Teleporter-Backup
  • Verwaltung von Domains, Gruppen, Clients und Blocklisten
  • Netzwerkgeräte und DHCP-Leases
  • Lesen und Ändern der Pi-hole Konfiguration

Die einzelnen Funktionen stehen bei den Instanzen unter “Enthaltene Module” und in der README des jeweiligen Moduls. Jeder Endpunkt der API ist zusätzlich über die Funktion PIHSPL_Request des Splitters erreichbar.

3. Enthaltene Module

  • PiHole Splitter
    • Verbindung zur API: Anmeldung, Sitzung und Weiterreichen der Anfragen.
    • Wird von allen anderen Instanzen als übergeordnete Instanz benötigt.
  • PiHole Configurator
    • Zeigt alle Instanztypen der Bibliothek, markiert die vorhandenen und legt fehlende mit dem Splitter verbunden an.
  • PiHole Statistics
    • Statistik des Pi-holes als Variablen, dazu Top-Listen, Verlauf und DNS-Abfragen für Skripte.
  • PiHole DNS
    • Schaltet das Blocking ein und aus, auch zeitlich begrenzt.
  • PiHole System
    • Auslastung, Temperatur, Versionen und Diagnosemeldungen, dazu Logs und Systeminformationen.
  • PiHole Maintenance
    • Gravity aktualisieren, DNS neu starten, Caches und Logs leeren, Teleporter-Backup.
  • PiHole Filters
    • Verwaltung von Domains, Gruppen, Clients und Blocklisten, dazu Suche in den Listen.
  • PiHole Network
    • Netzwerkgeräte, Routen, Schnittstellen und DHCP-Leases.
  • PiHole Config
    • Lesen und Ändern der Pi-hole Konfiguration per Skript.

4. Installation

Die Installation erfolgt über den IP-Symcon Module Store.

5. Konfiguration in IP-Symcon

Zuerst eine Instanz “PiHole Splitter” anlegen und Host, Port und Passwort eintragen. Danach die gewünschten Instanzen anlegen, am einfachsten über eine Instanz “PiHole Configurator”: Sie listet alle Instanztypen, zeigt die vorhandenen und legt fehlende per Klick an. Die Instanzen verbinden sich mit dem Splitter, ein fehlender Splitter wird beim Anlegen miterzeugt. Details stehen in der README des jeweiligen Moduls.

Die Version 2 ersetzt die frühere Instanz “PiHole”. Bestehende Instanzen werden nicht übernommen und müssen neu angelegt werden.

6. Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

PayPal Amazon Wunschzettel

7. Lizenz

CC BY-NC-SA 4.0

Changelog

Alle Versionen dieses Moduls, die neueste oben.

Version 2.0

  • Neu: Komplett neu aufgebaut für die REST-API von Pi-hole v6 (die alte api.php entfällt).
  • Neu: PiHole Splitter: Anmeldung per Passwort oder App-Passwort, eine gemeinsame Sitzung für alle Instanzen, HTTPS, Funktion PIHSPLRequest für beliebige Endpunkte.
  • Neu: Neue Instanzen: Statistics, DNS, System, Maintenance, Filters, Network und Config. Zusammen bilden sie die gesamte API ab.
  • Neu: PiHole Configurator: Zeigt alle Instanztypen, markiert vorhandene und legt fehlende per Klick am Splitter an.
  • Neu: Kacheln für die Kachel-Visualisierung bei DNS (Blocking per Klick pausieren und fortsetzen, mit Restzeit), Statistics (Anteil geblockt, 24-Stunden-Verlauf, Top-Listen), System (Auslastung, Temperatur, Versionen), Network, Filters und Maintenance (Wartungsaktionen per Klick).
  • Neu: Die Instanzen lesen ihre Werte direkt nach dem Anlegen und nach dem Speichern, nicht erst im nächsten Intervall.
  • Neu: Blocking mit Timer, Restzeit und Statistik als Variablen mit nativen Darstellungen.
  • Neu: Teleporter-Backup, Verwaltung von Domains, Gruppen, Clients und Listen, DHCP-Leases, Konfiguration.
  • Fix: Das Modul funktioniert wieder mit Pi-hole v6.
  • Achtung: Die frühere Instanz "PiHole" und der API Token entfallen. Instanzen müssen neu angelegt werden, die Zugangsdaten stehen im Splitter.

Version 1.6

  • Fix: Die Statusvariable funktionierte mit den neueren Pi-hole Versionen nicht mehr richtig.
  • Fix: Interne Funktionen umgestellt

Version 1.5

  • Neu: Abfragen zwischengespeichert
  • Neu: Gesamte DNS Abfragen
  • Neu: Gravitiy zuletzt aktualisiert
  • Fix: GUID

Version 1.4

  • Neu: Übersetzungen hinzugefügt
  • Neu: Variable prozentualer Anteil heute gesperrter Seiten hinzugefügt

Version 1.3

  • Fix: Redundanten Code rausgeworfen
  • Fix: Überprüfung ob Request Rückgabewert ungleich NULL ist

Version 1.2

  • Neu: Pi-hole in Symcon überwachen und steuern: Pi-hole aktivieren und deaktivieren.
  • Neu: Anzeige der Statistik: Status, Blocked Domains, DNS Queries Today und Ads Blocked Today.
  • Fix: Update Timer
  • Fix: Error Handling (Meldung wird im Webfront ausgegeben), falls Pi-hole nicht erreichbar ist.
  • Fix: Wenn keine IP angegeben ist wird der Timer nicht aktiviert.
  • Fix: Fehlermeldung im Debug, wenn keine Verbindung zur API hergestellt werden kann.
  • Fix: IP und Port Namen geändert.

Version 1.1

  • Fix: Wenn keine IP angegeben ist wird der Timer nicht aktiviert.
  • Fix: Fehlermeldung im Debug, wenn keine Verbindung zur API hergestellt werden kann.
  • Fix: IP und Port Namen geändert.

Version 1.0

  • Neu: Pi-hole in Symcon überwachen und steuern: Pi-hole aktivieren und deaktivieren.
  • Neu: Anzeige der Statistik: Status, Blocked Domains, DNS Queries Today und Ads Blocked Today.