Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Bitte Hilfe bei Interpretation von Fehlermeldungen

Scheduled Pinned Locked Moved JavaScript
javascript
27 Posts 5 Posters 1.2k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by 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 Reply Last reply
    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 Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #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 Reply Last reply
      0
      • S Offline
        S Offline
        skorpil
        wrote on last edited by
        #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 Reply Last reply
        0
        • S Offline
          S Offline
          skorpil
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #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 Replies Last reply
              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
                wrote on last edited by
                #13

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

                paul53P 1 Reply Last reply
                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
                  wrote on last edited by 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 Reply Last reply
                  0
                  • S skorpil

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

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      skorpil
                      wrote on last edited by skorpil
                      #16

                      @paul53 sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                      merci, ich werde testen und berichten

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        skorpil
                        wrote on last edited by
                        #17

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

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          skorpil
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by 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 Reply Last reply
                            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
                              wrote on last edited by
                              #20

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

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

                              HomoranH 1 Reply Last reply
                              0
                              • S skorpil

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

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

                                HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #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 Replies Last reply
                                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
                                  wrote on last edited by
                                  #22

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

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    skorpil
                                    wrote on last edited by 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 Reply Last reply
                                    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"

                                      HomoranH Do not disturb
                                      HomoranH Do not disturb
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by
                                      #24

                                      @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

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

                                      Wenn du die Signaturen ausgeblendet hast, kannst du es natürlich nicht lesen ;-) :

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

                                      Unter jedem Beitrag befindet sich rechts unten neben "Zitieren" eine Bewertungsinfo mit einem "Bewertung hoch" ^ - dann dem Wert der Bewertung für diesen Beutrag (leider 0) und dann ein "Bewertung runter" Icon um wie auch immer geartetet schlechte Beiträge auch negativ beurteilen zu können

                                      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 1 Reply Last reply
                                      1
                                      • S skorpil

                                        ...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 Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by paul53
                                        #25

                                        @skorpil sagte:

                                        das fertige Script.

                                        Ändere bitte noch

                                            if (wetterdaten) setState(idVariable, wetterdaten);
                                        

                                        in

                                            if (wetterdaten != null) setState(idVariable, wetterdaten);
                                        

                                        da sonst die Aussentemperatur von 0 °C nicht in die SV geschrieben wird.

                                        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 Reply Last reply
                                        1
                                        • HomoranH Homoran

                                          @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

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

                                          Wenn du die Signaturen ausgeblendet hast, kannst du es natürlich nicht lesen ;-) :

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

                                          Unter jedem Beitrag befindet sich rechts unten neben "Zitieren" eine Bewertungsinfo mit einem "Bewertung hoch" ^ - dann dem Wert der Bewertung für diesen Beutrag (leider 0) und dann ein "Bewertung runter" Icon um wie auch immer geartetet schlechte Beiträge auch negativ beurteilen zu können

                                          S Offline
                                          S Offline
                                          skorpil
                                          wrote on last edited by
                                          #26

                                          @Homoran Dankeschön! Wußte ich nicht!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          378

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe