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.
    • OliverIO
      OliverIO @Meister Mopper last edited by

      @meister-mopper

      probiere bitte nochmal.
      weiß nicht ob das aus dem adapter creator kommt oder ich da aus versehen dran gekommen bin. es war fixe admin version eingetragen

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

        @oliverio

        Nö, will (noch) nicht:

        host.ioTest 2025-06-24 17:58:07.904 error startInstance system.adapter.pi-hole2.0 Adapter dependency not fulfilled on any host: required adapter "admin" has wrong version. Installed "7.6.17", required "7.0.23"!

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

          @meister-mopper

          hier hat es funktioniert

          $ iobroker url oweitman/ioBroker.pi-hole2 --host iobroker_test --debug
          install oweitman/ioBroker.pi-hole2
          NPM version: 10.8.2
          Installing oweitman/ioBroker.pi-hole2... (System call)
          added 2 packages in 20s
          90 packages are looking for funding run `npm fund` for details
          upload [2] pi-hole2.admin /opt/iobroker/node_modules/iobroker.pi-hole2/admin/i18n/en.json i18n/en.json application/json
          upload [0] pi-hole2.admin /opt/iobroker/node_modules/iobroker.pi-hole2/admin/pi-hole2.png pi-hole2.png image/png
          Updating objects from io-package.json for adapter "pi-hole2" with version "0.0.1"
          Process exited with code 0
          

          638cf782-007b-452a-a618-1f3f23511649-image.png

          drücke mal nochmal vorher den repo aktualisieren knopf in der adapterliste

          habe festgestellt, das ich im dev-server lokal installiert habe,
          neuer test auf einem richtigen testserver hat aber auch funktioniert

          $ iobroker url https://github.com/oweitman/ioBroker.pi-hole2 --host iobroker_test --debug
          install oweitman/ioBroker.pi-hole2#592ba12212cf67103d630a7233688d1f59631c62
          NPM version: 10.8.2
          Installing oweitman/ioBroker.pi-hole2#592ba12212cf67103d630a7233688d1f59631c62... (System call)
          npm warn skipping integrity check for git dependency ssh://git@github.com/oweitman/ioBroker.pi-hole2.git
          added 2 packages in 11s
          95 packages are looking for funding run `npm fund` for details
          upload [2] pi-hole2.admin /opt/iobroker/node_modules/iobroker.pi-hole2/admin/i18n/en.json i18n/en.json application/json
          upload [0] pi-hole2.admin /opt/iobroker/node_modules/iobroker.pi-hole2/admin/pi-hole2.png pi-hole2.png image/png
          Updating objects from io-package.json for adapter "pi-hole2" with version "0.0.1"
          Process exited with code 0
          
          Meister Mopper 2 Replies Last reply Reply Quote 0
          • Meister Mopper
            Meister Mopper @OliverIO last edited by

            @oliverio

            Da isser, war mal wieder das 40 cm Problem.

            8b8c8557-eb2b-41d3-8372-f1c5b336a3cf-grafik.png

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

              @oliverio

              Ok, mein reduntanter Pihole läuft jetzt am Router als DNS.

              Mal schauen, was der Adapter liefert.

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

                @OliverIO

                DANKE.

                Damit hab ich einen Staupunkt weniger auf meiner Liste.

                Ich würde nur anregen den Adapter pi-hole6 zu nennen. Wäre meiner Ansicht nach klarer zu finden.

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

                  Der Adapter steht nun auch per NPM zur Verfügung.

                  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:

                    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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            839
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            31
                                            839
                                            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