Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6

Scheduled Pinned Locked Moved Error/Bug
53 Posts 18 Posters 6.8k Views 14 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ro75R Ro75

    Testet doch mal mein Skript

    https://forum.iobroker.net/topic/77096/skript-pihole?_=1742074119093

    Das kann als 100% Alternative zum Adapter betrachtet werden. Sollte theoretisch auch mit piHole 6 gehen.

    Ro75.

    Meister MopperM Away
    Meister MopperM Away
    Meister Mopper
    wrote on last edited by
    #43

    @ro75 sagte in PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6:

    Testet doch mal mein Skript

    https://forum.iobroker.net/topic/77096/skript-pihole?_=1742074119093

    Das kann als 100% Alternative zum Adapter betrachtet werden. Sollte theoretisch auch mit piHole 6 gehen.

    Ro75.

    Ab Version 6.x gibt es keinen API-Token mehr. Es werden sogenannte Session ID verwendet.

    Proxmox und HA

    1 Reply Last reply
    1
    • F Offline
      F Offline
      fzuern
      wrote on last edited by
      #44

      Hier der Link, wie es der Entwickler von Homepage gelöst hat;
      [https://github.com/gethomepage/homepage/discussions/4901](link url)
      oder auch die Diskussion in der PI-Hole Community
      [https://discourse.pi-hole.net/t/authenticating-to-v6-api/66010](link url)

      Vielleicht hilft es...

      1 Reply Last reply
      0
      • Meister MopperM Away
        Meister MopperM Away
        Meister Mopper
        wrote on last edited by Homoran
        #45

        @fzuern sagte in PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6:

        Hier der Link, wie es der Entwickler von Homepage gelöst hat;
        [https://github.com/gethomepage/homepage/discussions/4901](link url)
        oder auch die Diskussion in der PI-Hole Community
        [https://discourse.pi-hole.net/t/authenticating-to-v6-api/66010](link url)

        Vielleicht hilft es...

        @mcm1957

        Siehst du da eine Chance, den Adapter wieder für Pihole v6.x lauffähig zu bekommen?

        Problemtisch ist wohl derzeit der API-Zugang, wie es von einem Dev hier (https://discourse.pi-hole.net/t/authenticating-to-v6-api/66010/5) beschrieben wird.

        Proxmox und HA

        mcm1957M 1 Reply Last reply
        0
        • Meister MopperM Meister Mopper

          @fzuern sagte in PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6:

          Hier der Link, wie es der Entwickler von Homepage gelöst hat;
          [https://github.com/gethomepage/homepage/discussions/4901](link url)
          oder auch die Diskussion in der PI-Hole Community
          [https://discourse.pi-hole.net/t/authenticating-to-v6-api/66010](link url)

          Vielleicht hilft es...

          @mcm1957

          Siehst du da eine Chance, den Adapter wieder für Pihole v6.x lauffähig zu bekommen?

          Problemtisch ist wohl derzeit der API-Zugang, wie es von einem Dev hier (https://discourse.pi-hole.net/t/authenticating-to-v6-api/66010/5) beschrieben wird.

          mcm1957M Online
          mcm1957M Online
          mcm1957
          wrote on last edited by
          #46

          @meister-mopper

          Ich habe nach wie vor einen Adapter für pi-hole 6 zu machen. Wahrscheinlich wird es eher ein neuer Adapter werden - allerdings mit dem Ziel möglichst idente States anzubieten - da eine "Enteignung" immer nur die letzte Möglichkeit wäre und der Adapter sowieso einen größeren Review bräuchte.

          ABER die Tage laufen schneller vorbei als ich es gerne hätte.

          Sorry, mehr kann ich im Moment nicht sagen / versprechen.

          Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
          Support Repositoryverwaltung.

          Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

          LESEN - gute Forenbeitrage

          cengC G 2 Replies Last reply
          4
          • mcm1957M mcm1957

            @meister-mopper

            Ich habe nach wie vor einen Adapter für pi-hole 6 zu machen. Wahrscheinlich wird es eher ein neuer Adapter werden - allerdings mit dem Ziel möglichst idente States anzubieten - da eine "Enteignung" immer nur die letzte Möglichkeit wäre und der Adapter sowieso einen größeren Review bräuchte.

            ABER die Tage laufen schneller vorbei als ich es gerne hätte.

            Sorry, mehr kann ich im Moment nicht sagen / versprechen.

            cengC Offline
            cengC Offline
            ceng
            wrote on last edited by ceng
            #47

            @mcm1957 Das wäre super, wenn der alte Adapter neues Leben eingeflösst bekäme, aber ich weiß selbst wie wertvoll Zeit ist...

            Ich habe mir vorübergehend, solange bis jemand mit Ahnung etwas besseres baut, folgendes Script gebaut:

            // 🛠️ Konfiguration
            const userPath = '0_userdata.0.Lokal.Statistics.PiHole';
            const piholeUrl = 'https://MEINPIHOLE';
            const password = 'AUS DER OBERFLÄCHE'; // App-Passwort, nicht GUI-Passwort
            const debug = getState("0_userdata.0.Global.Debug")?.val || false;
            const sillydebug = getState("0_userdata.0.Global.SillyDebug")?.val || false;
            
            // 📊 Datenpunkte mit Beschreibung für den ioBroker
            const datapoints = {
                total: 'Anzahl aller angefragen Domains',
                blocked: 'Zahl der blockierten Domains',
                percent_blocked: 'Blockierte Domains in %',
                unique_domains: 'Eindeutige Domains',
                queries_forwarded: 'Weitergeleitete Anfragen',
                queries_cached: 'Gecachte Anfragen',
            };
            
            // 🔁 Axios einbinden (funktioniert ab js-controller 3.x)
            const axios = require('axios').default;
            
            // Hilfsfunktion für Logs, gibt nur aus wenn SillyDebug=true ist
            function debugLog(msg) {
                const sillyDebug = getState('0_userdata.0.Global.SillyDebug')?.val || false;
                if (sillyDebug) {
                    log(msg);
                }
            }
            
            // Hauptfunktion: Authentifizieren, Daten holen und Datenpunkte schreiben
            async function loginAndFetchPiHole() {
                if (debug) console.log('🔐 Authentifiziere Pi-hole…');
            
                try {
                    // Login an Pi-hole API, um Session-ID und CSRF-Token zu erhalten
                    const authResponse = await axios.post(
                        `${piholeUrl}/api/auth`,
                        { password: password },
                        { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }) }
                    );
            
                    // Session-Daten extrahieren
                    const { sid, csrf } = authResponse.data.session || {};
                    if (!sid || !csrf) throw new Error('SID oder CSRF fehlt in Antwort');
            
                    if (debug) console.log('✅ Authentifizierung erfolgreich');
            
                    // Zusammenfassung der Pi-hole Statistiken abfragen
                    const summaryResponse = await axios.get(
                        `${piholeUrl}/api/stats/summary`,
                        {
                            headers: {
                                Cookie: `sid=${sid}`,
                                'x-csrf-token': csrf
                            },
                            httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }),
                        }
                    );
            
                    const data = summaryResponse.data;
                    debugLog('Pi-hole API Rohdaten: ' + JSON.stringify(data));
            
                    // Datenpunkte erstellen und mit Werten aus Pi-hole füllen
                    for (const key in datapoints) {
                        const dp = `${userPath}.${key}`;
                        await createStateAsync(dp, 0, { name: datapoints[key], type: 'number', read: true, write: false });
            
                        // Wert je Datenpunkt aus der API Antwort zuordnen
                        let value = 0;
                        switch (key) {
                            case 'total': value = data.queries.total; break;
                            case 'blocked': value = data.queries.blocked; break;
                            case 'percent_blocked': value = Math.round(data.queries.percent_blocked); break;
                            case 'unique_domains': value = data.queries.unique_domains; break;
                            case 'queries_forwarded': value = data.queries.forwarded; break;
                            case 'queries_cached': value = data.queries.cached; break;
                            default: value = 666;
                        }
            
                        debugLog(`${dp}: ${value}`);
                        setState(dp, value || 0, true);
                    }
            
                    if (debug) console.log('✅ Pi-hole Daten aktualisiert');
            
                } catch (err) {
                    log('❌ Fehler bei Pi-hole API Zugriff: ' + err.message, 'error');
                }
            }
            
            // ⏰ Intervall: alle 5 Minuten ausführen
            schedule('*/5 * * * *', loginAndFetchPiHole);
            // Direkt beim Start einmal ausführen
            loginAndFetchPiHole();
            
            

            Ich will hier keine Grundsatzdiskussion über Arten der Programmierung oder gar die Adapterentwicklung in Frage stellen. Das Script läuft bei mir, wenn es jemanden hilft, gut, wenn nicht, auch gut.

            CU

            Diverse Raspies am Start

            1 Reply Last reply
            1
            • mcm1957M mcm1957

              @meister-mopper

              Ich habe nach wie vor einen Adapter für pi-hole 6 zu machen. Wahrscheinlich wird es eher ein neuer Adapter werden - allerdings mit dem Ziel möglichst idente States anzubieten - da eine "Enteignung" immer nur die letzte Möglichkeit wäre und der Adapter sowieso einen größeren Review bräuchte.

              ABER die Tage laufen schneller vorbei als ich es gerne hätte.

              Sorry, mehr kann ich im Moment nicht sagen / versprechen.

              G Offline
              G Offline
              Galen
              wrote on last edited by
              #48

              @mcm1957 Gibts inzwischen ein Update deinerseits oder brauchst du noch Tester?

              mcm1957M 1 Reply Last reply
              0
              • G Galen

                @mcm1957 Gibts inzwischen ein Update deinerseits oder brauchst du noch Tester?

                mcm1957M Online
                mcm1957M Online
                mcm1957
                wrote on last edited by
                #49

                @galen
                Danke füe dein Angebot.

                Leider keine Neuigkeiten meinerseits. Da ich noch bis Mitte Juli auf Urlsub / nicht daheim bin schauts nach wie vor schlecht aus.

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                OliverIOO 1 Reply Last reply
                0
                • mcm1957M mcm1957

                  @galen
                  Danke füe dein Angebot.

                  Leider keine Neuigkeiten meinerseits. Da ich noch bis Mitte Juli auf Urlsub / nicht daheim bin schauts nach wie vor schlecht aus.

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  wrote on last edited by
                  #50

                  @mcm1957 ich hoffe ich nehme dir da jetzt nix weg.

                  da es ja noch ein wenig dauert und mein Fahrrad diese Woche in Reparatur ist,
                  dachte ich mir ich bereite da mal was vor.

                  https://github.com/oweitman/ioBroker.pi-hole2

                  Allerdings gibt es einige Anmerkungen:

                  • da der bisherige Adapter noch in einer etwas älteren Struktur war und auch die API die Daten nicht so liefert wie heute, habe ich einen komplett neuen Adapter erstellt.
                  • Auch habe ich keine pi-hole V5 Installation verfügbar, so das ich nicht nachschauen kann, wie die Daten bisher aussahen.
                  • Ich habe mich mal grob an den Bezeichungen orientiert und habe dazu mal Daten von den wichtigsten (aus meiner Sicht) API-Endpunkten in Datenpunkten bereitgestellt:
                    b71588ae-8adf-498f-b114-c0aaeb36efbf-image.png
                  • Wer weitere Vorschläge machen möchte, kann gerne in seiner piholev6 installation die folgende Seite aufrufen: http://pi.hole/api/docs/, trägt dann oben sein Passwort ein und kann dann alle API-Endpunkte durchprobieren.
                  • Alle API-Endpunkte welche Parameter benötigen würde ich nicht über Datenpunkte umsetzen wollen, sondern nur über sendTo-Befehle, bei denen man ordentlich die Parameter übergeben kann und auch strukturierte Ergebnisse erhält. Das ist aus meiner Sicht die flexibelste Lösung und auch im javascript (oder anderen Adapter) verwendbar.
                  • ich habe nicht vor jeden einzelnen API Endpunkt umzusetzen. ggfs wird es mit sendTo einen generellen Befehl geben, mit dem man dann an jeden Endpoint herankommt und sich aber nicht um Authentifizierung und Session-Management kümmern muss.

                  gerne kann der adapter direkt von github zum test mal installiert werden.

                  Testerthread
                  https://forum.iobroker.net/topic/81472/neuer-adapter-pi-hole2-für-pihole-v6

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  mcm1957M 1 Reply Last reply
                  1
                  • OliverIOO OliverIO

                    @mcm1957 ich hoffe ich nehme dir da jetzt nix weg.

                    da es ja noch ein wenig dauert und mein Fahrrad diese Woche in Reparatur ist,
                    dachte ich mir ich bereite da mal was vor.

                    https://github.com/oweitman/ioBroker.pi-hole2

                    Allerdings gibt es einige Anmerkungen:

                    • da der bisherige Adapter noch in einer etwas älteren Struktur war und auch die API die Daten nicht so liefert wie heute, habe ich einen komplett neuen Adapter erstellt.
                    • Auch habe ich keine pi-hole V5 Installation verfügbar, so das ich nicht nachschauen kann, wie die Daten bisher aussahen.
                    • Ich habe mich mal grob an den Bezeichungen orientiert und habe dazu mal Daten von den wichtigsten (aus meiner Sicht) API-Endpunkten in Datenpunkten bereitgestellt:
                      b71588ae-8adf-498f-b114-c0aaeb36efbf-image.png
                    • Wer weitere Vorschläge machen möchte, kann gerne in seiner piholev6 installation die folgende Seite aufrufen: http://pi.hole/api/docs/, trägt dann oben sein Passwort ein und kann dann alle API-Endpunkte durchprobieren.
                    • Alle API-Endpunkte welche Parameter benötigen würde ich nicht über Datenpunkte umsetzen wollen, sondern nur über sendTo-Befehle, bei denen man ordentlich die Parameter übergeben kann und auch strukturierte Ergebnisse erhält. Das ist aus meiner Sicht die flexibelste Lösung und auch im javascript (oder anderen Adapter) verwendbar.
                    • ich habe nicht vor jeden einzelnen API Endpunkt umzusetzen. ggfs wird es mit sendTo einen generellen Befehl geben, mit dem man dann an jeden Endpoint herankommt und sich aber nicht um Authentifizierung und Session-Management kümmern muss.

                    gerne kann der adapter direkt von github zum test mal installiert werden.

                    Testerthread
                    https://forum.iobroker.net/topic/81472/neuer-adapter-pi-hole2-für-pihole-v6

                    mcm1957M Online
                    mcm1957M Online
                    mcm1957
                    wrote on last edited by
                    #51

                    @oliverio
                    Kein Problem - darfst gerne was abliefern :-). Mir ist nicht fad.

                    Ich würde nur anregen den Adapter dann gleich pi-hole6 zu nennen.

                    Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                    Support Repositoryverwaltung.

                    Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                    LESEN - gute Forenbeitrage

                    OliverIOO 1 Reply Last reply
                    0
                    • mcm1957M mcm1957

                      @oliverio
                      Kein Problem - darfst gerne was abliefern :-). Mir ist nicht fad.

                      Ich würde nur anregen den Adapter dann gleich pi-hole6 zu nennen.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #52

                      @mcm1957 sagte in PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6:

                      pi-hole6

                      wird halt dann schwierig wenn es ein pihole 7 gibt.
                      ich gehe davon aus das die api erst mal stabil ist und nicht gleich wieder über den haufen geschmissen wird

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      mcm1957M 1 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        @mcm1957 sagte in PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6:

                        pi-hole6

                        wird halt dann schwierig wenn es ein pihole 7 gibt.
                        ich gehe davon aus das die api erst mal stabil ist und nicht gleich wieder über den haufen geschmissen wird

                        mcm1957M Online
                        mcm1957M Online
                        mcm1957
                        wrote on last edited by
                        #53

                        @oliverio
                        Na ja- wenn das api sich massiv ändert kann man dann eh einen pi-hole7 forken. Macht ja ev. mehr Sinn als ewig inkompatible Apis in EINEM Adapter mitzuschleppen.

                        Ev. schreib in den eadme / Umstiegsguide gleich nen Hinweis: "Da sich states durch die umstellun ändern ist es ein gute Zeitpukt Alias einzuführen wenn noch nichht getan" oder so. Dann sollte auch keiner Probleme haben wenn es später nen pi-hole7 gibt.

                        Aber im Kern kannst es machen wie DU willst. Bin halt kein Freund er 2, 3, 4, 5 Durchnummerieungen :-) und 6 hat noch irgendeinen Sinn. Lies es halt AB V6 ...

                        Und nochmals DANKE. Tut mir leid dass ich User so lang warten lie0 aber ich komm einfach nicht dazu alles was ich will umzusetzen ...

                        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                        Support Repositoryverwaltung.

                        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                        LESEN - gute Forenbeitrage

                        1 Reply Last reply
                        2
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        900

                        Online

                        32.4k

                        Users

                        81.5k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe