Navigation

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

    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

    Neuling?

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

      Ersetze mal parseInt(Tage_Strom) durch parseFloat(Tage_Strom) und ändere in msg.payload=Tage_Stromg.

      1 Reply Last reply Reply Quote 0
      • 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

                                    593
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

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