Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Rest API, Value von Gerät auslesen, In Datenpunkt schreiben

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Rest API, Value von Gerät auslesen, In Datenpunkt schreiben

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

      @haus-automatisierung sagte in Rest API, Value von Gerät auslesen, In Datenpunkt schreiben:

      Ja, einfacher wäre es aber das XML direkt zu parsen

      dazu muss er erst einmal die daten abrufen können. da scheint es noch daran zu haken

      @wusa
      kopiere das gepostete skript einfach mal im javascript adapter in ein skript.
      dann trage in den javasceript adapter einstellungen als zusätzliche npm module noch

      xpath
      xmldom

      ein. dann müsste das skript laufen und verschiedene datenpunkt anlegen

      den letzten befehl
      setState("hm-rega.0.7022", dateFormat(currentdate, "dd. mmm yyyy hh:MM"));
      löschen, der könnte für dich nicht passen

      haus-automatisierung W 2 Replies Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @OliverIO last edited by

        @oliverio Ah, ich habe nicht alle Beiträge genau gelesen. Dachte es liegt nur noch am XML, weil hier ja zuletzt Lösungen zum Parsen geteilt wurden.

        Dann das Script mal auf den Verbose-Mode umschalten und ggf. den Timeout im Blockly-Baustein erhöhen.

        W 1 Reply Last reply Reply Quote 0
        • W
          wusa @haus-automatisierung last edited by

          @haus-automatisierung

          Hier ist nochmal die ganze Seite. So wird es angezeigt.
          da9d7edf-8baf-49a9-b339-be0ca151be21-image.png

          Es wird von REST API gesprochen. Es kommt aber XML-Datei in der Meldung.
          Ich bin mir hier leider auch nicht ganz sicher, wie ich ans Ziel komme.

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • W
            wusa @OliverIO last edited by

            @oliverio
            Das könnte funktioniere. Wollte das aber gerne über einen eigenen Adapter oder über das Blockly lösen.
            Wenn etwas neues hinzukommt, dann kann man das relative leicht lösen.
            Das Skript verstehe ich zb. gar nicht, daher würde ich es gerne umgehen.

            Dachte jetzt ehrlich gesagt erstmal an Blockly oder dann an den Parse Adapter.

            Codierknecht 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @wusa last edited by

              @wusa sagte in Rest API, Value von Gerät auslesen, In Datenpunkt schreiben:

              Es wird von REST API gesprochen. Es kommt aber XML-Datei in der Meldung.

              Ist doch alles richtig, eine REST-API kann auch XML zurück liefern. Bitte erstmal die Tipps von oben umsetzen. Ist ja soweit auf den ersten Blick alles richtig.

              W 1 Reply Last reply Reply Quote 1
              • Codierknecht
                Codierknecht Developer Most Active @wusa last edited by

                @wusa
                Wie @haus-automatisierung schon schieb: REST sagt erstmal nix über das Format der Antwort.

                Probier vielleicht zuerst mal, den Timeout höher zu setzen und lass Dir die Antwort einfach per Debug-Block ausgeben.
                Dann sehen wir weiter.

                138f719c-9dcd-4f87-8754-28872f72b737-image.png

                W 1 Reply Last reply Reply Quote 0
                • W
                  wusa @haus-automatisierung last edited by

                  @haus-automatisierung
                  Zeit habe ich erhöht. Bisher keine Besserung. Aber was meinst du mit Verbose Modus genau?
                  Meinst du den Schraubenschlüssel und "Ausführliche Protokollausgaben"?

                  1 Reply Last reply Reply Quote 0
                  • W
                    wusa @Codierknecht last edited by

                    @codierknecht

                    Skript
                    0bab6de4-8f25-44db-9825-d92ae8280e3a-image.png

                    Antwort:
                    12711a38-575c-4fe4-b167-12441e94cfe6-image.png

                    Hier scheint nichts zurück zu kommen außer "null".

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

                      @wusa

                      das gerät anwortet ja auch nicht. was soll da ausgegeben werden?

                      W 1 Reply Last reply Reply Quote 1
                      • Codierknecht
                        Codierknecht Developer Most Active @wusa last edited by

                        @wusa
                        Ruf das nochmal im Browser auf und schau per F12 auf den Network-Tab.
                        Dort siehst Du, wie lange es bis zur Antwort dauert.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @wusa last edited by paul53

                          @wusa sagte: Mir ist nur der Wert von "strValue" wichtig.

                          Funktioniert es denn mit "request"? Wenn ja, dann versuche es mal so:

                          Blockly_temp.JPG

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

                            Ich merke gerade, dass ich noch ein ganz anderes Problem habe.
                            Ich bekommen keinen Ping durch zu dem Gerät. Die Antwort kommt im Browser aber trotzdem.

                            Ich kümmere mich jetzt mal um das Ping Problem, vielleicht sieht es dann schon wieder ganz anders aus.

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @wusa last edited by haus-automatisierung

                              @wusa sagte in Rest API, Value von Gerät auslesen, In Datenpunkt schreiben:

                              Aber was meinst du mit Verbose Modus genau?

                              Na die "ausführlichen Protokollausgaben" oben rechts im Script.

                              @wusa sagte in Rest API, Value von Gerät auslesen, In Datenpunkt schreiben:

                              Ich bekommen keinen Ping durch zu dem Gerät.

                              Nicht jedes Gerät muss auf einen Ping (ICMP) antworten. Das hat nichts zu sagen. Da würde ich jetzt keine Zeit investieren.

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @haus-automatisierung last edited by

                                @haus-automatisierung

                                das mag sein, das ein gerät nicht darauf antworten muss.
                                das icmp protokoll (ping ist ein abfallprodukt daraus) ist aber essentiell zur ip steuerung. daher würde es mich wundern, wenn gerade bei einem headless gerät das nicht implementiert wurde, da icmp meist schon bestandteil des eigentlichen netzwerk stacks ist. wenn icmp nicht durchkommt, dann weil firewalls die messages herausfiltern, da man dadurch auch netzwerkinfrastruktur ausforschen kann.

                                haus-automatisierung 1 Reply Last reply Reply Quote 0
                                • haus-automatisierung
                                  haus-automatisierung Developer Most Active @OliverIO last edited by

                                  @oliverio sagte in Rest API, Value von Gerät auslesen, In Datenpunkt schreiben:

                                  das icmp protokoll (ping ist ein abfallprodukt daraus) ist aber essentiell zur ip steuerung.

                                  Ja, und da funktioniert doch erstmal alles (der GET-Request aus dem Browser heraus wird ja beantwortet). Mich würde die Verbose-Ausgabe mehr interessieren. Ich wollte @wusa nur davon abhalten, am falschen Ende zu suchen und Zeit zu verschwenden.

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    wusa @haus-automatisierung last edited by

                                    @haus-automatisierung

                                    ICMP funktioniert grundsätzlich.
                                    Von einem anderen Gerät aus kommt der Ping wunderbar durch. Nur vom iobroker Server kommt der Ping nicht durch.

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

                                      @wusa

                                      ich habe iobroker im docker container laufen
                                      mein ping zum router geht durch.

                                      wie schon erwähnt filtern firewalls die icmp nachrichten (aber nicht standardmäßig, wenn dann muss das konfiguriert sein.).
                                      liegt das evtl an deinem wireguard? warst du nicht das mit wireguard im anderen thread?
                                      auch überschreiten icmp nachrichten nicht die grenzen des netzwerksegments. also wenn deine netzmaske bspw bei 255.255.255.0 liegt, dann kannst du bspw nur von 192.168.1.10 nach 192.168.1.20 pingen. also die ersten 3 ziffern der ip adresse muss identisch sein.

                                      das mal nur als hinweis für die fehlersuche

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

                                        @oliverio

                                        Ja ich war das auch mit Wireguard.
                                        Aber ich teste das ganze nicht durch den Tunnel sondern lokal.

                                        Es stimmt allerdings, dass ich nicht in andere Netzsegmente komme, aber dafür habe ich einen Router.

                                        Ich habe 2 VLANs. Eins in dem der iobroker ist und ein anderes.
                                        Firewall ist dementsprechend Konfiguriert.
                                        Ich erreichen von der iobroker VM alle Geräte im anderen VLAN nur die Heizung nicht.
                                        Bin ich in dem Netzwerk in dem auch die Heizung hängt, dann kommt der Ping durch.

                                        Heißt ich erreiche momentan genau ein Gerät nicht. Alle anderen schon.
                                        Im anderen VLAN erreiche ich alle Geräte inkl. Heizung. Ich mach mich mal auf die Suche.

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          wusa @wusa last edited by wusa

                                          Ich bin in der ganzen Sache jetzt weiter gekommen.
                                          Es war ein Firewall Problem, welches ich jetzt aber gelöst habe.

                                          Jetzt bekomme ich von dem Blockly folgende Rückantwort:

                                          error	script.js.common.ETA: Cannot parse "<?xml version="1.0" encoding="": SyntaxError: Unexpected token '<', "<?xml vers"... is not valid JSON
                                          
                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @wusa last edited by paul53

                                            @wusa sagte: folgende Rückantwort:

                                            XML ist nicht JSON. Mache es mit einer Liste, wie hier gezeigt.

                                            Blockly_temp.JPG

                                            W 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            569
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            35
                                            410
                                            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