Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Allgemeine Frage zu httpget

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Allgemeine Frage zu httpget

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      docsnyder7 last edited by docsnyder7

      Guten Morgen... mich treibt eine Frage um. Da das Script zum PSA-Car-Controller nach der neue JS Umstellung ja verändert werden müsste bzgl. request und get und es im Blockly ebenso neue Blöcke gibt, stellt sich mir die Aufgabe, ob man die Daten, die der PSA-Car-Controller zur Verfügung stellt, nicht auch via Blockly abrufen kann. Der Adapter stellt eine Oberfläche zur Verfügung, die zwar Unterpunkte einhält wie TRIPS, Charge, Summary... aber es bleibt in der Browserzeile immer nur (localhost:5000)
      Meine Frage.. kann eine solche Seite nach bestimmten Werte abgesucht oder bestimmte Begriffe gefiltert und ausgewertet werden?

      psa.jpg

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

        @docsnyder7 sagte in Allgemeine Frage zu httpget:

        kann eine solche Seite nach bestimmten Werte abgesucht oder bestimmte Begriffe gefiltert und ausgewertet werden?

        Ja, aber ich denke dass Du mit dem Parser-Adapter da einfacher ans Ziel kommst.

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

          @haus-automatisierung
          Du meinst das Script anpassen? Ich hab befürchtet, dass wer das vorschlägt... 😬

          Dann muß ich mal des NAchtens mich auch in JS einlesen, hilft ja nix😕

          Ah nee.. du meinst den separaten PARSER_Adapter.. jetzt hab ich es verstanden. Ok
          seh ich mir an

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @docsnyder7 last edited by

            @docsnyder7 sagte in Allgemeine Frage zu httpget:

            Da das Script zum PSA-Car-Controller

            wo hast du das gepostet?

            @docsnyder7 sagte in Allgemeine Frage zu httpget:

            auch via Blockly abrufen kann

            mit Sicherheit!

            @haus-automatisierung sagte in Allgemeine Frage zu httpget:

            dass Du mit dem Parser-Adapter da einfacher ans Ziel kommst.

            kommt auf die Rückgabe an.
            Wenn da alles als JSON kommt ist das zwar Fleißarbeit, aber die ist es beim Parser Adapter auch

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

              @docsnyder7 Kommt halt drauf an was genau da zurückgeliefert wird. Das, was Du im Browser siehst, ist ja ggf. per JavaScript und nachgeladenem Inhalt (Ajax / XHR) zusammengebaut worden. Da müsste man sich die Webseite genauer anschauen um da helfen zu können.

              Wäre natürlich ein Traum, wenn die Inhalte per JavaScript zu HTML dynamisch zusammengebaut werden, und die eigentlichen Daten per JSON abrufbar sind. Dann braucht man kein HTML zerlegen (was nie schön ist).

              1 Reply Last reply Reply Quote 0
              • D
                docsnyder7 @Homoran last edited by docsnyder7

                @homoran

                function iter(name, obj) {
                   for(let i in obj) {
                      if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
                      else {
                         log(name + '.' + i + ': ' + obj[i]);
                         if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
                         else createState(name + '.' + i, obj[i]); // type: "mixed"
                      }
                   }
                }
                 
                function SendRequest(){
                    var options = {
                        url: 'http://localhost:5000/get_vehicleinfo/VIN'
                    };
                 
                    request(options, function (error, response, body){
                        if (!error) iter('javascript.0.PSA', JSON.parse(body));
                        else console.error(error);
                    });
                }
                 
                schedule('1 * * * * *', SendRequest);
                

                IOBroker thread

                psa.jpg
                mal ein Auszug aus der Browsekonsole

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @docsnyder7 last edited by Homoran

                  @docsnyder7 sagte in Allgemeine Frage zu httpget:

                  @homoran

                  function iter(name, obj) {
                     for(let i in obj) {
                        if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]);
                        else {
                           log(name + '.' + i + ': ' + obj[i]);
                           if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]);
                           else createState(name + '.' + i, obj[i]); // type: "mixed"
                        }
                     }
                  }
                   
                  function SendRequest(){
                      var options = 'http://localhost:5000/get_vehicleinfo/VIN';
                   
                      httpGet(options, function (error, response){
                          if (!error) iter('javascript.0.PSA', JSON.parse(response.data));
                          else console.error(error);
                      });
                  }
                   
                  schedule('1 * * * * *', SendRequest);
                  

                  IOBroker thread

                  versuch das mal.
                  hab zwar keine Ahnung von js, sollte, könnte, müsste klappen können

                  EDIT: Änderung der options lt. nächstem Post von @paul53 durchgeführt

                  paul53 2 Replies Last reply Reply Quote 0
                  • Latzi
                    Latzi last edited by

                    Muss da anstatt options nicht die URL rein?

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

                      @homoran sagte: versuch das mal.

                      Ändere options:

                          var options = 'http://localhost:5000/get_vehicleinfo/VIN';
                      
                      
                      1 Reply Last reply Reply Quote 1
                      • paul53
                        paul53 @Homoran last edited by

                        @homoran sagte: Änderung der options lt. nächstem Post von @paul53 durchgeführt

                        Nicht ganz: url: ist zu viel.

                        Homoran 1 Reply Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by

                          @paul53 aber jetzt!

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            docsnyder7 @Homoran last edited by docsnyder7

                            @homoran
                            @paul53

                            Dauert nen Moment, sitze grad im Kundengespräch …

                            Läuft...
                            1000Dank!!!!

                            kurze Erklärung bitte... die url weg samt der Klammer, statt request ein httpGet
                            thats it?

                            wäre denn der Ansatz mit Blockly möglich... die Seite gibt doch json aus laut Browserkonsole?

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            656
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            5
                            12
                            416
                            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