Raspberry IP Address management tab eth0 interface
Easely modify and control your Raspberry PI eth0 IP address
you can easely:
- Set a static IP
- Return back and set DHCP mode
- View interface status and current addresses
Note: the flow runs shell commands that modifies dhcpcd.conf file
[{"id":"76458f3932a481e9","type":"tab","label":"IP eth0","disabled":false,"info":"","env":[]},{"id":"738d3de6820911a7","type":"ui_form","z":"76458f3932a481e9","name":"","label":"Enter network name and password:","group":"1cf52e38.3cfee2","order":1,"width":0,"height":0,"options":[{"label":"IP address","value":"ip","type":"text","required":true,"rows":null},{"label":"Subnet Mask","value":"mask","type":"text","required":true,"rows":null},{"label":"Router IP:","value":"router","type":"text","required":true,"rows":null},{"label":"DNS:","value":"dns","type":"text","required":true,"rows":null}],"formValue":{"ip":"","mask":"","router":"","dns":""},"payload":"","submit":"Set address","cancel":"Clear values","topic":"","x":360,"y":320,"wires":[["b1cdab211f39dee7"]]},{"id":"719290bdacd9315c","type":"ui_button","z":"76458f3932a481e9","name":"Enable DHCP","group":"1cf52e38.3cfee2","order":3,"width":"0","height":"0","passthru":false,"label":"Enable DHCP","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":140,"y":120,"wires":[["26017ea908dbd50f"]]},{"id":"10080912b5785210","type":"function","z":"76458f3932a481e9","name":"set DHCP","func":"interfaccia = \"interface eth0\";\nlines = flow.get('lines');\nrighe = [\"#interface eth0\",\"#ip_address=\",\"#routers=\",\"#domain_name_servers=\"];\n\n//trovo la locazione della riga dell'interfaccia e rimane in l\nfor(var l=0; l< lines.length; l++){\n if(lines[l].indexOf(interfaccia) != -1)\n break;\n}\n\n//linea corretta, è quella successiva\nl++;\n\nif (lines[l-1] == interfaccia){\n msg.prova = \"sono dentro l'if\";\n for(let i=0;i<righe.length;i++){\n msg.prova2 = \"sono dento il for\"; \n\n let command = `'${l}s/.*/${righe[i]}/1' /etc/dhcpcd.conf`;\n node.send({payload: command})\n l++;\n }\n}\n\nreturn[null,{payload : \"In order to set up the new settings you must restart the device, you can use the RESTART button in the bottom of the box.\"}]","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":800,"y":120,"wires":[["c4d7038d863903ea"],["8fd9fb35a887ee1d"]]},{"id":"6795473b09ab65ee","type":"ui_toast","z":"76458f3932a481e9","position":"dialog","displayTime":"3","highlight":"","sendall":true,"outputs":1,"ok":"OK","cancel":"GO back","raw":false,"topic":"CAUTION","name":"Conferma","x":480,"y":120,"wires":[["18cf9f5e815dfd4d"]]},{"id":"18cf9f5e815dfd4d","type":"switch","z":"76458f3932a481e9","name":"OK ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"OK","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":630,"y":120,"wires":[["10080912b5785210"]]},{"id":"26017ea908dbd50f","type":"change","z":"76458f3932a481e9","name":"1^ domanda","rules":[{"t":"set","p":"payload","pt":"msg","to":"Are you really sure to enable network address reception via DHCP service?","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":120,"wires":[["6795473b09ab65ee"]]},{"id":"cd46c377b111a1b9","type":"function","z":"76458f3932a481e9","name":"","func":"if (msg.payload == true) {\n msg.payload = \"Enabled\";\n} else {\n msg.payload = \"Disabled\";\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":940,"y":520,"wires":[["9fba37f4e7b0fac1","27ace06f03485e6a"]]},{"id":"1f20c31fadb6a371","type":"switch","z":"76458f3932a481e9","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"interface eth0","vt":"str"}],"checkall":"false","repair":false,"outputs":1,"x":790,"y":520,"wires":[["cd46c377b111a1b9","0d6e39733da72d7c"]]},{"id":"9fba37f4e7b0fac1","type":"ui_text","z":"76458f3932a481e9","group":"ef9f83991e5ac762","order":1,"width":0,"height":0,"name":"","label":"DHCP: ","format":"{{msg.payload}}","layout":"row-spread","x":1080,"y":520,"wires":[]},{"id":"61d4fcbe974662fd","type":"function","z":"76458f3932a481e9","name":"parse response","func":"//creo un'array di parole suddivise riga per riga dalla rispoasta al comando (cat /etc/dhcpcd.conf)\nlet lines = msg.payload.split(\"\\n\");\n\n\n\n//intercetto a quale riga è presente la stringa \"interface wlan0\" \nfor(var i=0; i< lines.length; i++){\n if(lines[i].indexOf(\"interface eth0\") != -1)\n break;\n}\n\n//controllo se eth0 sia abilitato o disabilitato secondo la logica se trovo un \"#\" l'interfaccia è diabilitata\nif(i < lines.length && lines[i].indexOf(\"#\") >= 0) flow.set('disabled_eth0', true);\nelse flow.set('disabled_eth0', false);\n\n//invio fuori dal nodo msg.topic e msg.payload con valore di \"disabled\"\nnode.send({topic:'interface eth0', payload:flow.get('disabled_eth0')})\n\n//aumento di 1 la \"i\", quindi passo alla riga successiva\ni++;\n\n\nfor(i; i< lines.length; i++){\n \n //interrompo quando non vedo più \"static\" di conseguenza perchè ho finito di leggere la configurazione dell'interfaccia\n if(lines[i].indexOf(\"static\") == -1)\n break;\n \n //let è un array con due elementi descrizione e valore\n let tmp = lines[i].split(\"=\");\n //se gli elementi sono due e quindi sono le righe effettivamente da configurare\n if(tmp.length==2){\n let prop = tmp[0].split(' ')[1].trim();\n let value = tmp[1].trim();\n \n //pulisco ed assegno in flow memoryOnly il valore e lo mando fuori\n flow.set(prop, value);\n node.send({topic:prop, payload : value})\n }\n} \n\nflow.set('lines', lines);\n//node.send({prop : prop});","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":640,"y":520,"wires":[["1f20c31fadb6a371","2f3eef88e722607f","b8febe50fa508524"]]},{"id":"0d6e39733da72d7c","type":"function","z":"76458f3932a481e9","name":"","func":"if (msg.payload == true) {\n msg.payload = \"Disabled\";\n} else {\n msg.payload = \"Enabled\"\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":940,"y":560,"wires":[["1d63e1db1795b0f5","27ace06f03485e6a"]]},{"id":"a96f866ac3a8c61e","type":"exec","z":"76458f3932a481e9","command":"cat /etc/dhcpcd.conf","addpay":false,"append":"","useSpawn":"","timer":"","name":"","x":440,"y":520,"wires":[["61d4fcbe974662fd"],[],[]]},{"id":"1d63e1db1795b0f5","type":"ui_text","z":"76458f3932a481e9","group":"ef9f83991e5ac762","order":2,"width":0,"height":0,"name":"","label":"Static IP:","format":"{{msg.payload}}","layout":"row-spread","x":1080,"y":560,"wires":[]},{"id":"9ef48e085e079c6f","type":"function","z":"76458f3932a481e9","name":"set properties","func":"let properties_eth0 = ['ip_address', 'routers', 'domain_name_servers'];\n\nflow.set(\"properties_eth0\", properties_eth0);\n\n//init properties_wlan0\nfor(let i=0;i<properties_eth0.length;i++){\n let p = properties_eth0[i];\n flow.set(p, null);\n flow.set(p+\"_new\", null);\n}\n\nnode.send({payload: true});\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":240,"y":520,"wires":[["a96f866ac3a8c61e"]]},{"id":"356246822091006a","type":"inject","z":"76458f3932a481e9","name":"init","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"18000","crontab":"","once":true,"onceDelay":0.1,"topic":"","payloadType":"date","x":90,"y":520,"wires":[["9ef48e085e079c6f"]]},{"id":"0df537d489c1a668","type":"change","z":"76458f3932a481e9","name":"","rules":[{"t":"set","p":"ip_address_new","pt":"flow","to":"ip","tot":"msg"},{"t":"set","p":"routers_new","pt":"flow","to":"router","tot":"msg"},{"t":"set","p":"domain_name_servers_new","pt":"flow","to":"dns","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1500,"y":300,"wires":[["45f5354b0faf2774"]]},{"id":"83b58ee4a9e408ac","type":"ui_toast","z":"76458f3932a481e9","position":"dialog","displayTime":"3","highlight":"","sendall":true,"outputs":1,"ok":"YES","cancel":"GO back","raw":false,"topic":"CAUTION","name":"Conferma","x":1040,"y":300,"wires":[["4fd5092349ce59eb"]]},{"id":"3f7c799c96aceda3","type":"change","z":"76458f3932a481e9","name":"L'ip è corretto, formulo la domanda","rules":[{"t":"set","p":"cestinoTemporaneo","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"payload","pt":"msg","to":"Are you really sure to set static IP on the device?","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":300,"wires":[["83b58ee4a9e408ac"]]},{"id":"4fd5092349ce59eb","type":"switch","z":"76458f3932a481e9","name":"YES ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"YES","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1170,"y":300,"wires":[["4f0f4ae1c991423b"]]},{"id":"4f0f4ae1c991423b","type":"change","z":"76458f3932a481e9","name":"","rules":[{"t":"move","p":"cestinoTemporaneo","pt":"msg","to":"payload","tot":"msg"},{"t":"delete","p":"topic","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1320,"y":300,"wires":[["0df537d489c1a668"]]},{"id":"8fd9fb35a887ee1d","type":"ui_toast","z":"76458f3932a481e9","position":"dialog","displayTime":"10","highlight":"","sendall":true,"outputs":1,"ok":"RESTART","cancel":"GO BACK","raw":false,"topic":"RESTART TO APPLY CHANGES","name":"RESTART TO APPLY CHANGES","x":1960,"y":220,"wires":[["3ec17758c0f9d846"]]},{"id":"3ec17758c0f9d846","type":"function","z":"76458f3932a481e9","name":"se si","func":"if(msg.payload === \"RESTART\"){\n node.send({payload : \"RESTART\"})\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2170,"y":220,"wires":[["c7fc144ae42effaa"]]},{"id":"c7fc144ae42effaa","type":"change","z":"76458f3932a481e9","name":"Sei sicuro?","rules":[{"t":"set","p":"payload","pt":"msg","to":"Are you really sure to restart the device?","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2310,"y":220,"wires":[["8f777908e1081e92"]]},{"id":"8f777908e1081e92","type":"ui_toast","z":"76458f3932a481e9","position":"dialog","displayTime":"3","highlight":"","sendall":true,"outputs":1,"ok":"YES","cancel":"GO back","raw":false,"topic":"PAY ATTENTION PLEASE","name":"Conferma","x":2460,"y":220,"wires":[["555b996bef2bd43d"]]},{"id":"555b996bef2bd43d","type":"switch","z":"76458f3932a481e9","name":"YES ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"YES","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":2590,"y":220,"wires":[["eddefdc8cf262ee7"]]},{"id":"eddefdc8cf262ee7","type":"exec","z":"76458f3932a481e9","command":"sudo reboot","addpay":false,"append":"","useSpawn":"","timer":"","name":"","x":2730,"y":220,"wires":[[],[],[]]},{"id":"856204192b783dcc","type":"ui_toast","z":"76458f3932a481e9","position":"dialog","displayTime":"3","highlight":"","sendall":true,"outputs":1,"ok":"I WILL BE MORE CAREFUL, FATHER","cancel":"","raw":false,"topic":"BE MORE CAREFUL ABOUT WHAT YOU WRITE","name":"qualcosa non è corretto","x":990,"y":360,"wires":[["a56336f348503291"]]},{"id":"4d43736b9cc159e7","type":"change","z":"76458f3932a481e9","name":"UNO o più IP errati","rules":[{"t":"set","p":"valori","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"payload","pt":"msg","to":"Please enter a valid IP Address","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":360,"wires":[["856204192b783dcc"]]},{"id":"a56336f348503291","type":"change","z":"76458f3932a481e9","name":"","rules":[{"t":"move","p":"valori","pt":"msg","to":"payload","tot":"msg"},{"t":"delete","p":"topic","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1200,"y":360,"wires":[["738d3de6820911a7"]]},{"id":"06fdf4e46a462064","type":"comment","z":"76458f3932a481e9","name":"Abilita DHCP","info":"","x":130,"y":80,"wires":[]},{"id":"7be9a831fa24eb44","type":"comment","z":"76458f3932a481e9","name":"Abilita indirizzo IP statico","info":"","x":170,"y":280,"wires":[]},{"id":"07c754c160784c9e","type":"comment","z":"76458f3932a481e9","name":"Definisci se l'interfaccia è in DHCP o con IP statico","info":"","x":250,"y":460,"wires":[]},{"id":"509b79aebf586cd4","type":"function","z":"76458f3932a481e9","name":"","func":"interfaccia = \"#interface eth0\";\nnuovaInterfaccia = \"interface eth0\";\nlines = flow.get('lines');\n\nrighe = [\"static ip_address=\",\"static routers=\",\"static domain_name_servers=\"];\n\n\nindirizzi = [\"ipMask\", \"routers_new\", \"domain_name_servers_new\"];\n\n//trovo la locazione della riga dell'interfaccia e rimane in l\nfor(var l=0; l< lines.length; l++){\n if(lines[l].indexOf(interfaccia) != -1 || lines[l].indexOf(nuovaInterfaccia) != -1){\n break;\n }\n}\n//se non trovo l'interfaccia perchè già in ip statico cerco l'interfaccia abiliatata\n/*if (l > lines.length){\n for(let l=0; l< lines.length; l++){\n if(lines[l].indexOf(nuovaInterfaccia) != -1)\n break;\n } \n}*/\n\nnode.send({lineaGiusta : l})\n//linea corretta, è quella successiva\nl++;\n\nif (lines[l-1] == interfaccia || lines[l-1] == nuovaInterfaccia){\n msg.prova = \"sono dentro l'if\";\n\n let command0 = `'${l}s/.*/${nuovaInterfaccia}/1' /etc/dhcpcd.conf`;\n node.send({payload : command0});\n //riga successiva\n l++;\n \n for(let i=0;i<righe.length;i++){\n msg.prova2 = \"sono dento il for\"; \n let indirizzo = flow.get(indirizzi[i]);\n let command = `'${l}s?.*?${righe[i]}${indirizzo}?g' /etc/dhcpcd.conf`;\n node.send({payload: command})\n l++;\n }\n}\n\nif (l > lines.length){\n node.send({payload : \"non ho trovato la linea corretta\"})\n}\n\nreturn[null,{payload : \"In order to set up the new settings you must restart the device, you can use the RESTART button in the bottom of the box.\"}]","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1900,"y":300,"wires":[["c4d7038d863903ea"],["8fd9fb35a887ee1d"]]},{"id":"c4d7038d863903ea","type":"exec","z":"76458f3932a481e9","command":"sudo sed -i ","addpay":"payload","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":1870,"y":120,"wires":[[],[],["7e14b58f8e000a94"]]},{"id":"7e14b58f8e000a94","type":"link out","z":"76458f3932a481e9","name":"wlan0","mode":"link","links":["62ba4c09c2b12ba5"],"x":1975,"y":120,"wires":[]},{"id":"62ba4c09c2b12ba5","type":"link in","z":"76458f3932a481e9","name":"eth0","links":["7e14b58f8e000a94"],"x":295,"y":560,"wires":[["a96f866ac3a8c61e"]]},{"id":"e6b96be4330b4fc8","type":"function","z":"76458f3932a481e9","name":"abilito/disabilito bottone","func":"eAttivo = flow.get('disabled_eth0');\n\nif (eAttivo == true){\n node.send({enabled : false})\n}else{\n node.send({enabled : true})\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":230,"y":160,"wires":[["719290bdacd9315c"]]},{"id":"2f3eef88e722607f","type":"link out","z":"76458f3932a481e9","name":"DHCP btn eth0","mode":"link","links":["1fe8a458da844f2d","e5bb9525c3f165d1"],"x":755,"y":560,"wires":[]},{"id":"e5bb9525c3f165d1","type":"link in","z":"76458f3932a481e9","name":"DHCP btn eth0","links":["2f3eef88e722607f"],"x":75,"y":160,"wires":[["e6b96be4330b4fc8"]]},{"id":"fee7316c2eccf33a","type":"ui_text","z":"76458f3932a481e9","group":"ef9f83991e5ac762","order":3,"width":0,"height":0,"name":"","label":"IPv4: ","format":"{{msg.payload}}","layout":"row-spread","x":650,"y":680,"wires":[]},{"id":"7f571b21eddf7f8c","type":"function","z":"76458f3932a481e9","name":"","func":"let prova = msg.payload.split(' ');\nmsg.payload = prova[13];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":500,"y":680,"wires":[["fee7316c2eccf33a"]]},{"id":"793bdb25fa816f4b","type":"inject","z":"76458f3932a481e9","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payloadType":"date","x":110,"y":680,"wires":[["0fe80c33022df746"]]},{"id":"0fe80c33022df746","type":"exec","z":"76458f3932a481e9","command":"sudo ifconfig eth0","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":290,"y":700,"wires":[["7f571b21eddf7f8c","2d77e310e2a1419c"],[],[]]},{"id":"0181387cc19f0760","type":"inject","z":"76458f3932a481e9","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"5","topic":"","payloadType":"date","x":110,"y":720,"wires":[["0fe80c33022df746"]]},{"id":"b1cdab211f39dee7","type":"function","z":"76458f3932a481e9","name":"Controlli IP","func":"//RegEx che controlla che il dato sia un numero\nvar myRegex = /^\\d+$/;\n\nip = msg.payload.ip;\nmask = msg.payload.mask;\nrouter = msg.payload.router;\ndns = msg.payload.dns;\n\nvar array = [ip,mask,router,dns];\n\n//Controlli su indirizzi immessi\nfor (let j = 0; j < array.length; j++) {\n const splittedArray = array[j].split(\".\");\n\n if (splittedArray.length != 4){\n //L'IP è composto da 4 serie di byte, se ne ho di più > errore\n return[null,{payload : \"hai inserito qualcosa di errato\"}]\n }\n\n for (let i = 0; i < splittedArray.length; i++) {\n let match = splittedArray[i].match(myRegex);\n\n if (match == null){\n //Non è un numero\n return[null,{payload : \"hai inserito qualcosa di errato\"}]\n }\n\n if (splittedArray[i] < 0 || splittedArray[i] > 255){\n // > di 255 || < 0 \n return[null,{payload : \"uno o più byte inseriti sono maggiori di 255 o nulli\"}]\n }\n\n }\n}\n\nlet subnet = array[1].split(\".\")\n\n\nlet esponente = 0;\n\nfor (let i = 0; i < 4; i++) {\n let byte = parseInt(subnet[i]);\n\n let potenza = 0;\n\n while (byte > 0) {\n byte -= Math.pow(2, (7 - potenza));\n esponente++;\n potenza++;\n }\n\n\n}\nmsg.payload.esponente = esponente.toString();\n\nreturn msg.payload","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":590,"y":320,"wires":[["3f7c799c96aceda3"],["4d43736b9cc159e7"]]},{"id":"45f5354b0faf2774","type":"function","z":"76458f3932a481e9","name":"monto mask bit a indirizzo IP","func":"msg.ipMask = msg.ip.concat(\"/\").concat(msg.esponente)\n\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1600,"y":360,"wires":[["bbd4906b81867af8"]]},{"id":"bbd4906b81867af8","type":"change","z":"76458f3932a481e9","name":"","rules":[{"t":"set","p":"ipMask","pt":"flow","to":"ipMask","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1740,"y":300,"wires":[["509b79aebf586cd4"]]},{"id":"ca779dea91b1709a","type":"inject","z":"76458f3932a481e9","name":"","props":[{"p":"payload.ip","v":"","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":150,"y":360,"wires":[["101a675a132f92d2"]]},{"id":"1fe8a458da844f2d","type":"link in","z":"76458f3932a481e9","name":"insert IP eth0","links":["2f3eef88e722607f"],"x":35,"y":360,"wires":[["101a675a132f92d2"]]},{"id":"101a675a132f92d2","type":"function","z":"76458f3932a481e9","name":"","func":"let ip = flow.get('ip_address');\nlet routers = flow.get('routers');\nlet dns = flow.get('domain_name_servers')\n\ndisabled = flow.get('disabled_eth0')\n\nif(disabled == false){\n\n msg.payload = {}\n msg.payload.router = routers\n msg.payload.dns = dns\n \n ip = ip.split(\"/\")\n \n node.send({payload : ip})\n msg.payload.ip = ip[0]\n msg.payload.mask = \"\"\n \n \n switch (ip[1] != null){\n case ip[1] == 0:\n msg.payload.mask = \"0.0.0.0\"\n return msg\n case ip[1] == 1:\n msg.payload.mask = \"128.0.0.0\"\n return msg\n case ip[1] == 2:\n msg.payload.mask = \"192.0.0.0\"\n return msg\n case ip[1] == 3:\n msg.payload.mask = \"224.0.0.0\"\n return msg\n case ip[1] == 4:\n msg.payload.mask = \"240.0.0.0\"\n return msg\n case ip[1] == 5:\n msg.payload.mask = \"248.0.0.0\" \n return msg\n case ip[1] == 6:\n msg.payload.mask = \"252.0.0.0\" \n return msg\n case ip[1] == 7:\n msg.payload.mask = \"254.0.0.0\" \n return msg\n case ip[1] == 8:\n msg.payload.mask = \"255.0.0.0\" \n return msg\n case ip[1] == 9:\n msg.payload.mask = \"255.128.0.0\" \n return msg\n case ip[1] == 10:\n msg.payload.mask = \"255.192.0.0\" \n return msg\n case ip[1] == 11:\n msg.payload.mask = \"255.224.0.0\" \n return msg\n case ip[1] == 12:\n msg.payload.mask = \"255.240.0.0\" \n return msg\n case ip[1] == 13:\n msg.payload.mask = \"255.248.0.0\" \n return msg\n case ip[1] == 14:\n msg.payload.mask = \"255.252.0.0\" \n return msg\n case ip[1] == 15:\n msg.payload.mask = \"255.254.0.0\" \n return msg\n case ip[1] == 16:\n msg.payload.mask = \"255.255.0.0\" \n return msg\n case ip[1] == 17:\n msg.payload.mask = \"255.255.128.0\" \n return msg\n case ip[1] == 18:\n msg.payload.mask = \"255.255.192.0\" \n return msg\n case ip[1] == 19:\n msg.payload.mask = \"255.255.224.0\" \n return msg\n case ip[1] == 20:\n msg.payload.mask = \"255.255.240.0\" \n return msg\n case ip[1] == 21:\n msg.payload.mask = \"255.255.248.0\" \n return msg\n case ip[1] == 22:\n msg.payload.mask = \"255.255.252.0\" \n return msg\n case ip[1] == 23:\n msg.payload.mask = \"255.255.254.0\" \n return msg\n case ip[1] == 24:\n msg.payload.mask = \"255.255.255.0\" \n return msg\n case ip[1] == 25:\n msg.payload.mask = \"255.255.255.128\" \n return msg\n case ip[1] == 26:\n msg.payload.mask = \"255.255.255.192\" \n return msg\n case ip[1] == 27:\n msg.payload.mask = \"255.255.255.224\" \n return msg\n case ip[1] == 28:\n msg.payload.mask = \"255.255.255.240\" \n return msg\n case ip[1] == 29:\n msg.payload.mask = \"255.255.255.248\" \n return msg\n case ip[1] == 30:\n msg.payload.mask = \"255.255.255.252\" \n return msg\n case ip[1] == 31:\n msg.payload.mask = \"255.255.255.254\" \n return msg\n case ip[1] == \"\":\n msg.payload.mask = \"255.255.255.255\" \n return msg\n }\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":120,"y":320,"wires":[["738d3de6820911a7"]]},{"id":"27ace06f03485e6a","type":"debug","z":"76458f3932a481e9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1270,"y":540,"wires":[]},{"id":"b8febe50fa508524","type":"debug","z":"76458f3932a481e9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":890,"y":440,"wires":[]},{"id":"475c2f1a5a947602","type":"ui_text","z":"76458f3932a481e9","group":"ef9f83991e5ac762","order":3,"width":0,"height":0,"name":"","label":"Netmask: ","format":"{{msg.payload}}","layout":"row-spread","x":660,"y":720,"wires":[]},{"id":"2d77e310e2a1419c","type":"function","z":"76458f3932a481e9","name":"","func":"let prova = msg.payload.split(' ');\nmsg.payload = prova[16];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":500,"y":720,"wires":[["475c2f1a5a947602"]]},{"id":"0b74ae610ae77b1a","type":"link in","z":"76458f3932a481e9","name":"Refresh","links":["745bb9e050b8b386"],"x":175,"y":620,"wires":[["a96f866ac3a8c61e","0fe80c33022df746"]]},{"id":"1bd02051d3d3ef85","type":"comment","z":"76458f3932a481e9","name":"Refresh","info":"","x":90,"y":620,"wires":[]},{"id":"1cf52e38.3cfee2","type":"ui_group","name":"Ethernet conf","tab":"1728d699ee468de8","order":2,"disp":true,"width":"6","collapse":true},{"id":"ef9f83991e5ac762","type":"ui_group","name":"Ethernet","tab":"1728d699ee468de8","order":1,"disp":true,"width":"6","collapse":false},{"id":"1728d699ee468de8","type":"ui_tab","name":"IP Lan","icon":"settings_ethernet","order":4,"disabled":false,"hidden":false}]