Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Neuer Adapter pi-hole2 für pihole>=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

    Neuer Adapter pi-hole2 für pihole>=V6

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

      @oliverio sagte in Neuer Adapter pi-hole2 für pihole>=V6:

      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.

      Was muss eingegeben werden, um API-Endpunkte durchzuprobieren (habe da noch keine Erfahrung)?

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

        @meister-mopper

        Ist eigentlich einfach

        Schritt1 pi-hole API Seite aufrufen

        http://pi.hole/api/docs/
        Diese Adresse ist direkt eurer pi-hole im Netz

        Schritt2 Passwort eingeben

        Protokoll auswählen (ich konnte nur http ausprobieren), dann Passwort eintragen, dann Login-Knopf drücken. Nach Erfolg wird der Login-Knopf dann in Logout umbenannt und wird grün.
        ffa224e5-9751-4e76-9692-b05f55e86711-image.png

        Schritt3 API-aussuchen ohne Parameter Vorbereitung

        Aufklappen des entsprechenden Bereichs und dann Try Knopf drücken
        f1b17e3c-895e-4bcd-952d-801912075c0c-image.png

        Schritt4 API-aussuchen ohne Parameter Ergebnis

        Ergebnis erscheint dann
        f0d93dc3-3108-49c9-b3e7-2ecbdf2f3a01-image.png

        Schritt5 API-aussuchen mit Parameter Vorbereitung

        Aufklappen Parameter füllen (hier schon erledigt), boolean ist true oder false oder leer, und try drücken
        0d15d5a8-2121-48e7-a436-4f27a1b7ca58-image.png

        Schritt6 API-aussuchen mit Parameter Ergebnis

        Ergebnis erscheint dann
        9f9d1c8a-19aa-4374-8711-4d9f9e1f3516-image.png

        API in iobroker nutzen

        Wenn man dann eine API gefunden hat, kann man sie wie hier beschrieben per javascript im iobroker einbinden
        https://github.com/oweitman/ioBroker.pi-hole2?tab=readme-ov-file#general-sendto-function

        The sendTo function is used to send commands to the pi-hole device. You can try the api on your local machine. Go to http://pi.hole/api/docs/# and enter your password and press login button.

        Example

        sendTo(
          "pi-hole2.0",
          "piholeapi",
          {
            method: "GET",
            endpoint: "/history/clients",
            params: {
              N: 20,
            },
          },
          function (data) {
            console.log(data);
          },
        );
        

        Wenn bei der Eingabe Zeitstempel benötigt werden, ist zu beachten, das dies in UNIX-Zeit zu erfolgen hat. UNIX timestamps sind Sekunden seit 1.1.70, daher muss der Javascript ts noch durch 1000 geteilt werden.

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

          @oliverio sagte in Neuer Adapter pi-hole2 für pihole>=V6:

          Auch habe ich keine pi-hole V5 Installation verfügbar, so das ich nicht nachschauen kann, wie die Daten bisher aussahen.

          Der Adapter v5 hat schon viele Datenpunkte generiert. Aus meiner Sicht ist das oversized, wer in diese Informationstiefe gehen möchte, kann ja das pi-hole frontend aufrufen, da wird es sogar grafisch aufgearbeitet.


          b9bdf2cc-1c6f-446d-a382-08f63a0ccd68-grafik.png

          Gut fände ich, wenn der Adapter Auskunft über die laufende Version und ggf. eine neue Version informiert.

          Ich nutze derzeit diese Informationen aus der v5:

          pi-hole.0.versions.FTL_current
          pi-hole.0.versions.core_current
          pi-hole.0.versions.web_current
          pi-hole.0.versions.FTL_latest
          pi-hole.0.versions.core_latest
          pi-hole.0.versions.web_latest
          pi-hole.0.versions.FTL_update
          pi-hole.0.summary.domains_being_blocked
          pi-hole.0.summary.ads_blocked_today
          pi-hole.0.summary.ads_percentage_today
          
          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO last edited by OliverIO

            @meister-mopper

            Die Frage ist halt, sollte sowas automatisiert durch den Adapter aufbereitet werden und in einen Datenpunkt geschrieben werden und wenn ja, in welchem Ausmaß und Detailgenauigkeit oder sollte so etwas nach bedarf dann durch jeden aufbereitet werden.

            Das ist der Inhalt des Datenpunkts Version

            {
              "version": {
                "core": {
                  "local": {
                    "version": "v6.0.6",
                    "branch": "master",
                    "hash": "0f7803b7"
                  },
                  "remote": {
                    "version": "v6.1.2",
                    "hash": "ec892ec0"
                  }
                },
                "web": {
                  "local": {
                    "version": "v6.1",
                    "branch": "master",
                    "hash": "1eaddca8"
                  },
                  "remote": {
                    "version": "v6.2.1",
                    "hash": "cc1cc285"
                  }
                },
                "ftl": {
                  "local": {
                    "hash": "a3313229",
                    "branch": "master",
                    "version": "v6.1",
                    "date": "2025-03-30 17:53:24 +0100"
                  },
                  "remote": {
                    "version": "v6.2.3",
                    "hash": "88737f62"
                  }
                },
                "docker": {
                  "local": "2025.04.0",
                  "remote": "2025.06.2"
                }
              },
              "took": 0.0002613067626953125
            }
            

            Das könnte man dann mit dem widget jsontemplate
            https://forum.iobroker.net/topic/31521/test-widget-json-template
            auf dem Datenpunkt
            pi-hole2.0.Version

            mit folgendem Template sehr einfach in vis darstellen

            <style>
               p.pihole {
                   margin: 0px;
               }
            </style>
            <p class="pihole">core.local: <%- data.version.core.local.version %></p>
            <p class="pihole">core.remote: <%- data.version.core.remote.version %></p>
            <p class="pihole">web.local: <%- data.version.web.local.version %></p>
            <p class="pihole">web.remote: <%- data.version.web.remote.version %></p>
            <p class="pihole">ftl.local: <%- data.version.ftl.local.version %></p>
            <p class="pihole">ftl.remote: <%- data.version.ftl.remote.version %></p>
            
            

            362efd4f-15cb-4eb6-b692-af598febafd5-image.png

            Natürlich kann man das auch durch den javascript/blockly adapter genauso aufbereiten. Bei JSON hilft jsonata was ja im javascript-adapter ebenfalls bereits eingebaut ist

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

              @oliverio sagte in Neuer Adapter pi-hole2 für pihole>=V6:

              Die Frage ist halt, sollte sowas automatisiert durch den Adapter aufbereitet werden und in einen Datenpunkt geschrieben werden und wenn ja, in welchem Ausmaß und Detailgenauigkeit oder sollte so etwas nach bedarf dann durch jeden aufbereitet werden.

              Ja, das ist eher ein philosophischer Ansatz.

              Streng genommen bedarf es keines Adapters, weil jeder die API-Daten direkt abfragen kann (es gab ja auch schon ein Skriptangebot für v6, kann man nutzen, keine Frage).
              Selbstüberheblich könnte ich jetzt sagen, dass ich mir aufgrund meiner Pensionierung und der dadurch generierten Zeit bis in zwei Jahren das coden zutraue.

              Wahrscheinlich wird es aber einige User überfordern, die sich auf eine middleware-Lösung eingelassen haben und auch die entsprechenden Datenpunkte - ohne eigene Programmierung - erhoffen).

              Philosophisch wegen der Fragen:
              Wo will der ioBroker hin? Eine Anleitung zum Programmieren für Newbies? Smarthome in einem Guss?

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

                @meister-mopper

                generell ist es kein problem ausgewählte werte direkt als datenpunkt anzulegen und zu aktualisieren.

                hast du diese werte in den aktuellen daten gefunden?

                pi-hole.0.summary.domains_being_blocked
                pi-hole.0.summary.ads_blocked_today
                pi-hole.0.summary.ads_percentage_today

                ich habe nur

                queries.total
                queries.blocked

                gefunden

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

                  Neue Version 0.2.3

                  • Kleine Fehlerbehebung in der Dokumentation
                  • Benutzeragent anpassen und Informationen zur Fehlerbehebung "too many seats" hinzufügen
                  • Visualisierungsbeispiel für Versions hinzugefügt
                  • Visualisierungsbeispiel für Summary hinzugefügt
                  1 Reply Last reply Reply Quote 1
                  • OliverIO
                    OliverIO last edited by OliverIO

                    Neue Version 0.3.0

                    • Übersetzungsdateien hinzugefügt
                    • Aktualisierungslogik und Refreshzeiten an Pihole angepasst
                    • Passwort verschlüsselt (Passwort muss bei Aktualisierung erneut eingegeben werden)
                    • Ausgewählte Detail-Datenpunkte für Summary und Version hinzugefügt.

                    591cfbc7-8506-444b-8702-9371c40d9eb3-image.png

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

                      Neue Version 0.4.0

                      • Die Extraktion von Detailwerten für Version/Summary kann deaktiviert werden.
                      1 Reply Last reply Reply Quote 0
                      • Negalein
                        Negalein Global Moderator @OliverIO last edited by

                        @oliverio sagte in Neuer Adapter pi-hole2 für pihole>=V6:

                        Fehler, Ideen, Anregungen dann bitte hier.

                        Hallo Oliver

                        Ist das Grau so gewollt?

                        6da702df-e619-4046-99d0-f6336343b3ce-image.png

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @Negalein last edited by

                          @negalein

                          ah, danke. habe nicht mit hellem hintergrund getestet.
                          hatte aber einen ähnlichen effekt bei dunkel.
                          ist leider ein automatismus des admin.
                          muss mir für hell dann eine anderen grünton suchen, bei rot ist es ja ok.
                          der admin prüft den kontrast der farbe und schaltet dann halt einen anderen grünton dazu.

                          1 Reply Last reply Reply Quote 1
                          • OliverIO
                            OliverIO last edited by OliverIO

                            Neue Version 0.4.1

                            • Das Problem mit der Farbgebung bei grünen Datenpunkten wurde behoben.
                            SBorg 1 Reply Last reply Reply Quote 1
                            • SBorg
                              SBorg Forum Testing Most Active @OliverIO last edited by

                              @oliverio
                              Danke, wollte die Tage schon die API per NodeRED Flow abfragen 😊
                              Pi-hole.png

                              Richtet sich eher an den "Unbedarften":


                              sendTo(
                              "pi-hole2.0",
                              "piholeapi",
                              {
                              method: "GET",
                              endpoint: "/stats/summary"
                              },
                              function (data) {
                              console.log(data.queries.percent_blocked);
                              },
                              );

                              const json=getState('pi-hole2.0.Summary').val;
                              const obj = JSON.parse(json);

                              console.log(obj.queries.percent_blocked);


                              Blockly.png

                              Man sieht, man kommt auch so relativ einfach an die gewünschten Daten heran. Von daher sehe ich nicht unbedingt eine Notwendigkeit alles als Datenpunkt anbieten zu müssen.

                              OliverIO 2 Replies Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @SBorg last edited by

                                @sborg

                                Wenn es eine hohe Nachfrage gibt, dann ist es kein Problem datenpunkte noch hinzuzunehmen.
                                Daher auch meine Frage oben
                                Bisher kam aber noch nicht soviel Anforderungen.
                                Gut der Adapter ist jung und es ist Sommer.

                                Summary wird halt im Standard jede Sekunde abgefragt und ich wollte im Standard jetzt nicht so hohe Last auf den iobroker legen.
                                Gut den Abfrage Intervall kann man ggfs. auch in der Konfiguration senken, ich habe daher die Konfiguration auch etwas detaillierter aufgedröselt.

                                1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @SBorg last edited by

                                  @sborg

                                  Du hast nur 5% geblockt?
                                  Bei mir ist der Anteil bei über 50%
                                  Microsoft, Amazon,Samsung und Netflix telefonieren schon viel nach Hause.

                                  SBorg 1 Reply Last reply Reply Quote 0
                                  • SBorg
                                    SBorg Forum Testing Most Active @OliverIO last edited by

                                    @oliverio
                                    Meine Blocklist wurde offenbar nicht mehr geupdated. Habe ich aber nicht bemerkt, da ich fast nur mit meinem Laptop im Internet unterwegs bin. Da filtert der FF alles aus. Geladen habe ich den ganzen Kram natürlich dann aber doch, da ist das blocken per Pi-hole wesentlich effizienter. Dafür habe ich ihn ja auch.

                                    1 Reply Last reply Reply Quote -1
                                    • OliverIO
                                      OliverIO last edited by OliverIO

                                      Der Adapter müsste nun im beta auftauchen

                                      • Der erste Post wurde aufgrund dessen überarbeitet
                                      • Um eine fertige Version zu signalisieren wurde eine V1.0.0 released
                                      1 Reply Last reply Reply Quote 1
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      943
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      27
                                      758
                                      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