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. Umstellung auf "axios"

NEWS

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

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

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

Umstellung auf "axios"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
33 Beiträge 9 Kommentatoren 2.9k Aufrufe 7 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.
  • G Offline
    G Offline
    glitzi
    schrieb am zuletzt editiert von glitzi
    #1

    Hallo,
    in meinem Skript nutze ich noch "request" viele sprechen jetzt von einer Umstellung auf "axios"
    sollte ich dies auch in meinem Fall umstellen? und was müste ich dafür alles ändern?

     
    function()
    {
    
    var request= require('request');
    request.post({
      url:     'http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx',
      encoding: 'latin1'
    }, function(error, response, body){
      if (body) {
          
          var parts = body.split('\n');
    
          var parts_Guntamatic = parts[0];
          setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
    
          var parts_Guntamatic = parts[1];
          setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
    
    usw..........
    
    OliverIOO 1 Antwort Letzte Antwort
    0
    • G glitzi

      Hallo,
      in meinem Skript nutze ich noch "request" viele sprechen jetzt von einer Umstellung auf "axios"
      sollte ich dies auch in meinem Fall umstellen? und was müste ich dafür alles ändern?

       
      function()
      {
      
      var request= require('request');
      request.post({
        url:     'http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx',
        encoding: 'latin1'
      }, function(error, response, body){
        if (body) {
            
            var parts = body.split('\n');
      
            var parts_Guntamatic = parts[0];
            setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
      
            var parts_Guntamatic = parts[1];
            setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
      
      usw..........
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #2

      @glitzi

      Es müsste ungefähr so aussehen.
      bei dem Encoding war ich mir nicht ganz sicher, aber das müsste es sein.
      Ob latin ein gültiger Wert ist weiß ich nicht.

      axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx', {
          responseEncoding: 'latin'
        })
        .then(function (response) {
          console.log(response);
          if (respnse.data) {
            
            var parts = respnse.data.split('\n');
       
            var parts_Guntamatic = parts[0];
            setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
       
            var parts_Guntamatic = parts[1];
            setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
          })
        .catch(function (error) {
          console.log(error);
        });
      

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

      SBorgS AlCalzoneA 2 Antworten Letzte Antwort
      0
      • OliverIOO OliverIO

        @glitzi

        Es müsste ungefähr so aussehen.
        bei dem Encoding war ich mir nicht ganz sicher, aber das müsste es sein.
        Ob latin ein gültiger Wert ist weiß ich nicht.

        axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx', {
            responseEncoding: 'latin'
          })
          .then(function (response) {
            console.log(response);
            if (respnse.data) {
              
              var parts = respnse.data.split('\n');
         
              var parts_Guntamatic = parts[0];
              setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
         
              var parts_Guntamatic = parts[1];
              setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
            })
          .catch(function (error) {
            console.log(error);
          });
        
        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        @oliverio Psst, ...und für die C&P - Fraktion kaufe ich für 10 Cent noch zwei "o" dazu :joy:
        (für die Fraktion die noch die Sesamstrasse kennt...)

        Zeile #6 bis #8

            if (response.data) {
        
              var parts = response.data.split('\n');
        

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        OliverIOO 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @oliverio Psst, ...und für die C&P - Fraktion kaufe ich für 10 Cent noch zwei "o" dazu :joy:
          (für die Fraktion die noch die Sesamstrasse kennt...)

          Zeile #6 bis #8

              if (response.data) {
          
                var parts = response.data.split('\n');
          
          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #4

          @sborg
          stimmt.
          die o's waren aber bei meinem nick schon verbraucht

          axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx', {
              responseEncoding: 'latin'
            })
            .then(function (response) {
              console.log(response);
              if (response.data) {
                
                var parts = response.data.split('\n');
           
                var parts_Guntamatic = parts[0];
                setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
           
                var parts_Guntamatic = parts[1];
                setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
              })
            .catch(function (error) {
              console.log(error);
            });
          

          Aber für die C&P-Fraktion habe ich noch 2 Debug-Zeilen übrig gelassen

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

          G 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @glitzi

            Es müsste ungefähr so aussehen.
            bei dem Encoding war ich mir nicht ganz sicher, aber das müsste es sein.
            Ob latin ein gültiger Wert ist weiß ich nicht.

            axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx', {
                responseEncoding: 'latin'
              })
              .then(function (response) {
                console.log(response);
                if (respnse.data) {
                  
                  var parts = respnse.data.split('\n');
             
                  var parts_Guntamatic = parts[0];
                  setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
             
                  var parts_Guntamatic = parts[1];
                  setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                })
              .catch(function (error) {
                console.log(error);
              });
            
            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von
            #5

            @oliverio sagte in Umstellung auf "axios":

            Ob latin ein gültiger Wert ist weiß ich nicht.

            Laut https://nodejs.org/api/buffer.html#buffers-and-character-encodings müsste das latin1 sein (mit 1 am Ende).

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            G 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @sborg
              stimmt.
              die o's waren aber bei meinem nick schon verbraucht

              axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx', {
                  responseEncoding: 'latin'
                })
                .then(function (response) {
                  console.log(response);
                  if (response.data) {
                    
                    var parts = response.data.split('\n');
               
                    var parts_Guntamatic = parts[0];
                    setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
               
                    var parts_Guntamatic = parts[1];
                    setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                  })
                .catch(function (error) {
                  console.log(error);
                });
              

              Aber für die C&P-Fraktion habe ich noch 2 Debug-Zeilen übrig gelassen

              G Offline
              G Offline
              glitzi
              schrieb am zuletzt editiert von glitzi
              #6

              Super DANKE!!!

              nach einer knappen Stunde finde ich den Fehler nicht...

              19:27:04.325	error	javascript.0 (32211) script.js.Guntamatic.Guntamatic_Daten_aus_Http_Seite_Parsen_axios compile failed: at script.js.Guntamatic.Guntamatic_Daten_aus_Http_Seite_Parsen_axios:
              
              
              createState('Guntamatic_Betrieb_0');
              createState('Guntamatic_Aussentemperatur_1');
              createState('Guntamatic_Kesseltemperatur_3');
              createState('Guntamatic_Leistung_5');
              createState('Guntamatic_Rücklauf_6');
              createState('Guntamatic_CO2_Gehalt_8');
              createState('Guntamatic_Puffer_oben_17');
              createState('Guntamatic_Puffer_unten_19');
              createState('Guntamatic_Pumpe_HP0_20');
              createState('Guntamatic_Warmwasser_21');
              createState('Guntamatic_Vorlauf_31');
              createState('Guntamatic_Füllstand_65');
              createState('Guntamatic_Kesselfreigabe_68');
              createState('Guntamatic_Programm_69');
              createState('Guntamatic_Programm_HK1_71');
              createState('Guntamatic_Stoer0_79');
              createState('Guntamatic_Stoer1_80');
              createState('Guntamatic_Asche_entleeren_85');
              createState('Guntamatic_Brennstoffzähler_89');
              createState('Guntamatic_Pufferladung_90');
              createState('Guntamatic_CO2_Gehalt_korrigiert');
               
              schedule("*/5 * * * * *",
                
              axios.post('http://10.10.10.7/daqdata.cgi?key=226125AC4E4C9CD8144ABF4CA958AF294A4F', {
                  responseEncoding: 'latin1'
                })
                .then(function (response) {
                  console.log(response);
                  
                  if (response.data) {
                    
                    var parts = response.data.split('\n');
               
                    var parts_Guntamatic = parts[0];
                    setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[1];
                    setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[3];
                    setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[5];
                    setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[6];
                    setState('Guntamatic_Rücklauf_6', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[8];
                    setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[17];
                    setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[19];
                    setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[20];
                    setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[21];
                    setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[31];
                    setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[65];
                    setState('Guntamatic_Füllstand_65', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[68];
                    setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                    
                    var parts_Guntamatic = parts[69];
                    setState('Guntamatic_Programm_69', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[71];
                    setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[79];
                    setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[80];
                    setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[85];
                    setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[89];
                    setState('Guntamatic_Brennstoffzähler_89', parts_Guntamatic, true);
              
                    var parts_Guntamatic = parts[90];
                    setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
              
              /*
              CO2 Korrigieren da der Wert im Leerlauf teils 18.00 annimmt.
              parts[5] = Leistung parts[8] = CO2 Gehalt
              */
              
              if (parts[5] == 0) {
                                  setState("Guntamatic_CO2_Gehalt_korrigiert" , 0, true);
                                  } else {
                                          setState("Guntamatic_CO2_Gehalt_korrigiert", parts[8], true)
                                          }
              
               }
                }
              
               .catch(function (error) {
                  console.log(error)
                       });
              
              }); 
               
              }
              )
              
              OliverIOO 1 Antwort Letzte Antwort
              -1
              • G glitzi

                Super DANKE!!!

                nach einer knappen Stunde finde ich den Fehler nicht...

                19:27:04.325	error	javascript.0 (32211) script.js.Guntamatic.Guntamatic_Daten_aus_Http_Seite_Parsen_axios compile failed: at script.js.Guntamatic.Guntamatic_Daten_aus_Http_Seite_Parsen_axios:
                
                
                createState('Guntamatic_Betrieb_0');
                createState('Guntamatic_Aussentemperatur_1');
                createState('Guntamatic_Kesseltemperatur_3');
                createState('Guntamatic_Leistung_5');
                createState('Guntamatic_Rücklauf_6');
                createState('Guntamatic_CO2_Gehalt_8');
                createState('Guntamatic_Puffer_oben_17');
                createState('Guntamatic_Puffer_unten_19');
                createState('Guntamatic_Pumpe_HP0_20');
                createState('Guntamatic_Warmwasser_21');
                createState('Guntamatic_Vorlauf_31');
                createState('Guntamatic_Füllstand_65');
                createState('Guntamatic_Kesselfreigabe_68');
                createState('Guntamatic_Programm_69');
                createState('Guntamatic_Programm_HK1_71');
                createState('Guntamatic_Stoer0_79');
                createState('Guntamatic_Stoer1_80');
                createState('Guntamatic_Asche_entleeren_85');
                createState('Guntamatic_Brennstoffzähler_89');
                createState('Guntamatic_Pufferladung_90');
                createState('Guntamatic_CO2_Gehalt_korrigiert');
                 
                schedule("*/5 * * * * *",
                  
                axios.post('http://10.10.10.7/daqdata.cgi?key=226125AC4E4C9CD8144ABF4CA958AF294A4F', {
                    responseEncoding: 'latin1'
                  })
                  .then(function (response) {
                    console.log(response);
                    
                    if (response.data) {
                      
                      var parts = response.data.split('\n');
                 
                      var parts_Guntamatic = parts[0];
                      setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[1];
                      setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[3];
                      setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[5];
                      setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[6];
                      setState('Guntamatic_Rücklauf_6', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[8];
                      setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[17];
                      setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[19];
                      setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[20];
                      setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[21];
                      setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[31];
                      setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[65];
                      setState('Guntamatic_Füllstand_65', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[68];
                      setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                      
                      var parts_Guntamatic = parts[69];
                      setState('Guntamatic_Programm_69', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[71];
                      setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[79];
                      setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[80];
                      setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[85];
                      setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[89];
                      setState('Guntamatic_Brennstoffzähler_89', parts_Guntamatic, true);
                
                      var parts_Guntamatic = parts[90];
                      setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
                
                /*
                CO2 Korrigieren da der Wert im Leerlauf teils 18.00 annimmt.
                parts[5] = Leistung parts[8] = CO2 Gehalt
                */
                
                if (parts[5] == 0) {
                                    setState("Guntamatic_CO2_Gehalt_korrigiert" , 0, true);
                                    } else {
                                            setState("Guntamatic_CO2_Gehalt_korrigiert", parts[8], true)
                                            }
                
                 }
                  }
                
                 .catch(function (error) {
                    console.log(error)
                         });
                
                }); 
                 
                }
                )
                
                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #7

                @glitzi sagte in Umstellung auf "axios":

                Viele Fehler
                https://beautifytools.com/javascript-validator.php
                beachtet du die Hinweise im Skripteditor nicht?

                Das korrekte einrücken nicht vergessen. Das erspart schon mal viele Logikfehler. Dem Parser ist es zwar egal, aber du suchst dich dann zu tode wenn die blöcke nicht auf der gleichen Ebene enden wie sie begonnen haben. Manche Editoren können da einem helfen. Einfach den kompletten Text mal dort reinkopieren und die Formatierung/beautyfier drüber laufen lassen.

                Auch wenn das ; nicht unbedingt notwendig ist, sollte man es immer setzen, da ansonsten der parser manchmal meckert und dann ist es besser immer einheitlich zu bleiben und den Code lesbar zu gestalten
                https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
                Eine Variable sollte nur einmal innerhalb eines Blocks deklariert werden (var)
                und Klammern sollten in der richtigen Reihenfolge und in der korrekten Anzahl geöffnet und wieder geschlossen werden

                Line	Col	Errors
                39	11	'parts_Guntamatic' is already defined.
                42	11	'parts_Guntamatic' is already defined.
                45	11	'parts_Guntamatic' is already defined.
                48	11	'parts_Guntamatic' is already defined.
                51	11	'parts_Guntamatic' is already defined.
                54	11	'parts_Guntamatic' is already defined.
                57	11	'parts_Guntamatic' is already defined.
                60	11	'parts_Guntamatic' is already defined.
                63	11	'parts_Guntamatic' is already defined.
                66	11	'parts_Guntamatic' is already defined.
                69	11	'parts_Guntamatic' is already defined.
                72	11	'parts_Guntamatic' is already defined.
                75	11	'parts_Guntamatic' is already defined.
                78	11	'parts_Guntamatic' is already defined.
                81	11	'parts_Guntamatic' is already defined.
                84	11	'parts_Guntamatic' is already defined.
                87	11	'parts_Guntamatic' is already defined.
                90	11	'parts_Guntamatic' is already defined.
                93	11	'parts_Guntamatic' is already defined.
                104	89	Missing semicolon.
                111	23	Missing semicolon.
                112	12	Expected ')' and instead saw ';'.
                114	1	Expected ')' and instead saw '}'.
                114	2	Missing semicolon.
                114	2	Expected an identifier and instead saw ')'.
                114	2	Expected an assignment or function call and instead saw an expression.
                114	3	Unrecoverable syntax error. (96% scanned).
                

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

                coyoteC G 3 Antworten Letzte Antwort
                0
                • OliverIOO OliverIO

                  @glitzi sagte in Umstellung auf "axios":

                  Viele Fehler
                  https://beautifytools.com/javascript-validator.php
                  beachtet du die Hinweise im Skripteditor nicht?

                  Das korrekte einrücken nicht vergessen. Das erspart schon mal viele Logikfehler. Dem Parser ist es zwar egal, aber du suchst dich dann zu tode wenn die blöcke nicht auf der gleichen Ebene enden wie sie begonnen haben. Manche Editoren können da einem helfen. Einfach den kompletten Text mal dort reinkopieren und die Formatierung/beautyfier drüber laufen lassen.

                  Auch wenn das ; nicht unbedingt notwendig ist, sollte man es immer setzen, da ansonsten der parser manchmal meckert und dann ist es besser immer einheitlich zu bleiben und den Code lesbar zu gestalten
                  https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
                  Eine Variable sollte nur einmal innerhalb eines Blocks deklariert werden (var)
                  und Klammern sollten in der richtigen Reihenfolge und in der korrekten Anzahl geöffnet und wieder geschlossen werden

                  Line	Col	Errors
                  39	11	'parts_Guntamatic' is already defined.
                  42	11	'parts_Guntamatic' is already defined.
                  45	11	'parts_Guntamatic' is already defined.
                  48	11	'parts_Guntamatic' is already defined.
                  51	11	'parts_Guntamatic' is already defined.
                  54	11	'parts_Guntamatic' is already defined.
                  57	11	'parts_Guntamatic' is already defined.
                  60	11	'parts_Guntamatic' is already defined.
                  63	11	'parts_Guntamatic' is already defined.
                  66	11	'parts_Guntamatic' is already defined.
                  69	11	'parts_Guntamatic' is already defined.
                  72	11	'parts_Guntamatic' is already defined.
                  75	11	'parts_Guntamatic' is already defined.
                  78	11	'parts_Guntamatic' is already defined.
                  81	11	'parts_Guntamatic' is already defined.
                  84	11	'parts_Guntamatic' is already defined.
                  87	11	'parts_Guntamatic' is already defined.
                  90	11	'parts_Guntamatic' is already defined.
                  93	11	'parts_Guntamatic' is already defined.
                  104	89	Missing semicolon.
                  111	23	Missing semicolon.
                  112	12	Expected ')' and instead saw ';'.
                  114	1	Expected ')' and instead saw '}'.
                  114	2	Missing semicolon.
                  114	2	Expected an identifier and instead saw ')'.
                  114	2	Expected an assignment or function call and instead saw an expression.
                  114	3	Unrecoverable syntax error. (96% scanned).
                  
                  coyoteC Offline
                  coyoteC Offline
                  coyote
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  Hallo, ich hänge mich hier einfach mal ran, denke es ist nicht nötig nochmal einen eigenen Thread dafür aufzumachen.
                  Ich habe auch noch ein paar Scripte mit "request", vielleicht kann mir da auch jemand bei der Umstellung auf "axios" helfen?!
                  Hier der Teil des Scripts:

                  var request = require("request");
                  var fs = require('fs');
                  
                  // Speichert das Bild der Haustür bei Posteinwurf
                  function saveImage() {
                  	request.get({
                  			url: source_url,
                  			encoding: 'binary'
                  		}, function(err, response, body) {
                  			fs.writeFile('/tmp/' + 'Postbild.jpg', body, 'binary', function(err) {
                  				if (err) {
                  					log('Fehler beim Bild speichern: ' + err, 'warn');
                  				} else {
                  					log('Webcam Bild gespeichert');
                  				}
                  			})
                  		})
                  // Bilder werden nach vis gespeichert
                  	setTimeout(function() {
                  		const bild1 = fs.readFileSync('/tmp/Postbild.jpg');
                  		writeFile('vis.0', '/Postbild.jpg', bild1);
                  	}, 4000);
                  }
                  
                  1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @glitzi sagte in Umstellung auf "axios":

                    Viele Fehler
                    https://beautifytools.com/javascript-validator.php
                    beachtet du die Hinweise im Skripteditor nicht?

                    Das korrekte einrücken nicht vergessen. Das erspart schon mal viele Logikfehler. Dem Parser ist es zwar egal, aber du suchst dich dann zu tode wenn die blöcke nicht auf der gleichen Ebene enden wie sie begonnen haben. Manche Editoren können da einem helfen. Einfach den kompletten Text mal dort reinkopieren und die Formatierung/beautyfier drüber laufen lassen.

                    Auch wenn das ; nicht unbedingt notwendig ist, sollte man es immer setzen, da ansonsten der parser manchmal meckert und dann ist es besser immer einheitlich zu bleiben und den Code lesbar zu gestalten
                    https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
                    Eine Variable sollte nur einmal innerhalb eines Blocks deklariert werden (var)
                    und Klammern sollten in der richtigen Reihenfolge und in der korrekten Anzahl geöffnet und wieder geschlossen werden

                    Line	Col	Errors
                    39	11	'parts_Guntamatic' is already defined.
                    42	11	'parts_Guntamatic' is already defined.
                    45	11	'parts_Guntamatic' is already defined.
                    48	11	'parts_Guntamatic' is already defined.
                    51	11	'parts_Guntamatic' is already defined.
                    54	11	'parts_Guntamatic' is already defined.
                    57	11	'parts_Guntamatic' is already defined.
                    60	11	'parts_Guntamatic' is already defined.
                    63	11	'parts_Guntamatic' is already defined.
                    66	11	'parts_Guntamatic' is already defined.
                    69	11	'parts_Guntamatic' is already defined.
                    72	11	'parts_Guntamatic' is already defined.
                    75	11	'parts_Guntamatic' is already defined.
                    78	11	'parts_Guntamatic' is already defined.
                    81	11	'parts_Guntamatic' is already defined.
                    84	11	'parts_Guntamatic' is already defined.
                    87	11	'parts_Guntamatic' is already defined.
                    90	11	'parts_Guntamatic' is already defined.
                    93	11	'parts_Guntamatic' is already defined.
                    104	89	Missing semicolon.
                    111	23	Missing semicolon.
                    112	12	Expected ')' and instead saw ';'.
                    114	1	Expected ')' and instead saw '}'.
                    114	2	Missing semicolon.
                    114	2	Expected an identifier and instead saw ')'.
                    114	2	Expected an assignment or function call and instead saw an expression.
                    114	3	Unrecoverable syntax error. (96% scanned).
                    
                    G Offline
                    G Offline
                    glitzi
                    schrieb am zuletzt editiert von
                    #9

                    @oliverio
                    Danke für die Gute Unterstützung…
                    Leider bin ich hier blutiger Anfänger, kannst du mir das eventuell im Script Kennzeichen?

                    1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @glitzi sagte in Umstellung auf "axios":

                      Viele Fehler
                      https://beautifytools.com/javascript-validator.php
                      beachtet du die Hinweise im Skripteditor nicht?

                      Das korrekte einrücken nicht vergessen. Das erspart schon mal viele Logikfehler. Dem Parser ist es zwar egal, aber du suchst dich dann zu tode wenn die blöcke nicht auf der gleichen Ebene enden wie sie begonnen haben. Manche Editoren können da einem helfen. Einfach den kompletten Text mal dort reinkopieren und die Formatierung/beautyfier drüber laufen lassen.

                      Auch wenn das ; nicht unbedingt notwendig ist, sollte man es immer setzen, da ansonsten der parser manchmal meckert und dann ist es besser immer einheitlich zu bleiben und den Code lesbar zu gestalten
                      https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
                      Eine Variable sollte nur einmal innerhalb eines Blocks deklariert werden (var)
                      und Klammern sollten in der richtigen Reihenfolge und in der korrekten Anzahl geöffnet und wieder geschlossen werden

                      Line	Col	Errors
                      39	11	'parts_Guntamatic' is already defined.
                      42	11	'parts_Guntamatic' is already defined.
                      45	11	'parts_Guntamatic' is already defined.
                      48	11	'parts_Guntamatic' is already defined.
                      51	11	'parts_Guntamatic' is already defined.
                      54	11	'parts_Guntamatic' is already defined.
                      57	11	'parts_Guntamatic' is already defined.
                      60	11	'parts_Guntamatic' is already defined.
                      63	11	'parts_Guntamatic' is already defined.
                      66	11	'parts_Guntamatic' is already defined.
                      69	11	'parts_Guntamatic' is already defined.
                      72	11	'parts_Guntamatic' is already defined.
                      75	11	'parts_Guntamatic' is already defined.
                      78	11	'parts_Guntamatic' is already defined.
                      81	11	'parts_Guntamatic' is already defined.
                      84	11	'parts_Guntamatic' is already defined.
                      87	11	'parts_Guntamatic' is already defined.
                      90	11	'parts_Guntamatic' is already defined.
                      93	11	'parts_Guntamatic' is already defined.
                      104	89	Missing semicolon.
                      111	23	Missing semicolon.
                      112	12	Expected ')' and instead saw ';'.
                      114	1	Expected ')' and instead saw '}'.
                      114	2	Missing semicolon.
                      114	2	Expected an identifier and instead saw ')'.
                      114	2	Expected an assignment or function call and instead saw an expression.
                      114	3	Unrecoverable syntax error. (96% scanned).
                      
                      G Offline
                      G Offline
                      glitzi
                      schrieb am zuletzt editiert von glitzi
                      #10

                      ich bin etwas weiter, siehe Antwort...

                      G 1 Antwort Letzte Antwort
                      0
                      • bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #11

                        Hallo,
                        ich muss jetzt auch mal fragen.

                        • warum wird von request auf axios umgestellt?
                        • was ist mit den alten Scripten ?
                        • gibts hier ein todo ?

                        Gibts da irgendwo mehr infos ?

                        Habe ca. 200 Scripte wo ca. bei der Hälfte (geschätzt) request drin ist.


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        Thomas BraunT WalW 2 Antworten Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          Hallo,
                          ich muss jetzt auch mal fragen.

                          • warum wird von request auf axios umgestellt?
                          • was ist mit den alten Scripten ?
                          • gibts hier ein todo ?

                          Gibts da irgendwo mehr infos ?

                          Habe ca. 200 Scripte wo ca. bei der Hälfte (geschätzt) request drin ist.

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

                          @bahnuhr

                          Weil es nicht mehr gepflegt wird:

                          https://www.npmjs.com/package/request

                          https://github.com/request/request/issues/3142

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

                          bahnuhrB 1 Antwort Letzte Antwort
                          0
                          • Thomas BraunT Thomas Braun

                            @bahnuhr

                            Weil es nicht mehr gepflegt wird:

                            https://www.npmjs.com/package/request

                            https://github.com/request/request/issues/3142

                            bahnuhrB Online
                            bahnuhrB Online
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @thomas-braun sagte in Umstellung auf "axios":

                            Weil es nicht mehr gepflegt wird:

                            Und ab wann funktionieren dann meine Scripte nicht mehr ?
                            oder viel wichtiger: Was mun man tun um dies zu ändern ?


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            Thomas BraunT 1 Antwort Letzte Antwort
                            0
                            • bahnuhrB bahnuhr

                              @thomas-braun sagte in Umstellung auf "axios":

                              Weil es nicht mehr gepflegt wird:

                              Und ab wann funktionieren dann meine Scripte nicht mehr ?
                              oder viel wichtiger: Was mun man tun um dies zu ändern ?

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

                              @bahnuhr sagte in Umstellung auf "axios":

                              Und ab wann funktionieren dann meine Scripte nicht mehr ?

                              Vermutlich spätestens dann, wenn request aus nodejs aussortiert wird.
                              Ich vermute, das wird aber ob der breiten Verwendung von request noch lange mitgeschleift werden müssen. Ist ja schon geraume Zeit als 'deprecated' markiert.

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

                              T 1 Antwort Letzte Antwort
                              0
                              • bahnuhrB bahnuhr

                                Hallo,
                                ich muss jetzt auch mal fragen.

                                • warum wird von request auf axios umgestellt?
                                • was ist mit den alten Scripten ?
                                • gibts hier ein todo ?

                                Gibts da irgendwo mehr infos ?

                                Habe ca. 200 Scripte wo ca. bei der Hälfte (geschätzt) request drin ist.

                                WalW Offline
                                WalW Offline
                                Wal
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                @bahnuhr sagte in Umstellung auf "axios":

                                Gibts da irgendwo mehr infos ?

                                Ja bei google.
                                Du musst auch nicht axios nehmen, es funktioniert auch http.

                                Gruß
                                Walter

                                DoorIO-Adapter
                                wioBrowser-Adapter und wioBrowser

                                bahnuhrB 1 Antwort Letzte Antwort
                                0
                                • G glitzi

                                  ich bin etwas weiter, siehe Antwort...

                                  G Offline
                                  G Offline
                                  glitzi
                                  schrieb am zuletzt editiert von
                                  #16

                                  @OliverIO
                                  Puhh ich glaube ich bin etwas weiter... trotzdem drehe ich mich irgendwie im Kreis .

                                  16:53:20.267	error	javascript.0 (6088) script.js.Guntamatic.Guntamatic_Daten_aus_Http_Seite_Parsen_axios: schedule callback missing
                                  
                                  createState('Guntamatic_Betrieb_0');
                                  createState('Guntamatic_Aussentemperatur_1');
                                  createState('Guntamatic_Kesseltemperatur_3');
                                  createState('Guntamatic_Leistung_5');
                                  createState('Guntamatic_Rücklauf_6');
                                  createState('Guntamatic_CO2_Gehalt_8');
                                  createState('Guntamatic_Puffer_oben_17');
                                  createState('Guntamatic_Puffer_unten_19');
                                  createState('Guntamatic_Pumpe_HP0_20');
                                  createState('Guntamatic_Warmwasser_21');
                                  createState('Guntamatic_Vorlauf_31');
                                  createState('Guntamatic_Füllstand_65');
                                  createState('Guntamatic_Kesselfreigabe_68');
                                  createState('Guntamatic_Programm_69');
                                  createState('Guntamatic_Programm_HK1_71');
                                  createState('Guntamatic_Stoer0_79');
                                  createState('Guntamatic_Stoer1_80');
                                  createState('Guntamatic_Asche_entleeren_85');
                                  createState('Guntamatic_Brennstoffzähler_89');
                                  createState('Guntamatic_Pufferladung_90');
                                  createState('Guntamatic_CO2_Gehalt_korrigiert');
                                  
                                  const axios=require('axios');
                                  
                                  schedule("*/5 * * * * *",
                                  
                                  	axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxxx', {
                                  		responseEncoding: 'latin1'
                                  	})
                                  
                                  	.then(function(response) {
                                  			//console.log(response);
                                  
                                  			if (response.data) {
                                  
                                  				var parts = response.data.split('\n');
                                  
                                  				var parts_Guntamatic = parts[0];
                                  				setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[1];
                                  				setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[3];
                                  				setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[5];
                                  				setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[6];
                                  				setState('Guntamatic_Rücklauf_6', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[8];
                                  				setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[17];
                                  				setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[19];
                                  				setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[20];
                                  				setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[21];
                                  				setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[31];
                                  				setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[65];
                                  				setState('Guntamatic_Füllstand_65', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[68];
                                  				setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[69];
                                  				setState('Guntamatic_Programm_69', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[71];
                                  				setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[79];
                                  				setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[80];
                                  				setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[85];
                                  				setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[89];
                                  				setState('Guntamatic_Brennstoffzähler_89', parts_Guntamatic, true);
                                  
                                  				var parts_Guntamatic = parts[90];
                                  				setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
                                  
                                  				/*
                                  				CO2 Korrigieren da der Wert im Leerlauf teils 18.00 annimmt.
                                  				parts[5] = Leistung parts[8] = CO2 Gehalt
                                  				*/
                                  
                                  				if (parts[5] == 0) {
                                  					setState("Guntamatic_CO2_Gehalt_korrigiert", 0, true);
                                  				} else {
                                  					setState("Guntamatic_CO2_Gehalt_korrigiert", parts[8], true);
                                  				}
                                  
                                  			}
                                  		
                                  
                                  
                                      })
                                  
                                  );
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • WalW Wal

                                    @bahnuhr sagte in Umstellung auf "axios":

                                    Gibts da irgendwo mehr infos ?

                                    Ja bei google.
                                    Du musst auch nicht axios nehmen, es funktioniert auch http.

                                    bahnuhrB Online
                                    bahnuhrB Online
                                    bahnuhr
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @wal sagte in Umstellung auf "axios":

                                    Du musst auch nicht axios nehmen, es funktioniert auch http.

                                    hast du mal ein Beispiel ?


                                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                    Danke.
                                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                    ScreenToGif :https://www.screentogif.com/downloads.html

                                    OliverIOO 1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB bahnuhr

                                      @wal sagte in Umstellung auf "axios":

                                      Du musst auch nicht axios nehmen, es funktioniert auch http.

                                      hast du mal ein Beispiel ?

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

                                      @bahnuhr
                                      das ist aber alles sehr ähnlich.
                                      Noch einfacher geht nicht wirklich

                                      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
                                      • Thomas BraunT Thomas Braun

                                        @bahnuhr sagte in Umstellung auf "axios":

                                        Und ab wann funktionieren dann meine Scripte nicht mehr ?

                                        Vermutlich spätestens dann, wenn request aus nodejs aussortiert wird.
                                        Ich vermute, das wird aber ob der breiten Verwendung von request noch lange mitgeschleift werden müssen. Ist ja schon geraume Zeit als 'deprecated' markiert.

                                        T Offline
                                        T Offline
                                        tombox
                                        schrieb am zuletzt editiert von tombox
                                        #19

                                        @thomas-braun Ich denke auch mit 50.000 Dependents wird es wohl nie entfernt werden können. Also kann der kleine ioBroker Skripter sich mit der Umstellung noch zeit lassen.
                                        @glitzi
                                        der schedule wird nicht richtig aufgemacht

                                        schedule("*/5 * * * * *", function(){
                                        	axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxxx', {
                                        		responseEncoding: 'latin1'
                                        	})
                                        	.then(function(response) {
                                        			//console.log(response);
                                                 })
                                        })
                                        
                                        OliverIOO G 2 Antworten Letzte Antwort
                                        0
                                        • T tombox

                                          @thomas-braun Ich denke auch mit 50.000 Dependents wird es wohl nie entfernt werden können. Also kann der kleine ioBroker Skripter sich mit der Umstellung noch zeit lassen.
                                          @glitzi
                                          der schedule wird nicht richtig aufgemacht

                                          schedule("*/5 * * * * *", function(){
                                          	axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=xxxx', {
                                          		responseEncoding: 'latin1'
                                          	})
                                          	.then(function(response) {
                                          			//console.log(response);
                                                   })
                                          })
                                          
                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von OliverIO
                                          #20

                                          @tombox
                                          und wenn es aus iobroker entfernt wird, dann lädt man es selbst nach.
                                          es ist ja nicht so das es da sicherheitsbedenken gibt, sonder das die bibliothekt zu ende entwickelt ist.

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          816

                                          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