Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuling?

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

      Sowas steht bei mir nicht?!

      [{"id":"46eaf489.b9150c","type":"inject","name":"Start","topic":"","payload":"","payloadType":"string","repeat":"900","crontab":"","once":false,"x":77.21598815917969,"y":62.86397933959961,"z":"3249cd7d.cdb632","wires":[["e832faba.17cd08"]]},{"id":"e832faba.17cd08","type":"http request","name":"Wetterinfo für Strehla über API-Key","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/ … 32":[["d69796bc.296868","62ede8a7.9d1218"]]},{"id":"d69796bc.296868","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.main.temp;\nmsg2 = {};\nmsg2.payload = msg.payload.main.pressure;\nmsg3 = {};\nmsg3.payload = msg.payload.main.humidity;\nmsg4 = {};\nmsg4.payload = msg.payload.wind.speed;\nmsg5 = {};\nmsg5.payload = msg.payload.wind.deg;\n\nreturn [msg1,msg2,msg3,msg4,msg5];","outputs":"5","noerr":0,"x":631.2159881591797,"y":145.8639793395996,"z":"3249cd7d.cdb632","wires":[["49311bdd.b6cee4"],["1782aa54.e87d56"],["bd7c22f9.4283e"],["f39debec.0c6218"],["b02f0df9.4fd0f"]]},{"id":"49311bdd.b6cee4","type":"ioBroker out","name":"Außentemperatur","topic":"hm-rega.0.4764","ack":"false","autoCreate":"true","x":921.6127166748047,"y":62.86397933959961,"z":"3249cd7d.cdb632","wires":[]},{"id":"1782aa54.e87d56","type":"ioBroker out","name":"Luftdruck","topic":"hm-rega.0.4765","ack":"false","autoCreate":"false","x":899.0413055419922,"y":113.32455062866211,"z":"3249cd7d.cdb632","wires":[]},{"id":"bd7c22f9.4283e","type":"ioBroker out","name":"Luftfeuchtigkeit","topic":"hm-rega.0.4766","ack":"false","autoCreate":"false","x":917.6127166748047,"y":159.4673728942871,"z":"3249cd7d.cdb632","wires":[]},{"id":"f39debec.0c6218","type":"ioBroker out","name":"Windgeschwindigkeit","topic":"hm-rega.0.4767","ack":"false","autoCreate":"false","x":938.4698944091797,"y":209.75320053100586,"z":"3249cd7d.cdb632","wires":[]},{"id":"b02f0df9.4fd0f","type":"ioBroker out","name":"Windrichtung","topic":"hm-rega.0.4768","ack":"false","autoCreate":"false","x":918.6127166748047,"y":257.7530174255371,"z":"3249cd7d.cdb632","wires":[]},{"id":"62ede8a7.9d1218","type":"debug","name":"Ausgabe","active":true,"console":"false","complete":"payload","x":625.2159881591797,"y":62.86397933959961,"z":"3249cd7d.cdb632","wires":[]}]

      1 Reply Last reply Reply Quote 0
      • H
        HKF8770 last edited by

        Hallo Paul,

        kannst du mir sagen wir mann da rundet?? Bei java ist das ja .toFixed(2). Somit kann ich dann nen Wert runden auf 2 Stellen nach dem Komma. Aber bei Node geht der Befehl nicht. Was du ne Lösung?

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

          @fischi87:

          Sowas steht bei mir nicht?! Die einzige Stelle, an der man drehen kann, sehe ich bei > msg1.payload = msg.payload.main.temp Vielleicht hilft ein Ersetzen durch ?: > msg1.payload = msg.payload.main.temp.toFixed(2) `

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @paul53:

            @fischi87:

            Sowas steht bei mir nicht?! Die einzige Stelle, an der man drehen kann, sehe ich bei > msg1.payload = msg.payload.main.temp Vielleicht hilft ein Ersetzen durch ?: > msg1.payload = msg.payload.main.temp.toFixed(2)
            toFixed erwartet schon number als Typ. Deswegen:

            msg.payload = parseFloat(egalWas || 0).toFixed(2);
            
            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Bluefox:

              toFixed erwartet schon number als Typ. `
              Laut http://openweathermap.org/current sollte Typ "number" geliefert werden.

              Mit parseFloat(wert) ist es natürlich sicherer und sieht dann im konkreten Fall so aus:

              msg1.payload = parseFloat(msg.payload.main.temp).toFixed(2)
              

              2678_spotify.png

              1 Reply Last reply Reply Quote 0
              • fischi87
                fischi87 last edited by

                hey paul53,

                viele dank dein code hat funktioniert, nur wenn ich das übertrage auch auf "speed" steht bei mir in der ccm nur "nan" da????

                Mit freundlichen Grüßen

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

                  msg4.payload = parseFloat(msg.payload.wind.speed).toFixed(2)
                  

                  funktioniert nicht ?

                  "nan" erzeugt Javascript, wenn Typ "number" erwartet wird, aber nicht vorliegt.
                  4249_spotify_playlist_016.png
                  4249_spotify_playlist_017.png

                  1 Reply Last reply Reply Quote 0
                  • fischi87
                    fischi87 last edited by

                    nein funktioniert leider nicht, selbst wenn ich das jetzt wieder ändere in original zustand komm ich nicht wieder auf die zahl??????

                    was mir auch gerade auffällt, ich bekomme jetzt immer eine 0 nach dem Komma auch wenn eine zahl übermittelt wird???

                    Mit freundlichen Grüßen

                    1 Reply Last reply Reply Quote 0
                    • fischi87
                      fischi87 last edited by

                      so jetzt hat es doch funktioniert, sorry hab mal neu gestartet, jetzt funktioniert alles, danke euch

                      Mit freundlichen Grüßen

                      ps. hab noch viel zu lernen was node-red betrifft, wo findet man die befehle und ihre Bedeutung?

                      1 Reply Last reply Reply Quote 0
                      • fischi87
                        fischi87 last edited by

                        hey paul53 ich nochmal, vielleicht kannst du oder jemand anderes nochmal helfen?!

                        wie gesagt versuche mir node-red irgendwie beizubringen.

                        ich habe vor per sind adapter eine sv zu schalten d.h. wenn alles Geräte in mehr im plan sind soll die sv sich ändern aber was schreibt man da für eine Funktion rein oder wie realisiert man dies?

                        das ist der Anfang:

                        [{"id":"f7a2cf94.085d3","type":"ioBroker in","name":"PS 4","topic":"ping.0.RaspberryPi.192_168_178_31","payloadType":"value","x":136,"y":434,"z":"751d0e6f.8ae2f","wires":[[]]}]
                        
                        1 Reply Last reply Reply Quote 0
                        • fischi87
                          fischi87 last edited by

                          @fischi87:

                          hey paul53 ich nochmal, vielleicht kannst du oder jemand anderes nochmal helfen?!

                          wie gesagt versuche mir node-red irgendwie beizubringen.

                          ich habe vor per sind adapter eine sv zu schalten d.h. wenn alles Geräte in mehr im plan sind soll die sv sich ändern aber was schreibt man da für eine Funktion rein oder wie realisiert man dies?

                          das ist der Anfang:

                          [{"id":"f7a2cf94.085d3","type":"ioBroker in","name":"PS 4","topic":"ping.0.RaspberryPi.192_168_178_31","payloadType":"value","x":136,"y":434,"z":"751d0e6f.8ae2f","wires":[[]]}]
                          ```` `  
                          

                          danke Mit freundlichen Grüßen

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

                            Von node-red habe ich nicht die geringste Ahnung. Lediglich mit der darin eingebetten Javascript-Funktion (hinter "func":) kann ich etwas anfangen.

                            1 Reply Last reply Reply Quote 0
                            • fischi87
                              fischi87 last edited by

                              und kannst du mir da mit meinem Projekt helfen? ich werde ja eine Funktion brauchen und den true and false status der jeweiligen Geräte zu erkennen und dann eine "wenn oder" Auswertung zu bekommen?!

                              Mit freundlichen Grüßen

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

                                Bei der Funktion kann ich Dir sicherlich helfen, wenn Du genau beschreibst, was diese Funktion machen soll und was die Eingangs- und Ausgangsgrößen sind.

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

                                  So sieht die Javascript-Lösung für die Aufgabenstellng aus:

                                  var request = require('request');
                                  var url = 'http://api.openweathermap.org/data/2.5/weather?q=Strehla,DE&units=metric&APPID=e5de2c3e2339a69b6d181c0cb9d2e5d8';
                                  var wetter = {};
                                  
                                  // alle 15 Minuten
                                  schedule("*/15 * * * *", function () {
                                  
                                      request(url, function(error, response, body) {
                                      if (!error && response.statusCode == 200) {
                                          wetter = JSON.parse(body);
                                  
                                          setState("hm-rega.0.4764",wetter.main.temp.toFixed(2) + " °C");
                                          setState("hm-rega.0.4765",wetter.main.pressure.toFixed(1) + " hPa");
                                          setState("hm-rega.0.4766",wetter.main.humidity;.toFixed(0) + " %");
                                          setState("hm-rega.0.4767",wetter.wind.speed.toFixed(1) + " m/s");
                                          setState("hm-rega.0.4768",wetter.wind.deg.toFixed(0) + " °");
                                          }
                                      });
                                  });
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  806
                                  Online

                                  31.7k
                                  Users

                                  79.7k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  22
                                  3548
                                  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