Pi-hole Smart-Home-Integration, kostenlos und Open Source

Pi-hole-Werbeblocker: Pause vom Dashboard, 24-h-Statistiken, Update-Hinweise.
Verfolge und steuere die Werbeblockierung deines Pi-hole über Gladys, in deinem lokalen Netzwerk: Pausiere sie fünf Minuten lang vom Dashboard aus, wenn eine Website nicht funktioniert, sieh, was sie in den letzten 24 Stunden blockiert hat, und erfahre, wenn sie nicht mehr antwortet oder ein Update erschienen ist.
Ohne die Hardware entwickelt: Rückmeldungen willkommen. Diese Integration wurde anhand der von Pi-hole dokumentierten Antworten (der OpenAPI-Spezifikation von Pi-hole v6) gebaut und getestet, nicht mit einem echten Server. Wenn etwas nicht wie beschrieben funktioniert, sag es bitte im Gladys-Forum oder in den Issues.
Was du brauchst
- Gladys Assistant 5.1.0 oder neuer (5.2.0 oder neuer für die Taste Pause… des Widgets).
- Pi-hole v6 oder neuer, von Gladys aus erreichbar. Pi-hole v5 wird nicht unterstützt: Es wird erkannt und in der Konfiguration gemeldet.
- Ein App-Passwort deines Pi-hole (empfohlen), oder das Passwort seiner Weboberfläche, oder nichts, wenn dein Pi-hole kein Passwort hat.
Um ein App-Passwort zu erstellen, öffne die Weboberfläche von Pi-hole: Settings → Web interface / API, schalte die Seite in den Modus Expert (oben rechts), dann Configure app password → Enable new app password. Kopiere das angezeigte Passwort: Pi-hole zeigt es nur einmal an. Ein App-Passwort funktioniert auch bei aktiver Zwei-Faktor-Authentifizierung, das Passwort der Weboberfläche nicht.
Einrichtung
- Installiere die Integration aus dem Gladys-Katalog.
- Gib in der Konfiguration die Adresse deines Pi-hole ein (zum
Beispiel
192.168.1.2, oderhttps://192.168.1.2für HTTPS), sein App-Passwort und optional einen Namen. Zwei oder drei Pi-hole-Server? Fülle auch die Abschnitte Zweites Pi-hole und Drittes Pi-hole aus. - Speichere und klicke dann auf Verbindung testen: Die Meldung unter der Taste zeigt für jeden Server, ob er antwortet, seine Version und den Status seiner Blockierung.
- Öffne den Tab Entdecken: ein Gerät pro Pi-hole. Klicke auf Hinzufügen, wähle einen Raum und speichere.
Optionen:
- Selbstsignierte Zertifikate akzeptieren: Pi-hole v6 liefert HTTPS mit
einem selbst signierten Zertifikat. Aktiviere sie, um eine
https://-Adresse zu verwenden; lass sie fürhttp://-Adressen aus. - Aktualisierungsintervall: wie oft die Server gelesen werden, von 15 Sekunden bis 5 Minuten (standardmäßig 1 Minute).
- Blockierschalter ausschalten: was der Schalter des Geräts beim Ausschalten tut: die Blockierung 5 Minuten (Standard), 15, 30 oder 60 Minuten pausieren, oder sie deaktivieren, bis du ihn wieder einschaltest.
- Sprache der Funktionsnamen: Englisch, Französisch, Deutsch oder Spanisch. Die Namen werden beim Hinzufügen eines Geräts vergeben (standardmäßig Französisch).
Das Gerät jedes Pi-hole
| Funktion | Was es ist |
|---|---|
| Werbeblocker | Schalter: an, das Pi-hole blockiert; aus, es lässt alles durch |
| DNS-Anfragen (24 h) | In den letzten 24 Stunden empfangene Anfragen |
| Blockierte Anfragen (24 h) | In den letzten 24 Stunden blockierte Anfragen |
| Anteil blockiert (24 h) | Anteil der blockierten Anfragen, in %, gerundet |
| Aktive Clients (24 h) | Geräte, die das Pi-hole in den letzten 24 Stunden genutzt haben |
| Domains auf Sperrlisten | Domains auf den Sperrlisten des Pi-hole |
| Verfügbare Updates | Anzahl der Pi-hole-Teile mit einer neueren Version (0, wenn alles aktuell ist) |
Die Zahlen sind die der Startseite von Pi-hole: ein gleitendes Fenster der letzten 24 Stunden, nicht der Kalendertag. Das Abzeichen des Geräts zeigt Lokal, wenn das Pi-hole antwortet, sonst Nicht erreichbar.
Dashboard
Füge das Widget Pi-hole zu einem Dashboard hinzu. Standardmäßig zeigt es alle deine Server zusammen; wähle in seinen Einstellungen einen aus, um nur diesen zu zeigen. Ein Pi-hole von zweien zu pausieren ändert nichts: Deine Geräte fragen dann das andere.
Das Widget zeigt die Anfragen, die blockierten Anfragen und den blockierten Anteil der letzten 24 Stunden, den Status jedes Servers (blockiert, pausiert mit den verbleibenden Minuten, deaktiviert, nicht erreichbar), die aktiven Clients, die Domains der Sperrlisten und die verfügbaren Updates. Seine Tasten:
- Pause 5 min und Pause 30 min: pausieren die Blockierung sofort;
- Pause…: öffnet ein kleines Formular, um die Dauer in Minuten einzugeben (Gladys 5.2.0 oder neuer; ein älteres Gladys antwortet, dass es ein Update braucht);
- Fortsetzen: schaltet die Blockierung wieder ein. Die Taste trägt ein Häkchen, solange die Blockierung überall aktiv ist.
Szenen
Auslöser
- Pi-hole-Blockierung pausiert: Die Blockierung wurde ausgeschaltet, über
Gladys oder anderswo (die Pi-hole-Oberfläche, der Befehl
pihole disable, ein anderes Werkzeug). Filtere nach Pi-hole und nach Ursprung (Von Gladys oder Außerhalb von Gladys). Die Aktionen können den Namen des Pi-hole und die Dauer der Pause in Minuten lesen (duration_minutes, 0, wenn sie kein Ende hat). - Pi-hole-Blockierung fortgesetzt: Die Blockierung ist wieder aktiv. Der
Ursprung sagt, ob die Pause von selbst endete (Ende der Pause), über Gladys
oder anderswo;
paused_minutessagt, wie lange sie dauerte. - Pi-hole-Update verfügbar: Eine neue Version von Pi-hole ist erschienen
(Core, FTL, Weboberfläche, oder das Docker-Image, wenn Pi-hole in Docker
läuft). Einmal pro Version gemeldet, auch nach einem Neustart.
updateslistet die neuen Versionen auf, zum BeispielCore v6.1.2, FTL v6.3. - Pi-hole antwortet nicht mehr: Ein Pi-hole hat zwei Abfragen in Folge
nicht beantwortet (die zweite 15 Sekunden nach der ersten). Das DNS deines
Hauses ist vielleicht ausgefallen.
errorsagt warum, in der Sprache der Konfiguration. - Pi-hole antwortet wieder: Es ist zurück;
down_minutessagt, nach wie langer Zeit.
Ein abgelehntes Passwort zählt nicht als „antwortet nicht mehr“: Die Konfiguration meldet es.
Aktionen
- Pi-hole-Blockierung pausieren: pausiert die Blockierung auf einem Pi-hole, oder auf allen, wenn das Feld leer bleibt, für eine Anzahl Minuten (standardmäßig 5, 0 bis zum Fortsetzen, höchstens ein Tag). Die folgenden Aktionen können lesen, wie viele Server pausiert wurden.
- Pi-hole-Blockierung fortsetzen: schaltet die Blockierung wieder ein, auf einem Pi-hole oder auf allen.
Der Schalter Werbeblocker lässt sich auch mit der normalen Gladys-Aktion steuern, die ein Gerät bedient.
Szenen-Ideen
- Sicherheitsnetz: eine Szene jeden Abend um 20:00 Uhr mit Pi-hole-Blockierung fortsetzen, damit ein „bis zum Wiedereinschalten“ ausgeschalteter Schalter nie die ganze Nacht aus bleibt.
- DNS-Alarm: Pi-hole antwortet nicht mehr → eine Nachricht senden „Pi-hole {{triggerEvent.data.server}} antwortet nicht: {{triggerEvent.data.error}}“. Und Pi-hole antwortet wieder → „zurück nach {{triggerEvent.data.down_minutes}} min“.
- Wer hat die Blockierung pausiert?: Pi-hole-Blockierung pausiert mit dem Ursprung Außerhalb von Gladys → eine Nachricht mit der Dauer der Pause senden.
Fehlerbehebung
- „Passwort abgelehnt“: Prüfe das App-Passwort. Ein neues App-Passwort in Pi-hole ersetzt das alte: Übertrage das neue in Gladys.
- „Zwei-Faktor-Authentifizierung aktiv“: Das Passwort der Weboberfläche verlangt einen Code von deinem Telefon; verwende stattdessen ein App-Passwort.
- „Zertifikat abgelehnt“: Du hast eine
https://-Adresse eingegeben; aktiviere Selbstsignierte Zertifikate akzeptieren oder verwende diehttp://-Adresse. - „die Adresse leitet um“: Dein Pi-hole schickt HTTP-Besucher zu HTTPS; gib
die
https://-Adresse ein und aktiviere Selbstsignierte Zertifikate akzeptieren. - „keine freie API-Sitzung“: Pi-hole akzeptiert nur eine begrenzte Zahl von API-Sitzungen gleichzeitig (standardmäßig 16). Die Integration hält nur eine pro Server und schließt sie beim Beenden; andere Werkzeuge können den Rest belegen. Pi-hole gibt ungenutzte Sitzungen nach 30 Minuten frei.
- „Pi-hole v5 wird nicht unterstützt“: Aktualisiere Pi-hole auf Version 6
(
pihole -up). - „antwortet nicht“: Prüfe, ob sich
http://<Adresse>/adminvon einem Computer im Netzwerk von Gladys öffnen lässt. Namen mit.localfunktionieren in der Integration meist nicht: Verwende die IP-Adresse. - Protokolle: auf der Seite der Integration in Gladys oder mit
docker logsauf dem Host. Dort stehen der Start, jeder verlorene und wieder erreichbare Server, die Probleme (jedes einmal, nicht bei jedem Lesen) und deine Befehle zum Pausieren und Fortsetzen. Starte den Container mitLOG_LEVEL=debug, um jedes Lesen und jeden neuen Versuch zu sehen. Dein Passwort und die API-Sitzung erscheinen nie in den Protokollen.
Grenzen
- Nur Pi-hole v6. Eine Integration verwaltet bis zu drei Pi-hole-Server.
- Die Integration liest jeden Server einmal pro Aktualisierungsintervall (zwei kleine Anfragen, dazu einmal pro Stunde die Versionsprüfung) und hält eine einzige API-Sitzung pro Server: Kein Kontingent von Pi-hole ist gefährdet.
- Die Zahlen decken die letzten 24 Stunden ab, wie Pi-hole sie zählt; sie beginnen um Mitternacht nicht bei null.
- Der blockierte Anteil wird im Gerät gerundet (Gladys hat keinen Sensor für Dezimalprozente); das Widget zeigt eine Nachkommastelle.
- Die Integration verwaltet weder die Sperrlisten noch die erlaubten oder verbotenen Domains noch die Clients von Pi-hole: Nutze dafür die Pi-hole-Oberfläche.
- Ohne echtes Pi-hole entwickelt: Was nicht auf einem echten Server geprüft werden konnte, steht in der README.
Diese Integration steht in keiner Verbindung zu Pi-hole LLC.
Konfigurationseinstellungen
Diese Einstellungen fragt Pi-hole in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Dein Pi-hole | section | Nein | Pi-hole v6 oder neuer. Erstelle in Pi-hole ein App-Passwort: Settings, Web interface / API, Expert-Modus, Configure app password. Bis zu drei Server. |
| Adresse | string | Ja | IP-Adresse oder Name des Pi-hole, mit https:// für HTTPS und :Port, falls nicht Standard. |
| App-Passwort | secret | Nein | Ein App-Passwort (empfohlen) oder das Passwort der Weboberfläche. Leer, wenn das Pi-hole keins hat. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: „Pi-hole“ gefolgt von der Adresse. |
| Zweites Pi-hole (optional) | section | Nein | Dieselben Felder, für ein weiteres Pi-hole in deinem Netzwerk. |
| Adresse | string | Nein | IP-Adresse oder Name des Pi-hole, mit https:// für HTTPS und :Port, falls nicht Standard. |
| App-Passwort | secret | Nein | Ein App-Passwort (empfohlen) oder das Passwort der Weboberfläche. Leer, wenn das Pi-hole keins hat. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: „Pi-hole“ gefolgt von der Adresse. |
| Drittes Pi-hole (optional) | section | Nein | Dieselben Felder, für ein weiteres Pi-hole in deinem Netzwerk. |
| Adresse | string | Nein | IP-Adresse oder Name des Pi-hole, mit https:// für HTTPS und :Port, falls nicht Standard. |
| App-Passwort | secret | Nein | Ein App-Passwort (empfohlen) oder das Passwort der Weboberfläche. Leer, wenn das Pi-hole keins hat. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: „Pi-hole“ gefolgt von der Adresse. |
| Optionen | section | Nein | |
| Selbstsignierte Zertifikate akzeptieren | boolean | Nein | Für https://-Adressen: Pi-hole liefert standardmäßig ein selbstsigniertes Zertifikat. Nur für deine eigenen Server aktivieren. |
| Aktualisierungsintervall | select | Nein | Wie oft die Pi-hole-Server gelesen werden. |
| Blockierschalter ausschalten | select | Nein | Pausiert die Blockierung so lange oder bis der Schalter wieder eingeschaltet wird. |
| Sprache der Funktionsnamen | select | Nein | Namen der Funktionen beim Hinzufügen eines Geräts und Texte der Szenen-Ereignisse. |
So installierst du Pi-hole in Gladys
- Öffne in Gladys Integrationen: Pi-hole erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-pihole:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-pihole.
Pi-hole benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Pi-hole ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle externen Integrationen durchsuchen
- Die nativen Integrationen entdecken, die in Gladys eingebaut sind
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation