node-red-speedport
node-red-speedport
T-Online Speedport status flow for Node-Red using node-red-dashboard to visualize current status

Usage:
import speedport-flow.json into a new Node Red flow and edit the IP/URL address in the http request node (Get Speedport Data)
you are welcome to extend it
[{"id":"6cedee31.01916","type":"inject","z":"3bbf0bb9.efd0f4","name":"Get Data Timer","topic":"","payload":"true","payloadType":"bool","repeat":"60","crontab":"","once":true,"onceDelay":"3","x":140,"y":40,"wires":[["21e326b6.bcba0a"]]},{"id":"21e326b6.bcba0a","type":"http request","z":"3bbf0bb9.efd0f4","name":"Get Speedport Data","method":"GET","ret":"obj","url":"http://192.168.0.1/data/Status.json","tls":"","x":140,"y":90,"wires":[["2bb4d903.bc2446"]]},{"id":"2bb4d903.bc2446","type":"function","z":"3bbf0bb9.efd0f4","name":"process data","func":"var msg1 = {};\nvar msg2 = {};\nvar msg3 = {};\nvar msg4 = {};\nvar msg5 = {};\nvar msg6 = {};\nvar msg7 = {};\nvar msg8 = {};\nvar msg9 = {};\nvar msg10 = {};\nvar msg11 = {};\nvar msg12 = {};\nvar msg13 = {};\n\nmsg1.payload = {\"getLinkStatus\":msg.payload[17].varvalue};\nmsg2.payload = {\"getOnlineStatus\":msg.payload[9].varvalue};\nmsg3.payload = {\"getDownStream\":parseInt(msg.payload[23].varvalue)};\nmsg4.payload = {\"getUpStream\":parseInt(msg.payload[24].varvalue)};\nmsg5.payload = {\"getUseWlan\":parseInt(msg.payload[33].varvalue)};\nmsg6.payload = {\"getWlanDevices\":parseInt(msg.payload[35].varvalue)};\nmsg7.payload = {\"getUseWlan5\":parseInt(msg.payload[34].varvalue)};\nmsg8.payload = {\"getWlan5Devices\":parseInt(msg.payload[36].varvalue)};\nmsg9.payload = {\"getLan1\":parseInt(msg.payload[37].varvalue)};\nmsg10.payload = {\"getLan2\":parseInt(msg.payload[38].varvalue)};\nmsg11.payload = {\"getLan3\":parseInt(msg.payload[39].varvalue)};\nmsg12.payload = {\"getLan4\":parseInt(msg.payload[40].varvalue)};\nmsg13.payload = {\"getFirmware\":msg.payload[43].varvalue};\n\nreturn [msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8,msg9,msg10,msg11,msg12,msg13];\n","outputs":13,"noerr":0,"x":130,"y":210,"wires":[["d1e8f61b.b543a8"],["d6972f24.e7f26"],["8e20845c.275e68"],["3914d674.8ceb0a"],["b83f8338.9e5d"],["1f5edd68.cb5d43"],["cc41871d.6d9338"],["d8bcc6b2.e1d4f8"],["6410792b.1c8528","92d5500e.c104f"],["da0092ed.1cfce"],["905e8183.f618a"],["e2097a04.3bd2f8"],["a73d3ffc.f3393"]]},{"id":"9b81927c.6ffb9","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":1,"width":"3","height":"1","name":"T LinkStatus","label":"Link Status","format":"","layout":"row-spread","x":730,"y":100,"wires":[]},{"id":"1d5c2476.7160fc","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B LinkStatus","group":"bc74f64b.a431b8","order":2,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getLinkStatus}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":540,"y":100,"wires":[["9b81927c.6ffb9"]]},{"id":"d1e8f61b.b543a8","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getLinkStatus === \"online\") {\n msg.background = \"green\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":100,"wires":[["1d5c2476.7160fc"]]},{"id":"6410792b.1c8528","type":"debug","z":"3bbf0bb9.efd0f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":570,"y":40,"wires":[]},{"id":"6ff40238.968b8c","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":3,"width":"3","height":"1","name":"T OnlineStatus","label":"Online Status","format":"","layout":"row-spread","x":740,"y":140,"wires":[]},{"id":"93d35373.0023d","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B OnlineStatus","group":"bc74f64b.a431b8","order":4,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getOnlineStatus}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":140,"wires":[["6ff40238.968b8c"]]},{"id":"d6972f24.e7f26","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getOnlineStatus === \"online\") {\n msg.background = \"green\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":140,"wires":[["93d35373.0023d"]]},{"id":"6fcc1a1f.9d4864","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":5,"width":"3","height":"1","name":"T DownStream","label":"DownStream","format":"","layout":"row-spread","x":740,"y":180,"wires":[]},{"id":"ef7d716.5a75b9","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B DownStream","group":"bc74f64b.a431b8","order":6,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getDownStream}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":180,"wires":[["6fcc1a1f.9d4864"]]},{"id":"8e20845c.275e68","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getDownStream >= 80000) {\n msg.background = \"green\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":180,"wires":[["ef7d716.5a75b9","cb63aa12.069ee8"]]},{"id":"a76284c5.ea9c98","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":7,"width":"3","height":"1","name":"T UpStream","label":"UpStream","format":"","layout":"row-spread","x":730,"y":260,"wires":[]},{"id":"9c5f4c14.fc7ea","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B UpStream","group":"bc74f64b.a431b8","order":8,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getUpStream}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":540,"y":260,"wires":[["a76284c5.ea9c98"]]},{"id":"3914d674.8ceb0a","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getUpStream >= 30000) {\n msg.background = \"green\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":260,"wires":[["9c5f4c14.fc7ea","85062a4a.c0cc98"]]},{"id":"2d00abae.4cf624","type":"ui_chart","z":"3bbf0bb9.efd0f4","name":"DownStream","group":"29d25ac6.9bd406","order":11,"width":"12","height":"3","label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"12","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":730,"y":220,"wires":[[],[]]},{"id":"15fe5de5.92aeb2","type":"ui_chart","z":"3bbf0bb9.efd0f4","name":"UpStream","group":"29d25ac6.9bd406","order":11,"width":"12","height":"3","label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"12","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":720,"y":300,"wires":[[],[]]},{"id":"a73d3ffc.f3393","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":25,"width":"0","height":"0","name":"T Firmware","label":"{{msg.payload.getFirmware}}","format":"","layout":"row-spread","x":130,"y":370,"wires":[]},{"id":"d09a13f2.74013","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"29d25ac6.9bd406","order":27,"width":0,"height":0,"name":"spacer","label":"","format":"","layout":"row-spread","x":120,"y":480,"wires":[]},{"id":"85062a4a.c0cc98","type":"function","z":"3bbf0bb9.efd0f4","name":"convert","func":"msg.payload = msg.payload.getUpStream;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":300,"wires":[["15fe5de5.92aeb2"]]},{"id":"cb63aa12.069ee8","type":"function","z":"3bbf0bb9.efd0f4","name":"convert","func":"msg.payload = msg.payload.getDownStream;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":220,"wires":[["2d00abae.4cf624"]]},{"id":"b83f8338.9e5d","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getUseWlan === 0) {\n msg.background = \"red\";\n msg.topic = \"off\";\n} else {\n msg.background = \"green\";\n msg.topic = \"on\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":390,"wires":[["c0965236.b1082"]]},{"id":"c0965236.b1082","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B WiFi 2.4","group":"bc74f64b.a431b8","order":10,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":540,"y":390,"wires":[["c0520587.514748"]]},{"id":"c0520587.514748","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":9,"width":"3","height":"1","name":"T WiFi 2.4","label":"WiFi 2.4","format":"","layout":"row-spread","x":730,"y":390,"wires":[]},{"id":"1f5edd68.cb5d43","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getWlanDevices === 0) {\n msg.background = \"grey\";\n} else if (msg.payload.getWlanDevices >= 1 && msg.payload.getWlanDevices <= 10) {\n msg.background = \"green\";\n} else if (msg.payload.getWlanDevices >= 11 && msg.payload.getWlanDevices <= 29) {\n msg.background = \"yellow\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":430,"wires":[["475aeacb.4f55e4","9b1f751f.fda708"]]},{"id":"475aeacb.4f55e4","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B WiFi 2.4 Devices","group":"bc74f64b.a431b8","order":12,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getWlanDevices}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":560,"y":430,"wires":[["a3d6ed2c.9847b"]]},{"id":"9b1f751f.fda708","type":"function","z":"3bbf0bb9.efd0f4","name":"convert","func":"msg.payload = msg.payload.getWlanDevices;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":470,"wires":[["957454ee.1b21f8"]]},{"id":"a3d6ed2c.9847b","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":11,"width":"3","height":"1","name":"T WiFi 2.4 Devices","label":"WiFi 2.4 Devices","format":"","layout":"row-spread","x":760,"y":430,"wires":[]},{"id":"957454ee.1b21f8","type":"ui_chart","z":"3bbf0bb9.efd0f4","name":"WiFi 2.4 Devices","group":"29d25ac6.9bd406","order":11,"width":"12","height":"3","label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"0","ymax":"","removeOlder":"12","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":750,"y":470,"wires":[[],[]]},{"id":"cc41871d.6d9338","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getUseWlan5 === 0) {\n msg.background = \"red\";\n msg.topic = \"off\";\n} else {\n msg.background = \"green\";\n msg.topic = \"on\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":510,"wires":[["5605f0f.bb4571"]]},{"id":"5605f0f.bb4571","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B WiFi 5","group":"bc74f64b.a431b8","order":14,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":530,"y":510,"wires":[["45bd1a27.a41b44"]]},{"id":"45bd1a27.a41b44","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":13,"width":"3","height":"1","name":"T WiFi 5","label":"WiFi 5","format":"","layout":"row-spread","x":720,"y":510,"wires":[]},{"id":"d8bcc6b2.e1d4f8","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getWlan5Devices === 0) {\n msg.background = \"grey\";\n} else if (msg.payload.getWlan5Devices >= 1 && msg.payload.getWlan5Devices <= 10) {\n msg.background = \"green\";\n} else if (msg.payload.getWlan5Devices >= 11 && msg.payload.getWlan5Devices <= 29) {\n msg.background = \"yellow\";\n} else {\n msg.background = \"red\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":550,"wires":[["ad1c9639.0293a8","c81bdd61.20fb8"]]},{"id":"ad1c9639.0293a8","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B WiFi 5 Devices","group":"bc74f64b.a431b8","order":16,"width":"3","height":"1","passthru":false,"label":"{{msg.payload.getWlan5Devices}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":560,"y":550,"wires":[["dc618181.8c33"]]},{"id":"c81bdd61.20fb8","type":"function","z":"3bbf0bb9.efd0f4","name":"convert","func":"msg.payload = msg.payload.getWlan5Devices;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":590,"wires":[["67e77f26.1284"]]},{"id":"dc618181.8c33","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":15,"width":"3","height":"1","name":"T WiFi 5 Devices","label":"WiFi 5 Devices","format":"","layout":"row-spread","x":760,"y":550,"wires":[]},{"id":"67e77f26.1284","type":"ui_chart","z":"3bbf0bb9.efd0f4","name":"WiFi 5 Devices","group":"29d25ac6.9bd406","order":11,"width":"12","height":"3","label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"0","ymax":"","removeOlder":"12","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":740,"y":590,"wires":[[],[]]},{"id":"56668812.1629d8","type":"comment","z":"3bbf0bb9.efd0f4","name":"DSL Status","info":"","x":380,"y":60,"wires":[]},{"id":"ac26579f.bbf908","type":"comment","z":"3bbf0bb9.efd0f4","name":"WiFi Status","info":"","x":380,"y":350,"wires":[]},{"id":"92d5500e.c104f","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getLan1 === 1) {\n msg.background = \"green\";\n msg.topic = \"connected\";\n} else {\n msg.background = \"grey\";\n msg.topic = \"disconnected\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":680,"wires":[["334cce9a.2dad72"]]},{"id":"334cce9a.2dad72","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B Status Lan1","group":"bc74f64b.a431b8","order":18,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":680,"wires":[["3cb8c0c5.7e01d"]]},{"id":"3cb8c0c5.7e01d","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":17,"width":"3","height":"1","name":"T Status Lan1","label":"Status Lan1","format":"","layout":"row-spread","x":750,"y":680,"wires":[]},{"id":"fd7099e3.0793d8","type":"comment","z":"3bbf0bb9.efd0f4","name":"Lan Status","info":"","x":370,"y":640,"wires":[]},{"id":"da0092ed.1cfce","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getLan2 === 1) {\n msg.background = \"green\";\n msg.topic = \"connected\";\n} else {\n msg.background = \"grey\";\n msg.topic = \"disconnected\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":720,"wires":[["4ae81fe4.de87c"]]},{"id":"4ae81fe4.de87c","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B Status Lan2","group":"bc74f64b.a431b8","order":20,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":720,"wires":[["f334841.75ba178"]]},{"id":"f334841.75ba178","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":19,"width":"3","height":"1","name":"T Status Lan2","label":"Status Lan2","format":"","layout":"row-spread","x":750,"y":720,"wires":[]},{"id":"905e8183.f618a","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getLan3 === 1) {\n msg.background = \"green\";\n msg.topic = \"connected\";\n} else {\n msg.background = \"grey\";\n msg.topic = \"disconnected\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":760,"wires":[["a0d26faa.d40df"]]},{"id":"a0d26faa.d40df","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B Status Lan3","group":"bc74f64b.a431b8","order":22,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":760,"wires":[["fc46c1aa.6dd9c"]]},{"id":"fc46c1aa.6dd9c","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":21,"width":"3","height":"1","name":"T Status Lan3","label":"Status Lan3","format":"","layout":"row-spread","x":750,"y":760,"wires":[]},{"id":"e2097a04.3bd2f8","type":"function","z":"3bbf0bb9.efd0f4","name":"check","func":"if (msg.payload.getLan4 === 1) {\n msg.background = \"green\";\n msg.topic = \"connected\";\n} else {\n msg.background = \"grey\";\n msg.topic = \"disconnected\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":800,"wires":[["dddfe18f.715d6"]]},{"id":"dddfe18f.715d6","type":"ui_button","z":"3bbf0bb9.efd0f4","name":"B Status Lan4","group":"bc74f64b.a431b8","order":24,"width":"3","height":"1","passthru":false,"label":"{{msg.topic}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":550,"y":800,"wires":[["77d8da99.ac9114"]]},{"id":"77d8da99.ac9114","type":"ui_text","z":"3bbf0bb9.efd0f4","group":"bc74f64b.a431b8","order":23,"width":"3","height":"1","name":"T Status Lan4","label":"Status Lan4","format":"","layout":"row-spread","x":750,"y":800,"wires":[]},{"id":"bc74f64b.a431b8","type":"ui_group","z":"","name":"Speedport Status","tab":"9408f04c.0fa6c","order":1,"disp":true,"width":"7","collapse":false},{"id":"29d25ac6.9bd406","type":"ui_group","z":"","name":"DSL Speed","tab":"9408f04c.0fa6c","order":2,"disp":true,"width":"12","collapse":false},{"id":"9408f04c.0fa6c","type":"ui_tab","z":"","name":"Speedport","icon":"dashboard","order":1}]