NEWS
Mehrere Werte per HTML übergeben
-
Moin,
hoffentlich kann mir jemand helfen, denn ich bin noch ziemlich am Anfang mit node-red.
Ich würde gerne zwei Werte von einem bash Script an ioBroker übergeben, leider aber kann ich immer nur einen Wert auswerten und setzen.
Die Daten habe ich wie folgt übertragen curl http://IP:1880/get?name=ABC&message=xyz
Evtl. hat einer ja eine bessere Lösung oder aber auch per POST data?
Am besten wäre dann direkt ein Import Code, so könnte ich auch direkt die Schritte anschauen und verstehen
Danke !
[{"id":"54ff8d6b.f8a2e4","type":"template","z":"b5f0f40f.79a578","name":"name","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload.name}}","x":310,"y":180,"wires":[["316a523f.7ea8be"]]},{"id":"36509e7c.4677d2","type":"http in","z":"b5f0f40f.79a578","name":"/get","url":"/get","method":"get","upload":false,"swaggerDoc":"","x":110,"y":140,"wires":[["54ff8d6b.f8a2e4","26ff5025.d4e88","ca7e4206.46ae8"]]},{"id":"316a523f.7ea8be","type":"ioBroker out","z":"b5f0f40f.79a578","name":"","topic":"name","ack":"true","autoCreate":"true","x":450,"y":180,"wires":[]},{"id":"26ff5025.d4e88","type":"template","z":"b5f0f40f.79a578","name":"message","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload.message}}","x":320,"y":140,"wires":[["168a0a3.ab233f6"]]},{"id":"168a0a3.ab233f6","type":"ioBroker out","z":"b5f0f40f.79a578","name":"","topic":"message","ack":"true","autoCreate":"true","x":460,"y":140,"wires":[]},{"id":"ca7e4206.46ae8","type":"debug","z":"b5f0f40f.79a578","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":220,"wires":[]}]
-
Da gibt es mehrere Möglichkeiten.
Wenn du bei POST bleiben willst, hilft die dieses Beispiel vlt. weiter.
https://cookbook.nodered.org/http/post- … -to-a-flow
Die HTTP-basierenden Methoden findest du hier:
https://cookbook.nodered.org/http/
Du könntest aber vlt. bigexec benutzen:
https://flows.nodered.org/node/node-red-contrib-bigexec
Oder du schreibst deine Daten in eine Datei und importierst diese dann.
https://www.npmjs.com/package/node-red- ... -read-line
Oder du schreibst deine Daten in einen ioBroker-State und benutzt diesen dann.
oder..oder..oder
-
Vielen Dank für deine Hilfe.
Die ersten beiden Links habe ich schon gestern entdeckt.
Bin aber nicht drauf gekommen, dass ich dort die verschiedenen payload.NAMEN angeben kann.
Nun konnte ich es aber lösen, nachdem ich drauf gekommen bin.
curl –silent -X POST -d "name=$name&state=$state" http://$ioip:$nrport/info
Hab dann einfach in zwei Funktionen die name und state geschrieben und es entsprechend zu ioBroker geleitet.
Dazwischen noch ein http output und es läuft.