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. Skripten / Logik
  4. Blockly
  5. JSON Abfrage per Request liefert nur Matsch

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

JSON Abfrage per Request liefert nur Matsch

Geplant Angeheftet Gesperrt Verschoben Blockly
26 Beiträge 5 Kommentatoren 3.5k Aufrufe 4 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.
  • OliverIOO OliverIO

    @schrecki

    also ich konnte den fehler nachvollziehen.
    auch die adresse mal mit https://www.google.de getauscht kamen ein korrektes ergebnis.
    erst dachte ich, das es evtl daran liegt, das kein user-agent mit dabei ist.
    manche anbieter prüfen das, aber daran lag es nicht

    ich denke das der anbieter am request irgendwas noch prüft und dann irgendwas ausgibt.
    bei solchen zeichen würde ich mal auf binäre daten tippen. evtl ist es auch ein bild, aber auf dem screenshot fehlt der anfang. aber lohnt sich auch nicht da noch weiter zu forschen.

    den befehl mit axios als javascript nachgebildet funktioniert korrekt

    const axios = require('axios');
    const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; //user agent, so das der abruf wie von einem browser aussieht, ansonsten verwendet axios seinen eigenen ua-string
    
    try {
        const response = await axios.get("https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json",{
            headers: {
                userAgent: userAgent
            }
        });
        console.log(response.data);
    } catch (error) {
        console.error('Fehler Abruf', error);
    }
    
    
    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #6

    @oliverio sagte in JSON Abfrage per Request liefert nur Matsch:

    ich denke das der anbieter am request irgendwas noch prüft und dann irgendwas ausgibt.
    bei solchen zeichen würde ich mal auf binäre daten tippen. evtl ist es auch ein bild, aber auf dem screenshot fehlt der anfang. aber lohnt sich auch nicht da noch weiter zu forschen.

    mit "STOP - so nicht" :joy:

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @schrecki ist das Verschlüsselt?
      braucht es für Warnwetter.de zugangsdaten?

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #7

      @homoran sagte in JSON Abfrage per Request liefert nur Matsch:

      ist das Verschlüsselt?
      braucht es für Warnwetter.de zugangsdaten?

      nein, wenn du selbst auf den link klickst und ihn im browser öffnest, dann kommt ein json-objekt
      nur halt nicht in blockly

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      0
      • S schrecki

        Hallo zusammen!

        Ich hab nun schon Stunden investiert und per SuFu bin ich auch nicht fündig geworden, nun erstelle ich mal nen Beitrag in der Hoffnung das jmd. ne Lösung hat ;)
        Vorhaben: Ich möchte die Wetterdaten vom Großen Arber abgreifen.
        Dazu habe ich mich hier mal belesen: https://listed.to/@DieSieben/7851/api-des-deutschen-wetterdienstes
        Hab mir die URL zurecht gelegt, sieht so aus: https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json
        -> Funktioniert im Browser einwandfrei, im iobroker aber dann nicht mehr.
        Zum Test hab ich einfach mal ein Testobjekt angelegt und wollte da alles was kommt reinschreiben.
        d2cdf644-8909-46e6-91c2-f8dc9aa2aeab-image.png
        Bin ich zu blöd?
        Browser sieht OK aus:
        6f48a9fd-2b17-4b54-89e8-7c26b3d4d3a3-image.png
        Habe so was auch für andere Wetterstation gemacht, allerdings anderer Provider. Funktioniert dort prima.
        Scheint für mich so als käme nicht wie erwartet JSON Format zurück, sondern iwas. anderes...

        Danke schon mal für eure Hilfe!

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #8

        @schrecki

        ok nochmal nachtrag.
        irgendwas scheint bei dieser abfrage mit der request bibliothek nicht zu stimmen.
        was auch immer die durcheinanderbringt oder man noch eine option setzen muss.

        auch das folgende funktioniert nicht

        try {
            const request = require("request");
            request.get("https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json", async(error, response, result) => {
                console.log(response);
            }).on("error", (e) => {
                console.error(e);
            });
        } catch (e) {
            console.error(e);
        }
        
        
        

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        S 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @schrecki

          ok nochmal nachtrag.
          irgendwas scheint bei dieser abfrage mit der request bibliothek nicht zu stimmen.
          was auch immer die durcheinanderbringt oder man noch eine option setzen muss.

          auch das folgende funktioniert nicht

          try {
              const request = require("request");
              request.get("https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json", async(error, response, result) => {
                  console.log(response);
              }).on("error", (e) => {
                  console.error(e);
              });
          } catch (e) {
              console.error(e);
          }
          
          
          
          S Offline
          S Offline
          schrecki
          schrieb am zuletzt editiert von
          #9

          @oliverio Leute, ich habs mittlerweile gefunden...
          Bin einfach mal auf ein Ubundu in's Terminal und hab mal geschaut was mit "wget" so passiert...
          Da gibts noch die Option "-d" um da mehr Infos raus zu bekommen...
          -> Das was da kommt ist GZIP...
          "Content-Encoding: gzip" steht da in der Ausgabe.
          Der Browser ist so schlau und verwurstet es gleich oder bekommt es evtl bereits anders ausgeliefert, aber ein

          wget https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json -O Arber.json.gzip && gunzip Arber.json.gzip
          

          Liefert dann das korrekte File :face_with_rolling_eyes:
          Jetzt muss ich das nur noch meinem Blockly beibringen :blush:

          OliverIOO 1 Antwort Letzte Antwort
          0
          • S schrecki

            @oliverio Leute, ich habs mittlerweile gefunden...
            Bin einfach mal auf ein Ubundu in's Terminal und hab mal geschaut was mit "wget" so passiert...
            Da gibts noch die Option "-d" um da mehr Infos raus zu bekommen...
            -> Das was da kommt ist GZIP...
            "Content-Encoding: gzip" steht da in der Ausgabe.
            Der Browser ist so schlau und verwurstet es gleich oder bekommt es evtl bereits anders ausgeliefert, aber ein

            wget https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json -O Arber.json.gzip && gunzip Arber.json.gzip
            

            Liefert dann das korrekte File :face_with_rolling_eyes:
            Jetzt muss ich das nur noch meinem Blockly beibringen :blush:

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #10

            @schrecki

            dazu müsste man in blockly, an der stelle an der die url übergeben wird
            ein options objekt übergeben,

            das würde dann ungefähr so aussehen

            const options = {
              url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
              method: "get",
              gzip: true,
              headers: {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
              }
            };
            
            

            https://www.npmjs.com/package/request#:~:text=encoding%3A null.)-,gzip,-%2D%20if%20true%2C%20add

            ob das in blockly geht weiß ich nicht

            hab in javascript gerade getestet, funktioniert

            try {
                const options = {
                    url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
                    method: "get",
                    gzip: true,
                    headers: {
                        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
                    }
                };
            
                const request = require("request");
                request.get(options, async(error, response, result) => {
                    console.log(response);
                }).on("error", (e) => {
                    console.error(e);
                });
            } catch (e) {
                console.error(e);
            }
            

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            S 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @schrecki

              dazu müsste man in blockly, an der stelle an der die url übergeben wird
              ein options objekt übergeben,

              das würde dann ungefähr so aussehen

              const options = {
                url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
                method: "get",
                gzip: true,
                headers: {
                  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
                }
              };
              
              

              https://www.npmjs.com/package/request#:~:text=encoding%3A null.)-,gzip,-%2D%20if%20true%2C%20add

              ob das in blockly geht weiß ich nicht

              hab in javascript gerade getestet, funktioniert

              try {
                  const options = {
                      url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
                      method: "get",
                      gzip: true,
                      headers: {
                          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
                      }
                  };
              
                  const request = require("request");
                  request.get(options, async(error, response, result) => {
                      console.log(response);
                  }).on("error", (e) => {
                      console.error(e);
                  });
              } catch (e) {
                  console.error(e);
              }
              
              S Offline
              S Offline
              schrecki
              schrieb am zuletzt editiert von
              #11

              @oliverio Danke für deine Mühen... aber bei JS setzt es aus bei mir :disappointed_relieved:
              Was ich geschafft hätte, ich kann es mit einem "exec" block runterladen und dann auch entpacken, hätte lokal ein JSON liegen, aber da bin ich erneut gescheitert, denn der "request" Block kann scheinbar nix lokales verarbeiten, oder ich bin erneut mal wieder zu doof...

              OliverIOO 1 Antwort Letzte Antwort
              0
              • S schrecki

                @oliverio Danke für deine Mühen... aber bei JS setzt es aus bei mir :disappointed_relieved:
                Was ich geschafft hätte, ich kann es mit einem "exec" block runterladen und dann auch entpacken, hätte lokal ein JSON liegen, aber da bin ich erneut gescheitert, denn der "request" Block kann scheinbar nix lokales verarbeiten, oder ich bin erneut mal wieder zu doof...

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #12

                @schrecki
                Was ich damit sagen wollte ist, blockly Request verwendet im Hintergrund die Bibliothek Request. Und die hat die Möglichkeit ein Optionen Objekt mitzugeben. Wie gesagt keine Ahnung ob der blocklybaustein das kann.
                Wenn nicht dann kratzt der echt nur an der Oberfläche der Möglichkeiten.
                Du kannst ja mal bei GitHub zum Adapter ein issue anlegen.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                HomoranH 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @schrecki
                  Was ich damit sagen wollte ist, blockly Request verwendet im Hintergrund die Bibliothek Request. Und die hat die Möglichkeit ein Optionen Objekt mitzugeben. Wie gesagt keine Ahnung ob der blocklybaustein das kann.
                  Wenn nicht dann kratzt der echt nur an der Oberfläche der Möglichkeiten.
                  Du kannst ja mal bei GitHub zum Adapter ein issue anlegen.

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #13

                  @oliverio sagte in JSON Abfrage per Request liefert nur Matsch:

                  Du kannst ja mal bei GitHub zum Adapter ein issue anlegen.

                  wo request schon ewig als deprecated getaggt ist?

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  S 1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @oliverio sagte in JSON Abfrage per Request liefert nur Matsch:

                    Du kannst ja mal bei GitHub zum Adapter ein issue anlegen.

                    wo request schon ewig als deprecated getaggt ist?

                    S Offline
                    S Offline
                    schrecki
                    schrieb am zuletzt editiert von
                    #14

                    @homoran
                    Das hab ich mir auch gedacht, wird nichts nützen vermutlich.
                    Aber i hab einen Plan B in der Hinterhand... Ich werde des nochmal probieren mit "exec", hole mir das File, unzip (so weit war ich ja schon), dann auf's NAS schieben und von da kann ich's hoffentlich wieder mit "requests" abholen vom dortigen Webserver.
                    Is von hinten durch die Brust ins Auge, aber würde funktionieren - vermutlich.
                    Plan C: Feature Request beim DWD Adapter.
                    Aktuell is es noch so, ich habe die Daten im iobroker, greife sie von einer Pimatic Installation ab. Das hatte ich vor iobroker. Dort gibt es ein DWD Plugin das genau das kann. Der Adapter von iobroker kann "nur" Warnungen. Evtl könnte man ihn einfach um die Funktion der Stationsabfrage erweitern.

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • S schrecki

                      @homoran
                      Das hab ich mir auch gedacht, wird nichts nützen vermutlich.
                      Aber i hab einen Plan B in der Hinterhand... Ich werde des nochmal probieren mit "exec", hole mir das File, unzip (so weit war ich ja schon), dann auf's NAS schieben und von da kann ich's hoffentlich wieder mit "requests" abholen vom dortigen Webserver.
                      Is von hinten durch die Brust ins Auge, aber würde funktionieren - vermutlich.
                      Plan C: Feature Request beim DWD Adapter.
                      Aktuell is es noch so, ich habe die Daten im iobroker, greife sie von einer Pimatic Installation ab. Das hatte ich vor iobroker. Dort gibt es ein DWD Plugin das genau das kann. Der Adapter von iobroker kann "nur" Warnungen. Evtl könnte man ihn einfach um die Funktion der Stationsabfrage erweitern.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #15

                      @schrecki sagte in JSON Abfrage per Request liefert nur Matsch:

                      Evtl könnte man ihn einfach um die Funktion der Stationsabfrage erweitern.

                      mach ich mit dem Parser Adapter

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      S 1 Antwort Letzte Antwort
                      0
                      • mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #16

                        @schrecki Du kannst doch den Code von @OliverIO und als Funktion in Blockly einbinden?

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        S 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @schrecki sagte in JSON Abfrage per Request liefert nur Matsch:

                          Evtl könnte man ihn einfach um die Funktion der Stationsabfrage erweitern.

                          mach ich mit dem Parser Adapter

                          S Offline
                          S Offline
                          schrecki
                          schrieb am zuletzt editiert von
                          #17

                          @homoran den wenn ich kapieren würde :joy:
                          Ich befürchte den werd ich nie verstehen...

                          1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @schrecki Du kannst doch den Code von @OliverIO und als Funktion in Blockly einbinden?

                            S Offline
                            S Offline
                            schrecki
                            schrieb am zuletzt editiert von
                            #18

                            @mickym
                            Wenn du mir sagst wie das geht?
                            Sorry, da steh ich grad komplett am Schlauch. Ich dachte immer, entweder oder. Javascript oder Blockly, aber beides mischen?

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • S schrecki

                              @mickym
                              Wenn du mir sagst wie das geht?
                              Sorry, da steh ich grad komplett am Schlauch. Ich dachte immer, entweder oder. Javascript oder Blockly, aber beides mischen?

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #19

                              @schrecki Nehmen wir mal an Du willst diesen Code von @OliverIO verwenden:

                              try {
                                  const options = {
                                      url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
                                      method: "get",
                                      gzip: true,
                                      headers: {
                                          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
                                      }
                                  };
                               
                                  const request = require("request");
                                  request.get(options, async(error, response, result) => {
                                      console.log(response);
                                  }).on("error", (e) => {
                                      console.error(e);
                                  });
                              } catch (e) {
                                  console.error(e);
                              }
                              
                              

                              oder Du nimmst den Code mit der axios Bibliothek - ich nehm mal nur den mit der request Bibliothek.

                              Ich glaube zwar - dass das nicht ganz richtig ist, weil ich den konsolen output abfrage, aber es scheint zu funktionieren:

                              143a4b92-d932-484a-96ca-8c64bd48870c-image.png

                              Du musst halt @OliverIO oder @paul53 fragen, wie man das asynchron einbindet damit Du was im Blockly zurückbekommst. Im Moment ist das nur die Konsolenausgabe der Funktion - aber keine Rückgabe in die response Variable. - Aber ich kenn mich mit Puzzeln nicht so gut aus.

                              Hier das Blockly mit dem Code von @OliverIO

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <variables>
                                 <variable id="Drc3,5E3dtsooSRbdv}K">url</variable>
                                 <variable id="!eY@+?{]SiMQl]U-]_S$">response</variable>
                               </variables>
                               <block type="procedures_defcustomreturn" id="=Ib|l%wE0-!(2!$i:6GY" x="113" y="38">
                                 <mutation statements="false">
                                   <arg name="url" varid="Drc3,5E3dtsooSRbdv}K"></arg>
                                 </mutation>
                                 <field name="NAME">URL mit gzip</field>
                                 <field name="SCRIPT">bGV0IHJlc3BvbnNlID0gYXdhaXQgbXlyZXF1ZXN0KHVybCk7Cgphc3luYyBmdW5jdGlvbiBteXJlcXVlc3QodXJsKSB7CnRyeSB7CiAgICBjb25zdCBvcHRpb25zID0gewogICAgICAgIHVybDogdXJsLAogICAgICAgIG1ldGhvZDogImdldCIsCiAgICAgICAgZ3ppcDogdHJ1ZSwKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICdVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMTYuMC4wLjAgU2FmYXJpLzUzNy4zNicKICAgICAgICB9CiAgICB9OwogCiAgICBjb25zdCByZXF1ZXN0ID0gcmVxdWlyZSgicmVxdWVzdCIpOwogICAgcmVxdWVzdC5nZXQob3B0aW9ucywgYXN5bmMoZXJyb3IsIHJlc3BvbnNlLCByZXN1bHQpID0+IHsKICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7CiAgICAgICAgCiAgICB9KS5vbigiZXJyb3IiLCAoZSkgPT4gewogICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7CiAgICB9KTsKfSBjYXRjaCAoZSkgewogICAgY29uc29sZS5lcnJvcihlKTsKfQp9CnJldHVybiAwOw==</field>
                                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                               </block>
                               <block type="variables_set" id="ugEH}nuaFt2cgP:-pOl#" x="113" y="88">
                                 <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                 <value name="VALUE">
                                   <block type="procedures_callcustomreturn" id="_`5Lbo9XrR+}/[H_K8x^">
                                     <mutation name="URL mit gzip">
                                       <arg name="url"></arg>
                                     </mutation>
                                     <value name="ARG0">
                                       <block type="text" id="Q/3.^E$8=iXD4`7Q!/Y~">
                                         <field name="TEXT">https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="(*Ckl_s:[HiNpm,cZU%*">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="=c/u4J;{z?`e3o6dIvCL">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="jf^V/=:|Da(~L4ki#T%L">
                                         <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                              </xml>
                              

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @schrecki Nehmen wir mal an Du willst diesen Code von @OliverIO verwenden:

                                try {
                                    const options = {
                                        url: 'https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json',
                                        method: "get",
                                        gzip: true,
                                        headers: {
                                            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
                                        }
                                    };
                                 
                                    const request = require("request");
                                    request.get(options, async(error, response, result) => {
                                        console.log(response);
                                    }).on("error", (e) => {
                                        console.error(e);
                                    });
                                } catch (e) {
                                    console.error(e);
                                }
                                
                                

                                oder Du nimmst den Code mit der axios Bibliothek - ich nehm mal nur den mit der request Bibliothek.

                                Ich glaube zwar - dass das nicht ganz richtig ist, weil ich den konsolen output abfrage, aber es scheint zu funktionieren:

                                143a4b92-d932-484a-96ca-8c64bd48870c-image.png

                                Du musst halt @OliverIO oder @paul53 fragen, wie man das asynchron einbindet damit Du was im Blockly zurückbekommst. Im Moment ist das nur die Konsolenausgabe der Funktion - aber keine Rückgabe in die response Variable. - Aber ich kenn mich mit Puzzeln nicht so gut aus.

                                Hier das Blockly mit dem Code von @OliverIO

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="Drc3,5E3dtsooSRbdv}K">url</variable>
                                   <variable id="!eY@+?{]SiMQl]U-]_S$">response</variable>
                                 </variables>
                                 <block type="procedures_defcustomreturn" id="=Ib|l%wE0-!(2!$i:6GY" x="113" y="38">
                                   <mutation statements="false">
                                     <arg name="url" varid="Drc3,5E3dtsooSRbdv}K"></arg>
                                   </mutation>
                                   <field name="NAME">URL mit gzip</field>
                                   <field name="SCRIPT">bGV0IHJlc3BvbnNlID0gYXdhaXQgbXlyZXF1ZXN0KHVybCk7Cgphc3luYyBmdW5jdGlvbiBteXJlcXVlc3QodXJsKSB7CnRyeSB7CiAgICBjb25zdCBvcHRpb25zID0gewogICAgICAgIHVybDogdXJsLAogICAgICAgIG1ldGhvZDogImdldCIsCiAgICAgICAgZ3ppcDogdHJ1ZSwKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICdVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMTYuMC4wLjAgU2FmYXJpLzUzNy4zNicKICAgICAgICB9CiAgICB9OwogCiAgICBjb25zdCByZXF1ZXN0ID0gcmVxdWlyZSgicmVxdWVzdCIpOwogICAgcmVxdWVzdC5nZXQob3B0aW9ucywgYXN5bmMoZXJyb3IsIHJlc3BvbnNlLCByZXN1bHQpID0+IHsKICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7CiAgICAgICAgCiAgICB9KS5vbigiZXJyb3IiLCAoZSkgPT4gewogICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7CiAgICB9KTsKfSBjYXRjaCAoZSkgewogICAgY29uc29sZS5lcnJvcihlKTsKfQp9CnJldHVybiAwOw==</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                 <block type="variables_set" id="ugEH}nuaFt2cgP:-pOl#" x="113" y="88">
                                   <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                   <value name="VALUE">
                                     <block type="procedures_callcustomreturn" id="_`5Lbo9XrR+}/[H_K8x^">
                                       <mutation name="URL mit gzip">
                                         <arg name="url"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="text" id="Q/3.^E$8=iXD4`7Q!/Y~">
                                           <field name="TEXT">https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="(*Ckl_s:[HiNpm,cZU%*">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="=c/u4J;{z?`e3o6dIvCL">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="variables_get" id="jf^V/=:|Da(~L4ki#T%L">
                                           <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                                </xml>
                                

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von
                                #20

                                @mickym

                                Weiter oben ist die Version mit axios die funktioniert

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • OliverIOO OliverIO

                                  @mickym

                                  Weiter oben ist die Version mit axios die funktioniert

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #21

                                  @oliverio Na die request, wie Du sie getestet hast ja auch - dann muss er die axios Bibliothek nicht einbinden. Ich stehe nur wieder mit der asynchronen JS verarbeitung auf Kriegsfuss. Der Konsolenoutput stammt ja von Deinem Code - in dem Du in die Konsole schreibst.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @oliverio Na die request, wie Du sie getestet hast ja auch - dann muss er die axios Bibliothek nicht einbinden. Ich stehe nur wieder mit der asynchronen JS verarbeitung auf Kriegsfuss. Der Konsolenoutput stammt ja von Deinem Code - in dem Du in die Konsole schreibst.

                                    S Offline
                                    S Offline
                                    schrecki
                                    schrieb am zuletzt editiert von
                                    #22

                                    @mickym Okay, ich habs bis hierhin jetzt auch geschafft, aber nun steh ich wieder...
                                    Schaffe es nicht mit meinen Kenntnissen die Werte da raus zu ziehen und in die Objekte zu schreiben...
                                    Zugegeben, der Hellste bin ich ja nun nicht wenns bei Blockly da in die Tiefe geht, hab mir schon öfters mal Beiträge in Foren angesehen um mir das TV-Programm als Telegram schicken zu lassen, Quelle der TV Spielfilm Adapter...
                                    Ist ja ähnlich hier, ich hab ned Text und will da Info's draus haben.
                                    Der Groschen will da einfach nicht fallen wie ich das angehen muss :man-facepalming:
                                    Ich will mir jetzt nicht von euch ne fertige Lösung basteln lassen, ein Forum sollte dazu da sein um Hilfe zur Selbsthilfe zu erhalten und um es zum Schluss auch zu verstehen was ich gemacht habe. Aber bei manchen Dingen fehlt mir halt leider einfach auch der nötige Background :confused:
                                    An der Stelle aber mal ein fettes DANKE an alle die sich hier schon eingebracht haben!

                                    mickymM 1 Antwort Letzte Antwort
                                    1
                                    • S schrecki

                                      @mickym Okay, ich habs bis hierhin jetzt auch geschafft, aber nun steh ich wieder...
                                      Schaffe es nicht mit meinen Kenntnissen die Werte da raus zu ziehen und in die Objekte zu schreiben...
                                      Zugegeben, der Hellste bin ich ja nun nicht wenns bei Blockly da in die Tiefe geht, hab mir schon öfters mal Beiträge in Foren angesehen um mir das TV-Programm als Telegram schicken zu lassen, Quelle der TV Spielfilm Adapter...
                                      Ist ja ähnlich hier, ich hab ned Text und will da Info's draus haben.
                                      Der Groschen will da einfach nicht fallen wie ich das angehen muss :man-facepalming:
                                      Ich will mir jetzt nicht von euch ne fertige Lösung basteln lassen, ein Forum sollte dazu da sein um Hilfe zur Selbsthilfe zu erhalten und um es zum Schluss auch zu verstehen was ich gemacht habe. Aber bei manchen Dingen fehlt mir halt leider einfach auch der nötige Background :confused:
                                      An der Stelle aber mal ein fettes DANKE an alle die sich hier schon eingebracht haben!

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #23

                                      @schrecki Na ich probier noch bissi - ich kämpfe immer noch mit der asynchronen JS Verarbeitung - ich melde mich wenn ich weiter gekommen bin. Wie man allgemein ja weiß ;) ;) ;) bin ich kein Puzzle-Freund - deswegen ist das für mich hier immer wieder eine Herausforderung.

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @schrecki Na ich probier noch bissi - ich kämpfe immer noch mit der asynchronen JS Verarbeitung - ich melde mich wenn ich weiter gekommen bin. Wie man allgemein ja weiß ;) ;) ;) bin ich kein Puzzle-Freund - deswegen ist das für mich hier immer wieder eine Herausforderung.

                                        S Offline
                                        S Offline
                                        schrecki
                                        schrieb am zuletzt editiert von
                                        #24

                                        @mickym wenn ich Zeit (Tochter mit 15Mon. will bespaßt werden :hugging_face: ) hab werd ich sicher auch wieder testen, Trial and Error Prinzip :grin:
                                        Macht's halt schwierig wenn man von manchen Bausteinen schon nicht detailliert weiß was sie tun und wie sie funktionieren.
                                        Aber man kann dadurch nur lernen! Bin mir sicher, wenn der Groschen mal gefallen is, öffnet das Tür und Tor für weitere Projekte und Integrationen in iobroker. Die Möglichkeiten sind theoretisch ja endlos :wink:

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • S schrecki

                                          @mickym wenn ich Zeit (Tochter mit 15Mon. will bespaßt werden :hugging_face: ) hab werd ich sicher auch wieder testen, Trial and Error Prinzip :grin:
                                          Macht's halt schwierig wenn man von manchen Bausteinen schon nicht detailliert weiß was sie tun und wie sie funktionieren.
                                          Aber man kann dadurch nur lernen! Bin mir sicher, wenn der Groschen mal gefallen is, öffnet das Tür und Tor für weitere Projekte und Integrationen in iobroker. Die Möglichkeiten sind theoretisch ja endlos :wink:

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #25

                                          @Na dann musst halt die axios Bibliothek nehmen . Mit dem request Teil komm ich auch nicht zurecht.

                                          98cc31a4-858e-474d-bde7-250b4c4b3699-image.png

                                          Mit der gehts - und dann kannst auch auf alles Zugreifen.

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                            <variables>
                                              <variable id="Drc3,5E3dtsooSRbdv}K">url</variable>
                                              <variable id="!eY@+?{]SiMQl]U-]_S$">response</variable>
                                            </variables>
                                            <block type="procedures_defcustomreturn" id="=Ib|l%wE0-!(2!$i:6GY" x="113" y="38">
                                              <mutation statements="false">
                                                <arg name="url" varid="Drc3,5E3dtsooSRbdv}K"></arg>
                                              </mutation>
                                              <field name="NAME">URL mit gzip</field>
                                              <field name="SCRIPT">CmNvbnN0IGF4aW9zID0gcmVxdWlyZSgnYXhpb3MnKTsKY29uc3QgdXNlckFnZW50ID0gIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMTYuMC4wLjAgU2FmYXJpLzUzNy4zNiI7IC8vdXNlciBhZ2VudCwgc28gZGFzIGRlciBhYnJ1ZiB3aWUgdm9uIGVpbmVtIGJyb3dzZXIgYXVzc2llaHQsIGFuc29uc3RlbiB2ZXJ3ZW5kZXQgYXhpb3Mgc2VpbmVuIGVpZ2VuZW4gdWEtc3RyaW5nCiAKdHJ5IHsKICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0KHVybCx7CiAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICB1c2VyQWdlbnQ6IHVzZXJBZ2VudAogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7Cn0gY2F0Y2ggKGVycm9yKSB7CiAgICBjb25zb2xlLmVycm9yKCdGZWhsZXIgQWJydWYnLCBlcnJvcik7Cn0=</field>
                                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                            </block>
                                            <block type="variables_set" id="ugEH}nuaFt2cgP:-pOl#" x="113" y="88">
                                              <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                              <value name="VALUE">
                                                <block type="procedures_callcustomreturn" id="_`5Lbo9XrR+}/[H_K8x^">
                                                  <mutation name="URL mit gzip">
                                                    <arg name="url"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text" id="Q/3.^E$8=iXD4`7Q!/Y~">
                                                      <field name="TEXT">https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/current_measurement_10791.json</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="debug" id="(*Ckl_s:[HiNpm,cZU%*">
                                                  <field name="Severity">log</field>
                                                  <value name="TEXT">
                                                    <shadow type="text" id="=c/u4J;{z?`e3o6dIvCL">
                                                      <field name="TEXT">test</field>
                                                    </shadow>
                                                    <block type="variables_get" id="jf^V/=:|Da(~L4ki#T%L">
                                                      <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="debug" id="Z;4(${0FK-z3YuU6p:nj">
                                                      <field name="Severity">log</field>
                                                      <value name="TEXT">
                                                        <shadow type="text" id="JkWAaTGjvOM{VX_dg%D{">
                                                          <field name="TEXT">test</field>
                                                        </shadow>
                                                        <block type="get_attr" id="-DITH1uqE@?858G@c(xQ">
                                                          <value name="PATH">
                                                            <shadow type="text" id="1_~Of@S^wJPK](bYLFVT">
                                                              <field name="TEXT">pressure</field>
                                                            </shadow>
                                                          </value>
                                                          <value name="OBJECT">
                                                            <block type="variables_get" id=",[q*nBjNR!+^[+I(,abd">
                                                              <field name="VAR" id="!eY@+?{]SiMQl]U-]_S$">response</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </xml>
                                          

                                          Du musst die Bibliothek hat im JS Adapter einbinden.

                                          82a191a7-4dd2-46ca-bd1d-0f02722571f0-image.png

                                          Mit der Request und diesem async habe ich es auch nicht hinbekommen - aber so kannst Du nun im Blockly alle URLs aufrufen und auch auf die Eigenschaften im Objekt zugreifen.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          967

                                          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