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

      vielen dank, hat auch alles super geklappt. Ich habe mir erstmal das mit dem ganzen wetter zeug rein kopiert und als sv in meiner ccu2 anzeigen lassen wo auch schon das nächste problem auf mich warte, ich habe nach dem Komma immer 6 stellen wie kann ich dies beschränken?

      Mit freundlichen Grüßen
      4528_calendar.ics.txt

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

        weis ich net ganz genau.

        Ich kann dir sagen wir man rundet

        sicherlich kann man da nen Zusatz machen dass man auch 2 Stellen nach dem Komma rundet, aber wie??

        [{"id":"cac18979.353e78","type":"inject","name":"","topic":"","payload":"99,9999","payloadType":"string","repeat":"","crontab":"","once":false,"x":167,"y":1094,"z":"fc6c7385.03939","wires":[["629e1530.9d61ec"]]},{"id":"216d9604.de926a","type":"debug","name":"","active":true,"console":"false","complete":"false","x":798,"y":1099,"z":"fc6c7385.03939","wires":[]},{"id":"629e1530.9d61ec","type":"function","name":"","func":"var Tage_Strom = msg.payload;\nvar Tage_Strom = parseInt(Tage_Strom); // in Zahl umwandeln\n//var Tage_Stromg = Tage_Strom.toFixed(2); \nmsg.payload=Tage_Strom;\nreturn msg;","outputs":1,"noerr":0,"x":451,"y":1097,"z":"fc6c7385.03939","wires":[["216d9604.de926a"]]}]
        
        1 Reply Last reply Reply Quote 0
        • 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

                                        736
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

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