Skip to content

Instantly share code, notes, and snippets.

@szczys
Created April 27, 2022 16:57
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 szczys/09d3a24e57c5ec9cde326d1e6127b6fe to your computer and use it in GitHub Desktop.
Save szczys/09d3a24e57c5ec9cde326d1e6127b6fe to your computer and use it in GitHub Desktop.
Golioth WebSockets, REST API, and dashboard flow demonstration
[{"id":"48f46778.d708c8","type":"tab","label":"Golioth Node-RED","disabled":false,"info":""},{"id":"52946a33.4f5c74","type":"websocket in","z":"48f46778.d708c8","name":"Golioth LightDB State","server":"","client":"4dafb0d4.e95bb8","x":200,"y":180,"wires":[["6b278f8.74015f","5aa0f229.2d371c"]]},{"id":"6b278f8.74015f","type":"debug","z":"48f46778.d708c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":630,"y":180,"wires":[]},{"id":"5aa0f229.2d371c","type":"json","z":"48f46778.d708c8","name":"","property":"payload","action":"","pretty":false,"x":430,"y":260,"wires":[["6b278f8.74015f","b2b6ef81.700fd","f6238e23.f5a278"]]},{"id":"af257ac1.0c2208","type":"function","z":"48f46778.d708c8","name":"Golioth REST API","func":"var proj_id = \"node-red-demo\"\nvar dev_id = \"62695497404e12cd12628117\";\nvar api_key = \"ynhJQQjLautKYLxQESuqB8VJLWMEVpH7\";\nvar endpoint_name = \"led0\";\n\nvar dev_url = \"https://api.golioth.io/v1/projects/\" + proj_id + \"/devices/\";\nvar endpoint = \"/data/\" + endpoint_name;\n\nvar data = msg.payload;\n\nvar msg = {\n\t\"method\" : \"PUT\",\n\t\"url\" : dev_url + dev_id + endpoint,\n\t\"headers\" : {\n\t\t\"Content-Type\": \"application/json\",\n\t\t\"x-api-key\": api_key\n\t},\n\t\"payload\" : JSON.stringify(data)\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":340,"wires":[["b800d9ea.b656f8"]]},{"id":"b800d9ea.b656f8","type":"http request","z":"48f46778.d708c8","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":390,"y":420,"wires":[["a6e47411.f9759"]]},{"id":"a6e47411.f9759","type":"debug","z":"48f46778.d708c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":630,"y":420,"wires":[]},{"id":"ca3efd05.27b99","type":"inject","z":"48f46778.d708c8","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":340,"wires":[["af257ac1.0c2208"]]},{"id":"f9954e95.cd36d","type":"inject","z":"48f46778.d708c8","name":"","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":400,"wires":[["af257ac1.0c2208"]]},{"id":"a91fe700.f49c1","type":"ui_button","z":"48f46778.d708c8","name":"","group":"3bef5f45.58b2f8","order":3,"width":0,"height":0,"passthru":false,"label":"LED On","tooltip":"","color":"","bgcolor":"","icon":"","payload":"1","payloadType":"num","topic":"","x":150,"y":480,"wires":[["af257ac1.0c2208"]]},{"id":"7bca6f47.cf75a","type":"ui_button","z":"48f46778.d708c8","name":"","group":"3bef5f45.58b2f8","order":4,"width":0,"height":0,"passthru":false,"label":"LED Off","tooltip":"","color":"","bgcolor":"","icon":"","payload":"0","payloadType":"num","topic":"","x":150,"y":540,"wires":[["af257ac1.0c2208"]]},{"id":"b2b6ef81.700fd","type":"ui_text","z":"48f46778.d708c8","group":"3bef5f45.58b2f8","order":1,"width":0,"height":0,"name":"","label":"Counter","format":"{{msg.payload.result.data.counter}}","layout":"row-spread","x":660,"y":240,"wires":[]},{"id":"f6238e23.f5a278","type":"ui_text","z":"48f46778.d708c8","group":"3bef5f45.58b2f8","order":2,"width":0,"height":0,"name":"","label":"LED State","format":"{{msg.payload.result.data.led0}}","layout":"row-spread","x":650,"y":280,"wires":[]},{"id":"4dafb0d4.e95bb8","type":"websocket-client","z":"","path":"wss://api.golioth.io/v1/ws/projects/node-red-demo/devices/62695497404e12cd12628117/data/?x-api-key=ynhJQQjLautKYLxQESuqB8VJLWMEVpH7","tls":"","wholemsg":"false"},{"id":"3bef5f45.58b2f8","type":"ui_group","z":"","name":"Node-RED Demo","tab":"c2da46e9.34087","disp":false,"width":"6","collapse":false},{"id":"c2da46e9.34087","type":"ui_tab","z":"","name":"IoT Control","icon":"dashboard","disabled":false,"hidden":false}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment