[ { "id": "40aabaff57950a4d", "type": "tab", "label": "Fritzbox Data", "disabled": false, "info": "", "env": [] }, { "id": "1b69961e4c6ff4eb", "type": "tab", "label": "Flow 1", "disabled": false, "info": "", "env": [] }, { "id": "ad11af5d5835415a", "type": "fritzbox-config", "name": "MKBOX", "host": "192.168.200.1", "port": 49000, "ssl": false, "user": "nodered" }, { "id": "319c50eef5295f1a", "type": "mqtt-broker", "name": "", "broker": "emqx.devnet.local", "port": 1883, "clientid": "nr-awetrix", "autoConnect": true, "usetls": false, "protocolVersion": 4, "keepalive": 60, "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthRetain": "false", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closeRetain": "false", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willRetain": "false", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "156c0331c926b697", "type": "fritzbox-in", "z": "40aabaff57950a4d", "device": "ad11af5d5835415a", "name": "MKBOX Speed", "service": "urn:dslforum-org:service:WANDSLInterfaceConfig:1", "action": "GetInfo", "arguments": "{}", "x": 340, "y": 560, "wires": [ [ "103202b0b37a8b04", "ec93c31d21242a8a" ] ] }, { "id": "4b7a4e388591e90b", "type": "inject", "z": "40aabaff57950a4d", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "120", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 110, "y": 560, "wires": [ [ "156c0331c926b697", "566257d96f364db1", "eb1f5da4684a1882", "9bafe73d95c7ac14" ] ] }, { "id": "103202b0b37a8b04", "type": "debug", "z": "40aabaff57950a4d", "name": "DSL SPEEDINFO", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 590, "y": 560, "wires": [] }, { "id": "566257d96f364db1", "type": "fritzbox-in", "z": "40aabaff57950a4d", "device": "ad11af5d5835415a", "name": "MKBOX Connection", "service": "urn:schemas-upnp-org:service:WANIPConnection:1", "action": "GetStatusInfo", "arguments": "{}", "x": 360, "y": 640, "wires": [ [ "1069bff298293e62", "edbaa0fd072ec5af" ] ] }, { "id": "1069bff298293e62", "type": "debug", "z": "40aabaff57950a4d", "name": "DSL Connection Info", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 600, "y": 640, "wires": [] }, { "id": "ec93c31d21242a8a", "type": "function", "z": "40aabaff57950a4d", "name": "extract/store speeds", "func": "var oldmsg = msg\nvar new_payload = {}\nmsg.topic = \"fbspeed\"\n\n// Gettin Values from Payload\nvar upstream = oldmsg.payload.NewUpstreamCurrRate\nvar downstream = oldmsg.payload.NewDownstreamCurrRate\n\nvar test = parseInt(oldmsg.payload.NewUpstreamCurrRate).toLocaleString(\"de-DE\")\nvar aw_upstream = parseInt(oldmsg.payload.NewUpstreamCurrRate).toLocaleString(\"de-DE\")\nvar aw_downstream = parseInt(oldmsg.payload.NewDownstreamCurrRate).toLocaleString(\"de-DE\")\n\n\n// Store values globally\nglobal.set(\"upstream\", upstream);\nglobal.set(\"downstream\", downstream);\n\n// generate new payload\nnew_payload.upstream = upstream\nnew_payload.downstream = downstream\nnew_payload.test = test\nmsg.payload = new_payload\nvar msg_up = { payload: aw_upstream }\nvar msg_down = { payload: aw_downstream }\n\nreturn [ msg_down, msg_up, msg ]\n", "outputs": 3, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 600, "y": 460, "wires": [ [ "70824ab8b807c6a8", "bbd41200c57cdab7" ], [ "cf776e17cd07fb03", "ad03d1bc7e8c9438" ], [ "5975b0134a7c406e" ] ] }, { "id": "5975b0134a7c406e", "type": "debug", "z": "40aabaff57950a4d", "name": "mqtt speeds", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 970, "y": 520, "wires": [] }, { "id": "edbaa0fd072ec5af", "type": "function", "z": "40aabaff57950a4d", "name": "build Uptime", "func": "var oldmsg = msg\nvar new_payload = {}\nmsg.topic = \"uptime\"\n\n// parse Uptime\nnew_payload.uptime = new Date(parseInt(msg.payload.NewUptime) * 1000).toISOString().slice(11, 19);\n\n\n// generate new payload\nmsg.payload = new_payload\n\nreturn msg\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 570, "y": 700, "wires": [ [ "5b264dfa75365ea1" ] ] }, { "id": "5b264dfa75365ea1", "type": "debug", "z": "40aabaff57950a4d", "name": "mqtt uptime", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 790, "y": 700, "wires": [] }, { "id": "ad03d1bc7e8c9438", "type": "mqtt out", "z": "40aabaff57950a4d", "name": "emqx upstream", "topic": "awdata/fb/speed/upstream", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "319c50eef5295f1a", "x": 940, "y": 300, "wires": [] }, { "id": "cf776e17cd07fb03", "type": "debug", "z": "40aabaff57950a4d", "name": "upstream", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 960, "y": 460, "wires": [] }, { "id": "70824ab8b807c6a8", "type": "debug", "z": "40aabaff57950a4d", "name": "downstream", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 970, "y": 400, "wires": [] }, { "id": "bbd41200c57cdab7", "type": "mqtt out", "z": "40aabaff57950a4d", "name": "emqx downstream", "topic": "awdata/fb/speed/downstream", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "319c50eef5295f1a", "x": 890, "y": 240, "wires": [] }, { "id": "eb1f5da4684a1882", "type": "fritzbox-in", "z": "40aabaff57950a4d", "device": "ad11af5d5835415a", "name": "MKBOX Connection", "service": "urn:schemas-upnp-org:service:WANIPConnection:1", "action": "GetExternalIPAddress", "arguments": "{}", "x": 360, "y": 780, "wires": [ [ "af4aa5471cb85eb5" ] ] }, { "id": "af4aa5471cb85eb5", "type": "debug", "z": "40aabaff57950a4d", "name": "External IP Info", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 800, "y": 780, "wires": [] }, { "id": "9bafe73d95c7ac14", "type": "fritzbox-in", "z": "40aabaff57950a4d", "device": "ad11af5d5835415a", "name": "MKBOX Connection", "service": "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1", "action": "GetAddonInfos", "arguments": "{}", "x": 360, "y": 860, "wires": [ [ "e9f1dfb093966413", "afc629a01d206b95", "68d1d99af9a0ddcb" ] ] }, { "id": "e9f1dfb093966413", "type": "debug", "z": "40aabaff57950a4d", "name": "External Data Rate", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 860, "wires": [] }, { "id": "6bd7e54058f69e92", "type": "function", "z": "40aabaff57950a4d", "name": "Bytes-2-kb", "func": "msg.payload = (msg.payload / 1024 ).toFixed(2);\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 630, "y": 1000, "wires": [ [ "05ac3a237b5c7556" ] ] }, { "id": "481fbd7857191cde", "type": "function", "z": "40aabaff57950a4d", "name": "Bytes-2-kb", "func": "msg.payload = (msg.payload / 1024 ).toFixed(2);\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 630, "y": 940, "wires": [ [ "a61fc3e1f84ba7fb" ] ] }, { "id": "afc629a01d206b95", "type": "change", "z": "40aabaff57950a4d", "name": "receiveRate", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.NewByteReceiveRate", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 940, "wires": [ [ "481fbd7857191cde" ] ] }, { "id": "68d1d99af9a0ddcb", "type": "change", "z": "40aabaff57950a4d", "name": "sendRate", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.NewByteSendRate", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 380, "y": 1000, "wires": [ [ "6bd7e54058f69e92" ] ] }, { "id": "a61fc3e1f84ba7fb", "type": "debug", "z": "40aabaff57950a4d", "name": "ReceiveRate", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 850, "y": 940, "wires": [] }, { "id": "05ac3a237b5c7556", "type": "debug", "z": "40aabaff57950a4d", "name": "SendRate", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 840, "y": 1000, "wires": [] }, { "id": "cf98613.60e11a", "type": "comment", "z": "1b69961e4c6ff4eb", "name": "AnwesenheitHandy1", "info": "", "x": 190, "y": 220, "wires": [] }, { "id": "eedc08fb.12b8f8", "type": "inject", "z": "1b69961e4c6ff4eb", "name": "AnwesenheitHandy1", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": true, "onceDelay": "1", "topic": "", "payload": "{'NewMACAddress': 'D8:3A:DD:99:FA:18'}", "payloadType": "jsonata", "x": 240, "y": 280, "wires": [ [ "38b70c39.68f504" ] ] }, { "id": "c546f3f1.387d1", "type": "debug", "z": "1b69961e4c6ff4eb", "name": "AnwesenheitHandy1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload.NewActive", "x": 660, "y": 200, "wires": [] }, { "id": "1c07ae94.c6b621", "type": "trigger", "z": "1b69961e4c6ff4eb", "name": "", "op1": "AnwesenheitHandy1 ist im Netzwerk angemeldet", "op2": "0", "op1type": "str", "op2type": "str", "duration": "0", "extend": false, "units": "ms", "reset": "0", "bytopic": "all", "outputs": 1, "x": 930, "y": 280, "wires": [ [ "bbba3d1e1a2efe3b" ] ] }, { "id": "3c25ea32.a803d6", "type": "change", "z": "1b69961e4c6ff4eb", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.NewActive", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 650, "y": 340, "wires": [ [ "1c07ae94.c6b621", "379d6bd2.312594", "0d835eeb041711cd" ] ] }, { "id": "379d6bd2.312594", "type": "trigger", "z": "1b69961e4c6ff4eb", "name": "", "op1": "AnwesenheitHandy1 ist nicht mehr im Netzwerk angemeldet", "op2": "0", "op1type": "str", "op2type": "str", "duration": "0", "extend": false, "units": "ms", "reset": "1", "bytopic": "all", "outputs": 1, "x": 940, "y": 420, "wires": [ [ "bbba3d1e1a2efe3b" ] ] }, { "id": "38b70c39.68f504", "type": "fritzbox-in", "z": "1b69961e4c6ff4eb", "device": "ad11af5d5835415a", "name": "", "service": "urn:dslforum-org:service:Hosts:1", "action": "GetSpecificHostEntry", "arguments": "{'NewMACAddress':'value'}", "x": 440, "y": 280, "wires": [ [ "c546f3f1.387d1", "3c25ea32.a803d6" ] ] }, { "id": "0d835eeb041711cd", "type": "debug", "z": "1b69961e4c6ff4eb", "name": "Triiger BLock", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 930, "y": 340, "wires": [] }, { "id": "bbba3d1e1a2efe3b", "type": "debug", "z": "1b69961e4c6ff4eb", "name": "SendData", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1200, "y": 340, "wires": [] } ]