Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    PiHole Adapter ohne Funktion nach Pi-Hole Update auf V6

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dr. Bakterius
      Dr. Bakterius Most Active @Meister Mopper last edited by

      @meister-mopper Unbound habe ich auch. Doch das hat ja nichts mit dem NTP-Server zu tun, betrifft nur die DNS Anfragen nach außen.

      Meister Mopper 2 Replies Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @Dr. Bakterius last edited by

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

        @meister-mopper Unbound habe ich auch. Doch das hat ja nichts mit dem NTP-Server zu tun, betrifft nur die DNS Anfragen nach außen.

        Ja klar, ich wollte nur auf die Umgebungsproblematik hinweisen.

        1 Reply Last reply Reply Quote 0
        • Meister Mopper
          Meister Mopper @Dr. Bakterius last edited by

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

          Unbound habe ich auch.

          Wieso hast du dann 1.1.1.1 als dns angegeben?

          Dr. Bakterius 2 Replies Last reply Reply Quote 0
          • Dr. Bakterius
            Dr. Bakterius Most Active @Meister Mopper last edited by

            @meister-mopper Weil die CPU-Last so wieder normal war. Hat sich nach dem Update auf Core v6.0.3, FTL v6.0.2, Web interface v6.0.1 ja erledigt.

            1 Reply Last reply Reply Quote 0
            • Dr. Bakterius
              Dr. Bakterius Most Active @Meister Mopper last edited by

              @meister-mopper Also am Update lag es nicht. Heute hat FTL einen Prozessor-Kern wieder zu 100% ausgelastet. Im Netz gibt es schon viele, denen es nach dem Upgrade auf v6.x ebenso ergeht. Dabei scheint sich heraus zu kristallisieren, dass es zum einen am RAM liegt wenn ein Gravity-Update erfolgt und der voll läuft. Bei meinem 43M Einträgen braucht es ca. 4GB. Und zum Anderen kann es an Fehlern in der DB liegen.

              Ich habe also RAM erhöht und auch Cache erstellt (hatte vorher keinen), und die DB gelöscht und neu anlegen lassen. Außerdem habe ich die Behaltefrist von 3 Monaten auf 1 Woche herabgesetzt.

              Jetzt heißt es abwarten ob die CPU-Last so niedrig bleibt ...

              Lucifor1976 Meister Mopper 2 Replies Last reply Reply Quote 0
              • Lucifor1976
                Lucifor1976 @Dr. Bakterius last edited by

                ich fürchte den dev interessiert das nicht weiter.
                Letztes Update vor zwei Jahren, Bugs seit 2020 offen.

                Könnte den Adapter vielleicht jemand in Betreuung übernehmen?

                mcm1957 1 Reply Last reply Reply Quote 0
                • Winni
                  Winni last edited by

                  Und weiter geht's...
                  Core version is v6.0.4 (Latest: v6.0.4)
                  Web version is v6.0.1 (Latest: v6.0.1)
                  FTL version is v6.0.2 (Latest: v6.0.2)

                  1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @Lucifor1976 last edited by

                    @lucifor1976
                    Wenns sonst niemand macht kann ich mir das mal ansehen. Aber frühestens in sagen wir mal 2 Wochen.

                    Bitte triggert mich ggF in 2 bis 3 Wochen wenn ich nichts sage / schreibe.

                    Lucifor1976 N 2 Replies Last reply Reply Quote 2
                    • Lucifor1976
                      Lucifor1976 @mcm1957 last edited by

                      @mcm1957
                      Wer ich machen 🙂

                      Das wäre toll, meine JS Kenntnisse reichen leider bei weiten nicht für sowas.

                      Vielleicht sollte ich das auf meine alten Tage nochmal angehen...

                      mcm1957 1 Reply Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @Lucifor1976 last edited by

                        @lucifor1976
                        Wenn du jemals einen Adapter warten / entwickeln willst bist du gern gesehen. Meld dich ggef auf Telegram / Discord - gibt nen eigene "Starters Channel". Invite Links auf https://www.iobroker.dev. Aber auch Tester helfen extrem bei der Entwicklung eines Adapters.

                        1 Reply Last reply Reply Quote 0
                        • Meister Mopper
                          Meister Mopper @Dr. Bakterius last edited by

                          @dr-bakterius
                          Ich habe jetzt auch die neueste Version aufgespielt.
                          f223103e-96dc-4ecd-99c9-2863716db06a-grafik.png

                          Da ich nur einen Kern vergeben habe, ist das so in Ordnung. RAM wurde bei
                          5b9804b9-ed26-4824-affe-e58f6b5350c5-grafik.png

                          knapp über 1G benötigt.

                          Aktuell läuft der Container unter anderer IP nur sporadisch, da

                          • es offenbar noch Probleme gibt (ich habe mich mal in die github watchlist für releases eingetragen)

                          • der Adapter die Version noch nicht unterstützt

                          1 Reply Last reply Reply Quote 0
                          • N
                            neunteufels @mcm1957 last edited by

                            @mcm1957
                            Super, dass du übernimmst.
                            Ich teste gerne.
                            Bitte um Info wenn es so weit ist.

                            mfg

                            1 Reply Last reply Reply Quote 0
                            • Ro75
                              Ro75 last edited by

                              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 Mopper 1 Reply Last reply Reply Quote 0
                              • Meister Mopper
                                Meister Mopper @Ro75 last edited by

                                @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.

                                1 Reply Last reply Reply Quote 1
                                • F
                                  fzuern last edited by

                                  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 Reply Quote 0
                                  • Meister Mopper
                                    Meister Mopper last edited by Homoran

                                    @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.

                                    mcm1957 1 Reply Last reply Reply Quote 0
                                    • mcm1957
                                      mcm1957 @Meister Mopper last edited by

                                      @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.

                                      ceng G 2 Replies Last reply Reply Quote 4
                                      • ceng
                                        ceng @mcm1957 last edited by ceng

                                        @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

                                        1 Reply Last reply Reply Quote 1
                                        • G
                                          Galen @mcm1957 last edited by

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

                                          mcm1957 1 Reply Last reply Reply Quote 0
                                          • mcm1957
                                            mcm1957 @Galen last edited by

                                            @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.

                                            OliverIO 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            937
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            18
                                            53
                                            3852
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo