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.9k

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

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

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 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
                                        • OliverIOO OliverIO

                                          @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.

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

                                          @oliverio Korrekt solange es kein security problem gibt wäre es auch ziemlich gemein es aus der iobroker skript default package rauszunehmen

                                          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

                                          810

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          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