Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. [gelöst] - Zabbix (FritzBox etc.)

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.3k

[gelöst] - Zabbix (FritzBox etc.)

Geplant Angeheftet Gesperrt Verschoben Off Topic
42 Beiträge 7 Kommentatoren 4.7k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Taddy81

    @codierknecht

    Ich nutze für meine fritzbox Auswertung folgenden DockerContainer:

    https://github.com/bb-Ricardo/fritzinfluxdb

    vermutlich wird dir das nicht viel bringen, aber wenn die Fb ein Problem hat, dann bekommst du das im Zweifel sowieso nicht mehr mit, da dein Homelab dann insgesamt offline ist.

    arteckA Offline
    arteckA Offline
    arteck
    Developer Most Active
    schrieb am zuletzt editiert von
    #4

    @taddy81 sagte in Zabbix (FritzBox etc.):

    da dein Homelab dann insgesamt offline ist.

    nicht unbedingt..ich hab dann nur kein Internet.. Intranet läuft weiterhin ..

    nicht immer von ausgehen dass so ne Fritte alles macht

    zigbee hab ich, zwave auch, nuc's genauso und HA auch

    T 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      Ich habe vor kurzem CheckMK durch Zabbix ersetzt, um meine Infrastruktur zu überwachen.
      Zabbix-Server und Zabbix-Frontend laufen als Docker-Container unter Synology. Die MariaDB läuft als LXC auf 'nem Lenovo ThinkCentre.

      Bin echt begeistert von dem System.

      Für die Alarmzentrale habe ich mir ein Template auf Basis deren Rest-Api gebaut.
      Für den Unifi-AP-Pro habe ich ein Template mit SSH-Checks erweitert.

      Was mir (wie vielen anderen) noch fehlt, ist eine Überwachung der Fritten, die über ein einfaches ICMP-Ping hinausgeht.
      Das sollte (theoretisch) über das TR064-Protokoll möglich sein, was man dann vermutlich über JavaScript implementieren könnte.
      Hat sowas schon jemand gemacht?
      Gibt es eventuell andere Ansätze? Vielleicht UPnP?

      ad1971a6-69ca-4d59-9a2d-2c69b34f8c91-grafik.png

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #5

      @codierknecht Welche Fritzbox soll denn ausgewertet werden?
      Das fritzinfluxdb Projekt ist nicht besonders Kabel-Fritzbox orientiert...

      Ich habe für meine Kabel-Fritzbox ein Javascript - Modul angepasst, das ich hier im Forum gefunden habe... Läuft direkt unter ioBroker und schreibt Datenpunkte für jeden verwendeten DOCSIS Kanal

      https://forum.iobroker.net/topic/38443/pegelwerte-fritzbox-6490-cable-auslesen

      Hier die neueste Version (ich arbeite aber noch mit einer älteren Version):

      https://forum.iobroker.net/assets/uploads/files/1699774964746-docsisinfov2.zip

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • MartinPM MartinP

        @codierknecht Welche Fritzbox soll denn ausgewertet werden?
        Das fritzinfluxdb Projekt ist nicht besonders Kabel-Fritzbox orientiert...

        Ich habe für meine Kabel-Fritzbox ein Javascript - Modul angepasst, das ich hier im Forum gefunden habe... Läuft direkt unter ioBroker und schreibt Datenpunkte für jeden verwendeten DOCSIS Kanal

        https://forum.iobroker.net/topic/38443/pegelwerte-fritzbox-6490-cable-auslesen

        Hier die neueste Version (ich arbeite aber noch mit einer älteren Version):

        https://forum.iobroker.net/assets/uploads/files/1699774964746-docsisinfov2.zip

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von Codierknecht
        #6

        @martinp sagte in Zabbix (FritzBox etc.):

        Welche Fritzbox soll denn ausgewertet werden?

        7590 als Router an Glasfaser und 'ne 7430 als zusätzlicher AccessPoint.

        @martinp sagte in Zabbix (FritzBox etc.):

        Läuft direkt unter ioBroker und schreibt Datenpunkte

        Mit dem ioBroker komme ich natürlich an die Daten ... über TR-064 und UpNP.
        Aber ich will ja idealerweise direkt in Zabbix ohne zusätzliche Komponenten an die Daten kommen.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        MartinPM 1 Antwort Letzte Antwort
        0
        • CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von
          #7

          Das was hier in PHP gemacht ist, sollte doch eigentlich auch in Zabbix mit JS gehen, oder?

          https://github.com/suptimal/zabbix-fritz.box-collector/blob/master/bin/get_status.php

          Dafür reichen meine JS-Skills aber noch nicht aus :-(

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          1 Antwort Letzte Antwort
          0
          • CodierknechtC Codierknecht

            @martinp sagte in Zabbix (FritzBox etc.):

            Welche Fritzbox soll denn ausgewertet werden?

            7590 als Router an Glasfaser und 'ne 7430 als zusätzlicher AccessPoint.

            @martinp sagte in Zabbix (FritzBox etc.):

            Läuft direkt unter ioBroker und schreibt Datenpunkte

            Mit dem ioBroker komme ich natürlich an die Daten ... über TR-064 und UpNP.
            Aber ich will ja idealerweise direkt in Zabbix ohne zusätzliche Komponenten an die Daten kommen.

            MartinPM Online
            MartinPM Online
            MartinP
            schrieb am zuletzt editiert von
            #8

            @codierknecht Da ist das Skript natürlich von geringem Nutzen...
            Für die Boxen sollte es schon ausreichend Lösungen von der Stange geben, sodass man nicht mit selbst gedengeltem Javascript die Diagnose-Seiten der Fritzbox crawlen und auswerten muss...

            Habe meine Signatur etwas erweitert - spart solche Rückfragen, wenn man seine Signatur etwas umfangreicher macht ...

            Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
            Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
            Linux pve 6.8.12-16-pve
            6 GByte RAM für den Container
            Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
            Remote-Access über Wireguard der Fritzbox

            CodierknechtC Thomas BraunT 3 Antworten Letzte Antwort
            0
            • MartinPM MartinP

              @codierknecht Da ist das Skript natürlich von geringem Nutzen...
              Für die Boxen sollte es schon ausreichend Lösungen von der Stange geben, sodass man nicht mit selbst gedengeltem Javascript die Diagnose-Seiten der Fritzbox crawlen und auswerten muss...

              Habe meine Signatur etwas erweitert - spart solche Rückfragen, wenn man seine Signatur etwas umfangreicher macht ...

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #9

              @martinp sagte in Zabbix (FritzBox etc.):

              Habe meine Signatur etwas erweitert - spart solche Rückfragen

              Könnte eng werden :grinning:

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              MartinPM 1 Antwort Letzte Antwort
              0
              • MartinPM MartinP

                @codierknecht Da ist das Skript natürlich von geringem Nutzen...
                Für die Boxen sollte es schon ausreichend Lösungen von der Stange geben, sodass man nicht mit selbst gedengeltem Javascript die Diagnose-Seiten der Fritzbox crawlen und auswerten muss...

                Habe meine Signatur etwas erweitert - spart solche Rückfragen, wenn man seine Signatur etwas umfangreicher macht ...

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #10

                @martinp sagte in Zabbix (FritzBox etc.):

                Habe meine Signatur etwas erweitert - spart solche Rückfragen

                Wenn die Signaturen denn immer aktuell gehalten würden... ;-)

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                1 Antwort Letzte Antwort
                0
                • MartinPM MartinP

                  @codierknecht Da ist das Skript natürlich von geringem Nutzen...
                  Für die Boxen sollte es schon ausreichend Lösungen von der Stange geben, sodass man nicht mit selbst gedengeltem Javascript die Diagnose-Seiten der Fritzbox crawlen und auswerten muss...

                  Habe meine Signatur etwas erweitert - spart solche Rückfragen, wenn man seine Signatur etwas umfangreicher macht ...

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von Codierknecht
                  #11

                  @martinp sagte in Zabbix (FritzBox etc.):

                  Für die Boxen sollte es schon ausreichend Lösungen von der Stange geben, sodass man nicht mit selbst gedengeltem Javascript die Diagnose-Seiten der Fritzbox crawlen und auswerten muss...

                  Die sind lediglich in D-A-CH verbreitet.
                  Was fertiges für Zabbix habe ich nicht gefunden.

                  Außerdem bin ich ein Freund von nativen Lösungen.
                  Wenn ich dazu erst zig zusätzliche Tools, Scripte und Container brauche, habe ich zu viele "points of failure".

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Antwort Letzte Antwort
                  0
                  • arteckA arteck

                    @taddy81 sagte in Zabbix (FritzBox etc.):

                    da dein Homelab dann insgesamt offline ist.

                    nicht unbedingt..ich hab dann nur kein Internet.. Intranet läuft weiterhin ..

                    nicht immer von ausgehen dass so ne Fritte alles macht

                    T Offline
                    T Offline
                    Taddy81
                    schrieb am zuletzt editiert von
                    #12

                    @arteck

                    Bei mir macht die Fritzbox auch nur "Internet", aber entweder ist Internet da, oder nicht da.

                    Ist halt die Frage, was Codierknecht gerne auswerten möchte.

                    Proxmox 3Node Cluster, IOBroker in LXC

                    PV Visualisierung und Steuerung mit NodeRed und Grafana

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • T Taddy81

                      @arteck

                      Bei mir macht die Fritzbox auch nur "Internet", aber entweder ist Internet da, oder nicht da.

                      Ist halt die Frage, was Codierknecht gerne auswerten möchte.

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #13

                      @taddy81 sagte in Zabbix (FritzBox etc.):

                      Bei mir macht die Fritzbox auch nur "Internet", aber entweder ist Internet da, oder nicht da.

                      Internet und Telefonie

                      Ist halt die Frage, was Codierknecht gerne auswerten möchte.

                      Externe IP und Verbindungsstatus.
                      Vielleicht auch noch Up- und Downstream.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #14

                        Man muss nur lange genug laut drüber nachdenken, dann klappt's auch :grinning:

                        3df60b18-2a97-488e-bbd5-26ad8fa30e6e-image.png

                        Das gieße ich dann noch in ein Template und hänge das später hier an.
                        Kann ja sein, dass das jemand brauchen kann ;-)

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        arteckA BananaJoeB 2 Antworten Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @martinp sagte in Zabbix (FritzBox etc.):

                          Habe meine Signatur etwas erweitert - spart solche Rückfragen

                          Könnte eng werden :grinning:

                          MartinPM Online
                          MartinPM Online
                          MartinP
                          schrieb am zuletzt editiert von
                          #15

                          @codierknecht said in [gelöst] - Zabbix (FritzBox etc.):

                          @martinp sagte in Zabbix (FritzBox etc.):

                          Habe meine Signatur etwas erweitert - spart solche Rückfragen

                          Könnte eng werden :grinning:

                          Im Gegensatz zur Thread-Überschrift gibt es für die Signatur anscheinend keine Längenbeschränkung.

                          Da habe ich manchmal Probleme, das [gelöst] davorzuklemmen, wenn es so weit ist...

                          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                          Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                          Linux pve 6.8.12-16-pve
                          6 GByte RAM für den Container
                          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                          Remote-Access über Wireguard der Fritzbox

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • CodierknechtC Codierknecht

                            Man muss nur lange genug laut drüber nachdenken, dann klappt's auch :grinning:

                            3df60b18-2a97-488e-bbd5-26ad8fa30e6e-image.png

                            Das gieße ich dann noch in ein Template und hänge das später hier an.
                            Kann ja sein, dass das jemand brauchen kann ;-)

                            arteckA Offline
                            arteckA Offline
                            arteck
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #16

                            @codierknecht jo machmal.. schau ich mir mal an

                            zigbee hab ich, zwave auch, nuc's genauso und HA auch

                            1 Antwort Letzte Antwort
                            0
                            • CodierknechtC Codierknecht

                              Man muss nur lange genug laut drüber nachdenken, dann klappt's auch :grinning:

                              3df60b18-2a97-488e-bbd5-26ad8fa30e6e-image.png

                              Das gieße ich dann noch in ein Template und hänge das später hier an.
                              Kann ja sein, dass das jemand brauchen kann ;-)

                              BananaJoeB Offline
                              BananaJoeB Offline
                              BananaJoe
                              Most Active
                              schrieb am zuletzt editiert von
                              #17

                              @codierknecht sagte in [gelöst] - Zabbix (FritzBox etc.):

                              Das gieße ich dann noch in ein Template und hänge das später hier an.

                              Da bin ich schon gespannt drauf :-)
                              Sieht so aus als hättest du das http agent Item entdeckt und den Rest hast du vermutlich mit Dependent Items gelöst - sehr gut

                              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                              CodierknechtC 1 Antwort Letzte Antwort
                              0
                              • MartinPM MartinP

                                @codierknecht said in [gelöst] - Zabbix (FritzBox etc.):

                                @martinp sagte in Zabbix (FritzBox etc.):

                                Habe meine Signatur etwas erweitert - spart solche Rückfragen

                                Könnte eng werden :grinning:

                                Im Gegensatz zur Thread-Überschrift gibt es für die Signatur anscheinend keine Längenbeschränkung.

                                Da habe ich manchmal Probleme, das [gelöst] davorzuklemmen, wenn es so weit ist...

                                CodierknechtC Offline
                                CodierknechtC Offline
                                Codierknecht
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #18

                                @martinp sagte in [gelöst] - Zabbix (FritzBox etc.):

                                gibt es für die Signatur anscheinend keine Längenbeschränkung

                                Doch. 320 Zeichen :-(

                                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                HmIP|ZigBee|Tasmota|Unifi
                                Zabbix Certified Specialist
                                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                1 Antwort Letzte Antwort
                                0
                                • BananaJoeB BananaJoe

                                  @codierknecht sagte in [gelöst] - Zabbix (FritzBox etc.):

                                  Das gieße ich dann noch in ein Template und hänge das später hier an.

                                  Da bin ich schon gespannt drauf :-)
                                  Sieht so aus als hättest du das http agent Item entdeckt und den Rest hast du vermutlich mit Dependent Items gelöst - sehr gut

                                  CodierknechtC Offline
                                  CodierknechtC Offline
                                  Codierknecht
                                  Developer Most Active
                                  schrieb am zuletzt editiert von Codierknecht
                                  #19

                                  @bananajoe sagte in [gelöst] - Zabbix (FritzBox etc.):

                                  Sieht so aus als hättest du das http agent Item entdeckt und den Rest hast du vermutlich mit Dependent Items gelöst

                                  Exakt.
                                  Nur durch den SOAP-Kram zu steigen hat 'ne Weile gedauert.

                                  https://github.com/DEV2DEV-DE/zabbix-templates/blob/b86ec42e12d84657995fed390ddb7e5aea98f514/zbx_template_fritzbox.xml

                                  32fcc26d-7ab6-470d-a2af-71a4f4fb6bf2-image.png

                                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                  HmIP|ZigBee|Tasmota|Unifi
                                  Zabbix Certified Specialist
                                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                  1 Antwort Letzte Antwort
                                  2
                                  • CodierknechtC Offline
                                    CodierknechtC Offline
                                    Codierknecht
                                    Developer Most Active
                                    schrieb am zuletzt editiert von Codierknecht
                                    #20

                                    Wenn jemand hierzu noch Input liefern kann: Jederzeit gerne!

                                    Unter der Adresse http://192.168.178.1:49000/tr64desc.xml lässt sich der Fritte eine Liste der unterstützten Services entlocken.
                                    Nur bei diesen bekomme ich allerdings ein Ergebnis:

                                    • urn:schemas-upnp-org:service:WANIPConnection:1#GetStatusInfo
                                    • urn:schemas-upnp-org:service:WANIPConnection:1#GetConnectionTypeInfo
                                    • urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress
                                    • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetCommonLinkProperties
                                    • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetTotalBytesReceived
                                    • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetTotalBytesSent

                                    Bei allen anderen Service bin ich bislang gescheitert und erhalte lediglich einen HTTP 500 - Internal server error zurück.
                                    Dabei ist es egal, ob ich das über http mit Port 49000 oder mit https über Port 49443 (langsamer) versuche.
                                    Auch muss der URL zu den Service mittlerweile /igdupnp/ lauten und nicht wie in fast allen Dokus /upnp/.

                                    Edit
                                    Scheint so, als käme man nicht so ohne Weiteres einfach nur mit Benutzername/Kennwort an die gewünschten Informationen.
                                    https://www.msxfaq.de/tools/prtg/getfritzmactable.htm
                                    Das Ganze muss dann in mehreren Schritten über Authenticate: Digest laufen.
                                    Habe ich allerdings bislang noch nicht zum Fliegen gebracht. Ich wüsste jetzt auch gar nicht wie ich Zabbix sowas beibringen könnte.

                                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                    HmIP|ZigBee|Tasmota|Unifi
                                    Zabbix Certified Specialist
                                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                    BananaJoeB 1 Antwort Letzte Antwort
                                    0
                                    • CodierknechtC Codierknecht

                                      Wenn jemand hierzu noch Input liefern kann: Jederzeit gerne!

                                      Unter der Adresse http://192.168.178.1:49000/tr64desc.xml lässt sich der Fritte eine Liste der unterstützten Services entlocken.
                                      Nur bei diesen bekomme ich allerdings ein Ergebnis:

                                      • urn:schemas-upnp-org:service:WANIPConnection:1#GetStatusInfo
                                      • urn:schemas-upnp-org:service:WANIPConnection:1#GetConnectionTypeInfo
                                      • urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress
                                      • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetCommonLinkProperties
                                      • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetTotalBytesReceived
                                      • urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetTotalBytesSent

                                      Bei allen anderen Service bin ich bislang gescheitert und erhalte lediglich einen HTTP 500 - Internal server error zurück.
                                      Dabei ist es egal, ob ich das über http mit Port 49000 oder mit https über Port 49443 (langsamer) versuche.
                                      Auch muss der URL zu den Service mittlerweile /igdupnp/ lauten und nicht wie in fast allen Dokus /upnp/.

                                      Edit
                                      Scheint so, als käme man nicht so ohne Weiteres einfach nur mit Benutzername/Kennwort an die gewünschten Informationen.
                                      https://www.msxfaq.de/tools/prtg/getfritzmactable.htm
                                      Das Ganze muss dann in mehreren Schritten über Authenticate: Digest laufen.
                                      Habe ich allerdings bislang noch nicht zum Fliegen gebracht. Ich wüsste jetzt auch gar nicht wie ich Zabbix sowas beibringen könnte.

                                      BananaJoeB Offline
                                      BananaJoeB Offline
                                      BananaJoe
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #21

                                      @codierknecht Als Item kann man ein Script benutzen - das ist dann ein JavaScript wo du das dann so ähnlich wie in ioBroker machen kannst, also erst Anmelden und dann mit dem Token die daten holen.
                                      Irgendwo gibt es ein Beispiel dafür ... ich meine bei HPE Storage per API

                                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                      1 Antwort Letzte Antwort
                                      0
                                      • CodierknechtC Offline
                                        CodierknechtC Offline
                                        Codierknecht
                                        Developer Most Active
                                        schrieb am zuletzt editiert von Codierknecht
                                        #22

                                        @BananaJoe Der Tipp war Gold wert :-D

                                        Falls es jemanden interessiert:
                                        Ich hab's jetzt hinbekommen, über die TR-064 Schnittstelle der Fritte auch geschützte Daten auszulesen.

                                        const axios = require('axios');
                                        const crypto = require('crypto');
                                        const xml = require('xmldom');
                                        const parser = new xml.DOMParser();
                                        
                                        async function getForwardedPortsCount(username, password) {
                                        
                                            const requestHeader = {
                                                'Content-Type': 'text/xml; charset="utf-8"',
                                                'SoapAction': 'urn:dslforum-org:service:Layer3Forwarding:1' + '#' + 'GetForwardNumberOfEntries'
                                            };
                                            
                                            var requestBody = '<?xml version="1.0" encoding="utf-8"?>' +
                                            '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
                                            '    <s:Header>' +
                                            '        <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
                                            '            <UserID>' + username + '</UserID>' +
                                            '        </h:InitChallenge>' +
                                            '    </s:Header>' +
                                            '    <s:Body>' +
                                            '        <u:' + 'GetForwardNumberOfEntries' + ' xmlns:u="' + 'urn:dslforum-org:service:Layer3Forwarding:1' + '" />' +
                                            '    </s:Body>' +
                                            '</s:Envelope>';
                                        
                                            // Initialize challenge with Fritz!Box
                                            var uri = 'http://' + '192.168.178.1' + ':49000' + '/upnp/control/layer3forwarding';
                                            var response = await axios.post(uri, requestBody, { headers: requestHeader });
                                        
                                            // Calculate authentication
                                            var doc = parser.parseFromString(response.data, 'text/xml');
                                            const nonce = doc.getElementsByTagName('Nonce')[0].childNodes[0].nodeValue;
                                            const realm = doc.getElementsByTagName('Realm')[0].childNodes[0].nodeValue;
                                            const secret = crypto.createHash('md5').update(username + ':' + realm + ':' + password).digest('hex');
                                            const auth = crypto.createHash('md5').update(secret + ':' + nonce).digest('hex');
                                        
                                            // Get values with authentication
                                            requestBody = '<?xml version="1.0" encoding="utf-8"?>' +
                                            '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
                                            '    <s:Header>' +
                                            '        <h:ClientAuth xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
                                            '            <Nonce>' + nonce + '</Nonce>' +
                                            '            <Auth>' + auth + '</Auth>' +
                                            '            <UserID>' + username + '</UserID>' +
                                            '            <Realm>' + realm + '</Realm>' +
                                            '        </h:ClientAuth>' +
                                            '    </s:Header>' +
                                            '    <s:Body>' +
                                            '        <u:' + 'GetForwardNumberOfEntries' + ' xmlns:u="' + 'urn:dslforum-org:service:Layer3Forwarding:1' + '" />' +
                                            '    </s:Body>' +
                                            '</s:Envelope>';
                                        
                                            response = await axios.post(uri, requestBody, { headers: requestHeader });
                                        
                                            // return result
                                            var doc = parser.parseFromString(response.data, 'text/xml');
                                            const ports = doc.getElementsByTagName('NewForwardNumberOfEntries')[0].childNodes[0].nodeValue;
                                            return(ports);
                                        
                                        }
                                        

                                        Allerdings erst einmal nur direkt im ioBroker und nicht als Zabbix-Script-Item.
                                        Das liefert mir blöderweise beim POST-Request einen 404 :-(
                                        Alles was ich dort mit GET-Requests mache, funktioniert tadellos.
                                        Warum GET funktioniert und POST nicht, ist mir (noch) schleierhaft.

                                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                        HmIP|ZigBee|Tasmota|Unifi
                                        Zabbix Certified Specialist
                                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                        CodierknechtC 1 Antwort Letzte Antwort
                                        2
                                        • CodierknechtC Codierknecht

                                          @BananaJoe Der Tipp war Gold wert :-D

                                          Falls es jemanden interessiert:
                                          Ich hab's jetzt hinbekommen, über die TR-064 Schnittstelle der Fritte auch geschützte Daten auszulesen.

                                          const axios = require('axios');
                                          const crypto = require('crypto');
                                          const xml = require('xmldom');
                                          const parser = new xml.DOMParser();
                                          
                                          async function getForwardedPortsCount(username, password) {
                                          
                                              const requestHeader = {
                                                  'Content-Type': 'text/xml; charset="utf-8"',
                                                  'SoapAction': 'urn:dslforum-org:service:Layer3Forwarding:1' + '#' + 'GetForwardNumberOfEntries'
                                              };
                                              
                                              var requestBody = '<?xml version="1.0" encoding="utf-8"?>' +
                                              '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
                                              '    <s:Header>' +
                                              '        <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
                                              '            <UserID>' + username + '</UserID>' +
                                              '        </h:InitChallenge>' +
                                              '    </s:Header>' +
                                              '    <s:Body>' +
                                              '        <u:' + 'GetForwardNumberOfEntries' + ' xmlns:u="' + 'urn:dslforum-org:service:Layer3Forwarding:1' + '" />' +
                                              '    </s:Body>' +
                                              '</s:Envelope>';
                                          
                                              // Initialize challenge with Fritz!Box
                                              var uri = 'http://' + '192.168.178.1' + ':49000' + '/upnp/control/layer3forwarding';
                                              var response = await axios.post(uri, requestBody, { headers: requestHeader });
                                          
                                              // Calculate authentication
                                              var doc = parser.parseFromString(response.data, 'text/xml');
                                              const nonce = doc.getElementsByTagName('Nonce')[0].childNodes[0].nodeValue;
                                              const realm = doc.getElementsByTagName('Realm')[0].childNodes[0].nodeValue;
                                              const secret = crypto.createHash('md5').update(username + ':' + realm + ':' + password).digest('hex');
                                              const auth = crypto.createHash('md5').update(secret + ':' + nonce).digest('hex');
                                          
                                              // Get values with authentication
                                              requestBody = '<?xml version="1.0" encoding="utf-8"?>' +
                                              '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
                                              '    <s:Header>' +
                                              '        <h:ClientAuth xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
                                              '            <Nonce>' + nonce + '</Nonce>' +
                                              '            <Auth>' + auth + '</Auth>' +
                                              '            <UserID>' + username + '</UserID>' +
                                              '            <Realm>' + realm + '</Realm>' +
                                              '        </h:ClientAuth>' +
                                              '    </s:Header>' +
                                              '    <s:Body>' +
                                              '        <u:' + 'GetForwardNumberOfEntries' + ' xmlns:u="' + 'urn:dslforum-org:service:Layer3Forwarding:1' + '" />' +
                                              '    </s:Body>' +
                                              '</s:Envelope>';
                                          
                                              response = await axios.post(uri, requestBody, { headers: requestHeader });
                                          
                                              // return result
                                              var doc = parser.parseFromString(response.data, 'text/xml');
                                              const ports = doc.getElementsByTagName('NewForwardNumberOfEntries')[0].childNodes[0].nodeValue;
                                              return(ports);
                                          
                                          }
                                          

                                          Allerdings erst einmal nur direkt im ioBroker und nicht als Zabbix-Script-Item.
                                          Das liefert mir blöderweise beim POST-Request einen 404 :-(
                                          Alles was ich dort mit GET-Requests mache, funktioniert tadellos.
                                          Warum GET funktioniert und POST nicht, ist mir (noch) schleierhaft.

                                          CodierknechtC Offline
                                          CodierknechtC Offline
                                          Codierknecht
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #23

                                          @codierknecht
                                          @Garfonso @fastfoot
                                          Ich hab' die Diskussion aus Discord mal hier weitergetrieben.
                                          Hier kriegen das mehr User mit ... falls es wen interessiert.

                                          Das "fehlerhafte" Script in Zabbix sieht so aus:

                                          const params = JSON.parse(value);
                                          
                                          const requestBody = '<?xml version="1.0" encoding="utf-8"?>' +
                                          '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
                                          '    <s:Header>' +
                                          '        <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
                                          '            <UserID>' + params.username + '</UserID>' +
                                          '        </h:InitChallenge>' +
                                          '    </s:Header>' +
                                          '    <s:Body>' +
                                          '        <u:' + params.action + ' xmlns:u="' + params.urn + '" />' +
                                          '    </s:Body>' +
                                          '</s:Envelope>';
                                          
                                          const action = params.urn + '#' + params.action;
                                          
                                          // Initialize challenge with Fritz!Box
                                          var url = 'http://' + params.ip + ':49000' + params.url;
                                          const request = new HttpRequest();
                                          request.addHeader('Content-Type', 'text/xml; charset="utf-8"');
                                          request.addHeader('SoapAction', action);
                                          var response = request.post(url, requestBody);
                                          
                                          return JSON.stringify(response);
                                          

                                          Der POST-Request liefert ein 404.
                                          Teste ich das mit einem GET gegen die Fritte (z.B. http://192.168.178.1:49000/tr64desc.xml), funktioniert das einwandfrei ... auch mit Port 49000.

                                          Wenn ich den hier verwendeten Header und den URL in Postman einsetze, funktioniert das auch problemlos.

                                          e6711c35-7202-40db-a29d-5648b80c557a-image.png

                                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                          HmIP|ZigBee|Tasmota|Unifi
                                          Zabbix Certified Specialist
                                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          511

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe