NEWS
Daten an wunderground senden
-
@mickym Danke für die Antwort. Mein Hauptproblem ist wahrscheinlich dass ich Daten an Wunderground.com senden möchte. Für das abrufen gibt es wirklich einen Adapter, aber zum senden habe ich nichts gefunden.
Mein Flow sieht aktuell so aus
Kann das soweit funktionieren, oder muss ich die beiden Strings zuerst noch zusammenführen? Alternativ könnte ich auch alle Punkte zusammenführen welche ich bereits herausextrahiert habe.
Ich arbeite mich nun als erstes etwas ins template node ein. -
@hafo Du arbeitest am besten damit, dass Du die Werte, die verschicken musst in einer Flowvariablen speicherst, am Besten in einem Objekt. Die Eigenschaften dieses Objektes in der Flowvariablen kannst Du dann aus unterschiedlichen Nachrichten speichern.
Wenn Du verschicken willst, dann lädst Du die Flowvariable wieder in eine Payload und verteilst die Eigenschaften in der Template Node. Nachrichten warten nicht auf Dich.
Verschicken geht definitiv weder mit einer Websocketout, noch mit einer http out Node, sondern einzig und alleine über die http request Node.
Die ganzen http oder websocket out Nodes dienen einzig und alleine für Clients, die Dein Node-Red als Webserver ansprechen.
Ich poste gleich mal Deine URL mit den ersten 3 Variablen. (http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID="xxx"&PASSWORD="xxx"&dateutc=now&tempf="#tempf#"&humidity="#humidity#"&windspeedmph="#windspeedmph#")
Das ist alles was Du machen musst - die Inject Node machst Du dann halt alle 12 Stunden:
Hier die Nodes für den Import:
-
@mickym Vielen Dank für deine Hilfe. Mein Flow sieht nun so aus und funktioniert!!! Wie du siehst muss ich einige Daten aus meiner eigenen Wetterstation eifügen.
Hast du dir das etwa so vorgestellt? Es ist etwas irritierend dass einige Nodes ins leere laufen aber die Daten dennoch verarbeitet werden. -
@hafo Nein das passt schon - ist so wie ich es mir vorgestellt habe. So wird immer nach der Datenermittlung der Request gesendet, theoretisch wäre es auch möglich die Trigger nun zeitlich unabhängig zu gestalten.
Schwärze mal zur Sicherheit in den DebugAusgaben - Deine Authentisierungsangaben.
-
@mickym so schnell geht das mit den passwörter
genau das wollte ich vermeiden
-
@hafo Ich weiß - deswegen habe ich Dich ja darauf aufmerksam gemacht.
-
@mickym Ich habe noch eine Frage zum Change Nod. Ich muss die Windrichtung in Grad angeben. Eigentlich eine einfache Sache, N wird durch 0 ersetzt, S durch 180, SSW durch 202.5 usw. Mein Problem ist nun aber dass er bei mehreren Buchstaben z.B NW nicht 315 schreibt, sondern 0270.
[ { "id": "e2027318.ff3fd8", "type": "change", "z": "632ef6cf.cb9b68", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "N", "fromt": "str", "to": "0", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "NNE", "fromt": "str", "to": "22.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "NE", "fromt": "str", "to": "45", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "ENE", "fromt": "str", "to": "67.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "E", "fromt": "str", "to": "90", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "ESE", "fromt": "str", "to": "112.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "SE", "fromt": "str", "to": "135", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "SSE", "fromt": "str", "to": "157.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "S", "fromt": "str", "to": "180", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "SSW", "fromt": "str", "to": "202.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "SW", "fromt": "str", "to": "225", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "WSW", "fromt": "str", "to": "247.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "W", "fromt": "str", "to": "270", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "WNW", "fromt": "str", "to": "292.5", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "NW", "fromt": "str", "to": "315", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "NNW", "fromt": "str", "to": "337.5", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 650, "y": 260, "wires": [ [ "5803242.8b8315c", "5aabce05.21a9f" ] ] } ]
Was muss ich ändern damit er in diesem Fall nicht N und W erkennt, sondern NW?
Gruss
Hansjürg -
@hafo Die Reihenfolge ändern. Die Regeln werden von oben nach unten abgearbeitet. Deswegen die spezifischen nach oben (3 Buchstaben, dann 2 Buchstaben, dann 1 Buchstabe). Die erste Regel halt ändern oder die payloads. Und E gegen O ersetzen.
Ich habe schon einen Node fertig, da ich mein Icon auch rotieren lasse:
[ { "id": "5211424a.60543c", "type": "change", "z": "6a421c3f.cc35f4", "name": "set msg.windDirection", "rules": [ { "t": "set", "p": "windDirection", "pt": "msg", "to": "payload.Wind.Direction.English", "tot": "msg" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "SSW", "fromt": "str", "to": "23", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "WSW", "fromt": "str", "to": "68", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "WNW", "fromt": "str", "to": "113", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "NNW", "fromt": "str", "to": "158", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "NNE", "fromt": "str", "to": "203", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "ENE", "fromt": "str", "to": "248", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "ESE", "fromt": "str", "to": "293", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "SSE", "fromt": "str", "to": "338", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "SW", "fromt": "str", "to": "45", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "NW", "fromt": "str", "to": "135", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "NE", "fromt": "str", "to": "225", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "SE", "fromt": "str", "to": "315", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "S", "fromt": "str", "to": "0", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "W", "fromt": "str", "to": "90", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "N", "fromt": "str", "to": "180", "tot": "str" }, { "t": "change", "p": "windDirection", "pt": "msg", "from": "E", "fromt": "str", "to": "270", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1140, "y": 3340, "wires": [ [ "b6ff2952.633758" ] ] } ]
-
@mickym wau bist du flink, vielen Dank. Und ich suche stundenlang nach dem richtigen Vorzeichen, Klammer oder was es noch geben könnte.
-
Aber weshalb ist bei dir N 180 und S 0? Gemäss dieser Tabelle ist es umgekehrt.
-
@hafo Ganz einfach weil man beim Wind nicht anzeigt woher er kommt, sondern wohin er bläst-;) Deswegen musst Du alles um 180° ändern.
Also zeigt der Westwind nach Osten.
-
@mickym Klingt logisch. aber zum hochladen werde ich das richtigstellen müssen. Nochmals vielen Dank und bald ein schönes Wochenende.
-
@hafo Hast Recht - ich hab das natürlich nicht zum Hochladen. Du kannst ja einfach wieder N gegen S und W gegen O bzw. E gegen W tauschen. Dir auch ein schönes WE.