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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Bitte Hilfe bei Interpretation von Fehlermeldungen

NEWS

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

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

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

Bitte Hilfe bei Interpretation von Fehlermeldungen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
27 Beiträge 5 Kommentatoren 1.0k Aufrufe 4 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.
  • sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #4

    Ich schätze er will von openweathermap eine Zahl in die CCU schreiben, diese ist wahrscheinlich als String und nicht als Zahl gesetzt.........

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      skorpil
      schrieb am zuletzt editiert von
      #5

      Wow, seid Ihr schnell. Vielen Dank. sigi234 hat Recht. die Idee ist, aus openweathermap Werte in CCU Variablen zu schreiben.

      Hier mal das Script. Aber bitte nicht lachen. Ich bin kein JavaScript Profi. Dass kann man sicher alles effizienter und eleganter programmieren. Aber so entspricht das eben meinen Fähigkeiten.

      // #########################################################################
      //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
      // #########################################################################
      
      
      // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
      on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
      
      //Werte holen und setzen
      
      //Wetter Bedingung als String
      var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
      var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
      wetterdaten = getState(idOpenWeater).val
      
      if(wetterdaten == "null"){
             wetterdaten = "windstill";
             };
             
      setState(idVariable, wetterdaten); 
      
      //Wetter Richtung als Zahl
      var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
      var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
      Wetterdatenholenundsetzen();
      
      //Wind Richtung als Angabe 
      var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
      var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
          //******************* Windrichtung bestimmen***************
          //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
      
          wetterdaten = getState(idOpenWeater).val
      
          if(wetterdaten == "null"){
             wetterdaten = 0;
             };
              
          if (wetterdaten > 23 && wetterdaten <= 68){
              wetterdaten = "NordOst";
              };
      
          if (wetterdaten > 68 && wetterdaten <= 113){
              wetterdaten = "Ost";
              };
      
          if (wetterdaten > 113 && wetterdaten <= 158){
              wetterdaten = "SüdOst";
              };
      
          if (wetterdaten > 158 && wetterdaten <= 203){
              wetterdaten = "Süd";
              };
      
          if (wetterdaten > 203 && wetterdaten <= 248){
              wetterdaten = "SüdWest";
              };
      
          if (wetterdaten > 248 && wetterdaten <= 293){
              wetterdaten = "West";
              };
      
          if (wetterdaten > 293 && wetterdaten <= 338){
              wetterdaten = "NordWest";
              };
      
          if (wetterdaten > 338 && wetterdaten <= 360){
              wetterdaten = "Nord";
              };
      
          if (wetterdaten > 0 && wetterdaten <= 23){
              wetterdaten = "Nord";
              };
          
          setState(idVariable, wetterdaten);
      
      //Temperatur als Zahl
      var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
      var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
      Wetterdatenholenundsetzen();
      
      //Luftfeuchtigkeit als Zahl
      var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
      var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
      Wetterdatenholenundsetzen();
      
      //Windgeschwindigkeit als Zahl
      var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
      var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
      Wetterdatenholenundsetzen();
      
      //Aktualisierung (Zeit)
      var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
      var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
      wetterdaten = getState(idOpenWeater).val;
      var date = new Date(wetterdaten);
      
      // Umwandeln in deutsches Format
      
          //Tagesdatum ermitteln
          var tag = date.getDate();
          
          //Monat ermitteln
          var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
          var monat = month[date.getMonth()];
             
          //Jahr ermitteln
          var jahr = date.getFullYear();
      
          //Stunde ermitteln
          var stunde = date.getHours();
          
          //Minute ermitteln
          var minute = date.getMinutes();
          
          //Sekunde ermitteln
          var sekunde = date.getSeconds();
             
      var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
      
      setState(idVariable, ausgabe);
      
      // ##################################################################
      //                  FUNKTION Holen und setzen     
      // ##################################################################
      
       function Wetterdatenholenundsetzen() {
          wetterdaten = getState(idOpenWeater).val;
          setState(idVariable, wetterdaten);
       };
      
      
      });
      

      Nun aber zur Frage: das mit String und Zahl hatte ich mir auch schon überlegt. Aber wie ich das löse, das weiß ich nicht und benötige Hilfe.

      HomoranH sigi234S 2 Antworten Letzte Antwort
      0
      • S skorpil

        Wow, seid Ihr schnell. Vielen Dank. sigi234 hat Recht. die Idee ist, aus openweathermap Werte in CCU Variablen zu schreiben.

        Hier mal das Script. Aber bitte nicht lachen. Ich bin kein JavaScript Profi. Dass kann man sicher alles effizienter und eleganter programmieren. Aber so entspricht das eben meinen Fähigkeiten.

        // #########################################################################
        //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
        // #########################################################################
        
        
        // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
        on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
        
        //Werte holen und setzen
        
        //Wetter Bedingung als String
        var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
        var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
        wetterdaten = getState(idOpenWeater).val
        
        if(wetterdaten == "null"){
               wetterdaten = "windstill";
               };
               
        setState(idVariable, wetterdaten); 
        
        //Wetter Richtung als Zahl
        var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
        var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
        Wetterdatenholenundsetzen();
        
        //Wind Richtung als Angabe 
        var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
        var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
            //******************* Windrichtung bestimmen***************
            //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
        
            wetterdaten = getState(idOpenWeater).val
        
            if(wetterdaten == "null"){
               wetterdaten = 0;
               };
                
            if (wetterdaten > 23 && wetterdaten <= 68){
                wetterdaten = "NordOst";
                };
        
            if (wetterdaten > 68 && wetterdaten <= 113){
                wetterdaten = "Ost";
                };
        
            if (wetterdaten > 113 && wetterdaten <= 158){
                wetterdaten = "SüdOst";
                };
        
            if (wetterdaten > 158 && wetterdaten <= 203){
                wetterdaten = "Süd";
                };
        
            if (wetterdaten > 203 && wetterdaten <= 248){
                wetterdaten = "SüdWest";
                };
        
            if (wetterdaten > 248 && wetterdaten <= 293){
                wetterdaten = "West";
                };
        
            if (wetterdaten > 293 && wetterdaten <= 338){
                wetterdaten = "NordWest";
                };
        
            if (wetterdaten > 338 && wetterdaten <= 360){
                wetterdaten = "Nord";
                };
        
            if (wetterdaten > 0 && wetterdaten <= 23){
                wetterdaten = "Nord";
                };
            
            setState(idVariable, wetterdaten);
        
        //Temperatur als Zahl
        var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
        var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
        Wetterdatenholenundsetzen();
        
        //Luftfeuchtigkeit als Zahl
        var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
        var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
        Wetterdatenholenundsetzen();
        
        //Windgeschwindigkeit als Zahl
        var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
        var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
        Wetterdatenholenundsetzen();
        
        //Aktualisierung (Zeit)
        var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
        var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
        wetterdaten = getState(idOpenWeater).val;
        var date = new Date(wetterdaten);
        
        // Umwandeln in deutsches Format
        
            //Tagesdatum ermitteln
            var tag = date.getDate();
            
            //Monat ermitteln
            var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
            var monat = month[date.getMonth()];
               
            //Jahr ermitteln
            var jahr = date.getFullYear();
        
            //Stunde ermitteln
            var stunde = date.getHours();
            
            //Minute ermitteln
            var minute = date.getMinutes();
            
            //Sekunde ermitteln
            var sekunde = date.getSeconds();
               
        var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
        
        setState(idVariable, ausgabe);
        
        // ##################################################################
        //                  FUNKTION Holen und setzen     
        // ##################################################################
        
         function Wetterdatenholenundsetzen() {
            wetterdaten = getState(idOpenWeater).val;
            setState(idVariable, wetterdaten);
         };
        
        
        });
        

        Nun aber zur Frage: das mit String und Zahl hatte ich mir auch schon überlegt. Aber wie ich das löse, das weiß ich nicht und benötige Hilfe.

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #6

        @skorpil
        Dazu gibt es zwei Möglichkeiten
        Daher bitte meine Fragen beantworten

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • S skorpil

          Wow, seid Ihr schnell. Vielen Dank. sigi234 hat Recht. die Idee ist, aus openweathermap Werte in CCU Variablen zu schreiben.

          Hier mal das Script. Aber bitte nicht lachen. Ich bin kein JavaScript Profi. Dass kann man sicher alles effizienter und eleganter programmieren. Aber so entspricht das eben meinen Fähigkeiten.

          // #########################################################################
          //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
          // #########################################################################
          
          
          // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
          on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
          
          //Werte holen und setzen
          
          //Wetter Bedingung als String
          var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
          var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
          wetterdaten = getState(idOpenWeater).val
          
          if(wetterdaten == "null"){
                 wetterdaten = "windstill";
                 };
                 
          setState(idVariable, wetterdaten); 
          
          //Wetter Richtung als Zahl
          var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
          var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
          Wetterdatenholenundsetzen();
          
          //Wind Richtung als Angabe 
          var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
          var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
              //******************* Windrichtung bestimmen***************
              //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
          
              wetterdaten = getState(idOpenWeater).val
          
              if(wetterdaten == "null"){
                 wetterdaten = 0;
                 };
                  
              if (wetterdaten > 23 && wetterdaten <= 68){
                  wetterdaten = "NordOst";
                  };
          
              if (wetterdaten > 68 && wetterdaten <= 113){
                  wetterdaten = "Ost";
                  };
          
              if (wetterdaten > 113 && wetterdaten <= 158){
                  wetterdaten = "SüdOst";
                  };
          
              if (wetterdaten > 158 && wetterdaten <= 203){
                  wetterdaten = "Süd";
                  };
          
              if (wetterdaten > 203 && wetterdaten <= 248){
                  wetterdaten = "SüdWest";
                  };
          
              if (wetterdaten > 248 && wetterdaten <= 293){
                  wetterdaten = "West";
                  };
          
              if (wetterdaten > 293 && wetterdaten <= 338){
                  wetterdaten = "NordWest";
                  };
          
              if (wetterdaten > 338 && wetterdaten <= 360){
                  wetterdaten = "Nord";
                  };
          
              if (wetterdaten > 0 && wetterdaten <= 23){
                  wetterdaten = "Nord";
                  };
              
              setState(idVariable, wetterdaten);
          
          //Temperatur als Zahl
          var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
          var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
          Wetterdatenholenundsetzen();
          
          //Luftfeuchtigkeit als Zahl
          var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
          var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
          Wetterdatenholenundsetzen();
          
          //Windgeschwindigkeit als Zahl
          var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
          var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
          Wetterdatenholenundsetzen();
          
          //Aktualisierung (Zeit)
          var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
          var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
          wetterdaten = getState(idOpenWeater).val;
          var date = new Date(wetterdaten);
          
          // Umwandeln in deutsches Format
          
              //Tagesdatum ermitteln
              var tag = date.getDate();
              
              //Monat ermitteln
              var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
              var monat = month[date.getMonth()];
                 
              //Jahr ermitteln
              var jahr = date.getFullYear();
          
              //Stunde ermitteln
              var stunde = date.getHours();
              
              //Minute ermitteln
              var minute = date.getMinutes();
              
              //Sekunde ermitteln
              var sekunde = date.getSeconds();
                 
          var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
          
          setState(idVariable, ausgabe);
          
          // ##################################################################
          //                  FUNKTION Holen und setzen     
          // ##################################################################
          
           function Wetterdatenholenundsetzen() {
              wetterdaten = getState(idOpenWeater).val;
              setState(idVariable, wetterdaten);
           };
          
          
          });
          

          Nun aber zur Frage: das mit String und Zahl hatte ich mir auch schon überlegt. Aber wie ich das löse, das weiß ich nicht und benötige Hilfe.

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von sigi234
          #7

          @skorpil

          Bespiel Duty Cycle in CCU schreiben:

          // DP in SV schreiben
          const idDP = "hm-rega.0.NEQ1531999.0.DUTY_CYCLE";
          const idSV = "hm-rega.0.30785";
           
          setState(idSV, parseFloat(getState(idDP).val)); // Skriptstart
           
          on(idDP, function(dp) {  // Wertänderung
             setState(idSV, parseFloat(dp.state.val));
          });
          

          Screenshot (2532).png

          Screenshot (2535).png

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

            :23:01.123 warn Wrong type of hm-rega.0.29959: "object

            Steht doch da ;-)

            Was liefert das Skript für einen Wert?
            Was ist der Datenpunkt für ein Typ?

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #8

            @Homoran sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

            Was liefert das Skript für einen Wert?
            Was ist der Datenpunkt für ein Typ?

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              skorpil
              schrieb am zuletzt editiert von
              #9

              @Homoran, hm-rega.0.29959 ist vom Typ Zahl. Und eigentlich sollte das Script auch eine Zahl liefern.

              @sigi234 muß ich immer mit "parseFloat" arbeiten?

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                skorpil
                schrieb am zuletzt editiert von
                #10

                da der Fehler nicht immer auftritt: es scheint, dass der Adapter "openweathermap" für den Fall, daß keine Werte vorhanden sind, statt einer "Zahl" eine "null" liefert. Und das kann mein Script dann nicht mehr verarbeiten. Ich bin auch nicht sicher, ob "null" ein string oder ein logikwert ist. Irritierend.

                paul53P 1 Antwort Letzte Antwort
                0
                • S skorpil

                  ich erhalte bei der Scriptausführung folgende Warnhinweise:

                  javascript.0	2019-03-24 08:23:01.124	warn	at TCP.onread (net.js:601:20)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Socket.Readable.push (_stream_readable.js:208:10)
                  javascript.0	2019-03-24 08:23:01.124	warn	at readableAddChunk (_stream_readable.js:250:11)
                  javascript.0	2019-03-24 08:23:01.124	warn	at addChunk (_stream_readable.js:263:12)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Socket.emit (events.js:211:7)
                  javascript.0	2019-03-24 08:23:01.124	warn	at emitOne (events.js:116:13)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
                  javascript.0	2019-03-24 08:23:01.124	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
                  javascript.0	2019-03-24 08:23:01.124	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
                  javascript.0	2019-03-24 08:23:01.124	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
                  javascript.0	2019-03-24 08:23:01.124	warn	at WebSocket.emit (events.js:214:7)
                  javascript.0	2019-03-24 08:23:01.124	warn	at emitTwo (events.js:126:13)
                  javascript.0	2019-03-24 08:23:01.124	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
                  javascript.0	2019-03-24 08:23:01.124	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
                  javascript.0	2019-03-24 08:23:01.124	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
                  javascript.0	2019-03-24 08:23:01.123	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
                  javascript.0	2019-03-24 08:23:01.123	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Object.<anonymous> (script.js.common.Skripte_aktiviert.homematic_Variablen_aus_openweathermap:19:1)
                  javascript.0	2019-03-24 08:23:01.123	warn	at Wetterdatenholenundsetzen (script.js.common.Skripte_aktiviert.homematic_Variablen_aus_openweathermap:123:5)
                  javascript.0	2019-03-24 08:23:01.123	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
                  javascript.0	2019-03-24 08:23:01.123	warn	Wrong type of hm-rega.0.29959: "object". Please fix, while deprecated and will not work in next versions.
                  

                  Was will mir de Adapter sagen?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #11

                  @skorpil sagte:

                  Wrong type of hm-rega.0.29959: "object".

                  Wenn der Wert ein Object enthält, wird parseFloat() nicht helfen. Schau Dir den Wert mal mit einem zusätzlichen Log an.

                  //Wetter Richtung als Zahl
                  idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                  log(JSON.stringify(getState(idOpenWeather).val));
                  idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
                  Wetterdatenholenundsetzen();
                  

                  Variablen nur einmal deklarieren (var nur in den Zeilen 12, 13) !

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • S skorpil

                    da der Fehler nicht immer auftritt: es scheint, dass der Adapter "openweathermap" für den Fall, daß keine Werte vorhanden sind, statt einer "Zahl" eine "null" liefert. Und das kann mein Script dann nicht mehr verarbeiten. Ich bin auch nicht sicher, ob "null" ein string oder ein logikwert ist. Irritierend.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #12

                    @skorpil sagte:

                    ob "null" ein string oder ein logikwert ist. Irritierend.

                    Dann ist das der Grund für die Warnung: null ist ein Objekt !

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    S sigi234S 2 Antworten Letzte Antwort
                    1
                    • paul53P paul53

                      @skorpil sagte:

                      ob "null" ein string oder ein logikwert ist. Irritierend.

                      Dann ist das der Grund für die Warnung: null ist ein Objekt !

                      S Offline
                      S Offline
                      skorpil
                      schrieb am zuletzt editiert von
                      #13

                      @paul53 Danke. Und wie könnte ich das abfangen? Also, irgendwas wie "wenn objekt, dann....."

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @skorpil sagte:

                        ob "null" ein string oder ein logikwert ist. Irritierend.

                        Dann ist das der Grund für die Warnung: null ist ein Objekt !

                        sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von sigi234
                        #14

                        @paul53 sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                        null ist ein Objekt !

                        Und wieder was gelernt....

                        Zitat:

                        parseFloat kann zudem Objekte parsen, wenn diese eine toString- oder valueOf-Methode haben. Das Ergebnis ist dasselbe, als wenn parseFloat mit dem Ergebnis einer dieser beiden Methoden ausgerufen wurde.
                        

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        1 Antwort Letzte Antwort
                        0
                        • S skorpil

                          @paul53 Danke. Und wie könnte ich das abfangen? Also, irgendwas wie "wenn objekt, dann....."

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #15

                          @skorpil sagte:

                          Und wie könnte ich das abfangen?

                          function Wetterdatenholenundsetzen() {
                              wetterdaten = getState(idOpenWeater).val;
                              if(wetterdaten) setState(idVariable, wetterdaten);
                          }
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            skorpil
                            schrieb am zuletzt editiert von skorpil
                            #16

                            @paul53 sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                            merci, ich werde testen und berichten

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              skorpil
                              schrieb am zuletzt editiert von
                              #17

                              @paul53 dankeschön, das war es: "if (wetterdaten)". Denn augenscheinlich liefert der Adapter manchmal eben leere Objekte.

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                skorpil
                                schrieb am zuletzt editiert von
                                #18

                                @paul53 noch eine Frage: jetzt reagiert das Script ja nur, wenn ein Wert vorhanden ist. Eben durch die Abfrage if(Variable). Wie würde man das Gegenteil programmieren, also wenn „kein“ Wert vorhanden, dann.... ich würde nämlich gerne in meine CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • S skorpil

                                  @paul53 noch eine Frage: jetzt reagiert das Script ja nur, wenn ein Wert vorhanden ist. Eben durch die Abfrage if(Variable). Wie würde man das Gegenteil programmieren, also wenn „kein“ Wert vorhanden, dann.... ich würde nämlich gerne in meine CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #19

                                  @skorpil sagte:

                                  CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

                                  function Wetterdatenholenundsetzen() {
                                      wetterdaten = getState(idOpenWeater).val;
                                      if(wetterdaten === null) wetterdaten = 'keine Angabe';
                                      setState(idVariable, wetterdaten);
                                  }
                                  

                                  EDIT: Vergleich geändert, da Wert 0 ein gültiger Wert ist, der vorkommen kann.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  S 1 Antwort Letzte Antwort
                                  1
                                  • paul53P paul53

                                    @skorpil sagte:

                                    CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

                                    function Wetterdatenholenundsetzen() {
                                        wetterdaten = getState(idOpenWeater).val;
                                        if(wetterdaten === null) wetterdaten = 'keine Angabe';
                                        setState(idVariable, wetterdaten);
                                    }
                                    

                                    EDIT: Vergleich geändert, da Wert 0 ein gültiger Wert ist, der vorkommen kann.

                                    S Offline
                                    S Offline
                                    skorpil
                                    schrieb am zuletzt editiert von
                                    #20

                                    @paul53 großartig! Vielen Dank u. nun ein schönes Wochenende.

                                    PS: ...wenn es dieses Forum nicht gäbe...

                                    HomoranH 1 Antwort Letzte Antwort
                                    0
                                    • S skorpil

                                      @paul53 großartig! Vielen Dank u. nun ein schönes Wochenende.

                                      PS: ...wenn es dieses Forum nicht gäbe...

                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #21

                                      @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                                      wenn es dieses Forum nicht gäbe...

                                      und warum bekommt Paul dann keine "postive Bewertung"

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      S HomoranH 2 Antworten Letzte Antwort
                                      0
                                      • HomoranH Homoran

                                        @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                                        wenn es dieses Forum nicht gäbe...

                                        und warum bekommt Paul dann keine "postive Bewertung"

                                        S Offline
                                        S Offline
                                        skorpil
                                        schrieb am zuletzt editiert von
                                        #22

                                        @Homoran kriegt er ja gerne. Aber wie muß ich das machen?

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          skorpil
                                          schrieb am zuletzt editiert von skorpil
                                          #23

                                          ...und der guten Ordnung halber noch das fertige Script. Es liest Daten aus openweathermap und schreibt sie in CCU Variablen. Sicher nicht profimäßig programmiert. Aber es läuft.

                                          // #########################################################################
                                          //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
                                          // #########################################################################
                                          
                                          
                                          // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
                                          on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
                                          
                                          //Werte holen und setzen
                                          
                                          //Wetter Bedingung als String
                                          var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
                                          var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
                                          wetterdaten = getState(idOpenWeater).val
                                          
                                          if (wetterdaten) setState(idVariable, wetterdaten); 
                                          
                                          //Wetter Richtung als Zahl
                                          var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                                          //log(JSON.stringify(getState(idOpenWeater).val));
                                          var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
                                          Wetterdatenholenundsetzen();
                                          
                                          //Wind Richtung als Angabe 
                                          var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                                          var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
                                              
                                              //******************* Windrichtung bestimmen***************
                                              //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
                                          
                                              wetterdaten = getState(idOpenWeater).val
                                          
                                              if (wetterdaten > 23 && wetterdaten <= 68){
                                                  wetterdaten = "NordOst";
                                                  };
                                          
                                              if (wetterdaten > 68 && wetterdaten <= 113){
                                                  wetterdaten = "Ost";
                                                  };
                                          
                                              if (wetterdaten > 113 && wetterdaten <= 158){
                                                  wetterdaten = "SüdOst";
                                                  };
                                          
                                              if (wetterdaten > 158 && wetterdaten <= 203){
                                                  wetterdaten = "Süd";
                                                  };
                                          
                                              if (wetterdaten > 203 && wetterdaten <= 248){
                                                  wetterdaten = "SüdWest";
                                                  };
                                          
                                              if (wetterdaten > 248 && wetterdaten <= 293){
                                                  wetterdaten = "West";
                                                  };
                                          
                                              if (wetterdaten > 293 && wetterdaten <= 338){
                                                  wetterdaten = "NordWest";
                                                  };
                                          
                                              if (wetterdaten > 338 && wetterdaten <= 360){
                                                  wetterdaten = "Nord";
                                                  };
                                          
                                              if (wetterdaten > 0 && wetterdaten <= 23){
                                                  wetterdaten = "Nord";
                                                  };
                                              
                                              if (!wetterdaten) {
                                                  wetterdaten = "keine Angabe";
                                                  setState(idVariable, wetterdaten);
                                              };
                                          
                                              if (wetterdaten) setState(idVariable, wetterdaten);
                                          
                                          //Temperatur als Zahl
                                          var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
                                          var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
                                          Wetterdatenholenundsetzen();
                                          
                                          //Luftfeuchtigkeit als Zahl
                                          var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
                                          var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
                                          Wetterdatenholenundsetzen();
                                          
                                          //Windgeschwindigkeit als Zahl
                                          var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
                                          var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
                                          Wetterdatenholenundsetzen();
                                          
                                          //Aktualisierung (Zeit)
                                          var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
                                          var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
                                          wetterdaten = getState(idOpenWeater).val;
                                          var date = new Date(wetterdaten);
                                          
                                          // Umwandeln in deutsches Format
                                          
                                              //Tagesdatum ermitteln
                                              var tag = date.getDate();
                                              
                                              //Monat ermitteln
                                              var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
                                              var monat = month[date.getMonth()];
                                              if(monat.length < 2){
                                                  monat = "0" + monat;
                                              }
                                                 
                                              //Jahr ermitteln
                                              var jahr = date.getFullYear();
                                          
                                              //Stunde ermitteln
                                              var stunde = date.getHours();
                                              var stunde = stunde.toString();
                                              if(stunde.length < 2){
                                                  stunde = "0" + stunde;
                                              }
                                              
                                              //Minute ermitteln
                                              var minute = date.getMinutes();
                                              var minute = minute.toString();
                                              if(minute.length < 2){
                                                  minute = "0" + minute;
                                              }
                                              
                                              //Sekunde ermitteln
                                              var sekunde = date.getSeconds();
                                              var sekunde = sekunde.toString();
                                              if(sekunde.length < 2){
                                                  sekunde = "0" + sekunde;
                                              }
                                                 
                                          var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
                                          
                                          setState(idVariable, ausgabe);
                                          
                                          // ##################################################################
                                          //                  FUNKTION Holen und setzen     
                                          // ##################################################################
                                          
                                           function Wetterdatenholenundsetzen() {
                                              wetterdaten = getState(idOpenWeater).val;
                                              if (wetterdaten != null) setState(idVariable, wetterdaten);
                                          
                                          
                                          });
                                          
                                          paul53P 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

                                          422

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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