Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Umstellung auf "axios"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Umstellung auf "axios"

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @Thomas Braun last edited by

      @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 Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @bahnuhr last edited by 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 1 Reply Last reply Reply Quote 0
        • Wal
          Wal Developer @bahnuhr last edited by

          @bahnuhr sagte in Umstellung auf "axios":

          Gibts da irgendwo mehr infos ?

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

          bahnuhr 1 Reply Last reply Reply Quote 0
          • G
            glitzi @glitzi last edited by

            @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 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @Wal last edited by

              @wal sagte in Umstellung auf "axios":

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

              hast du mal ein Beispiel ?

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @bahnuhr last edited by

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

                1 Reply Last reply Reply Quote 0
                • T
                  tombox @Thomas Braun last edited by 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);
                           })
                  })
                  
                  OliverIO G 2 Replies Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @tombox last edited by 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 1 Reply Last reply Reply Quote 0
                    • T
                      tombox @OliverIO last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • G
                        glitzi @tombox last edited by

                        @tombox

                        SUPER, vielen Dank! jetzt läuft es !!!

                        👍

                        1 Reply Last reply Reply Quote 0
                        • G
                          glitzi @AlCalzone last edited by

                          @alcalzone

                          Leider scheint das Encoding nicht zu funktionieren, ist hier etwas falsch?

                          const axios=require('axios');
                          
                          schedule("*/5 * * * * *", function(){
                          
                          	axios.post('http://xx.xx.xx.xx/daqdata.cgi?key=abcde', {
                          		responseEncoding: 'utf-8'
                          	})
                          
                          	.then(function(response) {
                          		
                          			if (response.data) {
                          
                          				var parts = response.data.split('\n');
                          
                          				var parts_Guntamatic = parts[0];
                          				setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                          
                          
                          OliverIO 2 Replies Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @glitzi last edited by

                            @glitzi

                            das sind zu wenig informationen.
                            in was ist den die quelle encodiert?
                            utf8 scheint es ja nicht zu sein.
                            woran erkennst du es das das encoding nicht funktioniert?

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              glitzi @OliverIO last edited by glitzi

                              @oliverio
                              Laut Hersteller utf8, in meinem alten Skript mit request und latin hat es funktioniert.

                              var request= require('request');
                              request.post({
                                url:     'http://xx.xx.xx.xx/daqdata.cgi?key=xxx...xxx',
                                encoding: 'latin1'
                              
                              1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @glitzi last edited by

                                @glitzi sagte in Umstellung auf "axios":

                                Guntamatic

                                hat es damit etwas zu tun
                                https://next.openhab.org/addons/bindings/guntamatic/?
                                da steht dann was von
                                windows-1252

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  glitzi @OliverIO last edited by

                                  @oliverio

                                  z.B. Steht bei Zündung dann Z?ndung

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @glitzi last edited by OliverIO

                                    @glitzi
                                    dann trag latin1 ein
                                    da steht doch jetzt utf-8
                                    zeile 6

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      glitzi @OliverIO last edited by glitzi

                                      @oliverio

                                      oh.. ja das kommt von meinen versuchen, da es mit latin1 nicht funktionier hat.

                                      Ist denn mein Skript fehlerfrei?

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @glitzi last edited by

                                        @glitzi

                                        nein, es fehlen diverse schließende klammern.
                                        kommt aber auch evtl davon das du dein skript nicht komplett kopiert hast

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          glitzi @OliverIO last edited by glitzi

                                          @oliverio

                                          so eben noch einmal alles probiert, ich habe alle möglichen Encodings ausprobiert, es ändert sich nichts, habe das Gefühl es wird überhaupt nicht berücksichtigt.

                                          Bei umlauten kommt immer das �

                                          Hier noch einmal das gesamte Skript

                                          const axios=require('axios');
                                          
                                          schedule("*/5 * * * * *", function(){
                                          
                                          	axios.post('http://xx.xx.xx.x/daqdata.cgi?key=abcxyz', {
                                          		responseEncoding: 'latin1'
                                          	})
                                          
                                          	.then(function(response) {
                                          		
                                          			if (response.data) {
                                                          //console.log(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);
                                          				}
                                          
                                          			}
                                          
                                          
                                          
                                              })
                                          
                                          })
                                          
                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            glitzi @glitzi last edited by

                                            @glitzi
                                            Ergänzung,

                                            mit

                                            axios.get('http://xx.xx.xx.x/daqdata.cgi?key=abcxyz', {
                                            		responseEncoding: 'latin1'
                                            	})
                                            

                                            wird der Eintrag bei Encoding berücksichtigt, ich gehe wieder in den Test

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            972
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            33
                                            1870
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo