diff --git a/WEBUI/assets/ErrorNotFound.931a913c.js b/WEBUI/assets/ErrorNotFound.a7edec63.js
similarity index 88%
rename from WEBUI/assets/ErrorNotFound.931a913c.js
rename to WEBUI/assets/ErrorNotFound.a7edec63.js
index a66a7e3..5df10e1 100644
--- a/WEBUI/assets/ErrorNotFound.931a913c.js
+++ b/WEBUI/assets/ErrorNotFound.a7edec63.js
@@ -1 +1 @@
-import{_ as t,V as o,W as s,a5 as a,af as e,Z as r,a4 as n}from"./index.e9fa4ce2.js";const c=o({name:"ErrorNotFound"}),l={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},d=e("div",{style:{"font-size":"30vh"}}," 404 ",-1),i=e("div",{class:"text-h2",style:{opacity:".4"}}," Oops. Nothing here... four-ow-four ",-1);function _(f,p,u,h,x,m){return s(),a("div",l,[e("div",null,[d,i,r(n,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])])}var N=t(c,[["render",_]]);export{N as default};
+import{_ as t,V as o,W as s,a5 as a,af as e,Z as r,a4 as n}from"./index.e61a843c.js";const c=o({name:"ErrorNotFound"}),l={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},d=e("div",{style:{"font-size":"30vh"}}," 404 ",-1),i=e("div",{class:"text-h2",style:{opacity:".4"}}," Oops. Nothing here... four-ow-four ",-1);function _(f,p,u,h,x,m){return s(),a("div",l,[e("div",null,[d,i,r(n,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])])}var N=t(c,[["render",_]]);export{N as default};
diff --git a/WEBUI/assets/Home.01dae3c0.js b/WEBUI/assets/Home.d9e4cf4a.js
similarity index 82%
rename from WEBUI/assets/Home.01dae3c0.js
rename to WEBUI/assets/Home.d9e4cf4a.js
index fdfef9d..5b8a3fa 100644
--- a/WEBUI/assets/Home.01dae3c0.js
+++ b/WEBUI/assets/Home.d9e4cf4a.js
@@ -1 +1 @@
-import{S as f,o as v,T as C,a as d,W as _,X as h,Y as s,ad as H,Z as o,ae as m,af as t,a2 as i,_ as g,V as S,a3 as q,a5 as x}from"./index.e9fa4ce2.js";import{S as l}from"./network.b806b67f.js";import{s as $}from"./helpers.86b52205.js";import"./axios.aa321329.js";const k=t("div",{class:"text-h6"},"Home",-1),y={class:"q-pa-md"},B={class:"q-gutter-md q-pa-none q-pb-none"},I=Object.assign({name:"HomeCard"},{__name:"HomeCard",setup(p){const e=f({time:0,uptime:0});l(e,2,0,"mykey",!1);let a;v(()=>{a=setInterval(()=>{l(e,2,0,"mykey",!1)},1e3)}),C(()=>clearInterval(a));const n=d({get(){return new Date(e.time*1e3).toISOString()}}),r=d({get(){return $(e.uptime)}});return(c,D)=>(_(),h(H,{flat:"",bordered:"",class:"card"},{default:s(()=>[o(m,null,{default:s(()=>[k]),_:1}),o(m,{class:"q-pt-none"},{default:s(()=>[t("div",y,[t("div",B,[t("div",null,i(n.value),1),t("div",null,"Uptime: "+i(r.value),1)])])]),_:1})]),_:1}))}}),b=S({name:"HomePage",components:{HomeCard:I}}),V={class:"cardholder"};function w(p,u,e,a,n,r){const c=q("HomeCard");return _(),x("div",V,[o(c)])}var U=g(b,[["render",w]]);export{U as default};
+import{S as f,o as v,T as C,a as d,W as _,X as h,Y as s,ad as H,Z as o,ae as m,af as t,a2 as i,_ as g,V as S,a3 as q,a5 as x}from"./index.e61a843c.js";import{S as l}from"./network.e17c7bcc.js";import{s as $}from"./helpers.e43ece2f.js";import"./axios.9e0af2f1.js";const k=t("div",{class:"text-h6"},"Home",-1),y={class:"q-pa-md"},B={class:"q-gutter-md q-pa-none q-pb-none"},I=Object.assign({name:"HomeCard"},{__name:"HomeCard",setup(p){const e=f({time:0,uptime:0});l(e,2,0,"mykey",!1);let a;v(()=>{a=setInterval(()=>{l(e,2,0,"mykey",!1)},1e3)}),C(()=>clearInterval(a));const n=d({get(){return new Date(e.time*1e3).toISOString()}}),r=d({get(){return $(e.uptime)}});return(c,D)=>(_(),h(H,{flat:"",bordered:"",class:"card"},{default:s(()=>[o(m,null,{default:s(()=>[k]),_:1}),o(m,{class:"q-pt-none"},{default:s(()=>[t("div",y,[t("div",B,[t("div",null,i(n.value),1),t("div",null,"Uptime: "+i(r.value),1)])])]),_:1})]),_:1}))}}),b=S({name:"HomePage",components:{HomeCard:I}}),V={class:"cardholder"};function w(p,u,e,a,n,r){const c=q("HomeCard");return _(),x("div",V,[o(c)])}var U=g(b,[["render",w]]);export{U as default};
diff --git a/WEBUI/assets/IndexPage2.70bc6c4c.js b/WEBUI/assets/IndexPage2.70bc6c4c.js
deleted file mode 100644
index cb2300b..0000000
Binary files a/WEBUI/assets/IndexPage2.70bc6c4c.js and /dev/null differ
diff --git a/WEBUI/assets/IndexPage2.fee0d838.js b/WEBUI/assets/IndexPage2.fee0d838.js
new file mode 100644
index 0000000..576e5db
Binary files /dev/null and b/WEBUI/assets/IndexPage2.fee0d838.js differ
diff --git a/WEBUI/assets/InterfacesSettings.f5ee0d72.js b/WEBUI/assets/InterfacesSettings.f5ee0d72.js
deleted file mode 100644
index 707d4d4..0000000
Binary files a/WEBUI/assets/InterfacesSettings.f5ee0d72.js and /dev/null differ
diff --git a/WEBUI/assets/InterfacesSettings.f6a968a8.js b/WEBUI/assets/InterfacesSettings.f6a968a8.js
new file mode 100644
index 0000000..b45c060
Binary files /dev/null and b/WEBUI/assets/InterfacesSettings.f6a968a8.js differ
diff --git a/WEBUI/assets/MainLayout.257eb545.js b/WEBUI/assets/MainLayout.257eb545.js
deleted file mode 100644
index a088cf0..0000000
Binary files a/WEBUI/assets/MainLayout.257eb545.js and /dev/null differ
diff --git a/WEBUI/assets/MainLayout.b2644e4c.js b/WEBUI/assets/MainLayout.b2644e4c.js
new file mode 100644
index 0000000..5dd73d2
Binary files /dev/null and b/WEBUI/assets/MainLayout.b2644e4c.js differ
diff --git a/WEBUI/assets/QItem.1a2115bf.js b/WEBUI/assets/QItem.3951a8c3.js
similarity index 96%
rename from WEBUI/assets/QItem.1a2115bf.js
rename to WEBUI/assets/QItem.3951a8c3.js
index 09dadf3..3a361d7 100644
--- a/WEBUI/assets/QItem.1a2115bf.js
+++ b/WEBUI/assets/QItem.3951a8c3.js
@@ -1 +1 @@
-import{a9 as L,c as v,a as i,h as c,d as q,u as S,aa as I,q as R,ab as E,r as b,g as Q,ac as A,D as K,p as D}from"./index.e9fa4ce2.js";function $(){if(window.getSelection!==void 0){const e=window.getSelection();e.empty!==void 0?e.empty():e.removeAllRanges!==void 0&&(e.removeAllRanges(),L.is.mobile!==!0&&e.addRange(document.createRange()))}else document.selection!==void 0&&document.selection.empty()}function j(e,a,n){return n<=a?a:Math.min(n,Math.max(a,e))}function M(e,a,n){if(n<=a)return a;const u=n-a+1;let l=a+(e-a)%u;return l`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>c("div",{class:n.value},q(a.default))}}),T=v({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:a}){const n=i(()=>parseInt(e.lines,10)),u=i(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(n.value===1?" ellipsis":"")),l=i(()=>e.lines!==void 0&&n.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":n.value}:null);return()=>c("div",{style:l.value,class:u.value},q(a.default))}}),z=v({name:"QItem",props:{...S,...I,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:a,emit:n}){const{proxy:{$q:u}}=Q(),l=R(e,u),{hasLink:d,linkAttrs:k,linkClass:g,linkTag:y,navigateOnClick:h}=E(),s=b(null),r=b(null),m=i(()=>e.clickable===!0||d.value===!0||e.tag==="label"),o=i(()=>e.disable!==!0&&m.value===!0),_=i(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(l.value===!0?" q-item--dark":"")+(d.value===!0&&e.active===null?g.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(o.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),w=i(()=>{if(e.insetLevel===void 0)return null;const t=u.lang.rtl===!0?"Right":"Left";return{["padding"+t]:16+e.insetLevel*56+"px"}});function B(t){o.value===!0&&(r.value!==null&&(t.qKeyEvent!==!0&&document.activeElement===s.value?r.value.focus():document.activeElement===r.value&&s.value.focus()),h(t))}function x(t){if(o.value===!0&&A(t,13)===!0){K(t),t.qKeyEvent=!0;const f=new MouseEvent("click",t);f.qKeyEvent=!0,s.value.dispatchEvent(f)}n("keyup",t)}function C(){const t=D(a.default,[]);return o.value===!0&&t.unshift(c("div",{class:"q-focus-helper",tabindex:-1,ref:r})),t}return()=>{const t={ref:s,class:_.value,style:w.value,role:"listitem",onClick:B,onKeyup:x};return o.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,k.value)):m.value===!0&&(t["aria-disabled"]="true"),c(y.value,t,C())}}});export{N as Q,T as a,j as b,$ as c,z as d,M as n};
+import{a9 as L,c as v,a as i,h as c,d as q,u as S,aa as I,q as R,ab as E,r as b,g as Q,ac as A,D as K,p as D}from"./index.e61a843c.js";function $(){if(window.getSelection!==void 0){const e=window.getSelection();e.empty!==void 0?e.empty():e.removeAllRanges!==void 0&&(e.removeAllRanges(),L.is.mobile!==!0&&e.addRange(document.createRange()))}else document.selection!==void 0&&document.selection.empty()}function j(e,a,n){return n<=a?a:Math.min(n,Math.max(a,e))}function M(e,a,n){if(n<=a)return a;const u=n-a+1;let l=a+(e-a)%u;return l`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>c("div",{class:n.value},q(a.default))}}),T=v({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:a}){const n=i(()=>parseInt(e.lines,10)),u=i(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(n.value===1?" ellipsis":"")),l=i(()=>e.lines!==void 0&&n.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":n.value}:null);return()=>c("div",{style:l.value,class:u.value},q(a.default))}}),z=v({name:"QItem",props:{...S,...I,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:a,emit:n}){const{proxy:{$q:u}}=Q(),l=R(e,u),{hasLink:d,linkAttrs:k,linkClass:g,linkTag:y,navigateOnClick:h}=E(),s=b(null),r=b(null),m=i(()=>e.clickable===!0||d.value===!0||e.tag==="label"),o=i(()=>e.disable!==!0&&m.value===!0),_=i(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(l.value===!0?" q-item--dark":"")+(d.value===!0&&e.active===null?g.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(o.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),w=i(()=>{if(e.insetLevel===void 0)return null;const t=u.lang.rtl===!0?"Right":"Left";return{["padding"+t]:16+e.insetLevel*56+"px"}});function B(t){o.value===!0&&(r.value!==null&&(t.qKeyEvent!==!0&&document.activeElement===s.value?r.value.focus():document.activeElement===r.value&&s.value.focus()),h(t))}function x(t){if(o.value===!0&&A(t,13)===!0){K(t),t.qKeyEvent=!0;const f=new MouseEvent("click",t);f.qKeyEvent=!0,s.value.dispatchEvent(f)}n("keyup",t)}function C(){const t=D(a.default,[]);return o.value===!0&&t.unshift(c("div",{class:"q-focus-helper",tabindex:-1,ref:r})),t}return()=>{const t={ref:s,class:_.value,style:w.value,role:"listitem",onClick:B,onKeyup:x};return o.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,k.value)):m.value===!0&&(t["aria-disabled"]="true"),c(y.value,t,C())}}});export{N as Q,T as a,j as b,$ as c,z as d,M as n};
diff --git a/WEBUI/assets/ServicesPage.4a613e6b.js b/WEBUI/assets/ServicesPage.4a613e6b.js
new file mode 100644
index 0000000..cec0615
Binary files /dev/null and b/WEBUI/assets/ServicesPage.4a613e6b.js differ
diff --git a/WEBUI/assets/ServicesPage.fc10b3d5.js b/WEBUI/assets/ServicesPage.fc10b3d5.js
deleted file mode 100644
index 020a793..0000000
Binary files a/WEBUI/assets/ServicesPage.fc10b3d5.js and /dev/null differ
diff --git a/WEBUI/assets/SystemPage.5e163398.js b/WEBUI/assets/SystemPage.5e163398.js
new file mode 100644
index 0000000..8d78663
Binary files /dev/null and b/WEBUI/assets/SystemPage.5e163398.js differ
diff --git a/WEBUI/assets/SystemPage.a476f674.js b/WEBUI/assets/SystemPage.a476f674.js
deleted file mode 100644
index 6ebc0bf..0000000
Binary files a/WEBUI/assets/SystemPage.a476f674.js and /dev/null differ
diff --git a/WEBUI/assets/axios.9e0af2f1.js b/WEBUI/assets/axios.9e0af2f1.js
new file mode 100644
index 0000000..321ca88
Binary files /dev/null and b/WEBUI/assets/axios.9e0af2f1.js differ
diff --git a/WEBUI/assets/axios.aa321329.js b/WEBUI/assets/axios.aa321329.js
deleted file mode 100644
index 5f9b3fc..0000000
Binary files a/WEBUI/assets/axios.aa321329.js and /dev/null differ
diff --git a/WEBUI/assets/helpers.86b52205.js b/WEBUI/assets/helpers.86b52205.js
deleted file mode 100644
index be8025e..0000000
--- a/WEBUI/assets/helpers.86b52205.js
+++ /dev/null
@@ -1 +0,0 @@
-import{ah as l}from"./index.e9fa4ce2.js";function i(e){e=Number(e);var o=Math.floor(e/86400),r=Math.floor(e%86400/3600),t=Math.floor(e%3600/60),a=Math.floor(e%3600%60);return" "+o+"d "+(r<10?"0":"")+r+":"+(t<10?"0":"")+t+":"+(a<10?"0":"")+a}function f(e,o,r){const t=l.create({message:"",progress:!0,persistent:!0,ok:!1});let a=0;const s=setInterval(()=>{a=Math.min(100,a+1e4/o),t.update({message:`${e} ${a}%`}),a===100&&(clearInterval(s),setTimeout(()=>{t.hide(),r()},350))},100)}export{f as S,i as s};
diff --git a/WEBUI/assets/helpers.e43ece2f.js b/WEBUI/assets/helpers.e43ece2f.js
new file mode 100644
index 0000000..ff24a34
--- /dev/null
+++ b/WEBUI/assets/helpers.e43ece2f.js
@@ -0,0 +1 @@
+import"./index.e61a843c.js";function h(o){o=Number(o);var s=Math.floor(o/86400),r=Math.floor(o%86400/3600),a=Math.floor(o%3600/60),t=Math.floor(o%3600%60);return" "+s+"d "+(r<10?"0":"")+r+":"+(a<10?"0":"")+a+":"+(t<10?"0":"")+t}export{h as s};
diff --git a/WEBUI/assets/index.e61a843c.js b/WEBUI/assets/index.e61a843c.js
new file mode 100644
index 0000000..117bf42
Binary files /dev/null and b/WEBUI/assets/index.e61a843c.js differ
diff --git a/WEBUI/assets/index.e9fa4ce2.js b/WEBUI/assets/index.e9fa4ce2.js
deleted file mode 100644
index 0397a01..0000000
Binary files a/WEBUI/assets/index.e9fa4ce2.js and /dev/null differ
diff --git a/WEBUI/assets/network.b806b67f.js b/WEBUI/assets/network.b806b67f.js
deleted file mode 100644
index aaa2a0a..0000000
Binary files a/WEBUI/assets/network.b806b67f.js and /dev/null differ
diff --git a/WEBUI/assets/network.e17c7bcc.js b/WEBUI/assets/network.e17c7bcc.js
new file mode 100644
index 0000000..61fc01a
Binary files /dev/null and b/WEBUI/assets/network.e17c7bcc.js differ
diff --git a/WEBUI/espfs.paths b/WEBUI/espfs.paths
index 7688eff..a5fce98 100644
--- a/WEBUI/espfs.paths
+++ b/WEBUI/espfs.paths
@@ -1,26 +1,26 @@
assets
-assets/ErrorNotFound.931a913c.js
-assets/Home.01dae3c0.js
-assets/IndexPage2.70bc6c4c.js
-assets/InterfacesSettings.f5ee0d72.js
+assets/ErrorNotFound.a7edec63.js
+assets/Home.d9e4cf4a.js
+assets/IndexPage2.fee0d838.js
+assets/InterfacesSettings.f6a968a8.js
assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff
assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff
assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff
assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff
assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff
assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff
-assets/MainLayout.257eb545.js
+assets/MainLayout.b2644e4c.js
assets/MainLayout.c9e97164.css
-assets/QItem.1a2115bf.js
-assets/ServicesPage.fc10b3d5.js
-assets/SystemPage.a476f674.js
-assets/axios.aa321329.js
+assets/QItem.3951a8c3.js
+assets/ServicesPage.4a613e6b.js
+assets/SystemPage.5e163398.js
+assets/axios.9e0af2f1.js
assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff
assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2
-assets/helpers.86b52205.js
+assets/helpers.e43ece2f.js
assets/index.6b461d14.css
-assets/index.e9fa4ce2.js
-assets/network.b806b67f.js
+assets/index.e61a843c.js
+assets/network.e17c7bcc.js
favicon.ico
index.html
test.json
\ No newline at end of file
diff --git a/WEBUI/index.html b/WEBUI/index.html
index ef59100..e08ec70 100644
--- a/WEBUI/index.html
+++ b/WEBUI/index.html
@@ -1,3 +1,3 @@
-ESP32 web interface
+ESP32 web interface
\ No newline at end of file