Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Bitte Hilfe bei Interpretation von Fehlermeldungen

    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

    Bitte Hilfe bei Interpretation von Fehlermeldungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      skorpil last edited by

      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?

      dslraser Homoran paul53 3 Replies Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @skorpil last edited by

        @skorpil

        willst Du was in hm.rega schreiben ?
        (vielleicht mit dem falschen Angaben)

        Aber ohne das Script zu sehen....?

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

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

          Homoran 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active last edited by

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

            1 Reply Last reply Reply Quote 0
            • S
              skorpil last edited by

              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.

              Homoran sigi234 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @skorpil last edited by

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

                1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @skorpil last edited by sigi234

                  @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

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

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

                    1 Reply Last reply Reply Quote 0
                    • S
                      skorpil last edited by

                      @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 Reply Last reply Reply Quote 0
                      • S
                        skorpil last edited by

                        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.

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @skorpil last edited by

                          @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) !

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @skorpil last edited by

                            @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 sigi234 2 Replies Last reply Reply Quote 1
                            • S
                              skorpil @paul53 last edited by

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

                              paul53 1 Reply Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active @paul53 last edited by sigi234

                                @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.
                                
                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @skorpil last edited by

                                  @skorpil sagte:

                                  Und wie könnte ich das abfangen?

                                  function Wetterdatenholenundsetzen() {
                                      wetterdaten = getState(idOpenWeater).val;
                                      if(wetterdaten) setState(idVariable, wetterdaten);
                                  }
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    skorpil last edited by skorpil

                                    @paul53 sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                                    merci, ich werde testen und berichten

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      skorpil last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        skorpil last edited by

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

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @skorpil last edited by 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 1 Reply Last reply Reply Quote 1
                                          • S
                                            skorpil @paul53 last edited by

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

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            616
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            5
                                            27
                                            888
                                            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