api-ttn-manager
Flow to create and delete devices, The Things Netowrk Application.
The flow use some methods from https://www.thethingsnetwork.org/docs/applications/manager/api.html
[{"id":"b602b72c.812b98","type":"subflow","name":"TTN Manage Device","info":"","category":"","in":[{"x":40,"y":20,"wires":[{"id":"7ba70169.102"}]}],"out":[{"x":800,"y":160,"wires":[{"id":"a36816e1.cf67d8","port":0},{"id":"1e3a9a5.0ff4d66","port":0}]}]},{"id":"a36816e1.cf67d8","type":"http request","z":"b602b72c.812b98","name":"Create device","method":"PUT","ret":"obj","url":"http://eu.thethings.network:8084/applications/{{APP_ID}}/devices","tls":"","x":640,"y":140,"wires":[[]]},{"id":"df4aa834.039a18","type":"function","z":"b602b72c.812b98","name":"Config new device","func":"//msg.payload = \"data to post\";\nAPP_DEFAULT_KEY=msg.payload.APP_DEFAULT_KEY;\nAPP_ID=msg.payload.APP_ID;\nAPP_EUI=msg.payload.APP_EUI;\nDEV_ID=msg.payload.DEV_ID;\nDEV_DESCRIPTION=msg.payload.DEV_DESCRIPTION;\nDEV_LATITUDE=msg.payload.DEV_LATITUDE;\nDEV_LONGITUDE=msg.payload.DEV_LONGITUDE;\n\n//msg.method=msg.payload.API_METHOD;\nmsg.headers = {};\nmsg.APP_ID = APP_ID;\nmsg.headers['Authorization'] = 'Key ' + APP_DEFAULT_KEY;\nmsg.headers['Accept'] = 'application/json';\nmsg.payload = \"{ \\\"altitude\\\": 0, \\\"app_id\\\": \\\"\" + APP_ID + \"\\\", \\\"attributes\\\": { \\\"key\\\": \\\"\\\", \\\"value\\\": \\\"\\\" }, \\\"description\\\": \\\"\" + DEV_DESCRIPTION + \"\\\", \\\"dev_id\\\": \\\"\" + DEV_ID + \"\\\", \\\"latitude\\\": \" + DEV_LATITUDE + \", \\\"longitude\\\": \" + DEV_LONGITUDE + \", \\\"lorawan_device\\\": { \\\"activation_constraints\\\": \\\"otaa\\\", \\\"app_eui\\\": \\\"\" + APP_EUI + \"\\\", \\\"app_id\\\": \\\"\" + APP_ID + \"\\\", \\\"app_key\\\": \\\"01020304050607080102030405060708\\\", \\\"app_s_key\\\": \\\"01020304050607080102030405060708\\\", \\\"dev_addr\\\": \\\"01020304\\\", \\\"dev_eui\\\": \\\"0102030405060708\\\", \\\"dev_id\\\": \\\"\" + DEV_ID + \"\\\", \\\"disable_f_cnt_check\\\": false, \\\"f_cnt_down\\\": 0, \\\"f_cnt_up\\\": 0, \\\"last_seen\\\": 0, \\\"nwk_s_key\\\": \\\"01020304050607080102030405060708\\\", \\\"uses32_bit_f_cnt\\\": true }}\";\nreturn msg;","outputs":1,"noerr":0,"x":470,"y":80,"wires":[["a36816e1.cf67d8"]]},{"id":"7ba70169.102","type":"function","z":"b602b72c.812b98","name":"input json format","func":"msg.api_method=msg.payload.API_METHOD;\nreturn msg;","outputs":1,"noerr":0,"x":150,"y":80,"wires":[["fff97749.968fe8"]]},{"id":"fff97749.968fe8","type":"switch","z":"b602b72c.812b98","name":"IF METHOD","property":"api_method","propertyType":"msg","rules":[{"t":"eq","v":"PUT","vt":"str"},{"t":"eq","v":"POST","vt":"str"},{"t":"eq","v":"DELETE","vt":"str"}],"checkall":"false","repair":false,"outputs":3,"x":310,"y":160,"wires":[["df4aa834.039a18"],["df4aa834.039a18"],["9ed74690.879da8"]]},{"id":"1e3a9a5.0ff4d66","type":"http request","z":"b602b72c.812b98","name":"Delete device","method":"DELETE","ret":"obj","url":"http://eu.thethings.network:8084/applications/{{APP_ID}}/devices/{{DEV_ID}}","tls":"","x":640,"y":180,"wires":[[]]},{"id":"9ed74690.879da8","type":"function","z":"b602b72c.812b98","name":"Config delete device","func":"//msg.payload = \"data to post\";\nAPP_DEFAULT_KEY=msg.payload.APP_DEFAULT_KEY;\nAPP_ID=msg.payload.APP_ID;\nDEV_ID=msg.payload.DEV_ID;\n\nmsg.headers = {};\nmsg.APP_ID = APP_ID;\nmsg.DEV_ID = DEV_ID;\nmsg.headers['Authorization'] = 'Key ' + APP_DEFAULT_KEY;\nmsg.headers['Accept'] = 'application/json';\nmsg.payload = \"{\\\"app_id\\\" : \\\" + APP_ID + \\\" , \\\"dev_id\\\": \\\"\" + DEV_ID + \"\\\"}\";\n\nreturn msg;","outputs":1,"noerr":0,"x":480,"y":240,"wires":[["1e3a9a5.0ff4d66"]]},{"id":"7dd51219.3b6bbc","type":"inject","z":"b602b72c.812b98","name":"sample injet new device","topic":"new_device","payload":"{\"API_METHOD\":\"PUT\",\"APP_DEFAULT_KEY\":\"YOUR_TTN_APPLICATION_KEY\",\"APP_ID\":\"YOUR TTN APP ID\",\"APP_EUI\":\"YOUR TTN APP EUI\",\"DEV_ID\":\"anewdevice\",\"DEV_DESCRIPTION\":\"Created from nodered\",\"DEV_LATITUDE\":52.456,\"DEV_LONGITUDE\":4.887}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":"","x":140,"y":240,"wires":[[]]},{"id":"3a2a9a69.6102a6","type":"inject","z":"b602b72c.812b98","name":"sample injet DELETE device","topic":"new_device","payload":"{\"API_METHOD\":\"DELETE\",\"APP_DEFAULT_KEY\":\"YOUR TTN APP KEY\",\"APP_ID\":\"YOUR TTN APP ID\",\"DEV_ID\":\"anewdevice\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":"","x":160,"y":280,"wires":[[]]}]