Navigation

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

    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

    Openweather API

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

      Falls jemand die Daten aus seiner Stadt in Variablen schreiben möchte.

      Um Tipparbeit zu sparen, anbei der Flow.

      Im Beispiel für die Städte Düsseldorf und Ratingen.

      327_2015-05-03_node-red_openweathermap.jpg

      [{"id":"31f0063c.ce0ffa","type":"http request","name":"Openweathermap Düsseldorf","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/weather?q=Duesseldorf,de&units=metric&lang=de","x":576.285758972168,"y":3414.8253536224365,"z":"c8f61395.3709f","wires":[["99e0ffb0.661f","81652e01.7e9ad","5be9f9a7.a41608","57b76f72.a8489","d3eb6296.2c14a","502c6827.afd398","b15add60.4ea52","e6ba0720.1945f8","c5e75ea1.3a18a","5e981f4a.a167e"]]},{"id":"49f2a5e5.b60d5c","type":"inject","name":"Trigger","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":327.5714797973633,"y":3414.8253498077393,"z":"c8f61395.3709f","wires":[["31f0063c.ce0ffa","30b66901.cf4996"]]},{"id":"8bd529ed.742ad8","type":"debug","name":"","active":false,"console":"false","complete":"false","x":1159.1746292114258,"y":3363.8253135681152,"z":"c8f61395.3709f","wires":[]},{"id":"99e0ffb0.661f","type":"function","name":"Temperatur","func":"msg.payload = msg.payload.main.temp;\n\nreturn msg;","outputs":1,"x":893.4603958129883,"y":3408.8253536224365,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","f10a8e1b.0ef57"]]},{"id":"81652e01.7e9ad","type":"function","name":"Luftdruck","func":"msg.payload = msg.payload.main.pressure;\n\nreturn msg;","outputs":1,"x":893.4604263305664,"y":3444.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","73419212.8cbe6c"]]},{"id":"5be9f9a7.a41608","type":"function","name":"Luftfeuchtigkeit","func":"msg.payload = msg.payload.main.humidity;\n\nreturn msg;","outputs":1,"x":900.4604263305664,"y":3485.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","8e3e598b.71c1a8"]]},{"id":"57b76f72.a8489","type":"function","name":"Windgeschwindigkeit","func":"msg.payload = msg.payload.wind.speed;\n\nreturn msg;","outputs":1,"x":905.4604263305664,"y":3565.825170516968,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","32593c69.cda6c4"]]},{"id":"d3eb6296.2c14a","type":"function","name":"Windrichtung","func":"msg.payload = msg.payload.wind.deg;\n\nreturn msg;","outputs":1,"x":905.4604263305664,"y":3598.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","1f600994.e09ff6"]]},{"id":"c5e75ea1.3a18a","type":"debug","name":"","active":true,"console":"false","complete":"false","x":597.4604415893555,"y":3627.39656829834,"z":"c8f61395.3709f","wires":[]},{"id":"502c6827.afd398","type":"function","name":"Wetter","func":"msg.payload = msg.payload.weather[0].description;\n\nreturn msg;","outputs":1,"x":906.4604263305664,"y":3662.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","c91a4fc8.36e5b"]]},{"id":"b15add60.4ea52","type":"function","name":"Sonnenaufgang","func":"msg.payload = msg.payload.sys.sunrise;\n\nreturn msg;","outputs":1,"x":914.4604263305664,"y":3719.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","8dcd3e6f.7232c"]]},{"id":"e6ba0720.1945f8","type":"function","name":"Sonnenuntergang","func":"msg.payload = msg.payload.sys.sunset;\n\nreturn msg;","outputs":1,"x":915.4604263305664,"y":3758.8252925872803,"z":"c8f61395.3709f","wires":[["8bd529ed.742ad8","33693888.cc96c8"]]},{"id":"30b66901.cf4996","type":"http request","name":"Openweathermap Ratingen","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/weather?q=Ratingen,de&units=metric&lang=de","x":573.174560546875,"y":3944.254117012024,"z":"c8f61395.3709f","wires":[["c5e75ea1.3a18a","f421d300.0bde3","fa52aae3.05ad58","3e653e21.c19ac2","b2446bef.4dbb98","4262d813.bd9d28","83278cad.7cd87","17057cd8.e8fa83","663b03f3.99c4fc","18c7ceb4.e73831"]]},{"id":"7df41760.820be8","type":"comment","name":"Wetterdaten aktuell aus der Openweathermap abfragen","info":"","x":439.46033477783203,"y":3325.4921016693115,"z":"c8f61395.3709f","wires":[]},{"id":"f10a8e1b.0ef57","type":"ioBroker out","name":"","topic":"openWeatherDusTemperatur","ack":"true","autoCreate":"true","x":1198.5714111328125,"y":3402.8571548461914,"z":"c8f61395.3709f","wires":[]},{"id":"73419212.8cbe6c","type":"ioBroker out","name":"","topic":"openWeatherDusLuftdruck","ack":"true","autoCreate":"true","x":1200,"y":3444.285888671875,"z":"c8f61395.3709f","wires":[]},{"id":"8e3e598b.71c1a8","type":"ioBroker out","name":"","topic":"openWeatherDusLuftfeuchtigkeit","ack":"true","autoCreate":"true","x":1198.5714111328125,"y":3481.4287109375,"z":"c8f61395.3709f","wires":[]},{"id":"32593c69.cda6c4","type":"ioBroker out","name":"","topic":"openWeatherDusWindgeschwindigkeit","ack":"true","autoCreate":"true","x":1211.4286041259766,"y":3565.7145385742188,"z":"c8f61395.3709f","wires":[]},{"id":"1f600994.e09ff6","type":"ioBroker out","name":"","topic":"openWeatherDusWindrichtung","ack":"true","autoCreate":"true","x":1208.5714111328125,"y":3605.71435546875,"z":"c8f61395.3709f","wires":[]},{"id":"c91a4fc8.36e5b","type":"ioBroker out","name":"","topic":"openWeatherDusWetterBeschreibung","ack":"true","autoCreate":"true","x":1212.857177734375,"y":3660,"z":"c8f61395.3709f","wires":[]},{"id":"8dcd3e6f.7232c","type":"ioBroker out","name":"","topic":"openWeatherDusSonnenaufgang","ack":"true","autoCreate":"true","x":1212.857177734375,"y":3715.71435546875,"z":"c8f61395.3709f","wires":[]},{"id":"33693888.cc96c8","type":"ioBroker out","name":"","topic":"openWeatherDusSonnenuntergang","ack":"true","autoCreate":"true","x":1215.71435546875,"y":3758.571533203125,"z":"c8f61395.3709f","wires":[]},{"id":"f421d300.0bde3","type":"function","name":"Temperatur","func":"msg.payload = msg.payload.main.temp;\n\nreturn msg;","outputs":1,"x":904.2856674194336,"y":4122.85746383667,"z":"c8f61395.3709f","wires":[["15af9518.ea506b","5d2280ee.a2dd8"]]},{"id":"fa52aae3.05ad58","type":"function","name":"Luftdruck","func":"msg.payload = msg.payload.main.pressure;\n\nreturn msg;","outputs":1,"x":904.2856979370117,"y":4158.857402801514,"z":"c8f61395.3709f","wires":[["4752a912.b8ad58","5d2280ee.a2dd8"]]},{"id":"3e653e21.c19ac2","type":"function","name":"Luftfeuchtigkeit","func":"msg.payload = msg.payload.main.humidity;\n\nreturn msg;","outputs":1,"x":911.2856979370117,"y":4199.857402801514,"z":"c8f61395.3709f","wires":[["1733cc7c.e8cc34","5d2280ee.a2dd8"]]},{"id":"b2446bef.4dbb98","type":"function","name":"Windgeschwindigkeit","func":"msg.payload = msg.payload.wind.speed;\n\nreturn msg;","outputs":1,"x":916.2856979370117,"y":4279.857280731201,"z":"c8f61395.3709f","wires":[["fd89fe3b.0276","5d2280ee.a2dd8"]]},{"id":"4262d813.bd9d28","type":"function","name":"Windrichtung","func":"msg.payload = msg.payload.wind.deg;\n\nreturn msg;","outputs":1,"x":916.2856979370117,"y":4312.857402801514,"z":"c8f61395.3709f","wires":[["6d3fe98c.92c018","5d2280ee.a2dd8"]]},{"id":"83278cad.7cd87","type":"function","name":"Wetter","func":"msg.payload = msg.payload.weather[0].description;\n\nreturn msg;","outputs":1,"x":917.2856979370117,"y":4376.857402801514,"z":"c8f61395.3709f","wires":[["70d219d5.8f2de8","5d2280ee.a2dd8"]]},{"id":"17057cd8.e8fa83","type":"function","name":"Sonnenaufgang","func":"msg.payload = msg.payload.sys.sunrise;\n\nreturn msg;","outputs":1,"x":925.2856979370117,"y":4433.857402801514,"z":"c8f61395.3709f","wires":[["44aec1c.fbb514","5d2280ee.a2dd8"]]},{"id":"663b03f3.99c4fc","type":"function","name":"Sonnenuntergang","func":"msg.payload = msg.payload.sys.sunset;\n\nreturn msg;","outputs":1,"x":926.2856979370117,"y":4472.857402801514,"z":"c8f61395.3709f","wires":[["32d6a60e.cd295a","5d2280ee.a2dd8"]]},{"id":"15af9518.ea506b","type":"ioBroker out","name":"","topic":"openWeatherRatTemperatur","ack":"true","autoCreate":"true","x":1209.3966827392578,"y":4116.889265060425,"z":"c8f61395.3709f","wires":[]},{"id":"4752a912.b8ad58","type":"ioBroker out","name":"","topic":"openWeatherRatLuftdruck","ack":"true","autoCreate":"true","x":1210.8252716064453,"y":4158.317998886108,"z":"c8f61395.3709f","wires":[]},{"id":"1733cc7c.e8cc34","type":"ioBroker out","name":"","topic":"openWeatherRatLuftfeuchtigkeit","ack":"true","autoCreate":"true","x":1209.3966827392578,"y":4195.460821151733,"z":"c8f61395.3709f","wires":[]},{"id":"fd89fe3b.0276","type":"ioBroker out","name":"","topic":"openWeatherRatWindgeschwindigkeit","ack":"true","autoCreate":"true","x":1222.2538757324219,"y":4279.746648788452,"z":"c8f61395.3709f","wires":[]},{"id":"6d3fe98c.92c018","type":"ioBroker out","name":"","topic":"openWeatherRatWindrichtung","ack":"true","autoCreate":"true","x":1219.3966827392578,"y":4319.746465682983,"z":"c8f61395.3709f","wires":[]},{"id":"70d219d5.8f2de8","type":"ioBroker out","name":"","topic":"openWeatherRatWetterBeschreibung","ack":"true","autoCreate":"true","x":1223.6824493408203,"y":4374.032110214233,"z":"c8f61395.3709f","wires":[]},{"id":"44aec1c.fbb514","type":"ioBroker out","name":"","topic":"openWeatherRatSonnenaufgang","ack":"true","autoCreate":"true","x":1223.6824493408203,"y":4429.746465682983,"z":"c8f61395.3709f","wires":[]},{"id":"32d6a60e.cd295a","type":"ioBroker out","name":"","topic":"openWeatherRatSonnenuntergang","ack":"true","autoCreate":"true","x":1226.5396270751953,"y":4472.603643417358,"z":"c8f61395.3709f","wires":[]},{"id":"5d2280ee.a2dd8","type":"debug","name":"","active":false,"console":"false","complete":"false","x":1159.9999599456787,"y":4082.8571786880493,"z":"c8f61395.3709f","wires":[]},{"id":"5e981f4a.a167e","type":"function","name":"openstreetmap Adresse http","func":"\n// Koordinate inkl. Marker\nmsg.payload = \"http://www.openstreetmap.org/?mlon=\" \n       + msg.payload.coord.lon + \"&mlat=\"\n       + msg.payload.coord.lat + \"&zoom=17#map=17/\" // Zoom Stufe 17 (beide Werte anpssen, wenn Änderung gewünscht)\n       + msg.payload.coord.lat + \"/\"\n       + msg.payload.coord.lon;\nreturn msg;\n","outputs":"1","x":941.4285888671875,"y":3804.285888671875,"z":"c8f61395.3709f","wires":[["4eefbe15.b1104","5eb8d843.a14728"]]},{"id":"4eefbe15.b1104","type":"ioBroker out","name":"","topic":"openWeatherDusOpenstreetmapURL","ack":"true","autoCreate":"true","x":1210.0000305175781,"y":3801.428776741028,"z":"c8f61395.3709f","wires":[]},{"id":"5eb8d843.a14728","type":"debug","name":"","active":false,"console":"false","complete":"false","x":1421.4286499023438,"y":3801.4287071228027,"z":"c8f61395.3709f","wires":[]},{"id":"18c7ceb4.e73831","type":"function","name":"openstreetmap Adresse http","func":"\n// Koordinate inkl. Marker\nmsg.payload = \"http://www.openstreetmap.org/?mlon=\" \n       + msg.payload.coord.lon + \"&mlat=\"\n       + msg.payload.coord.lat + \"&zoom=17#map=17/\" // Zoom Stufe 17 (beide Werte anpssen, wenn Änderung gewünscht)\n       + msg.payload.coord.lat + \"/\"\n       + msg.payload.coord.lon;\nreturn msg;\n","outputs":"1","x":954.2856750488281,"y":4518.571251869202,"z":"c8f61395.3709f","wires":[["299181d2.d66e7e","891fd3bc.76e03"]]},{"id":"299181d2.d66e7e","type":"ioBroker out","name":"","topic":"openWeatherRatOpenstreetmapURL","ack":"true","autoCreate":"true","x":1222.8571166992188,"y":4515.7141399383545,"z":"c8f61395.3709f","wires":[]},{"id":"891fd3bc.76e03","type":"debug","name":"","active":false,"console":"false","complete":"false","x":1447.1428298950195,"y":4515.713824272156,"z":"c8f61395.3709f","wires":[]}]
      
      1 Reply Last reply Reply Quote 0
      • derAuge
        derAuge last edited by

        Das sind die richtigen Sachen zum lernen. 😉

        Hatte auch den Ansatz.

        Jedoch mit einer Funktion. Und durch deine Hilfe konne ich nun die letzten Parammeter herausfinden.
        315_node-red_wetterbor.png

        Ist an deinem Vorschlag angelehnt

        ! [{"id":"c85bd032.32ed08","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":125,"y":65,"z":"9754ee99.65c0c8","wires":[["f9322c39.6b25a8"]]},{"id":"f9322c39.6b25a8","type":"http request","name":"Wetter in Borken","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/ … c8":[["a22d4c1b.313608"]]},{"id":"a22d4c1b.313608","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;\nmsg6 = {};\nmsg6.payload = msg.payload.weather[0].description;\nmsg7 = {};\nmsg7.payload = msg.payload.sys.sunrise;\nmsg8 = {};\nmsg8.payload = msg.payload.sys.sunset;\nmsg9 = {};\n\nmsg10 = {};\n// Koordinate inkl. Marker\nmsg10.payload = "http://www.openstreetmap.org/?mlon=" \n + msg.payload.coord.lon + "&mlat="\n + msg.payload.coord.lat + "&zoom=17#map=17/" // Zoom Stufe 17 (beide Werte anpssen, wenn Änderung gewünscht)\n + msg.payload.coord.lat + "/"\n + msg.payload.coord.lon;\n\nreturn [msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8,msg9,msg10];","outputs":"10","valid":true,"x":338,"y":141,"z":"9754ee99.65c0c8","wires":[["f09a27cf.f7bfb"],["571ec36b.2305f4"],["d599dff2.d2b74"],["f0adeafa.14cdf8"],["1cebc15a.7b89f7"],["1f7cb16d.d889cf"],["38368cd9.2b03d4"],["23c3b3ae.0960e4"],[],["a7734dac.696ef8","f47ee89.9694618"]]},{"id":"f09a27cf.f7bfb","type":"ioBroker out","name":"","topic":"openWeatherBorTemperatur","ack":"true","autoCreate":"true","x":666.396728515625,"y":43.031829833984375,"z":"9754ee99.65c0c8","wires":[]},{"id":"571ec36b.2305f4","type":"ioBroker out","name":"","topic":"openWeatherBorLuftdruck","ack":"true","autoCreate":"true","x":663.8253173828125,"y":91.4605712890625,"z":"9754ee99.65c0c8","wires":[]},{"id":"d599dff2.d2b74","type":"ioBroker out","name":"","topic":"openWeatherBorLuftfeuchtigkeit","ack":"true","autoCreate":"true","x":680.396728515625,"y":139.6033935546875,"z":"9754ee99.65c0c8","wires":[]},{"id":"f0adeafa.14cdf8","type":"ioBroker out","name":"","topic":"openWeatherBorWindgeschwindigkeit","ack":"true","autoCreate":"true","x":695.25390625,"y":182.88922119140625,"z":"9754ee99.65c0c8","wires":[]},{"id":"1cebc15a.7b89f7","type":"ioBroker out","name":"","topic":"openWeatherBorWindrichtung","ack":"true","autoCreate":"true","x":673.396728515625,"y":229.8890380859375,"z":"9754ee99.65c0c8","wires":[]},{"id":"1f7cb16d.d889cf","type":"ioBroker out","name":"","topic":"openWeatherBorWetterBeschreibung","ack":"true","autoCreate":"true","x":698.6824951171875,"y":272.1746826171875,"z":"9754ee99.65c0c8","wires":[]},{"id":"38368cd9.2b03d4","type":"ioBroker out","name":"","topic":"openWeatherBorSonnenaufgang","ack":"true","autoCreate":"true","x":685.6824951171875,"y":316.8890380859375,"z":"9754ee99.65c0c8","wires":[]},{"id":"23c3b3ae.0960e4","type":"ioBroker out","name":"","topic":"openWeatherBorSonnenuntergang","ack":"true","autoCreate":"true","x":694.5396728515625,"y":361.7462463378906,"z":"9754ee99.65c0c8","wires":[]},{"id":"a7734dac.696ef8","type":"ioBroker out","name":"","topic":"openWeatherBorOpenstreetmapURL","ack":"true","autoCreate":"true","x":632.825439453125,"y":464.6033935546875,"z":"9754ee99.65c0c8","wires":[]},{"id":"f47ee89.9694618","type":"debug","name":"","active":true,"console":"false","complete":"false","x":551,"y":514,"z":"9754ee99.65c0c8","wires":[]}]

        Was ist nun der Vorteil / Nachteil ob man es mit einer oder mehreren Funktionen macht?

        EDIT: Wie kann ich die Uhrzeiten (Unix-Version) in "iso" anzeigen lassen?

        openWeatherBorSonnenaufgang	1430625525	
        openWeatherBorSonnenuntergang	1430679602
        

        Gruß

        derAuge

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

          @derAuge:

          Was ist nun der Vorteil / Nachteil ob man es mit einer oder mehreren Funktionen macht? `

          Wahrscheinlich Geschmacksache 😉

          Ich habe die Kombi "Funktion" -> Variable gewählt, um einfach per Maus schnell ein Pärchen löschen zu können, per cpoy&paste die nächste Variable hinzuzufügen und die Zuordnung (JSON Objekt zur Variable) direkt zu sehen, ohne in das Script schauen zu müssen. Deine Variante sieht professioneller und aufgeräumter aus.

          @derAuge:

          EDIT: Wie kann ich die Uhrzeiten (Unix-Version) in "iso" anzeigen lassen?

          openWeatherBorSonnenaufgang	1430625525	
          openWeatherBorSonnenuntergang	1430679602
          ```` `  
          

          Ich hatte hier http://forum.iobroker.org/viewtopic.php?f=32&t=653 die Funktion beschrieben.

          Einfach die Funktion hinter der Funktion ziehen, die den Timestamp aus dem JSON ermittelt.

          Dann kannst Du Dich noch zwischen den Varianten entscheiden, ob der Timestamp aus der Ursprungsmessage kommen soll oder der Timestamp zum Zeitpunkt des Funktionsaufruf genommen werden soll.

          Wenn Du nur das ISO Format haben willst, dann brauchst Du nur die Date(mparseInt(sg.payload.sys.sunrise)) Funktion verwenden. Ich finde das reine ISO Format aber auch nicht so toll.

          var isoZeit     = new Date(mparseInt(sg.payload.sys.sunrise))
          

          Mit der Funktion mit dem Konvertierungsscript, siehe URL oben, kannst Du Dir das Format beliebig zusammenstellen.

          Vorletzter Zeile:

          msg.payload = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;
          

          Gibt das Datum als: 2015-05-03 11:56:20 aus.

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

            Habe (nach Datenverlust node-red Update) den Flow wieder eingerichtet und den Anweisungen von ruhr70 gefolgt (Danke für die Erklärungen).

            Nun wird das UNIX-Datum sauber gewandelt

            Nun stellt sich die Frage:

            schicken die falsche Infos?

            • Wetter.Borken.Sonnenaufgang 15:58:45
            Wetter.Borken.Sonnenuntergang 15:59:45 
            

            315_wetter_zeit_ferhlerhaft.png

            ! [{"id":"fa31ff8f.80d708","type":"inject","name":"Start","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":97,"y":117,"z":"2cd3b4a8.0e4174","wires":[["506d3a8c.ac6554"]]},{"id":"506d3a8c.ac6554","type":"http request","name":"holt Wetterinfo für Borken über api (openwethermap)","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/ … 74":[["eb988301.d6d57","3ad3ca90.978a16"]]},{"id":"eb988301.d6d57","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;\nmsg6 = {};\nmsg6.payload = msg.payload.weather[0].description;\nmsg7 = {};\nmsg7.payload = msg.payload.sys.sunrise;\nmsg8 = {};\nmsg8.payload = msg.payload.sys.sunset;\nmsg9 = {};\n\nmsg10 = {};\n// Koordinate inkl. Marker\nmsg10.payload = "http://www.openstreetmap.org/?mlon=" \n + msg.payload.coord.lon + "&mlat="\n + msg.payload.coord.lat + "&zoom=17#map=17/" // Zoom Stufe 17 (beide Werte anpssen, wenn Änderung gewünscht)\n + msg.payload.coord.lat + "/"\n + msg.payload.coord.lon;\n\nreturn [msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8,msg9,msg10];","outputs":"10","noerr":0,"x":136,"y":314,"z":"2cd3b4a8.0e4174","wires":[["cf581be3.4d61c"],["a77254f5.4b33f"],["a108d2f6.73ac08"],["725a5cf7.76233c"],["cecc69dd.611648"],["2d946d5c.6c9cea"],["3a9fad41.c56052","1564d9c4.ea9b26"],["7c8cb6a1.837348","6cd46de8.932b94"],[],["30ce4c89.0a7d74","a708b0e9.397e78"]]},{"id":"cf581be3.4d61c","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Temperatur","ack":"true","autoCreate":"true","x":861.396728515625,"y":20,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a77254f5.4b33f","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Luftdruck","ack":"true","autoCreate":"true","x":867.8253173828125,"y":70.4605712890625,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a108d2f6.73ac08","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Luftfeuchtigkeit","ack":"true","autoCreate":"true","x":852.396728515625,"y":120.6033935546875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"725a5cf7.76233c","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Windgeschwindigkeit","ack":"true","autoCreate":"true","x":837.25390625,"y":170.88922119140625,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"cecc69dd.611648","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Windrichtung","ack":"true","autoCreate":"true","x":861.396728515625,"y":219.8890380859375,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"2d946d5c.6c9cea","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.WetterBeschreibung","ack":"true","autoCreate":"true","x":841.6824951171875,"y":270.1746826171875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"e05ce497.e20268","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Sonnenaufgang","ack":"true","autoCreate":"true","x":858.6824951171875,"y":325.8890380859375,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"c78b0c07.5cbd98","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Sonnenuntergang","ack":"true","autoCreate":"true","x":852.5396728515625,"y":424.7462463378906,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"30ce4c89.0a7d74","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.OpenstreetmapURL","ack":"true","autoCreate":"true","x":451.825439453125,"y":562.6033935546875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a708b0e9.397e78","type":"debug","name":"","active":true,"console":"false","complete":"false","x":337,"y":611,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"3ad3ca90.978a16","type":"debug","name":"","active":true,"console":"false","complete":"false","x":558,"y":23,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"3a9fad41.c56052","type":"function","name":"wandelt timestamp // Zeit aus dem Payload","func":"// (1) wandelt timestamp ins ISO Datumformat um\n//msg.timestamp= new Date().toISOString()\n\n// (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS\n// (Ausgabeformat wird danz am Ende zusammengestellt)\nvar now = new Date(msg.payload); // Zeit aus dem Payload\nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\nif(second.toString().length == 1) {\nvar second = '0'+second;\n} \n//msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\nmsg.payload = hour+':'+minute+':'+second;\n\nreturn msg;","outputs":1,"noerr":0,"x":470,"y":334,"z":"2cd3b4a8.0e4174","wires":[["e05ce497.e20268","f99ef869.066108"]]},{"id":"7c8cb6a1.837348","type":"function","name":"wandelt timestamp // Zeit aus dem Payload","func":"// (1) wandelt timestamp ins ISO Datumformat um\n//msg.timestamp= new Date().toISOString()\n\n// (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS\n// (Ausgabeformat wird danz am Ende zusammengestellt)\nvar now = new Date(msg.payload); // Zeit aus dem Payload\nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\nif(second.toString().length == 1) {\nvar second = '0'+second;\n} \n//msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\nmsg.payload = hour+':'+minute+':'+second;\n\nreturn msg;","outputs":1,"noerr":0,"x":469,"y":426,"z":"2cd3b4a8.0e4174","wires":[["c78b0c07.5cbd98","4ded2049.b212e"]]},{"id":"1564d9c4.ea9b26","type":"debug","name":"","active":true,"console":"false","complete":"false","x":565,"y":374,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"f99ef869.066108","type":"debug","name":"","active":true,"console":"false","complete":"false","x":765,"y":373,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"6cd46de8.932b94","type":"debug","name":"","active":true,"console":"false","complete":"false","x":552,"y":469,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"4ded2049.b212e","type":"debug","name":"","active":true,"console":"false","complete":"false","x":753,"y":471,"z":"2cd3b4a8.0e4174","wires":[]}]
            oder habe ich etwas verbogen?

            Gruß

            Jürgen

            PS.: Leider funktioniert "var isoZeit = new Date(mparseInt(sg.payload.sys.sunrise))" nicht

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

              @derAuge:

              PS.: Leider funktioniert "var isoZeit = new Date(mparseInt(sg.payload.sys.sunrise))" nicht `

              Da fehlt mindestens ein "m" (schon bei mir oben).

              msg.payload, nicht sg.payload

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

                @ruhr70:

                @derAuge:

                PS.: Leider funktioniert "var isoZeit = new Date(mparseInt(sg.payload.sys.sunrise))" nicht `

                Da fehlt mindestens ein "m" (schon bei mir oben).

                msg.payload, nicht sg.payload `

                //var isoZeit = new Date(mparseInt(msg.payload.sys.sunrise));
                //msg.payload = isoZeit;
                
                msg.payload = new Date(mparseInt(msg.payload.sys.sunrise));
                return msg;
                
                

                😞

                Cannot read property 'sunrise' of undefined
                
                
                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  @derAuge:

                  Habe (nach Datenverlust node-red Update) den Flow wieder eingerichtet und den Anweisungen von ruhr70 gefolgt (Danke für die Erklärungen).

                  Nun wird das UNIX-Datum sauber gewandelt

                  Nun stellt sich die Frage:

                  schicken die falsche Infos?

                  • Wetter.Borken.Sonnenaufgang 15:58:45
                  Wetter.Borken.Sonnenuntergang 15:59:45 ` 
                  1 Reply Last reply Reply Quote 0
                  • ruhr70
                    ruhr70 last edited by

                    So, habe mir das angesehen (mit den falschen Zeiten).

                    Dir fehlen ein paar Sekunden.

                    Dein msg.payload liefert die Sekunden seit dem 1.1.1970.

                    Die Funktion:

                    var now = new Date(msg.payload); // Zeit aus dem Payload
                    

                    Arbeitet mir den Millisekunden seit dem 1.1.1970

                    Du musst msg.payload noch mit 1.000 multiplizieren. Dann stimmen auch die Zeiten.

                    Wg. dem ISO habe ich noch nicht geschaut.

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

                      @ruhr70:

                      Dein msg.payload liefert die Sekunden seit dem 1.1.1970. `

                      Ist das nun bei mir ? Wenn JA, wo kommt das her?

                      Habe den Flow angepasst. und nun gefällt mir auch der Sonnenaufgang 🙂

                      Die Funktion für die Umrechnung:

                      // (1) wandelt timestamp ins ISO Datumformat um
                      //msg.timestamp= new Date().toISOString()
                      
                      // (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS
                      //     (Ausgabeformat wird danz am Ende zusammengestellt)
                      var now     = new Date(msg.payload * 1000); // Zeit aus dem Payload
                      var year    = now.getFullYear();
                      var month   = now.getMonth()+1; 
                      var day     = now.getDate();
                      var hour    = now.getHours();
                      var minute  = now.getMinutes();
                      var second  = now.getSeconds(); 
                      if(month.toString().length == 1) {
                      var month = '0'+month;
                      }
                      if(day.toString().length == 1) {
                      var day = '0'+day;
                      }   
                      if(hour.toString().length == 1) {
                      var hour = '0'+hour;
                      }
                      if(minute.toString().length == 1) {
                      var minute = '0'+minute;
                      }
                      if(second.toString().length == 1) {
                      var second = '0'+second;
                      } 
                      //msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;
                      msg.payload = day+'.'+month+'.'+year+' - '+hour+':'+minute+':'+second;
                      
                      return msg;
                      
                      

                      erzeugt nun auch eine saubere Ausgabe

                      • Wetter.Borken.Sonnenaufgang 09.07.2015 - 05:24:22 true node-red.0 2015-07-09 08:20:03 2015-07-09 07:23:03
                      Wetter.Borken.Sonnenuntergang 09.07.2015 - 21:50:30 true node-red.0 2015-07-09 08:20:03 2015-07-09 07:23:03 
                      

                      Der überarbeitete Flow:

                      ! [{"id":"fa31ff8f.80d708","type":"inject","name":"Start # Jede Minute","topic":"","payload":"","payloadType":"none","repeat":"60","crontab":"","once":true,"x":135,"y":104,"z":"2cd3b4a8.0e4174","wires":[["506d3a8c.ac6554"]]},{"id":"506d3a8c.ac6554","type":"http request","name":"holt Wetterinfo für Borken über api (openwethermap)","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/ … 74":[["eb988301.d6d57","3ad3ca90.978a16"]]},{"id":"eb988301.d6d57","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;\nmsg6 = {};\nmsg6.payload = msg.payload.weather[0].description;\nmsg7 = {};\nmsg7.payload = msg.payload.sys.sunrise;\nmsg8 = {};\nmsg8.payload = msg.payload.sys.sunset;\nmsg9 = {};\n\nmsg10 = {};\n// Koordinate inkl. Marker\nmsg10.payload = "http://www.openstreetmap.org/?mlon=" \n + msg.payload.coord.lon + "&mlat="\n + msg.payload.coord.lat + "&zoom=10#map=10/" // Zoom Stufe 17 (beide Werte anpssen, wenn Änderung gewünscht)\n + msg.payload.coord.lat + "/"\n + msg.payload.coord.lon;\n\nreturn [msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8,msg9,msg10];","outputs":"10","noerr":0,"x":136,"y":314,"z":"2cd3b4a8.0e4174","wires":[["cf581be3.4d61c"],["a77254f5.4b33f"],["a108d2f6.73ac08"],["725a5cf7.76233c"],["cecc69dd.611648"],["2d946d5c.6c9cea"],["3a9fad41.c56052","1564d9c4.ea9b26"],["7c8cb6a1.837348","6cd46de8.932b94"],[],["30ce4c89.0a7d74","a708b0e9.397e78"]]},{"id":"cf581be3.4d61c","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Temperatur","ack":"true","autoCreate":"true","x":861.396728515625,"y":20,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a77254f5.4b33f","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Luftdruck","ack":"true","autoCreate":"true","x":867.8253173828125,"y":70.4605712890625,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a108d2f6.73ac08","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Luftfeuchtigkeit","ack":"true","autoCreate":"true","x":852.396728515625,"y":120.6033935546875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"725a5cf7.76233c","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Windgeschwindigkeit","ack":"true","autoCreate":"true","x":837.25390625,"y":170.88922119140625,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"cecc69dd.611648","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Windrichtung","ack":"true","autoCreate":"true","x":861.396728515625,"y":219.8890380859375,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"2d946d5c.6c9cea","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.WetterBeschreibung","ack":"true","autoCreate":"true","x":841.6824951171875,"y":270.1746826171875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"e05ce497.e20268","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Sonnenaufgang","ack":"true","autoCreate":"true","x":858.6824951171875,"y":325.8890380859375,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"c78b0c07.5cbd98","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.Sonnenuntergang","ack":"true","autoCreate":"true","x":852.5396728515625,"y":424.7462463378906,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"30ce4c89.0a7d74","type":"ioBroker out","name":"","topic":"node-red.0.Wetter.Borken.OpenstreetmapURL","ack":"true","autoCreate":"true","x":451.825439453125,"y":562.6033935546875,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"a708b0e9.397e78","type":"debug","name":"","active":true,"console":"false","complete":"false","x":337,"y":611,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"3ad3ca90.978a16","type":"debug","name":"","active":true,"console":"false","complete":"false","x":558,"y":23,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"3a9fad41.c56052","type":"function","name":"wandelt timestamp // Zeit aus dem Payload","func":"// (1) wandelt timestamp ins ISO Datumformat um\n//msg.timestamp= new Date().toISOString()\n\n// (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS\n// (Ausgabeformat wird danz am Ende zusammengestellt)\nvar now = new Date(msg.payload * 1000); // Zeit aus dem Payload\nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\nif(second.toString().length == 1) {\nvar second = '0'+second;\n} \n//msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\nmsg.payload = day+'.'+month+'.'+year+' - '+hour+':'+minute+':'+second;\n\nreturn msg;","outputs":1,"noerr":0,"x":470,"y":334,"z":"2cd3b4a8.0e4174","wires":[["e05ce497.e20268","f99ef869.066108"]]},{"id":"7c8cb6a1.837348","type":"function","name":"wandelt timestamp // Zeit aus dem Payload","func":"// (1) wandelt timestamp ins ISO Datumformat um\n//msg.timestamp= new Date().toISOString()\n\n// (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS\n// (Ausgabeformat wird danz am Ende zusammengestellt)\nvar now = new Date(msg.payload * 1000); // Zeit aus dem Payload\nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\nif(second.toString().length == 1) {\nvar second = '0'+second;\n} \n//msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\nmsg.payload = day+'.'+month+'.'+year+' - '+hour+':'+minute+':'+second;\n\nreturn msg;","outputs":1,"noerr":0,"x":469,"y":426,"z":"2cd3b4a8.0e4174","wires":[["c78b0c07.5cbd98","4ded2049.b212e"]]},{"id":"1564d9c4.ea9b26","type":"debug","name":"","active":true,"console":"false","complete":"false","x":460,"y":366,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"f99ef869.066108","type":"debug","name":"","active":true,"console":"false","complete":"false","x":765,"y":373,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"6cd46de8.932b94","type":"debug","name":"","active":true,"console":"false","complete":"false","x":459,"y":456,"z":"2cd3b4a8.0e4174","wires":[]},{"id":"4ded2049.b212e","type":"debug","name":"","active":true,"console":"false","complete":"false","x":753,"y":471,"z":"2cd3b4a8.0e4174","wires":[]}]

                      Gruß

                      Jürgen

                      1 Reply Last reply Reply Quote 0
                      • C
                        chefffe last edited by

                        Hallo,

                        ich nutze die openweather API und möchte mir Sonnenaufgang/-untergang anzeigen lassen.

                        Ich habe nach diese Anleitung benutzt, funktioniert auch alles soweit.

                        Habe lediglich noch das Problem das ich derzeit -2 Stunden Zeitverschiebung habe in der Anzeige.

                        Ich weiß das es sich hier um die UTC Zeitangabe handelt.

                        Wie bringe ich meinem Node Red bzw dem Raspberry bei meine Zeitzone bei der Berechnung zu berücksichtigen?

                        Die Zeitzone am Raspberry ist richtig eingestellt.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        842
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        6510
                        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