Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Skripte von request auf httpGet umbauen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Skripte von request auf httpGet umbauen

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @liv-in-sky last edited by

      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

      ganze npm modul zeitraum gemessen

      Was ist ein "npm modul zeitraum" ? Das ist ein Parameter, welcher intern einfach 1:1 an axios weitergereicht wird. Keine Magie.

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Negalein last edited by

        @negalein
        @haus-automatisierung

        hierm la ein test mit einem sonoff, der bei 2000 "ab und an spinnt"

        curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010'
        {"POWER":"ON","Dimmer":10,"Color":"041A0D","HSBColor":"144,83,10","Channel":[2,10,5]}  time_namelookup:  0.000020s
                time_connect:  0.004704s
             time_appconnect:  0.000000s
            time_pretransfer:  0.004749s
               time_redirect:  0.000000s
          time_starttransfer:  0.068009s
                             ----------
                  time_total:  0.077903s
        root@iobroker59 12:13:05  ~   >
        
        
        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @liv-in-sky last edited by

          @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

          ab und an

          Dann mal öfter abfragen und gucken wie sich die Zeiten verhalten.

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Negalein last edited by

            @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

            @haus-automatisierung sagte in Hilfe bei Skripte von request auf httpGet umbauen:

            curl

            curl -v http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365

            oder ist das so falsch?

            erzeuge mal eine datei: curl-format.txt in dem ordner, wo du curl ausfühst - der inhalt ist der:

              time_namelookup:  %{time_namelookup}s\n
                    time_connect:  %{time_connect}s\n
                 time_appconnect:  %{time_appconnect}s\n
                time_pretransfer:  %{time_pretransfer}s\n
                   time_redirect:  %{time_redirect}s\n
              time_starttransfer:  %{time_starttransfer}s\n
                                 ----------\n
                      time_total:  %{time_total}s\n
            

            dann den befehl

            curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
            
            

            einfach mal ein paar mal hintereinander ausführen und die anschliessend zeiten ansehen

            Negalein 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @haus-automatisierung last edited by

              @haus-automatisierung sagte in Hilfe bei Skripte von request auf httpGet umbauen:

              Dann mal öfter abfragen und gucken wie sich die Zeiten verhalten.

              bei mir ist das so selten -dass ich davon ausgegangen bin, das gerade ein backitup oder sonnst ein copy traffic im netz ist - daher sah ich das nicht als problem

              hier jedoch stimmt was nicht - muss ja nicht der httpGet sein 🙂

              1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @liv-in-sky last edited by

                @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                einfach mal ein paar mal hintereinander ausführen und die anschliessend zeiten ansehen

                die passen mMn sehr gut.

                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805229000,8400,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805199000,"to":1716805229000,"min":[1716805229000,8400],"max":[1716805229000,8400],"average":8400,"consumption":70,"rows":2}]}  time_namelookup:  0,000261s
                        time_connect:  0,000887s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,003283s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021065s
                                     ----------
                          time_total:  0,021236s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805259000,7920,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805229000,"to":1716805259000,"min":[1716805259000,7920],"max":[1716805259000,7920],"average":7920,"consumption":66,"rows":2}]}  time_namelookup:  0,000277s
                        time_connect:  0,000763s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,000973s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,031154s
                                     ----------
                          time_total:  0,031370s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805259000,7920,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805229000,"to":1716805259000,"min":[1716805259000,7920],"max":[1716805259000,7920],"average":7920,"consumption":66,"rows":2}]}  time_namelookup:  0,000259s
                        time_connect:  0,000740s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,001072s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021727s
                                     ----------
                          time_total:  0,021896s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805259000,7920,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805229000,"to":1716805259000,"min":[1716805259000,7920],"max":[1716805259000,7920],"average":7920,"consumption":66,"rows":2}]}  time_namelookup:  0,000254s
                        time_connect:  0,000949s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,003313s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021195s
                                     ----------
                          time_total:  0,021383s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805259000,7920,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805229000,"to":1716805259000,"min":[1716805259000,7920],"max":[1716805259000,7920],"average":7920,"consumption":66,"rows":2}]}  time_namelookup:  0,000158s
                        time_connect:  0,000439s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,000551s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,012400s
                                     ----------
                          time_total:  0,012527s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805229000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805169000,"to":1716805229000,"min":[1716805229000,0],"max":[1716805229000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805259000,7920,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805229000,"to":1716805259000,"min":[1716805259000,7920],"max":[1716805259000,7920],"average":7920,"consumption":66,"rows":2}]}  time_namelookup:  0,000253s
                        time_connect:  0,000882s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,001625s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021581s
                                     ----------
                          time_total:  0,021680s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805289000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805229000,"to":1716805289000,"min":[1716805289000,0],"max":[1716805289000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805289000,8040,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805259000,"to":1716805289000,"min":[1716805289000,8040],"max":[1716805289000,8040],"average":8040,"consumption":67,"rows":2}]}  time_namelookup:  0,000256s
                        time_connect:  0,000902s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,001658s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021660s
                                     ----------
                          time_total:  0,021821s
                pi@raspberrypi:~ $ curl -w "@curl-format.txt"  -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365'
                {"version":"0.3","data":[{"tuples":[[1716805289000,0,1]],"uuid":"bc3edcd0-24c4-11ea-b257-bdbd9553c516","from":1716805229000,"to":1716805289000,"min":[1716805289000,0],"max":[1716805289000,0],"average":0,"consumption":0,"rows":2},{"tuples":[[1716805289000,8040,1]],"uuid":"deda8550-24c4-11ea-b402-275ee0956365","from":1716805259000,"to":1716805289000,"min":[1716805289000,8040],"max":[1716805289000,8040],"average":8040,"consumption":67,"rows":2}]}  time_namelookup:  0,000254s
                        time_connect:  0,000700s
                     time_appconnect:  0,000000s
                    time_pretransfer:  0,000928s
                       time_redirect:  0,000000s
                  time_starttransfer:  0,021411s
                                     ----------
                          time_total:  0,021578s
                
                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Negalein last edited by

                  @negalein

                  hast du denn irgendeinen traffic im netz, der immer wieder kommt - oder server am anschlag und braucht ab und zu etwas zu lange, so das der httpGet ein problem bekommt

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @liv-in-sky last edited by

                    @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                    hast du denn irgendeinen traffic im netz, der immer wieder kommt - oder server am anschlag und braucht ab und zu etwas zu lange, so das der httpGet ein problem bekommt

                    regelmäßige Traffics hab ich schon.
                    Aber die dürften dem System nicht auffallen.

                    Server hat noch sehr viel Luft frei.

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

                      @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                      Server hat noch sehr viel Luft frei.

                      Der Traffic läuft aber auch über Switches und Router, ggf. noch über APs

                      Negalein 1 Reply Last reply Reply Quote 0
                      • Negalein
                        Negalein Global Moderator last edited by

                        @liv-in-sky

                        das Fronius-Script läuft alle 10 Minuten.
                        Hab das jetzt mal deaktiviert.
                        Mal beobachten.

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

                          @homoran sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                          Der Traffic läuft aber auch über Switches und Router, ggf. noch über APs

                          Jep, aber auch da gibts keine Probleme.
                          Alles andere läuft (mit zT kürzeren Abfragen).

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @Negalein last edited by liv-in-sky

                            @negalein

                            wenn du testen magst - sendet alle 15 sek den wert an iob - kannste dann ein blockly machen und dir einen alarm geben, wenn der wert mal über 1 (sek) ist.

                            mache alles auf der console unter /usr/local/bin

                            • kopiere datei curl-format.txt ins verzeichnis /usr/local/bin
                            • erstelle datei httptest (sudo nano httptest) im verzeichnis mit inhalt und ändere den datenpukt in allen zeilen - den dp musst du anlegen (number)
                            • die url musst du auch anpassen

                            
                            #!/bin/bash
                            dauer=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                            #curl "http://192.168.178.59:8087/set/0_userdata.0.CONTROL-OWN.htttpget-test?value=$dauer"
                            iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $dauer
                            echo Temp:  $dauer
                            sleep 15
                            tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                            iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                            sleep 15
                            tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                            iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                            sleep 15
                            tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                            iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                            
                            

                            • sichern und befehl sudo chmod +x httptest ausführen
                            • dann sudo crontab -e öffnen und folgenden eintrag eingeben: */1 * * * * /usr/local/bin/httptest

                            Image 048.png

                            Negalein 2 Replies Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Negalein last edited by

                              @negalein

                              script HP zum test

                              /* bringt den Druckertintenstand von WEB enabled HP Tintenstrahler in ioBroker
                                Drucker HP Tintenstand für iobroker ermitteln
                               Basierend auf CCU2 Script fuer HP Drucker http://homematic-forum.de/forum/viewtopic.php?f=31&t=25140
                               und dem angepassten Script von PiX aus iobroker  http://forum.iobroker.de/viewtopic.php?f=21&t=910&p=6931&hilit=drucker&sid=6780c0b33361e199846dcb584c8dc289&sid=6780c0b33361e199846dcb584c8dc289#p6931
                               Author : looxer01 - 22.12.2015
                               Version 0.2 29.01.2015        Druckerparameter jetzt einstellbar im Bereich der Einstellungen
                               kosmetik ykuendig
                              */
                              
                              // hier Drucker parameter einstellen - vor dem ersten Speichern des Scripts
                              
                              var druckerIP       = '10.0.1.15';            // Drucker IP 
                              var druckermod      = "HPOJ9012";                   // Drucker Modell - Strukturelement in den Variablen
                              var TinteID         = "963";                  // Tinte - Tintenbezeichnung
                              var TinteCyanBez    = "3JA05A";                // Bezeichnung fuer Cyan
                              var TinteMagentaBez = "3JA06A";                // Bezeichnung fuer Magenta
                              var TinteYellowBez  = "3JA07A";                // Bezeichnung fuer Yellow
                              var TinteBlackBez   = "3JA17A";                // Bezeichnung fuer Black
                              
                              // ENDE der Einstellungen
                              
                              var druckerURL      = "http://" + druckerIP + "/DevMgmt/ConsumableConfigDyn.xml";          // URL nicht ändern
                              //var request         = require('request');                                                   // Enabling for URL Request
                              var cut0            = "dd:Capacity";                                                        // Marker für capacity
                              var cut1            = "dd:ConsumableLabelCode";                                             // Marker für color
                              var cut2            = "dd:ConsumablePercentageLevelRemaining";                              // Marker für Level
                              
                              var level_C  = 0;                                                                           // Tintenlevel
                              var level_M  = 0;                                                                           // Tintenlevel
                              var level_Y  = 0;                                                                           // Tintenlevel
                              var level_K  = 0;                                                                           // Tintenlevel
                              
                              var DruckIP         = "Drucker.HP." + druckermod + ".IP";                                   // Variable für create states
                              var DruckerName     = "Drucker.HP." + druckermod + ".Name";                                 // Variable für create states
                              var Modell          = "Drucker.HP." + druckermod + ".Modell";                               // Variable für create states
                              var Tinte           = "Drucker.HP." + druckermod + ".Tinte";                                // Variable für create states
                              
                              var CyanInk         = "Drucker.HP." + druckermod + ".Color1Cyan.Ink";                       // Variable für create states
                              var MagentaInk      = "Drucker.HP." + druckermod + ".Color2Magenta.Ink";                    // Variable für create states
                              var YellowInk       = "Drucker.HP." + druckermod + ".Color3Yellow.Ink";                     // Variable für create states
                              var BlackInk        = "Drucker.HP." + druckermod + ".Color4Black.Ink";                      // Variable für create states
                              
                              var CyanLevel       = "Drucker.HP." + druckermod + ".Color1Cyan.Level";                     // Variable für create states
                              var MagentaLevel    = "Drucker.HP." + druckermod + ".Color2Magenta.Level";                  // Variable für create states
                              var YellowLevel     = "Drucker.HP." + druckermod + ".Color3Yellow.Level";                   // Variable für create states
                              var BlackLevel      = "Drucker.HP." + druckermod + ".Color4Black.Level";                    // Variable für create states
                              
                              // Anlegen der Variablen
                              createState(DruckIP,druckerIP);
                              createState(DruckerName,druckermod);
                              createState(Tinte,TinteID);
                              
                              createState(CyanInk,TinteCyanBez);
                              createState(MagentaInk,TinteMagentaBez);
                              createState(YellowInk,TinteYellowBez);
                              createState(BlackInk,TinteBlackBez);
                              
                              createState(CyanLevel,0);
                              createState(MagentaLevel,0);
                              createState(YellowLevel,0);
                              createState(BlackLevel),0;
                              
                              // Schedule für die Updates
                              schedule("0 */6 * * *",  Drucker);      // Schedule alle 6 Stunden
                              Drucker();                              // Sofort beim Scriptstart einmal laufen lassen
                              
                              function Drucker () {
                              
                                 httpGet(druckerURL, function (error, response ) {                              // Einlesen der XML Information
                                 if (!error) {                                         // error check
                                    const body=response.data;
                                     // Farbe nummer 1  
                                     var TagEndMarker = '<'; 
                                     var null_position = body.indexOf(cut0) + cut0.length + 1 ;
                                     var eins_position = body.indexOf(cut1, null_position) + cut1.length  + 1;       // erste Position finden
                                     var color =   body.substring(eins_position, eins_position+1) ;                  // erste Position ist die Farbe
                                     var zwei_position = body.indexOf(cut2)+ cut2.length  + 1;                       // zweite Position finden
                                     var level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                                     var eins_lastpos = eins_position;                                               // merken position eins
                                     var zwei_lastpos = zwei_position;                                               // merken position zwei
                                     
                              
                                     if("C" == color){ level_C  = level_string; }
                                     if("M" == color){ level_M  = level_string; }
                                     if("Y" == color){ level_Y  = level_string; }
                                     if("K" == color){ level_K  = level_string; }
                              
                                     eins_lastpos = eins_position + 10;
                                     zwei_lastpos = zwei_position + 10;               
                              
                                     // Farbe nummer 2   
                                     eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length + 1 ;
                                     color =   body.substring(eins_position, eins_position+1) ;
                                     zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                     level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                              
                                     if("C" == color){ level_C  = level_string; }
                                     if("M" == color){ level_M  = level_string; }
                                     if("Y" == color){ level_Y  = level_string; }
                                     if("K" == color){ level_K  = level_string; }
                              
                                     eins_lastpos = eins_position + 10;
                                     zwei_lastpos = zwei_position + 10;               
                              
                                     // Farbe nummer 3   
                                     eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length  + 1;
                                     color =   body.substring(eins_position, eins_position+1) ;
                                     zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                     level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                              
                                     if("C" == color){ level_C  = level_string; }
                                     if("M" == color){ level_M  = level_string; }
                                     if("Y" == color){ level_Y  = level_string; }
                                     if("K" == color){ level_K  = level_string; }
                              
                                     eins_lastpos = eins_position + 10;
                                     zwei_lastpos = zwei_position + 10;               
                              
                                     // Farbe nummer 4 
                                     eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length  + 1;
                                     color =   body.substring(eins_position, eins_position+1) ;
                                     zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                     level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                              
                                     if("C" == color){ level_C  = level_string; }
                                     if("M" == color){ level_M  = level_string; }
                                     if("Y" == color){ level_Y  = level_string; }
                                     if("K" == color){ level_K  = level_string; }
                              
                                     eins_lastpos = eins_position + 10;
                                     zwei_lastpos = zwei_position + 10;               
                              
                                     log('Drucker Level  C ' + level_C  , "info");
                                     log('Drucker Level  M ' + level_M  , "info");
                                     log('Drucker Level  Y ' + level_Y  , "info");
                                     log('Drucker Level  K ' + level_K  , "info");
                              
                                     // der folgende Bereich muss für ggf abweichenden Druckertyp angepasst werden
                                     setState(CyanLevel, level_C);
                                     setState(MagentaLevel, level_M);
                                     setState(YellowLevel, level_Y);
                                     setState(BlackLevel, level_K);
                                     setState(DruckIP, druckerIP);
                              
                                 } else  {  //   if (!error && response.statusCode == 200) {
                                     log(error);
                                     log('Kein Drucker gefunden');
                                 }
                              
                                 }); // end of request
                              
                              } // end of function
                              
                              

                              Negalein 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Negalein last edited by

                                @negalein

                                bei dem IQ script muss ich leider passen - da müßte jmd anders drüber schauen 😞

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

                                  @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                  method: 'POST',

                                  @liv-in-sky ist dann wohl eher httpPost??

                                  liv-in-sky 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @liv-in-sky last edited by

                                    @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                    url musst du auch anpassen

                                    http://192.168.178.159/cm?cmnd=Dimmer%2010

                                    IP die vom ioB schätze ich?
                                    was ist das ""Dimmer%2010"?

                                    ändere den datenpukt in allen zeilen - den dp musst du anlegen (number)

                                    0_userdata.0.Tests.htttpget-test --> hier schreibt er die Zeit dann rein?

                                    was ist das $tempi das auch in den DP schreibt?

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator @liv-in-sky last edited by

                                      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                      script HP zum test
                                      HP Script

                                      Danke, läuft sofort ohne Fehler 🙂

                                      liv-in-sky 1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Negalein last edited by liv-in-sky

                                        @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                        @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                        url musst du auch anpassen

                                        http://192.168.178.159/cm?cmnd=Dimmer%2010

                                        IP die vom ioB schätze ich?
                                        was ist das ""Dimmer%2010"?

                                        ändere den datenpukt in allen zeilen - den dp musst du anlegen (number)

                                        0_userdata.0.Tests.htttpget-test --> hier schreibt er die Zeit dann rein?

                                        was ist das $tempi das auch in den DP schreibt?

                                        das mit dem dimmer ist ein ansteuerung von einem tasmota mit leds dran - ich brauchte ws zum testen
                                        ja es wird die gesamtzeit reingeschrieben - den dp musst du anlegen - kann auch eine andere id haben wie bei meinem beispiel
                                        $tempi ist nur eine variable - die kannst du lassen

                                        Negalein 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Homoran last edited by

                                          @homoran sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                          @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                          method: 'POST',

                                          @liv-in-sky ist dann wohl eher httpPost??

                                          ir machen eher die ganzen settings sorgen, die man da für request braucht -

                                          var optionsLogin = {
                                             method: 'POST',
                                             url: "https://netservice.iqcard.at/de/login",
                                             body: "BENUID=" + user + "&PASSWT=" + pass + "&login-form-submit=login",
                                             jar: true,
                                             followRedirect: true,
                                             followAllRedirects: true,
                                             headers: {
                                               "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
                                               "accept-encoding": "gzip, deflate, br",
                                               "accept-language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
                                               "cache-control": "no-cache",
                                               "content-type": "application/x-www-form-urlencoded",
                                               "dnt": "1",
                                               "origin": "https://netservice.iqcard.at",
                                               "pragma": "no-cache",
                                               "sec-ch-ua": "\"Not?A_Brand\";v=\"8\", \"Chromium\";v=\"108\", \"Google Chrome\";v=\"108\"",
                                               "sec-ch-ua-mobile": "?0",
                                               "sec-ch-ua-platform": "\"Windows\"",
                                               "sec-fetch-dest": "empty",
                                               "sec-fetch-mode": "cors",
                                               "sec-fetch-site": "same-origin",
                                               "upgrade-insecure-requests": "1",
                                               "User-Agent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
                                               "cookie": "cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ",
                                               "Referer": "https://netservice.iqcard.at/de/kunden"
                                             }
                                           };
                                          

                                          da steige ich aus 😞

                                          1 Reply Last reply Reply Quote 1
                                          • liv-in-sky
                                            liv-in-sky @Negalein last edited by liv-in-sky

                                            @negalein

                                            also - voll geschätzt - du musst axios in den zusätzlichen modulen in der javascriptinstanz haben !

                                            versuche mal das - keine ahnung ob das auch nur ansatzweise funktioniert

                                            user namen eintragen !

                                            const axios = require('axios');
                                            const qs = require('qs'); // Um die Daten für den POST-Request zu serialisieren
                                            
                                            const user = 'yourUsername'; // Benutzername hier einfügen
                                            const pass = 'yourPassword'; // Passwort hier einfügen
                                            
                                            const optionsLogin = {
                                             method: 'POST',
                                             url: 'https://netservice.iqcard.at/de/login',
                                             data: qs.stringify({
                                               BENUID: user,
                                               PASSWT: pass,
                                               'login-form-submit': 'login'
                                             }),
                                             headers: {
                                               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
                                               'Accept-Encoding': 'gzip, deflate, br',
                                               'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
                                               'Cache-Control': 'no-cache',
                                               'Content-Type': 'application/x-www-form-urlencoded',
                                               'DNT': '1',
                                               'Origin': 'https://netservice.iqcard.at',
                                               'Pragma': 'no-cache',
                                               'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
                                               'Sec-CH-UA-Mobile': '?0',
                                               'Sec-CH-UA-Platform': '"Windows"',
                                               'Sec-Fetch-Dest': 'empty',
                                               'Sec-Fetch-Mode': 'cors',
                                               'Sec-Fetch-Site': 'same-origin',
                                               'Upgrade-Insecure-Requests': '1',
                                               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
                                               'Cookie': 'cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ',
                                               'Referer': 'https://netservice.iqcard.at/de/kunden'
                                             },
                                             maxRedirects: 5, // Anzahl der zu folgenden Redirects
                                             withCredentials: true // für das Cookie-Handling
                                            };
                                            
                                            const optionsPriceinfo = {
                                             method: 'GET',
                                             url: 'https://netservice.iqcard.at/de/netservice_preisinfo',
                                             headers: {
                                               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
                                               'Accept-Encoding': 'gzip, deflate, br',
                                               'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
                                               'Cache-Control': 'no-cache',
                                               'DNT': '1',
                                               'Origin': 'https://netservice.iqcard.at',
                                               'Pragma': 'no-cache',
                                               'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
                                               'Sec-CH-UA-Mobile': '?0',
                                               'Sec-CH-UA-Platform': '"Windows"',
                                               'Sec-Fetch-Dest': 'empty',
                                               'Sec-Fetch-Mode': 'cors',
                                               'Sec-Fetch-Site': 'same-origin',
                                               'Sec-Fetch-User': '?1',
                                               'Upgrade-Insecure-Requests': '1',
                                               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
                                               'Referer': 'https://netservice.iqcard.at/de/netservice'
                                             },
                                             maxRedirects: 5, // Anzahl der zu folgenden Redirects
                                             withCredentials: true // für das Cookie-Handling
                                            };
                                            
                                            // Anmeldung mit POST-Request
                                            axios(optionsLogin)
                                             .then(() => {
                                               // Erfolgreiche Anmeldung, jetzt GET-Request für Preisinfo
                                               return axios(optionsPriceinfo);
                                             })
                                             .then(response => {
                                               // Verarbeitung der Antwort
                                               const data = analyze(response.data);
                                               log(data);
                                               writeDatapoint(data);
                                             })
                                             .catch(error => {
                                               console.error('Error making the request:', error);
                                             });
                                            
                                            

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            508
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            132
                                            9166
                                            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