Skip to content

Instantly share code, notes, and snippets.

@juzam
Last active August 29, 2015 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juzam/10711111 to your computer and use it in GitHub Desktop.
Save juzam/10711111 to your computer and use it in GitHub Desktop.
Pinoccio Node Red command proxy flow - First Draft
[{"id":"1f8dc6c2.cba389","type":"mqtt-broker","broker":"localhost","port":"1883","clientid":"nodered-1"},{"id":"fb5bdbec.60523","type":"mqtt out","name":"","topic":"","broker":"1f8dc6c2.cba389","x":1010.25,"y":158,"z":"f1e02243.ca166","wires":[]},{"id":"fd3d9542.f0877","type":"inject","name":"\"print power.percent\" Command Example","topic":"","payload":"{\"troop\": \"1\", \"scout\": \"1\", \"topic\": \"result\", \"command\": \"print power.percent\"}","payloadType":"string","repeat":"","crontab":"","once":false,"x":200.5,"y":227.5,"z":"f1e02243.ca166","wires":[["1e34db31.3aea5d"]]},{"id":"b16c8037.41ae8","type":"http request","name":"REST POST","method":"POST","url":"","x":620,"y":158.25,"z":"f1e02243.ca166","wires":[["898e121d.69f8d","cab5ea3b.2ee23"]]},{"id":"898e121d.69f8d","type":"function","name":"Prepare Output","func":"data = JSON.parse(msg.payload);\n\nreading = { payload: data.data.reply.trim() , topic: msg.topic, retain: 1 };\ntstamp = { payload: data.data._t, topic: msg.topic + \"/tstamp\", retain: 1 };\n\nreturn [ reading, tstamp ];","outputs":"2","x":806,"y":158.25,"z":"f1e02243.ca166","wires":[["fb5bdbec.60523"],["fb5bdbec.60523"]]},{"id":"d6058128.194e5","type":"inject","name":"Pinoccio Config","topic":"pinoccio/v1","payload":"{ \"token\": \"yourtokenhere\" }","payloadType":"string","repeat":"","crontab":"","once":true,"x":150,"y":336.25000762939453,"z":"f1e02243.ca166","wires":[["7249c942.906728"]]},{"id":"7249c942.906728","type":"function","name":"Set Global Variables","func":"// set global variable \ndata = JSON.parse(msg.payload);\ncontext.global.pinoccio_token = data.token;\ncontext.global.pinoccio_basetopic = msg.topic;\ncontext.global.pinoccio_apiurl = \"https://api.pinocc.io/v1/\";\n\n\nreturn msg;","outputs":1,"x":389.5,"y":335.2500305175781,"z":"f1e02243.ca166","wires":[[]]},{"id":"1e34db31.3aea5d","type":"function","name":"Prepare Api Call","func":"data = JSON.parse(msg.payload);\n\n\nmsg.url = context.global.pinoccio_apiurl + data.troop + \"/\" + data.scout + \"/command?token=\" + context.global.pinoccio_token;\nmsg.topic = context.global.pinoccio_basetopic+\"/\"+data.troop+\"/\"+data.scout+\"/\"+data.topic;\n\nreturn msg;","outputs":1,"x":416.75,"y":158.25,"z":"f1e02243.ca166","wires":[["b16c8037.41ae8"]]},{"id":"cab5ea3b.2ee23","type":"debug","name":"","active":false,"complete":"true","x":773.75,"y":104.25,"z":"f1e02243.ca166","wires":[]},{"id":"28adbda.7f9fdc2","type":"comment","name":"Api Token and Base Topic Config","info":"Token is obtained by calling:\n\ncurl -X POST -v --data '{\"email\":\"youremail\",\"password\":\"boats\"}' https://api.pinocc.io/v1/login\n\nBase topic is configured by setting \"Pinoccio Config\" topic property and is then stored\nand use as a \"root\" topic for output","x":240,"y":290.25,"z":"f1e02243.ca166","wires":[]},{"id":"dcea10aa.7a6378","type":"mqtt in","name":"","topic":"pinoccio/command","broker":"1f8dc6c2.cba389","x":129,"y":158.25,"z":"f1e02243.ca166","wires":[["1e34db31.3aea5d"]]},{"id":"fe23a977.acbb68","type":"comment","name":"Input Stage","info":"","x":103,"y":81.25,"z":"f1e02243.ca166","wires":[]}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment