NEWS
[gelöst] UTC aus openweather in MEZ umwandeln
-
Statt der Bilder (oder zusätzlich) hättest du besser einen Export deines Flows gepostet.
Sieh die das function-node in folgender Nachricht an:
viewtopic.php?f=32&t=17318#p185280
Den kompletten Flow aus dem Beispiel findet du hier
-
stimmt auch wieder mit diesen bildern kann man nichts anfangen. :roll:
daher ich keine ahnung habe wie ich einen flow kopieren bzw. auswerten kann,
habe ich mir heute morgen das handbuch IoT-Programmierung mit Node-RED bestellt.
hoffe das man als neuling mit diesem buch einiges lernen kann.
ein bildchen habe ich aber noch. gehe davon aus das dies ein flow ist.
naja optimistisch sein bis mai 2019 sollte das projekt laufen.
9550_3.jpg -
wieder was gelernt hier glaube ich ist der flow
[{"id":"e166b9ac.9da2b8","type":"openweathermap in","z":"c4d3b02e.6038e","name":"","wtype":"current","lon":"","lat":"","city":"Henndorf am Wallersee","country":"Austria","language":"de","x":1760,"y":900,"wires":[["cc591ea8.ebffd"]]},{"id":"fd7da850.512f18","type":"debug","z":"c4d3b02e.6038e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":2260,"y":900,"wires":[]},{"id":"ee413662.ede6f8","type":"mqtt out","z":"c4d3b02e.6038e","name":"","topic":"/Dashboard/Wetter/Sunset","qos":"","retain":"","broker":"e483034d.5368","x":2310,"y":960,"wires":[]},{"id":"cc591ea8.ebffd","type":"function","z":"c4d3b02e.6038e","name":"Sunset extrahieren","func":"return { payload: msg.payload.sunset };\n","outputs":1,"noerr":0,"x":2000,"y":900,"wires":[["fd7da850.512f18","ee413662.ede6f8"]]},{"id":"525d915d.997b9","type":"mqtt in","z":"c4d3b02e.6038e","name":"","topic":"/Dashboard/Wetter/Sunset","qos":"2","broker":"e483034d.5368","x":1790,"y":1020,"wires":[["ed8cdf6f.2aa41"]]},{"id":"ed8cdf6f.2aa41","type":"ui_text","z":"c4d3b02e.6038e","group":"f6fb8a4a.bc03f8","order":0,"width":0,"height":0,"name":"Sonnenuntergang","label":"Sonnenuntergang","format":"{{msg.payload}}","layout":"row-spread","x":2270,"y":1020,"wires":[]},{"id":"e483034d.5368","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"f6fb8a4a.bc03f8","type":"ui_group","z":"","name":"Wetter","tab":"7e041499.dad40c","disp":true,"width":"6","collapse":false},{"id":"7e041499.dad40c","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]
-
` > daher ich keine ahnung habe wie ich einen flow kopieren bzw. auswerten kann,
habe ich mir heute morgen das handbuch IoT-Programmierung mit Node-RED bestellt. `
Ja, das würde ich dringend empfehlen, sonst wirst du auf die Dauer mit node-red nicht froh ;-(
Wenn du im Englischen einigermaßen fit bist, findest du hier alles Nötige:
Deutsche Dokus sind nicht so zahlreich. Vlt. kann das hier helfen:
https://wiki.ipv6lab.beuth-hochschule.d … _okt16.pdf
Import/Export findest du schon auf Seite 2.
-
Pack das in dein functions-node
//mit Min/sec var options = { hour: 'numeric', minute: 'numeric', second: 'numeric'}; var myTime = new Date(); //new date object myTime.setTime(msg.payload.sunset * 1000); //set linux time var myTimeString = myTime.toLocaleDateString('de-DE', options); //convert to string node.status({fill:"green",shape:"dot",text:myTimeString}); // dd:mm:jj //msg.payload = myTime.toLocaleDateString(); //convert to string // dd:mm:jj hh:mm:ss msg.payload = myTimeString; return msg;
Aber das Buch kann das nicht ersetzen;-)
-
guten morgen,
am freitag nachmittag habe ich es nicht mehr geschafft.
heute neuer tag neues glück und siehe da es funktioniert. großen dank an rewenode.
zum glück gibt es eine hilfsbereite gemeinschaft die
einem kräftig unter die arme greift wenn man ansteht.
einmal in dieser sache benötige ich bitte noch eure hilfe.
bekomme die zeit die mir jetzt umgewandelt wird nicht in mein text feld :roll:
[ { "id": "d57b7fe0.c89b4", "type": "openweathermap in", "z": "c4d3b02e.6038e", "name": "", "wtype": "current", "lon": "", "lat": "", "city": "Henndorf am Wallersee", "country": "Austria", "language": "de", "x": 1760, "y": 700, "wires": [ [ "e76f4c73.cb743" ] ] }, { "id": "145d2aaa.a6b375", "type": "mqtt out", "z": "c4d3b02e.6038e", "name": "", "topic": "/Dashboard/Wetter/Sunset", "qos": "", "retain": "", "broker": "e483034d.5368", "x": 2320, "y": 760, "wires": [] }, { "id": "e76f4c73.cb743", "type": "function", "z": "c4d3b02e.6038e", "name": "Sunset extrahieren", "func": "//mit Min/sec\nvar options = { hour: 'numeric', minute: 'numeric', second: 'numeric'};\n\nvar myTime = new Date(); //new date object\n\nmyTime.setTime(msg.payload.sunset * 1000); //set linux time\n\nvar myTimeString = myTime.toLocaleDateString('de-DE', options); //convert to string\nnode.status({fill:\"green\",shape:\"dot\",text:myTimeString});\n\n// dd:mm:jj\n//msg.payload = myTime.toLocaleDateString(); //convert to string\n\n// dd:mm:jj hh:mm:ss\nmsg.payload = myTimeString;\n\nreturn { payload: msg.payload.sunset };\n", "outputs": 1, "noerr": 0, "x": 2000, "y": 700, "wires": [ [ "145d2aaa.a6b375", "fd207cd1.94cab" ] ] }, { "id": "238709ac.a6e896", "type": "mqtt in", "z": "c4d3b02e.6038e", "name": "", "topic": "/Dashboard/Wetter/Sunset", "qos": "2", "broker": "e483034d.5368", "x": 1790, "y": 820, "wires": [ [ "5268a56d.39f8fc" ] ] }, { "id": "fd207cd1.94cab", "type": "debug", "z": "c4d3b02e.6038e", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 2270, "y": 700, "wires": [] }, { "id": "5268a56d.39f8fc", "type": "ui_text", "z": "c4d3b02e.6038e", "group": "f6fb8a4a.bc03f8", "order": 0, "width": 0, "height": 0, "name": "", "label": "text", "format": "{{msg.payload}}", "layout": "row-spread", "x": 2260, "y": 820, "wires": [] }, { "id": "e483034d.5368", "type": "mqtt-broker", "z": "", "name": "", "broker": "localhost", "port": "1883", "clientid": "", "usetls": false, "compatmode": true, "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "closeTopic": "", "closeQos": "0", "closePayload": "", "willTopic": "", "willQos": "0", "willPayload": "" }, { "id": "f6fb8a4a.bc03f8", "type": "ui_group", "z": "", "name": "Wetter", "tab": "7e041499.dad40c", "disp": true, "width": "6", "collapse": false }, { "id": "7e041499.dad40c", "type": "ui_tab", "z": "", "name": "Home", "icon": "dashboard" } ]
-
Schön, das es läuft.
Der Text kommt nicht ins Textfeld, weil du im function-node das data-object (msg.payload.sunset) zurückgibst, was es an dieser stelle ohnehin nicht mehr gibt, da msg.payload mit````
msg.payload = myTimeString;Was du stattdessen zurückgeben willst ist der konvertierte String, also```` msg.payload
-
besten dank. hat super funtioniert. jetzt zeigt es mir das datum und die uhrzeit im text feld an.
besteht die möglichkeit in diesem code das datum auzublenden? mit () und # hätte ich es schon
probiert. auch mit löschen des dd.mm.jj hoffte ich zum erfolg zu kommen. leider immer daneben.
sollte es nicht möglich sein muss ich mich damit abfinden. nochmals ein herzliches dankeschön!
-
Das sollte einfach sein.
Mach dich mit dem Javascript date-object und seinen Methoden vertraut:
-
Bei der lokales 'de-DE' sollte das Datum eigentlich als
Do., 20.12.2012, 04:00:00
ausgegeben werden, ausgegeben wird es aber als
2018-12-03, Mon 23:56:00
-
Also ich habe das jetzt mit dem Modul (Node) node-red-contrib-moment gelöst und das funktioniert prima.
Hier kann man auch die Ausgabe formatieren wie man es möchte.