diff --git a/lib/AmsConfiguration/include/AmsConfiguration.h b/lib/AmsConfiguration/include/AmsConfiguration.h index 7f267b80..ceffb99a 100644 --- a/lib/AmsConfiguration/include/AmsConfiguration.h +++ b/lib/AmsConfiguration/include/AmsConfiguration.h @@ -4,7 +4,7 @@ #include "Arduino.h" #define EEPROM_SIZE 1024*3 -#define EEPROM_CHECK_SUM 102 // Used to check if config is stored. Change if structure changes +#define EEPROM_CHECK_SUM 103 // Used to check if config is stored. Change if structure changes #define EEPROM_CLEARED_INDICATOR 0xFC #define EEPROM_CONFIG_ADDRESS 0 #define EEPROM_TEMP_CONFIG_ADDRESS 2048 @@ -141,7 +141,8 @@ struct GpioConfig { uint8_t vccBootLimit; uint16_t vccResistorGnd; uint16_t vccResistorVcc; -}; // 20 + bool hanPinPullup; +}; // 21 struct DomoticzConfig { uint16_t elidx; @@ -304,6 +305,7 @@ private: bool relocateConfig96(); // 2.1.14 bool relocateConfig100(); // 2.2-dev bool relocateConfig101(); // 2.2.0 through 2.2.8 + bool relocateConfig102(); // 2.2.9 void saveToFs(); bool loadFromFs(uint8_t version); diff --git a/lib/AmsConfiguration/src/AmsConfiguration.cpp b/lib/AmsConfiguration/src/AmsConfiguration.cpp index c3ae8881..1ebe2c7a 100644 --- a/lib/AmsConfiguration/src/AmsConfiguration.cpp +++ b/lib/AmsConfiguration/src/AmsConfiguration.cpp @@ -374,6 +374,7 @@ bool AmsConfiguration::setGpioConfig(GpioConfig& config) { GpioConfig existing; if(getGpioConfig(existing)) { meterChanged |= config.hanPin != existing.hanPin; + meterChanged |= config.hanPinPullup != existing.hanPinPullup; } /* This currently does not work, as it checks its own pin if(pinUsed(config.hanPin, config)) { @@ -425,6 +426,7 @@ bool AmsConfiguration::setGpioConfig(GpioConfig& config) { void AmsConfiguration::clearGpio(GpioConfig& config) { config.hanPin = 3; + config.hanPinPullup = true; config.apPin = 0xFF; config.ledPin = 0xFF; config.ledInverted = true; @@ -764,6 +766,14 @@ bool AmsConfiguration::hasConfig() { configVersion = 0; return false; } + case 102: + configVersion = -1; // Prevent loop + if(relocateConfig102()) { + configVersion = 103; + } else { + configVersion = 0; + return false; + } case EEPROM_CHECK_SUM: return true; default: @@ -985,6 +995,20 @@ bool AmsConfiguration::relocateConfig101() { return ret; } +bool AmsConfiguration::relocateConfig102() { + EEPROM.begin(EEPROM_SIZE); + + GpioConfig gpioConfig; + EEPROM.get(CONFIG_GPIO_START, gpioConfig); + gpioConfig.hanPinPullup = true; + EEPROM.put(CONFIG_GPIO_START, gpioConfig); + + EEPROM.put(EEPROM_CONFIG_ADDRESS, 103); + bool ret = EEPROM.commit(); + EEPROM.end(); + return ret; +} + bool AmsConfiguration::save() { EEPROM.begin(EEPROM_SIZE); EEPROM.put(EEPROM_CONFIG_ADDRESS, EEPROM_CHECK_SUM); @@ -1139,6 +1163,7 @@ void AmsConfiguration::print(Print* debugger) if(getGpioConfig(gpio)) { debugger->println("--GPIO configuration--"); debugger->printf("HAN pin: %i\r\n", gpio.hanPin); + debugger->printf("HAN pin pullup %s\r\n", gpio.hanPinPullup ? "Yes" : "No"); debugger->printf("LED pin: %i\r\n", gpio.ledPin); debugger->printf("LED inverted: %s\r\n", gpio.ledInverted ? "Yes" : "No"); debugger->printf("LED red pin: %i\r\n", gpio.ledPinRed); diff --git a/lib/SvelteUi/app/dist/index.js b/lib/SvelteUi/app/dist/index.js index 95e34287..a6d385cb 100644 --- a/lib/SvelteUi/app/dist/index.js +++ b/lib/SvelteUi/app/dist/index.js @@ -1,13 +1,13 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function l(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=l(i);fetch(i.href,o)}})();function se(){}function Ot(t,e){for(const l in e)t[l]=e[l];return t}function vf(t){return t()}function mr(){return Object.create(null)}function Be(t){t.forEach(vf)}function hf(t){return typeof t=="function"}function ke(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let Ji;function fc(t,e){return Ji||(Ji=document.createElement("a")),Ji.href=e,t===Ji.href}function cc(t){return Object.keys(t).length===0}function Ys(t,...e){if(t==null)return se;const l=t.subscribe(...e);return l.unsubscribe?()=>l.unsubscribe():l}function jn(t){let e;return Ys(t,l=>e=l)(),e}function Bt(t,e,l){t.$$.on_destroy.push(Ys(e,l))}function Vs(t,e,l,n){if(t){const i=gf(t,e,l,n);return t[0](i)}}function gf(t,e,l,n){return t[1]&&n?Ot(l.ctx.slice(),t[1](n(e))):l.ctx}function Ks(t,e,l,n){if(t[2]&&n){const i=t[2](n(l));if(e.dirty===void 0)return i;if(typeof i=="object"){const o=[],r=Math.max(e.dirty.length,i.length);for(let a=0;a32){const e=[],l=t.ctx.length/32;for(let n=0;nt.removeEventListener(e,l,n)}function fs(t){return function(e){return e.preventDefault(),t.call(this,e)}}function u(t,e,l){l==null?t.removeAttribute(e):t.getAttribute(e)!==l&&t.setAttribute(e,l)}function zt(t,e){const l=Object.getOwnPropertyDescriptors(t.__proto__);for(const n in e)e[n]==null?t.removeAttribute(n):n==="style"?t.style.cssText=e[n]:n==="__value"?t.value=t[n]=e[n]:l[n]&&l[n].set?t[n]=e[n]:u(t,n,e[n])}function ce(t){return t===""?null:+t}function mc(t){return Array.from(t.childNodes)}function B(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Q(t,e){t.value=e==null?"":e}function bf(t,e,l,n){l===null?t.style.removeProperty(e):t.style.setProperty(e,l,n?"important":"")}function Fe(t,e){for(let l=0;l{r.source===n.contentWindow&&e()})):(n.src="about:blank",n.onload=()=>{o=Y(n.contentWindow,"resize",e)}),s(t,n),()=>{(i||o&&n.contentWindow)&&o(),w(n)}}function dc(t,e,{bubbles:l=!1,cancelable:n=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(t,l,n,e),i}let ii;function li(t){ii=t}function si(){if(!ii)throw new Error("Function called outside component initialization");return ii}function vc(t){si().$$.on_mount.push(t)}function hc(t){si().$$.on_destroy.push(t)}function gc(){const t=si();return(e,l,{cancelable:n=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=dc(e,l,{cancelable:n});return i.slice().forEach(r=>{r.call(t,o)}),!o.defaultPrevented}return!0}}function ni(t,e){return si().$$.context.set(t,e),e}function wl(t){return si().$$.context.get(t)}const ei=[],os=[],ls=[],pr=[],kf=Promise.resolve();let Fs=!1;function wf(){Fs||(Fs=!0,kf.then(yf))}function bc(){return wf(),kf}function ze(t){ls.push(t)}const Ms=new Set;let xi=0;function yf(){const t=ii;do{for(;xi{ns.delete(t),n&&(l&&t.d(1),n())}),t.o(e)}else n&&n()}function Wn(t,e){const l={},n={},i={$$scope:1};let o=t.length;for(;o--;){const r=t[o],a=e[o];if(a){for(const f in r)f in a||(n[f]=1);for(const f in a)i[f]||(l[f]=a[f],i[f]=1);t[o]=a}else for(const f in r)i[f]=1}for(const r in n)r in l||(l[r]=void 0);return l}function _r(t){return typeof t=="object"&&t!==null?t:{}}function Z(t){t&&t.c()}function V(t,e,l,n){const{fragment:i,on_mount:o,on_destroy:r,after_update:a}=t.$$;i&&i.m(e,l),n||ze(()=>{const f=o.map(vf).filter(hf);r?r.push(...f):Be(f),t.$$.on_mount=[]}),a.forEach(ze)}function K(t,e){const l=t.$$;l.fragment!==null&&(Be(l.on_destroy),l.fragment&&l.fragment.d(e),l.on_destroy=l.fragment=null,l.ctx=[])}function wc(t,e){t.$$.dirty[0]===-1&&(ei.push(t),wf(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const h=g.length?g[0]:d;return c.ctx&&i(c.ctx[_],c.ctx[_]=h)&&(!c.skip_bound&&c.bound[_]&&c.bound[_](h),p&&wc(t,_)),d}):[],c.update(),p=!0,Be(c.before_update),c.fragment=n?n(c.ctx):!1,e.target){if(e.hydrate){const _=mc(e.target);c.fragment&&c.fragment.l(_),_.forEach(w)}else c.fragment&&c.fragment.c();e.intro&&P(t.$$.fragment),V(t,e.target,e.anchor,e.customElement),yf()}li(f)}class ye{$destroy(){K(this,1),this.$destroy=se}$on(e,l){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(l),()=>{const i=n.indexOf(l);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!cc(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const dr=t=>typeof t>"u",$f=t=>typeof t=="function",Cf=t=>typeof t=="number";function yc(t){return!t.defaultPrevented&&t.button===0&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function Sf(){let t=0;return()=>t++}function $c(){return Math.random().toString(36).substring(2)}const yl=typeof window>"u";function Tf(t,e,l){return t.addEventListener(e,l),()=>t.removeEventListener(e,l)}const Rs=(t,e)=>t?{}:{style:e},qn=t=>({"aria-hidden":"true",...Rs(t,"display:none;")}),On=[];function Pf(t,e){return{subscribe:Ze(t,e).subscribe}}function Ze(t,e=se){let l;const n=new Set;function i(a){if(ke(t,a)&&(t=a,l)){const f=!On.length;for(const c of n)c[1](),On.push(c,t);if(f){for(let c=0;c{n.delete(c),n.size===0&&(l(),l=null)}}return{set:i,update:o,subscribe:r}}function Cc(t,e,l){const n=!Array.isArray(t),i=n?[t]:t,o=e.length<2;return Pf(l,r=>{let a=!1;const f=[];let c=0,p=se;const _=()=>{if(c)return;p();const g=e(n?f[0]:f,r);o?r(g):p=hf(g)?g:se},d=i.map((g,h)=>Ys(g,b=>{f[h]=b,c&=~(1<{c|=1<`@@svnav-ctx__${t}`,Ls=oi("LOCATION"),Gn=oi("ROUTER"),Mf=oi("ROUTE"),Sc=oi("ROUTE_PARAMS"),Tc=oi("FOCUS_ELEM"),Af=/^:(.+)/,ti=(t,e,l)=>t.substr(e,l),Os=(t,e)=>ti(t,0,e.length)===e,Pc=t=>t==="",Mc=t=>Af.test(t),Nf=t=>t[0]==="*",Ac=t=>t.replace(/\*.*$/,""),If=t=>t.replace(/(^\/+|\/+$)/g,"");function Kt(t,e=!1){const l=If(t).split("/");return e?l.filter(Boolean):l}const As=(t,e)=>t+(e?`?${e}`:""),Js=t=>`/${If(t)}`;function ui(...t){const e=n=>Kt(n,!0).join("/"),l=t.map(e).join("/");return Js(l)}const Xs=1,cs=2,Bl=3,Nc=4,Df=5,Ic=6,Ef=7,Dc=8,Ec=9,Ff=10,Rf=11,Fc={[Xs]:"Link",[cs]:"Route",[Bl]:"Router",[Nc]:"useFocus",[Df]:"useLocation",[Ic]:"useMatch",[Ef]:"useNavigate",[Dc]:"useParams",[Ec]:"useResolvable",[Ff]:"useResolve",[Rf]:"navigate"},xs=t=>Fc[t];function Rc(t,e){let l;return t===cs?l=e.path?`path="${e.path}"`:"default":t===Xs?l=`to="${e.to}"`:t===Bl&&(l=`basepath="${e.basepath||""}"`),`<${xs(t)} ${l||""} />`}function Lc(t,e,l,n){const i=l&&Rc(n||t,l),o=i?` +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function l(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=l(i);fetch(i.href,o)}})();function ie(){}function qt(t,e){for(const l in e)t[l]=e[l];return t}function vf(t){return t()}function pr(){return Object.create(null)}function Be(t){t.forEach(vf)}function hf(t){return typeof t=="function"}function ke(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let Xi;function fc(t,e){return Xi||(Xi=document.createElement("a")),Xi.href=e,t===Xi.href}function cc(t){return Object.keys(t).length===0}function Vs(t,...e){if(t==null)return ie;const l=t.subscribe(...e);return l.unsubscribe?()=>l.unsubscribe():l}function Hn(t){let e;return Vs(t,l=>e=l)(),e}function zt(t,e,l){t.$$.on_destroy.push(Vs(e,l))}function Ks(t,e,l,n){if(t){const i=gf(t,e,l,n);return t[0](i)}}function gf(t,e,l,n){return t[1]&&n?qt(l.ctx.slice(),t[1](n(e))):l.ctx}function Qs(t,e,l,n){if(t[2]&&n){const i=t[2](n(l));if(e.dirty===void 0)return i;if(typeof i=="object"){const o=[],r=Math.max(e.dirty.length,i.length);for(let a=0;a32){const e=[],l=t.ctx.length/32;for(let n=0;nt.removeEventListener(e,l,n)}function cs(t){return function(e){return e.preventDefault(),t.call(this,e)}}function u(t,e,l){l==null?t.removeAttribute(e):t.getAttribute(e)!==l&&t.setAttribute(e,l)}function Yt(t,e){const l=Object.getOwnPropertyDescriptors(t.__proto__);for(const n in e)e[n]==null?t.removeAttribute(n):n==="style"?t.style.cssText=e[n]:n==="__value"?t.value=t[n]=e[n]:l[n]&&l[n].set?t[n]=e[n]:u(t,n,e[n])}function ce(t){return t===""?null:+t}function pc(t){return Array.from(t.childNodes)}function G(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Z(t,e){t.value=e==null?"":e}function bf(t,e,l,n){l===null?t.style.removeProperty(e):t.style.setProperty(e,l,n?"important":"")}function Re(t,e){for(let l=0;l{r.source===n.contentWindow&&e()})):(n.src="about:blank",n.onload=()=>{o=Y(n.contentWindow,"resize",e)}),s(t,n),()=>{(i||o&&n.contentWindow)&&o(),w(n)}}function dc(t,e,{bubbles:l=!1,cancelable:n=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(t,l,n,e),i}let ii;function li(t){ii=t}function si(){if(!ii)throw new Error("Function called outside component initialization");return ii}function vc(t){si().$$.on_mount.push(t)}function hc(t){si().$$.on_destroy.push(t)}function gc(){const t=si();return(e,l,{cancelable:n=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=dc(e,l,{cancelable:n});return i.slice().forEach(r=>{r.call(t,o)}),!o.defaultPrevented}return!0}}function ni(t,e){return si().$$.context.set(t,e),e}function wl(t){return si().$$.context.get(t)}const ei=[],us=[],ns=[],mr=[],kf=Promise.resolve();let Rs=!1;function wf(){Rs||(Rs=!0,kf.then(yf))}function bc(){return wf(),kf}function ze(t){ns.push(t)}const As=new Set;let es=0;function yf(){const t=ii;do{for(;es{is.delete(t),n&&(l&&t.d(1),n())}),t.o(e)}else n&&n()}function jn(t,e){const l={},n={},i={$$scope:1};let o=t.length;for(;o--;){const r=t[o],a=e[o];if(a){for(const c in r)c in a||(n[c]=1);for(const c in a)i[c]||(l[c]=a[c],i[c]=1);t[o]=a}else for(const c in r)i[c]=1}for(const r in n)r in l||(l[r]=void 0);return l}function _r(t){return typeof t=="object"&&t!==null?t:{}}function J(t){t&&t.c()}function V(t,e,l,n){const{fragment:i,on_mount:o,on_destroy:r,after_update:a}=t.$$;i&&i.m(e,l),n||ze(()=>{const c=o.map(vf).filter(hf);r?r.push(...c):Be(c),t.$$.on_mount=[]}),a.forEach(ze)}function K(t,e){const l=t.$$;l.fragment!==null&&(Be(l.on_destroy),l.fragment&&l.fragment.d(e),l.on_destroy=l.fragment=null,l.ctx=[])}function wc(t,e){t.$$.dirty[0]===-1&&(ei.push(t),wf(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const d=g.length?g[0]:h;return f.ctx&&i(f.ctx[_],f.ctx[_]=d)&&(!f.skip_bound&&f.bound[_]&&f.bound[_](d),m&&wc(t,_)),h}):[],f.update(),m=!0,Be(f.before_update),f.fragment=n?n(f.ctx):!1,e.target){if(e.hydrate){const _=pc(e.target);f.fragment&&f.fragment.l(_),_.forEach(w)}else f.fragment&&f.fragment.c();e.intro&&P(t.$$.fragment),V(t,e.target,e.anchor,e.customElement),yf()}li(c)}class $e{$destroy(){K(this,1),this.$destroy=ie}$on(e,l){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(l),()=>{const i=n.indexOf(l);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!cc(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const dr=t=>typeof t>"u",$f=t=>typeof t=="function",Cf=t=>typeof t=="number";function yc(t){return!t.defaultPrevented&&t.button===0&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function Sf(){let t=0;return()=>t++}function $c(){return Math.random().toString(36).substring(2)}const yl=typeof window>"u";function Tf(t,e,l){return t.addEventListener(e,l),()=>t.removeEventListener(e,l)}const Ls=(t,e)=>t?{}:{style:e},On=t=>({"aria-hidden":"true",...Ls(t,"display:none;")}),Ln=[];function Pf(t,e){return{subscribe:Ze(t,e).subscribe}}function Ze(t,e=ie){let l;const n=new Set;function i(a){if(ke(t,a)&&(t=a,l)){const c=!Ln.length;for(const f of n)f[1](),Ln.push(f,t);if(c){for(let f=0;f{n.delete(f),n.size===0&&(l(),l=null)}}return{set:i,update:o,subscribe:r}}function Cc(t,e,l){const n=!Array.isArray(t),i=n?[t]:t,o=e.length<2;return Pf(l,r=>{let a=!1;const c=[];let f=0,m=ie;const _=()=>{if(f)return;m();const g=e(n?c[0]:c,r);o?r(g):m=hf(g)?g:ie},h=i.map((g,d)=>Vs(g,b=>{c[d]=b,f&=~(1<{f|=1<`@@svnav-ctx__${t}`,Os=oi("LOCATION"),Wn=oi("ROUTER"),Mf=oi("ROUTE"),Sc=oi("ROUTE_PARAMS"),Tc=oi("FOCUS_ELEM"),Af=/^:(.+)/,ti=(t,e,l)=>t.substr(e,l),qs=(t,e)=>ti(t,0,e.length)===e,Pc=t=>t==="",Mc=t=>Af.test(t),Nf=t=>t[0]==="*",Ac=t=>t.replace(/\*.*$/,""),If=t=>t.replace(/(^\/+|\/+$)/g,"");function Qt(t,e=!1){const l=If(t).split("/");return e?l.filter(Boolean):l}const Ns=(t,e)=>t+(e?`?${e}`:""),Xs=t=>`/${If(t)}`;function ui(...t){const e=n=>Qt(n,!0).join("/"),l=t.map(e).join("/");return Xs(l)}const xs=1,ps=2,Bl=3,Nc=4,Df=5,Ic=6,Ef=7,Dc=8,Ec=9,Ff=10,Rf=11,Fc={[xs]:"Link",[ps]:"Route",[Bl]:"Router",[Nc]:"useFocus",[Df]:"useLocation",[Ic]:"useMatch",[Ef]:"useNavigate",[Dc]:"useParams",[Ec]:"useResolvable",[Ff]:"useResolve",[Rf]:"navigate"},eo=t=>Fc[t];function Rc(t,e){let l;return t===ps?l=e.path?`path="${e.path}"`:"default":t===xs?l=`to="${e.to}"`:t===Bl&&(l=`basepath="${e.basepath||""}"`),`<${eo(t)} ${l||""} />`}function Lc(t,e,l,n){const i=l&&Rc(n||t,l),o=i?` -Occurred in: ${i}`:"",r=xs(t),a=$f(e)?e(r):e;return`<${r}> ${a}${o}`}const Lf=t=>(...e)=>t(Lc(...e)),Of=Lf(t=>{throw new Error(t)}),us=Lf(console.warn),vr=4,Oc=3,qc=2,Uc=1,Hc=1;function jc(t,e){const l=t.default?0:Kt(t.fullPath).reduce((n,i)=>{let o=n;return o+=vr,Pc(i)?o+=Hc:Mc(i)?o+=qc:Nf(i)?o-=vr+Uc:o+=Oc,o},0);return{route:t,score:l,index:e}}function Wc(t){return t.map(jc).sort((e,l)=>e.scorel.score?-1:e.index-l.index)}function qf(t,e){let l,n;const[i]=e.split("?"),o=Kt(i),r=o[0]==="",a=Wc(t);for(let f=0,c=a.length;f({...p,params:d,uri:k});if(p.default){n=g(e);continue}const h=Kt(p.fullPath),b=Math.max(o.length,h.length);let $=0;for(;${c===".."?f.pop():c!=="."&&f.push(c)}),As(`/${f.join("/")}`,n)}function hr(t,e){const{pathname:l,hash:n="",search:i="",state:o}=t,r=Kt(e,!0),a=Kt(l,!0);for(;r.length;)r[0]!==a[0]&&Of(Bl,`Invalid state: All locations must begin with the basepath "${e}", found "${l}"`),r.shift(),a.shift();return{pathname:ui(...a),hash:n,search:i,state:o}}const gr=t=>t.length===1?"":t,eo=t=>{const e=t.indexOf("?"),l=t.indexOf("#"),n=e!==-1,i=l!==-1,o=i?gr(ti(t,l)):"",r=i?ti(t,0,l):t,a=n?gr(ti(r,e)):"";return{pathname:(n?ti(r,0,e):r)||"/",search:a,hash:o}},Bc=t=>{const{pathname:e,search:l,hash:n}=t;return e+l+n};function zc(t,e,l){return ui(l,Gc(t,e))}function Yc(t,e){const l=Js(Ac(t)),n=Kt(l,!0),i=Kt(e,!0).slice(0,n.length),o=Uf({fullPath:l},ui(...i));return o&&o.uri}const Ns="POP",Vc="PUSH",Kc="REPLACE";function Is(t){return{...t.location,pathname:encodeURI(decodeURI(t.location.pathname)),state:t.history.state,_key:t.history.state&&t.history.state._key||"initial"}}function Qc(t){let e=[],l=Is(t),n=Ns;const i=(o=e)=>o.forEach(r=>r({location:l,action:n}));return{get location(){return l},listen(o){e.push(o);const r=()=>{l=Is(t),n=Ns,i([o])};i([o]);const a=Tf(t,"popstate",r);return()=>{a(),e=e.filter(f=>f!==o)}},navigate(o,r){const{state:a={},replace:f=!1}=r||{};if(n=f?Kc:Vc,Cf(o))r&&us(Rf,"Navigation options (state or replace) are not supported, when passing a number as the first argument to navigate. They are ignored."),n=Ns,t.history.go(o);else{const c={...a,_key:$c()};try{t.history[f?"replaceState":"pushState"](c,"",o)}catch{t.location[f?"replace":"assign"](o)}}l=Is(t),i()}}}function Ds(t,e){return{...eo(e),state:t}}function Zc(t="/"){let e=0,l=[Ds(null,t)];return{get entries(){return l},get location(){return l[e]},addEventListener(){},removeEventListener(){},history:{get state(){return l[e].state},pushState(n,i,o){e++,l=l.slice(0,e),l.push(Ds(n,o))},replaceState(n,i,o){l[e]=Ds(n,o)},go(n){const i=e+n;i<0||i>l.length-1||(e=i)}}}}const Jc=!!(!yl&&window.document&&window.document.createElement),Xc=!yl&&window.location.origin==="null",Hf=Qc(Jc&&!Xc?window:Zc()),{navigate:Un}=Hf;let ul=null,jf=!0;function xc(t,e){const l=document.querySelectorAll("[data-svnav-router]");for(let n=0;nul.level||t.level===ul.level&&xc(t.routerId,ul.routerId))&&(ul=t)}function t1(){ul=null}function l1(){jf=!1}function br(t){if(!t)return!1;const e="tabindex";try{if(!t.hasAttribute(e)){t.setAttribute(e,"-1");let l;l=Tf(t,"blur",()=>{t.removeAttribute(e),l()})}return t.focus(),document.activeElement===t}catch{return!1}}function n1(t,e){return Number(t.dataset.svnavRouteEnd)===e}function i1(t){return/^H[1-6]$/i.test(t.tagName)}function kr(t,e=document){return e.querySelector(t)}function s1(t){let l=kr(`[data-svnav-route-start="${t}"]`).nextElementSibling;for(;!n1(l,t);){if(i1(l))return l;const n=kr("h1,h2,h3,h4,h5,h6",l);if(n)return n;l=l.nextElementSibling}return null}function o1(t){Promise.resolve(jn(t.focusElement)).then(e=>{const l=e||s1(t.id);l||us(Bl,`Could not find an element to focus. You should always render a header for accessibility reasons, or set a custom focus element via the "useFocus" hook. If you don't want this Route or Router to manage focus, pass "primary={false}" to it.`,t,cs),!br(l)&&br(document.documentElement)})}const u1=(t,e,l)=>(n,i)=>bc().then(()=>{if(!ul||jf){l1();return}if(n&&o1(ul.route),t.announcements&&i){const{path:o,fullPath:r,meta:a,params:f,uri:c}=ul.route,p=t.createAnnouncement({path:o,fullPath:r,meta:a,params:f,uri:c},jn(l));Promise.resolve(p).then(_=>{e.set(_)})}t1()}),wr="position:fixed;top:-1px;left:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;";function r1(t){let e,l,n=[{role:"status"},{"aria-atomic":"true"},{"aria-live":"polite"},{"data-svnav-announcer":""},Rs(t[6],wr)],i={};for(let o=0;o`Navigated to ${te.uri}`,announcements:!0,...h},k=p,S=Js(p),M=wl(Ls),D=wl(Gn),T=!M,N=f1(),F=g&&!(D&&!D.manageFocus),R=Ze("");Bt(t,R,te=>l(0,a=te));const H=D?D.disableInlineStyles:b,j=Ze([]);Bt(t,j,te=>l(20,r=te));const E=Ze(null);Bt(t,E,te=>l(18,i=te));let L=!1;const W=T?0:D.level+1,q=T?Ze((()=>hr(yl?eo(_):d.location,S))()):M;Bt(t,q,te=>l(17,n=te));const O=Ze(n);Bt(t,O,te=>l(19,o=te));const U=u1($,R,q),X=te=>Te=>Te.filter(pe=>pe.id!==te);function z(te){if(yl){if(L)return;const Te=Uf(te,n.pathname);if(Te)return L=!0,Te}else j.update(Te=>{const pe=X(te.id)(Te);return pe.push(te),pe})}function ne(te){j.update(X(te))}return!T&&p!==yr&&us(Bl,'Only top-level Routers can have a "basepath" prop. It is ignored.',{basepath:p}),T&&(vc(()=>d.listen(Te=>{const pe=hr(Te.location,S);O.set(n),q.set(pe)})),ni(Ls,q)),ni(Gn,{activeRoute:E,registerRoute:z,unregisterRoute:ne,manageFocus:F,level:W,id:N,history:T?d:D.history,basepath:T?S:D.basepath,disableInlineStyles:H}),t.$$set=te=>{"basepath"in te&&l(11,p=te.basepath),"url"in te&&l(12,_=te.url),"history"in te&&l(13,d=te.history),"primary"in te&&l(14,g=te.primary),"a11y"in te&&l(15,h=te.a11y),"disableInlineStyles"in te&&l(16,b=te.disableInlineStyles),"$$scope"in te&&l(21,c=te.$$scope)},t.$$.update=()=>{if(t.$$.dirty[0]&2048&&p!==k&&us(Bl,'You cannot change the "basepath" prop. It is ignored.'),t.$$.dirty[0]&1179648){const te=qf(r,n.pathname);E.set(te)}if(t.$$.dirty[0]&655360&&T){const te=!!n.hash,Te=!te&&F,pe=!te||n.pathname!==o.pathname;U(Te,pe)}t.$$.dirty[0]&262144&&F&&i&&i.primary&&e1({level:W,routerId:N,route:i})},[a,$,T,N,F,R,H,j,E,q,O,p,_,d,g,h,b,n,i,o,r,c,f]}class Wf extends ye{constructor(e){super(),we(this,e,c1,a1,ke,{basepath:11,url:12,history:13,primary:14,a11y:15,disableInlineStyles:16},null,[-1,-1])}}function ri(t,e,l=Gn,n=Bl){wl(l)||Of(t,o=>`You cannot use ${o} outside of a ${xs(n)}.`,e)}const m1=t=>{const{subscribe:e}=wl(t);return{subscribe:e}};function Gf(){return ri(Df),m1(Ls)}function Bf(){const{history:t}=wl(Gn);return t}function zf(){const t=wl(Mf);return t?Cc(t,e=>e.base):Ze("/")}function Yf(){ri(Ff);const t=zf(),{basepath:e}=wl(Gn);return n=>zc(n,jn(t),e)}function p1(){ri(Ef);const t=Yf(),{navigate:e}=Bf();return(n,i)=>{const o=Cf(n)?n:t(n);return e(o,i)}}const _1=t=>({params:t&16,location:t&8}),$r=t=>({params:yl?jn(t[10]):t[4],location:t[3],navigate:t[11]});function Cr(t){let e,l;return e=new Wf({props:{primary:t[1],$$slots:{default:[h1]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&2&&(o.primary=n[1]),i&528409&&(o.$$scope={dirty:i,ctx:n}),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function d1(t){let e;const l=t[18].default,n=Vs(l,t,t[19],$r);return{c(){n&&n.c()},m(i,o){n&&n.m(i,o),e=!0},p(i,o){n&&n.p&&(!e||o&524312)&&Qs(n,l,i,i[19],e?Ks(l,i[19],o,_1):Zs(i[19]),$r)},i(i){e||(P(n,i),e=!0)},o(i){I(n,i),e=!1},d(i){n&&n.d(i)}}}function v1(t){let e,l,n;const i=[{location:t[3]},{navigate:t[11]},yl?jn(t[10]):t[4],t[12]];var o=t[0];function r(a){let f={};for(let c=0;c{K(p,1)}),Ae()}o?(e=new o(r()),Z(e.$$.fragment),P(e.$$.fragment,1),V(e,l.parentNode,l)):e=null}else o&&e.$set(c)},i(a){n||(e&&P(e.$$.fragment,a),n=!0)},o(a){e&&I(e.$$.fragment,a),n=!1},d(a){a&&w(l),e&&K(e,a)}}}function h1(t){let e,l,n,i;const o=[v1,d1],r=[];function a(f,c){return f[0]!==null?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=We()},m(f,c){r[e].m(f,c),y(f,n,c),i=!0},p(f,c){let p=e;e=a(f),e===p?r[e].p(f,c):(Me(),I(r[p],1,1,()=>{r[p]=null}),Ae(),l=r[e],l?l.p(f,c):(l=r[e]=o[e](f),l.c()),P(l,1),l.m(n.parentNode,n))},i(f){i||(P(l),i=!0)},o(f){I(l),i=!1},d(f){r[e].d(f),f&&w(n)}}}function g1(t){let e,l,n,i,o,r=[qn(t[7]),{"data-svnav-route-start":t[5]}],a={};for(let _=0;_{f=null}),Ae()),zt(i,p=Wn(c,[qn(_[7]),{"data-svnav-route-end":_[5]}]))},i(_){o||(P(f),o=!0)},o(_){I(f),o=!1},d(_){_&&w(e),_&&w(l),f&&f.d(_),_&&w(n),_&&w(i)}}}const b1=Sf();function k1(t,e,l){let n;const i=["path","component","meta","primary"];let o=ss(e,i),r,a,f,c,{$$slots:p={},$$scope:_}=e,{path:d=""}=e,{component:g=null}=e,{meta:h={}}=e,{primary:b=!0}=e;ri(cs,e);const $=b1(),{registerRoute:k,unregisterRoute:S,activeRoute:M,disableInlineStyles:D}=wl(Gn);Bt(t,M,L=>l(16,r=L));const T=zf();Bt(t,T,L=>l(17,f=L));const N=Gf();Bt(t,N,L=>l(3,a=L));const F=Ze(null);let R;const H=Ze(),j=Ze({});Bt(t,j,L=>l(4,c=L)),ni(Mf,H),ni(Sc,j),ni(Tc,F);const E=p1();return yl||hc(()=>S($)),t.$$set=L=>{l(24,e=Ot(Ot({},e),is(L))),l(12,o=ss(e,i)),"path"in L&&l(13,d=L.path),"component"in L&&l(0,g=L.component),"meta"in L&&l(14,h=L.meta),"primary"in L&&l(1,b=L.primary),"$$scope"in L&&l(19,_=L.$$scope)},t.$$.update=()=>{if(t.$$.dirty&155658){const L=d==="",W=ui(f,d),G={id:$,path:d,meta:h,default:L,fullPath:L?"":W,base:L?f:Yc(W,a.pathname),primary:b,focusElement:F};H.set(G),l(15,R=k(G))}if(t.$$.dirty&98304&&l(2,n=!!(R||r&&r.id===$)),t.$$.dirty&98308&&n){const{params:L}=R||r;j.set(L)}},e=is(e),[g,b,n,a,c,$,M,D,T,N,j,E,o,d,h,R,r,f,p,_]}class ol extends ye{constructor(e){super(),we(this,e,k1,g1,ke,{path:13,component:0,meta:14,primary:1})}}function w1(t){let e,l,n,i;const o=t[13].default,r=Vs(o,t,t[12],null);let a=[{href:t[0]},t[2],t[1]],f={};for(let c=0;cl(11,_=F));const M=gc(),D=Yf(),{navigate:T}=Bf();function N(F){M("click",F),yc(F)&&(F.preventDefault(),T(n,{state:$,replace:r||b}))}return t.$$set=F=>{l(19,e=Ot(Ot({},e),is(F))),l(18,p=ss(e,c)),"to"in F&&l(5,h=F.to),"replace"in F&&l(6,b=F.replace),"state"in F&&l(7,$=F.state),"getProps"in F&&l(8,k=F.getProps),"$$scope"in F&&l(12,g=F.$$scope)},t.$$.update=()=>{t.$$.dirty&2080&&l(0,n=D(h,_)),t.$$.dirty&2049&&l(10,i=Os(_.pathname,n)),t.$$.dirty&2049&&l(9,o=n===_.pathname),t.$$.dirty&2049&&(r=eo(n)===Bc(_)),t.$$.dirty&512&&l(2,a=o?{"aria-current":"page"}:{}),l(1,f=(()=>{if($f(k)){const F=k({location:_,href:n,isPartiallyCurrent:i,isCurrent:o});return{...p,...F}}return p})())},e=is(e),[n,f,a,S,N,h,b,$,k,o,i,_,g,d]}class kl extends ye{constructor(e){super(),we(this,e,y1,w1,ke,{to:5,replace:6,state:7,getProps:8})}}let qs=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function bl(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function $1(t){return t>218&&t<242?"#32d900":t>212&&t<248?"#b1d900":t>208&&t<252?"#ffb800":"#d90000"}function Vf(t){return t>90?"#d90000":t>85?"#e32100":t>80?"#ffb800":t>75?"#dcd800":"#32d900"}function C1(t){return t>75?"#32d900":t>50?"#77d900":t>25?"#94d900":"#dcd800"}function rs(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return""}}function Ne(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function me(t,e){switch(e){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1"}}function Sr(t){switch(t){case-1:return"Parse error";case-2:return"Incomplete data received";case-3:return"Payload boundry flag missing";case-4:return"Header checksum error";case-5:return"Footer checksum error";case-9:return"Unknown data received, check meter config";case-41:return"Frame length not equal";case-51:return"Authentication failed";case-52:return"Decryption failed";case-53:return"Encryption key invalid";case 90:return"No HAN data received last 30s";case 98:return"Exception in code, debugging necessary";case 99:return"Autodetection failed"}return t<0?"Unspecified error "+t:""}function Tr(t){switch(t){case-3:return"Connection failed";case-4:return"Network timeout";case-10:return"Connection denied";case-11:return"Failed to subscribe";case-13:return"Connection lost"}return t<0?"Unspecified error "+t:""}function Pr(t){switch(t){case 401:case 403:return"Unauthorized, check API key";case 404:return"Price unavailable, not found";case 425:return"Server says its too early";case 500:return"Internal server error";case-2:return"Incomplete data received";case-3:return"Invalid data, tag missing";case-51:return"Authentication failed";case-52:return"Decryption failed";case-53:return"Encryption key invalid"}return t<0?"Unspecified error "+t:""}function Hn(t){switch(t){case 2:case 4:case 7:return!0}return!1}function je(t,e){return t==1||t==2&&e}function Lt(t){return"https://github.com/UtilitechAS/amsreader-firmware/wiki/"+t}function be(t,e){return isNaN(t)?"-":(isNaN(e)&&(e=t<10?1:0),t.toFixed(e))}async function $l(t,e={}){const{timeout:l=8e3}=e,n=new AbortController,i=setTimeout(()=>n.abort(),l),o=await fetch(t,{...e,signal:n.signal});return clearTimeout(i),o}let Gt={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,trying:null};const yt=Ze(Gt);async function to(){Gt=await(await $l("/sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),yt.set(Gt)}let es=0,Mr=-127,Ar=null,S1={};const T1=Pf(S1,t=>{let e;async function l(){$l("/data.json").then(n=>n.json()).then(n=>{t(n),Mr!=n.t&&(Mr=n.t,setTimeout(Jf,2e3)),Ar!=n.p&&(Ar=n.p,setTimeout(P1,4e3)),Gt.upgrading?window.location.reload():(!Gt||!Gt.chip||Gt.booting||es>1&&!Hn(Gt.board))&&(to(),Wl&&clearTimeout(Wl),Wl=setTimeout(lo,2e3),Gl&&clearTimeout(Gl),Gl=setTimeout(no,3e3));let i=5e3;if(Hn(Gt.board)&&n.v>2.5){let o=3.3-Math.min(3.3,n.v);o>0&&(i=Math.max(o,.1)*10*5e3)}i>5e3&&console.log("Scheduling next data fetch in "+i+"ms"),e&&clearTimeout(e),e=setTimeout(l,i),es=0}).catch(n=>{es++,es>3?(t({em:3,hm:0,wm:0,mm:0}),e=setTimeout(l,15e3)):e=setTimeout(l,Hn(Gt.board)?1e4:5e3)})}return l(),function(){clearTimeout(e)}});let Us={};const Kf=Ze(Us);async function P1(){Us=await(await $l("/energyprice.json")).json(),Kf.set(Us)}let Hs={},Wl;async function lo(){Wl&&(clearTimeout(Wl),Wl=0),Hs=await(await $l("/dayplot.json")).json(),Qf.set(Hs);let e=new Date;Wl=setTimeout(lo,(60-e.getMinutes())*6e4+20)}const Qf=Ze(Hs,t=>(lo(),function(){}));let js={},Gl;async function no(){Gl&&(clearTimeout(Gl),Gl=0),js=await(await $l("/monthplot.json")).json(),Zf.set(js);let e=new Date;Gl=setTimeout(no,(24-e.getHours())*36e5+40)}const Zf=Ze(js,t=>(no(),function(){}));let Ws={};async function Jf(){Ws=await(await $l("/temperature.json")).json(),Xf.set(Ws)}const Xf=Ze(Ws,t=>(Jf(),function(){}));let Gs={},ts;async function xf(){ts&&(clearTimeout(ts),ts=0),Gs=await(await $l("/tariff.json")).json(),ec.set(Gs);let e=new Date;ts=setTimeout(xf,(60-e.getMinutes())*6e4+30)}const ec=Ze(Gs,t=>function(){});let Bs=[];const io=Ze(Bs);async function M1(){Bs=await(await $l("https://api.github.com/repos/UtilitechAS/amsreader-firmware/releases")).json(),io.set(Bs)}function as(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function tc(){await(await fetch("/upgrade",{method:"POST"})).json()}function lc(t,e){if(/^v\d{1,2}\.\d{1,2}\.\d{1,2}$/.test(t)){let l=t.substring(1).split("."),n=parseInt(l[0]),i=parseInt(l[1]),o=parseInt(l[2]),r=[...e];r.reverse();let a,f,c;for(let p=0;po&&(a=_):b==i+1&&(f=_);else if(h==n+1)if(c){let k=c.tag_name.substring(1).split(".");parseInt(k[0]);let S=parseInt(k[1]);parseInt(k[2]),b==S&&(c=_)}else c=_}return f||c||a||!1}else return e[0]}const A1="/github.svg";function Nr(t){let e,l;function n(r,a){return r[1]>1?L1:r[1]>0?R1:r[2]>1?F1:r[2]>0?E1:r[3]>1?D1:r[3]>0?I1:N1}let i=n(t),o=i(t);return{c(){e=C(`Up - `),o.c(),l=We()},m(r,a){y(r,e,a),o.m(r,a),y(r,l,a)},p(r,a){i===(i=n(r))&&o?o.p(r,a):(o.d(1),o=i(r),o&&(o.c(),o.m(l.parentNode,l)))},d(r){r&&w(e),o.d(r),r&&w(l)}}}function N1(t){let e,l;return{c(){e=C(t[0]),l=C(" seconds")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&1&&B(e,n[0])},d(n){n&&w(e),n&&w(l)}}}function I1(t){let e,l;return{c(){e=C(t[3]),l=C(" minute")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&8&&B(e,n[3])},d(n){n&&w(e),n&&w(l)}}}function D1(t){let e,l;return{c(){e=C(t[3]),l=C(" minutes")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&8&&B(e,n[3])},d(n){n&&w(e),n&&w(l)}}}function E1(t){let e,l;return{c(){e=C(t[2]),l=C(" hour")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&4&&B(e,n[2])},d(n){n&&w(e),n&&w(l)}}}function F1(t){let e,l;return{c(){e=C(t[2]),l=C(" hours")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&4&&B(e,n[2])},d(n){n&&w(e),n&&w(l)}}}function R1(t){let e,l;return{c(){e=C(t[1]),l=C(" day")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&2&&B(e,n[1])},d(n){n&&w(e),n&&w(l)}}}function L1(t){let e,l;return{c(){e=C(t[1]),l=C(" days")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&2&&B(e,n[1])},d(n){n&&w(e),n&&w(l)}}}function O1(t){let e,l=t[0]&&Nr(t);return{c(){l&&l.c(),e=We()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=Nr(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:se,o:se,d(n){l&&l.d(n),n&&w(e)}}}function q1(t,e,l){let{epoch:n}=e,i=0,o=0,r=0;return t.$$set=a=>{"epoch"in a&&l(0,n=a.epoch)},t.$$.update=()=>{t.$$.dirty&1&&(l(1,i=Math.floor(n/86400)),l(2,o=Math.floor(n/3600)),l(3,r=Math.floor(n/60)))},[n,i,o,r]}class U1 extends ye{constructor(e){super(),we(this,e,q1,O1,ke,{epoch:0})}}function H1(t){let e,l,n;return{c(){e=m("span"),l=C(t[2]),u(e,"title",t[1]),u(e,"class",n="bd-"+t[0])},m(i,o){y(i,e,o),s(e,l)},p(i,[o]){o&4&&B(l,i[2]),o&2&&u(e,"title",i[1]),o&1&&n!==(n="bd-"+i[0])&&u(e,"class",n)},i:se,o:se,d(i){i&&w(e)}}}function j1(t,e,l){let{color:n}=e,{title:i}=e,{text:o}=e;return t.$$set=r=>{"color"in r&&l(0,n=r.color),"title"in r&&l(1,i=r.title),"text"in r&&l(2,o=r.text)},[n,i,o]}class Yt extends ye{constructor(e){super(),we(this,e,j1,H1,ke,{color:0,title:1,text:2})}}function W1(t){let e,l=`${Ne(t[0].getDate())}.${Ne(t[0].getMonth())}.${t[0].getFullYear()} ${Ne(t[0].getHours())}:${Ne(t[0].getMinutes())}`,n;return{c(){e=m("span"),n=C(l),u(e,"class","text-red-500")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=`${Ne(i[0].getDate())}.${Ne(i[0].getMonth())}.${i[0].getFullYear()} ${Ne(i[0].getHours())}:${Ne(i[0].getMinutes())}`)&&B(n,l)},d(i){i&&w(e)}}}function G1(t){let e=`${Ne(t[0].getDate())}. ${qs[t[0].getMonth()]} ${Ne(t[0].getHours())}:${Ne(t[0].getMinutes())}`,l;return{c(){l=C(e)},m(n,i){y(n,l,i)},p(n,i){i&1&&e!==(e=`${Ne(n[0].getDate())}. ${qs[n[0].getMonth()]} ${Ne(n[0].getHours())}:${Ne(n[0].getMinutes())}`)&&B(l,e)},d(n){n&&w(l)}}}function B1(t){let e,l;function n(r,a){return a&1&&(e=null),e==null&&(e=Math.abs(new Date().getTime()-r[0].getTime())<3e5),e?G1:W1}let i=n(t,-1),o=i(t);return{c(){o.c(),l=We()},m(r,a){o.m(r,a),y(r,l,a)},p(r,[a]){i===(i=n(r,a))&&o?o.p(r,a):(o.d(1),o=i(r),o&&(o.c(),o.m(l.parentNode,l)))},i:se,o:se,d(r){o.d(r),r&&w(l)}}}function z1(t,e,l){let{timestamp:n}=e;return t.$$set=i=>{"timestamp"in i&&l(0,n=i.timestamp)},[n]}class Y1 extends ye{constructor(e){super(),we(this,e,z1,B1,ke,{timestamp:0})}}function V1(t){let e,l,n;return{c(){e=Oe("svg"),l=Oe("path"),n=Oe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 011.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.56.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.893.149c-.425.07-.765.383-.93.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 01-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.397.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 01-.12-1.45l.527-.737c.25-.35.273-.806.108-1.204-.165-.397-.505-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.107-1.204l-.527-.738a1.125 1.125 0 01.12-1.45l.773-.773a1.125 1.125 0 011.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894z"),u(n,"stroke-linecap","round"),u(n,"stroke-linejoin","round"),u(n,"d","M15 12a3 3 0 11-6 0 3 3 0 016 0z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(i,o){y(i,e,o),s(e,l),s(e,n)},p:se,i:se,o:se,d(i){i&&w(e)}}}class K1 extends ye{constructor(e){super(),we(this,e,null,V1,ke,{})}}function Q1(t){let e,l;return{c(){e=Oe("svg"),l=Oe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:se,i:se,o:se,d(n){n&&w(e)}}}class Z1 extends ye{constructor(e){super(),we(this,e,null,Q1,ke,{})}}function J1(t){let e,l;return{c(){e=Oe("svg"),l=Oe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:se,i:se,o:se,d(n){n&&w(e)}}}class Rt extends ye{constructor(e){super(),we(this,e,null,J1,ke,{})}}function X1(t){let e,l;return{c(){e=Oe("svg"),l=Oe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M9 8.25H7.5a2.25 2.25 0 00-2.25 2.25v9a2.25 2.25 0 002.25 2.25h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25H15M9 12l3 3m0 0l3-3m-3 3V2.25"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:se,i:se,o:se,d(n){n&&w(e)}}}class nc extends ye{constructor(e){super(),we(this,e,null,X1,ke,{})}}function x1(t){let e,l,n=t[1].version+"",i;return{c(){e=C("AMS reader "),l=m("span"),i=C(n)},m(o,r){y(o,e,r),y(o,l,r),s(l,i)},p(o,r){r&2&&n!==(n=o[1].version+"")&&B(i,n)},d(o){o&&w(e),o&&w(l)}}}function Ir(t){let e,l=(t[0].t>-50?t[0].t.toFixed(1):"-")+"",n,i;return{c(){e=m("div"),n=C(l),i=C("\xB0C"),u(e,"class","flex-none my-auto")},m(o,r){y(o,e,r),s(e,n),s(e,i)},p(o,r){r&1&&l!==(l=(o[0].t>-50?o[0].t.toFixed(1):"-")+"")&&B(n,l)},d(o){o&&w(e)}}}function Dr(t){let e,l="HAN: "+Sr(t[0].he),n;return{c(){e=m("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="HAN: "+Sr(i[0].he))&&B(n,l)},d(i){i&&w(e)}}}function Er(t){let e,l="MQTT: "+Tr(t[0].me),n;return{c(){e=m("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="MQTT: "+Tr(i[0].me))&&B(n,l)},d(i){i&&w(e)}}}function Fr(t){let e,l="PriceAPI: "+Pr(t[0].ee),n;return{c(){e=m("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="PriceAPI: "+Pr(i[0].ee))&&B(n,l)},d(i){i&&w(e)}}}function Rr(t){let e,l,n,i,o,r;return l=new kl({props:{to:"/configuration",$$slots:{default:[em]},$$scope:{ctx:t}}}),o=new kl({props:{to:"/status",$$slots:{default:[tm]},$$scope:{ctx:t}}}),{c(){e=m("div"),Z(l.$$.fragment),n=v(),i=m("div"),Z(o.$$.fragment),u(e,"class","flex-none px-1 mt-1"),u(e,"title","Configuration"),u(i,"class","flex-none px-1 mt-1"),u(i,"title","Device information")},m(a,f){y(a,e,f),V(l,e,null),y(a,n,f),y(a,i,f),V(o,i,null),r=!0},i(a){r||(P(l.$$.fragment,a),P(o.$$.fragment,a),r=!0)},o(a){I(l.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&w(e),K(l),a&&w(n),a&&w(i),K(o)}}}function em(t){let e,l;return e=new K1({}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function tm(t){let e,l;return e=new Z1({}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Lr(t){let e,l,n,i,o;const r=[nm,lm],a=[];function f(c,p){return c[1].security==0||c[0].a?0:1}return l=f(t),n=a[l]=r[l](t),{c(){e=m("div"),n.c(),u(e,"class","flex-none mr-3 text-yellow-500"),u(e,"title",i="New version: "+t[2].tag_name)},m(c,p){y(c,e,p),a[l].m(e,null),o=!0},p(c,p){let _=l;l=f(c),l===_?a[l].p(c,p):(Me(),I(a[_],1,1,()=>{a[_]=null}),Ae(),n=a[l],n?n.p(c,p):(n=a[l]=r[l](c),n.c()),P(n,1),n.m(e,null)),(!o||p&4&&i!==(i="New version: "+c[2].tag_name))&&u(e,"title",i)},i(c){o||(P(n),o=!0)},o(c){I(n),o=!1},d(c){c&&w(e),a[l].d()}}}function lm(t){let e,l,n=t[2].tag_name+"",i;return{c(){e=m("span"),l=C("New version: "),i=C(n)},m(o,r){y(o,e,r),s(e,l),s(e,i)},p(o,r){r&4&&n!==(n=o[2].tag_name+"")&&B(i,n)},i:se,o:se,d(o){o&&w(e)}}}function nm(t){let e,l,n,i=t[2].tag_name+"",o,r,a,f,c,p;return a=new nc({}),{c(){e=m("button"),l=m("span"),n=C("New version: "),o=C(i),r=v(),Z(a.$$.fragment),u(l,"class","mt-1"),u(e,"class","flex")},m(_,d){y(_,e,d),s(e,l),s(l,n),s(l,o),s(e,r),V(a,e,null),f=!0,c||(p=Y(e,"click",t[3]),c=!0)},p(_,d){(!f||d&4)&&i!==(i=_[2].tag_name+"")&&B(o,i)},i(_){f||(P(a.$$.fragment,_),f=!0)},o(_){I(a.$$.fragment,_),f=!1},d(_){_&&w(e),K(a),c=!1,p()}}}function im(t){let e,l,n,i,o,r,a,f,c,p,_,d,g=(t[0].m?(t[0].m/1e3).toFixed(1):"-")+"",h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q,O,U,X,z,ne,te,Te,pe,Ie,De,Re,Ee;i=new kl({props:{to:"/",$$slots:{default:[x1]},$$scope:{ctx:t}}}),f=new U1({props:{epoch:t[0].u}});let $e=t[0].t>-50&&Ir(t);S=new Yt({props:{title:"ESP",text:t[1].booting?"Booting":t[0].v>2?t[0].v.toFixed(2)+"V":"ESP",color:bl(t[1].booting?2:t[0].em)}}),D=new Yt({props:{title:"HAN",text:"HAN",color:bl(t[1].booting?9:t[0].hm)}}),N=new Yt({props:{title:"WiFi",text:t[0].r?t[0].r.toFixed(0)+"dBm":"WiFi",color:bl(t[1].booting?9:t[0].wm)}}),R=new Yt({props:{title:"MQTT",text:"MQTT",color:bl(t[1].booting?9:t[0].mm)}});let ge=(t[0].he<0||t[0].he>0)&&Dr(t),_e=t[0].me<0&&Er(t),ae=(t[0].ee>0||t[0].ee<0)&&Fr(t);ne=new Y1({props:{timestamp:t[0].c?new Date(t[0].c*1e3):new Date(0)}});let fe=t[1].vndcfg&&t[1].usrcfg&&Rr(t);De=new Rt({});let oe=t[1].fwconsent===1&&t[2]&&Lr(t);return{c(){e=m("nav"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=v(),r=m("div"),a=m("div"),Z(f.$$.fragment),c=v(),$e&&$e.c(),p=v(),_=m("div"),d=C("Free mem: "),h=C(g),b=C("kb"),$=v(),k=m("div"),Z(S.$$.fragment),M=v(),Z(D.$$.fragment),T=v(),Z(N.$$.fragment),F=v(),Z(R.$$.fragment),H=v(),ge&&ge.c(),j=v(),_e&&_e.c(),E=v(),ae&&ae.c(),L=v(),W=m("div"),G=m("div"),q=m("a"),O=m("img"),X=v(),z=m("div"),Z(ne.$$.fragment),te=v(),fe&&fe.c(),Te=v(),pe=m("div"),Ie=m("a"),Z(De.$$.fragment),Re=v(),oe&&oe.c(),u(n,"class","flex text-lg text-gray-100 p-2"),u(a,"class","flex-none my-auto"),u(_,"class","flex-none my-auto"),u(r,"class","flex-none my-auto p-2 flex space-x-4"),u(k,"class","flex-auto flex-wrap my-auto justify-center p-2"),u(O,"class","gh-logo"),fc(O.src,U=A1)||u(O,"src",U),u(O,"alt","GitHub repo"),u(q,"class","float-right"),u(q,"href","https://github.com/UtilitechAS/amsreader-firmware"),u(q,"target","_blank"),u(q,"rel","noreferrer"),u(q,"aria-label","GitHub"),u(G,"class","flex-none"),u(z,"class","flex-none my-auto px-2"),u(Ie,"href",Lt("")),u(Ie,"target","_blank"),u(Ie,"rel","noreferrer"),u(pe,"class","flex-none px-1 mt-1"),u(pe,"title","Documentation"),u(W,"class","flex-auto p-2 flex flex-row-reverse flex-wrap"),u(l,"class","flex flex-wrap space-x-4 text-sm text-gray-300"),u(e,"class","bg-violet-600 p-1 rounded-md mx-2")},m(J,ie){y(J,e,ie),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(r,a),V(f,a,null),s(r,c),$e&&$e.m(r,null),s(r,p),s(r,_),s(_,d),s(_,h),s(_,b),s(l,$),s(l,k),V(S,k,null),s(k,M),V(D,k,null),s(k,T),V(N,k,null),s(k,F),V(R,k,null),s(l,H),ge&&ge.m(l,null),s(l,j),_e&&_e.m(l,null),s(l,E),ae&&ae.m(l,null),s(l,L),s(l,W),s(W,G),s(G,q),s(q,O),s(W,X),s(W,z),V(ne,z,null),s(W,te),fe&&fe.m(W,null),s(W,Te),s(W,pe),s(pe,Ie),V(De,Ie,null),s(W,Re),oe&&oe.m(W,null),Ee=!0},p(J,[ie]){const Ce={};ie&18&&(Ce.$$scope={dirty:ie,ctx:J}),i.$set(Ce);const x={};ie&1&&(x.epoch=J[0].u),f.$set(x),J[0].t>-50?$e?$e.p(J,ie):($e=Ir(J),$e.c(),$e.m(r,p)):$e&&($e.d(1),$e=null),(!Ee||ie&1)&&g!==(g=(J[0].m?(J[0].m/1e3).toFixed(1):"-")+"")&&B(h,g);const ue={};ie&3&&(ue.text=J[1].booting?"Booting":J[0].v>2?J[0].v.toFixed(2)+"V":"ESP"),ie&3&&(ue.color=bl(J[1].booting?2:J[0].em)),S.$set(ue);const He={};ie&3&&(He.color=bl(J[1].booting?9:J[0].hm)),D.$set(He);const Se={};ie&1&&(Se.text=J[0].r?J[0].r.toFixed(0)+"dBm":"WiFi"),ie&3&&(Se.color=bl(J[1].booting?9:J[0].wm)),N.$set(Se);const de={};ie&3&&(de.color=bl(J[1].booting?9:J[0].mm)),R.$set(de),J[0].he<0||J[0].he>0?ge?ge.p(J,ie):(ge=Dr(J),ge.c(),ge.m(l,j)):ge&&(ge.d(1),ge=null),J[0].me<0?_e?_e.p(J,ie):(_e=Er(J),_e.c(),_e.m(l,E)):_e&&(_e.d(1),_e=null),J[0].ee>0||J[0].ee<0?ae?ae.p(J,ie):(ae=Fr(J),ae.c(),ae.m(l,L)):ae&&(ae.d(1),ae=null);const ve={};ie&1&&(ve.timestamp=J[0].c?new Date(J[0].c*1e3):new Date(0)),ne.$set(ve),J[1].vndcfg&&J[1].usrcfg?fe?ie&2&&P(fe,1):(fe=Rr(J),fe.c(),P(fe,1),fe.m(W,Te)):fe&&(Me(),I(fe,1,1,()=>{fe=null}),Ae()),J[1].fwconsent===1&&J[2]?oe?(oe.p(J,ie),ie&6&&P(oe,1)):(oe=Lr(J),oe.c(),P(oe,1),oe.m(W,null)):oe&&(Me(),I(oe,1,1,()=>{oe=null}),Ae())},i(J){Ee||(P(i.$$.fragment,J),P(f.$$.fragment,J),P(S.$$.fragment,J),P(D.$$.fragment,J),P(N.$$.fragment,J),P(R.$$.fragment,J),P(ne.$$.fragment,J),P(fe),P(De.$$.fragment,J),P(oe),Ee=!0)},o(J){I(i.$$.fragment,J),I(f.$$.fragment,J),I(S.$$.fragment,J),I(D.$$.fragment,J),I(N.$$.fragment,J),I(R.$$.fragment,J),I(ne.$$.fragment,J),I(fe),I(De.$$.fragment,J),I(oe),Ee=!1},d(J){J&&w(e),K(i),K(f),$e&&$e.d(),K(S),K(D),K(N),K(R),ge&&ge.d(),_e&&_e.d(),ae&&ae.d(),K(ne),fe&&fe.d(),K(De),oe&&oe.d()}}}function sm(t,e,l){let{data:n={}}=e,i={},o={};function r(){confirm("Do you want to upgrade this device to "+o.tag_name+"?")&&(!Hn(i.board)||confirm(as(me(i.chip,i.board))))&&(yt.update(a=>(a.upgrading=!0,a)),tc())}return yt.subscribe(a=>{l(1,i=a),a.fwconsent===1&&M1()}),io.subscribe(a=>{l(2,o=lc(i.version,a))}),t.$$set=a=>{"data"in a&&l(0,n=a.data)},[n,i,o,r]}class om extends ye{constructor(e){super(),we(this,e,sm,im,ke,{data:0})}}function um(t){let e,l,n,i;return{c(){e=Oe("svg"),l=Oe("path"),n=Oe("path"),u(l,"d",Es(150,150,115,210,510)),u(l,"stroke","#eee"),u(l,"fill","none"),u(l,"stroke-width","55"),u(n,"d",i=Es(150,150,115,210,210+300*t[0]/100)),u(n,"stroke",t[1]),u(n,"fill","none"),u(n,"stroke-width","55"),u(e,"viewBox","0 0 300 300"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"height","100%")},m(o,r){y(o,e,r),s(e,l),s(e,n)},p(o,[r]){r&1&&i!==(i=Es(150,150,115,210,210+300*o[0]/100))&&u(n,"d",i),r&2&&u(n,"stroke",o[1])},i:se,o:se,d(o){o&&w(e)}}}function Or(t,e,l,n){var i=(n-90)*Math.PI/180;return{x:t+l*Math.cos(i),y:e+l*Math.sin(i)}}function Es(t,e,l,n,i){var o=Or(t,e,l,i),r=Or(t,e,l,n),a=i-n<=180?"0":"1",f=["M",o.x,o.y,"A",l,l,0,a,0,r.x,r.y].join(" ");return f}function rm(t,e,l){let{pct:n=0}=e,{color:i="red"}=e;return t.$$set=o=>{"pct"in o&&l(0,n=o.pct),"color"in o&&l(1,i=o.color)},[n,i]}class am extends ye{constructor(e){super(),we(this,e,rm,um,ke,{pct:0,color:1})}}function qr(t){let e,l,n,i,o,r,a,f;return{c(){e=m("br"),l=v(),n=m("span"),i=C(t[3]),o=v(),r=m("span"),a=C(t[4]),f=C("/kWh"),u(n,"class","pl-sub"),u(r,"class","pl-snt")},m(c,p){y(c,e,p),y(c,l,p),y(c,n,p),s(n,i),y(c,o,p),y(c,r,p),s(r,a),s(r,f)},p(c,p){p&8&&B(i,c[3]),p&16&&B(a,c[4])},d(c){c&&w(e),c&&w(l),c&&w(n),c&&w(o),c&&w(r)}}}function fm(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$;l=new am({props:{pct:t[6],color:t[5](t[6])}});let k=t[3]&&qr(t);return{c(){e=m("div"),Z(l.$$.fragment),n=v(),i=m("span"),o=m("span"),r=C(t[2]),a=v(),f=m("br"),c=v(),p=m("span"),_=C(t[0]),d=v(),g=m("span"),h=C(t[1]),b=v(),k&&k.c(),u(o,"class","pl-lab"),u(p,"class","pl-val"),u(g,"class","pl-unt"),u(i,"class","pl-ov"),u(e,"class","pl-root")},m(S,M){y(S,e,M),V(l,e,null),s(e,n),s(e,i),s(i,o),s(o,r),s(i,a),s(i,f),s(i,c),s(i,p),s(p,_),s(i,d),s(i,g),s(g,h),s(i,b),k&&k.m(i,null),$=!0},p(S,[M]){const D={};M&64&&(D.pct=S[6]),M&96&&(D.color=S[5](S[6])),l.$set(D),(!$||M&4)&&B(r,S[2]),(!$||M&1)&&B(_,S[0]),(!$||M&2)&&B(h,S[1]),S[3]?k?k.p(S,M):(k=qr(S),k.c(),k.m(i,null)):k&&(k.d(1),k=null)},i(S){$||(P(l.$$.fragment,S),$=!0)},o(S){I(l.$$.fragment,S),$=!1},d(S){S&&w(e),K(l),k&&k.d()}}}function cm(t,e,l){let{val:n}=e,{max:i}=e,{unit:o}=e,{label:r}=e,{sub:a=""}=e,{subunit:f=""}=e,{colorFn:c}=e,p=0;return t.$$set=_=>{"val"in _&&l(0,n=_.val),"max"in _&&l(7,i=_.max),"unit"in _&&l(1,o=_.unit),"label"in _&&l(2,r=_.label),"sub"in _&&l(3,a=_.sub),"subunit"in _&&l(4,f=_.subunit),"colorFn"in _&&l(5,c=_.colorFn)},t.$$.update=()=>{t.$$.dirty&129&&l(6,p=Math.min(n,i)/i*100)},[n,o,r,a,f,c,p,i]}class ic extends ye{constructor(e){super(),we(this,e,cm,fm,ke,{val:0,max:7,unit:1,label:2,sub:3,subunit:4,colorFn:5})}}function Ur(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function Hr(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function jr(t,e,l){const n=t.slice();return n[13]=e[l],n}function Wr(t){let e,l=t[0].title+"",n;return{c(){e=m("strong"),n=C(l),u(e,"class","text-sm")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=i[0].title+"")&&B(n,l)},d(i){i&&w(e)}}}function Gr(t){let e,l,n,i=t[13].label+"",o,r,a,f;return{c(){e=Oe("g"),l=Oe("line"),n=Oe("text"),o=C(i),u(l,"x2","100%"),u(n,"y","-4"),u(n,"x",r=t[13].align=="right"?"85%":""),u(e,"class",a="tick tick-"+t[13].value+" tick-"+t[13].color),u(e,"transform",f="translate(0, "+t[6](t[13].value)+")")},m(c,p){y(c,e,p),s(e,l),s(e,n),s(n,o)},p(c,p){p&1&&i!==(i=c[13].label+"")&&B(o,i),p&1&&r!==(r=c[13].align=="right"?"85%":"")&&u(n,"x",r),p&1&&a!==(a="tick tick-"+c[13].value+" tick-"+c[13].color)&&u(e,"class",a),p&65&&f!==(f="translate(0, "+c[6](c[13].value)+")")&&u(e,"transform",f)},d(c){c&&w(e)}}}function Br(t){let e,l,n=t[9].label+"",i,o,r;return{c(){e=Oe("g"),l=Oe("text"),i=C(n),u(l,"x",o=t[3]/2),u(l,"y","-4"),u(e,"class","tick"),u(e,"transform",r="translate("+t[5](t[11])+","+t[4]+")")},m(a,f){y(a,e,f),s(e,l),s(l,i)},p(a,f){f&1&&n!==(n=a[9].label+"")&&B(i,n),f&8&&o!==(o=a[3]/2)&&u(l,"x",o),f&48&&r!==(r="translate("+a[5](a[11])+","+a[4]+")")&&u(e,"transform",r)},d(a){a&&w(e)}}}function zr(t){let e,l,n,i,o,r,a,f=t[3]>15&&Yr(t);return{c(){e=Oe("rect"),f&&f.c(),a=We(),u(e,"x",l=t[5](t[11])+2),u(e,"y",n=t[6](t[9].value)),u(e,"width",i=t[3]-4),u(e,"height",o=t[6](t[0].y.min)-t[6](Math.min(t[0].y.min,0)+t[9].value)),u(e,"fill",r=t[9].color)},m(c,p){y(c,e,p),f&&f.m(c,p),y(c,a,p)},p(c,p){p&32&&l!==(l=c[5](c[11])+2)&&u(e,"x",l),p&65&&n!==(n=c[6](c[9].value))&&u(e,"y",n),p&8&&i!==(i=c[3]-4)&&u(e,"width",i),p&65&&o!==(o=c[6](c[0].y.min)-c[6](Math.min(c[0].y.min,0)+c[9].value))&&u(e,"height",o),p&1&&r!==(r=c[9].color)&&u(e,"fill",r),c[3]>15?f?f.p(c,p):(f=Yr(c),f.c(),f.m(a.parentNode,a)):f&&(f.d(1),f=null)},d(c){c&&w(e),f&&f.d(c),c&&w(a)}}}function Yr(t){let e,l=t[9].label+"",n,i,o,r,a,f,c;return{c(){e=Oe("text"),n=C(l),u(e,"y",i=t[6](t[9].value)>t[6](0)-t[7]?t[6](t[9].value)-t[7]:t[6](t[9].value)+10),u(e,"x",o=t[5](t[11])+t[3]/2),u(e,"width",r=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor",a=t[3]<25?"left":"middle"),u(e,"fill",f=t[6](t[9].value)>t[6](0)-t[7]?t[9].color:"white"),u(e,"transform",c="rotate("+(t[3]<25?90:0)+", "+(t[5](t[11])+t[3]/2)+", "+(t[6](t[9].value)>t[6](0)-t[7]?t[6](t[9].value)-t[7]:t[6](t[9].value)+9)+")")},m(p,_){y(p,e,_),s(e,n)},p(p,_){_&1&&l!==(l=p[9].label+"")&&B(n,l),_&193&&i!==(i=p[6](p[9].value)>p[6](0)-p[7]?p[6](p[9].value)-p[7]:p[6](p[9].value)+10)&&u(e,"y",i),_&40&&o!==(o=p[5](p[11])+p[3]/2)&&u(e,"x",o),_&8&&r!==(r=p[3]-4)&&u(e,"width",r),_&8&&a!==(a=p[3]<25?"left":"middle")&&u(e,"text-anchor",a),_&193&&f!==(f=p[6](p[9].value)>p[6](0)-p[7]?p[9].color:"white")&&u(e,"fill",f),_&233&&c!==(c="rotate("+(p[3]<25?90:0)+", "+(p[5](p[11])+p[3]/2)+", "+(p[6](p[9].value)>p[6](0)-p[7]?p[6](p[9].value)-p[7]:p[6](p[9].value)+9)+")")&&u(e,"transform",c)},d(p){p&&w(e)}}}function Vr(t){let e,l,n,i,o,r,a,f=t[3]>15&&Kr(t);return{c(){e=Oe("rect"),f&&f.c(),a=We(),u(e,"x",l=t[5](t[11])+2),u(e,"y",n=t[6](0)),u(e,"width",i=t[3]-4),u(e,"height",o=t[6](t[0].y.min)-t[6](t[0].y.min+t[9].value2)),u(e,"fill",r=t[9].color)},m(c,p){y(c,e,p),f&&f.m(c,p),y(c,a,p)},p(c,p){p&32&&l!==(l=c[5](c[11])+2)&&u(e,"x",l),p&64&&n!==(n=c[6](0))&&u(e,"y",n),p&8&&i!==(i=c[3]-4)&&u(e,"width",i),p&65&&o!==(o=c[6](c[0].y.min)-c[6](c[0].y.min+c[9].value2))&&u(e,"height",o),p&1&&r!==(r=c[9].color)&&u(e,"fill",r),c[3]>15?f?f.p(c,p):(f=Kr(c),f.c(),f.m(a.parentNode,a)):f&&(f.d(1),f=null)},d(c){c&&w(e),f&&f.d(c),c&&w(a)}}}function Kr(t){let e,l=t[9].label2+"",n,i,o,r,a,f,c;return{c(){e=Oe("text"),n=C(l),u(e,"y",i=t[6](-t[9].value2)t[6](0)-12?t[6](t[9].value2-t[0].y.min)-12:t[6](t[9].value2-t[0].y.min)+9)+")")},m(p,_){y(p,e,_),s(e,n)},p(p,_){_&1&&l!==(l=p[9].label2+"")&&B(n,l),_&65&&i!==(i=p[6](-p[9].value2)p[6](0)-12?p[6](p[9].value2-p[0].y.min)-12:p[6](p[9].value2-p[0].y.min)+9)+")")&&u(e,"transform",c)},d(p){p&&w(e)}}}function Qr(t){let e,l,n=t[9].value!==void 0&&zr(t),i=t[9].value2>1e-4&&Vr(t);return{c(){n&&n.c(),e=We(),i&&i.c(),l=We()},m(o,r){n&&n.m(o,r),y(o,e,r),i&&i.m(o,r),y(o,l,r)},p(o,r){o[9].value!==void 0?n?n.p(o,r):(n=zr(o),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null),o[9].value2>1e-4?i?i.p(o,r):(i=Vr(o),i.c(),i.m(l.parentNode,l)):i&&(i.d(1),i=null)},d(o){n&&n.d(o),o&&w(e),i&&i.d(o),o&&w(l)}}}function mm(t){let e,l,n,i,o,r,a,f=t[0].title&&Wr(t),c=t[0].y.ticks,p=[];for(let b=0;bt[8].call(e))},m(b,$){y(b,e,$),f&&f.m(e,null),s(e,l),s(e,n),s(n,i);for(let k=0;k{"config"in d&&l(0,n=d.config)},t.$$.update=()=>{if(t.$$.dirty&31){l(4,c=o-(n.title?20:0));let d=i-(n.padding.left+n.padding.right);l(3,r=d/n.points.length),l(7,p=r<25?28:17);let g=(c-n.padding.top-n.padding.bottom)/(n.y.max-n.y.min);l(5,a=function(h){return h*r+n.padding.left}),l(6,f=function(h){let b=0;return h>n.y.max?b=n.padding.bottom:hc||b<0?0:b})}},[n,i,o,r,c,a,f,p,_]}class zl extends ye{constructor(e){super(),we(this,e,pm,mm,ke,{config:0})}}function _m(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function dm(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{ds:r}=e,a={};function f(c){return{label:be(c)+"V",value:isNaN(c)?0:c,color:$1(c||0)}}return t.$$set=c=>{"u1"in c&&l(1,n=c.u1),"u2"in c&&l(2,i=c.u2),"u3"in c&&l(3,o=c.u3),"ds"in c&&l(4,r=c.ds)},t.$$.update=()=>{if(t.$$.dirty&30){let c=[],p=[];n>0&&(c.push({label:r===1?"L1-L2":"L1"}),p.push(f(n))),i>0&&(c.push({label:r===1?"L1-L3":"L2"}),p.push(f(i))),o>0&&(c.push({label:r===1?"L2-L3":"L3"}),p.push(f(o))),l(0,a={padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230v"},{value:253,label:"+10%"}]},x:{ticks:c},points:p})}},[a,n,i,o,r]}class vm extends ye{constructor(e){super(),we(this,e,dm,_m,ke,{u1:1,u2:2,u3:3,ds:4})}}function hm(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function gm(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{i1:r}=e,{i2:a}=e,{i3:f}=e,{max:c}=e,p={};function _(d){return{label:be(d)+"A",value:isNaN(d)?0:d,color:Vf(d?d/c*100:0)}}return t.$$set=d=>{"u1"in d&&l(1,n=d.u1),"u2"in d&&l(2,i=d.u2),"u3"in d&&l(3,o=d.u3),"i1"in d&&l(4,r=d.i1),"i2"in d&&l(5,a=d.i2),"i3"in d&&l(6,f=d.i3),"max"in d&&l(7,c=d.max)},t.$$.update=()=>{if(t.$$.dirty&254){let d=[],g=[];n>0&&(d.push({label:"L1"}),g.push(_(r))),i>0&&(d.push({label:"L2"}),g.push(_(a))),o>0&&(d.push({label:"L3"}),g.push(_(f))),l(0,p={padding:{top:20,right:15,bottom:20,left:35},y:{min:0,max:c,ticks:[{value:0,label:"0%"},{value:c/4,label:"25%"},{value:c/2,label:"50%"},{value:c/4*3,label:"75%"},{value:c,label:"100%"}]},x:{ticks:d},points:g})}},[p,n,i,o,r,a,f,c]}class bm extends ye{constructor(e){super(),we(this,e,gm,hm,ke,{u1:1,u2:2,u3:3,i1:4,i2:5,i3:6,max:7})}}function km(t){let e,l,n,i,o,r,a,f=(typeof t[0]<"u"?t[0].toFixed(0):"-")+"",c,p,_,d,g,h,b=(typeof t[1]<"u"?t[1].toFixed(0):"-")+"",$,k,S,M,D,T,N,F=(typeof t[2]<"u"?t[2].toFixed(1):"-")+"",R,H,j,E,L,W,G=(typeof t[3]<"u"?t[3].toFixed(1):"-")+"",q,O;return{c(){e=m("div"),l=m("strong"),l.textContent="Reactive",n=v(),i=m("div"),o=m("div"),o.textContent="Instant in",r=v(),a=m("div"),c=C(f),p=C(" VAr"),_=v(),d=m("div"),d.textContent="Instant out",g=v(),h=m("div"),$=C(b),k=C(" VAr"),S=v(),M=m("div"),D=m("div"),D.textContent="Total in",T=v(),N=m("div"),R=C(F),H=C(" kVArh"),j=v(),E=m("div"),E.textContent="Total out",L=v(),W=m("div"),q=C(G),O=C(" kVArh"),u(a,"class","text-right"),u(h,"class","text-right"),u(i,"class","grid grid-cols-2 mt-4"),u(N,"class","text-right"),u(W,"class","text-right"),u(M,"class","grid grid-cols-2 mt-4"),u(e,"class","mx-2 text-sm")},m(U,X){y(U,e,X),s(e,l),s(e,n),s(e,i),s(i,o),s(i,r),s(i,a),s(a,c),s(a,p),s(i,_),s(i,d),s(i,g),s(i,h),s(h,$),s(h,k),s(e,S),s(e,M),s(M,D),s(M,T),s(M,N),s(N,R),s(N,H),s(M,j),s(M,E),s(M,L),s(M,W),s(W,q),s(W,O)},p(U,[X]){X&1&&f!==(f=(typeof U[0]<"u"?U[0].toFixed(0):"-")+"")&&B(c,f),X&2&&b!==(b=(typeof U[1]<"u"?U[1].toFixed(0):"-")+"")&&B($,b),X&4&&F!==(F=(typeof U[2]<"u"?U[2].toFixed(1):"-")+"")&&B(R,F),X&8&&G!==(G=(typeof U[3]<"u"?U[3].toFixed(1):"-")+"")&&B(q,G)},i:se,o:se,d(U){U&&w(e)}}}function wm(t,e,l){let{importInstant:n}=e,{exportInstant:i}=e,{importTotal:o}=e,{exportTotal:r}=e;return t.$$set=a=>{"importInstant"in a&&l(0,n=a.importInstant),"exportInstant"in a&&l(1,i=a.exportInstant),"importTotal"in a&&l(2,o=a.importTotal),"exportTotal"in a&&l(3,r=a.exportTotal)},[n,i,o,r]}class ym extends ye{constructor(e){super(),we(this,e,wm,km,ke,{importInstant:0,exportInstant:1,importTotal:2,exportTotal:3})}}function Zr(t){let e;function l(o,r){return o[2]?Cm:$m}let n=l(t),i=n(t);return{c(){i.c(),e=We()},m(o,r){i.m(o,r),y(o,e,r)},p(o,r){n===(n=l(o))&&i?i.p(o,r):(i.d(1),i=n(o),i&&(i.c(),i.m(e.parentNode,e)))},d(o){i.d(o),o&&w(e)}}}function $m(t){let e,l,n,i,o,r,a=be(t[0].h.u,2)+"",f,c,p,_,d,g,h=be(t[0].d.u,1)+"",b,$,k,S,M,D,T=be(t[0].m.u)+"",N,F,R,H,j=t[1]&&Jr(t);return{c(){e=m("strong"),e.textContent="Consumption",l=v(),n=m("div"),i=m("div"),i.textContent="Hour",o=v(),r=m("div"),f=C(a),c=C(" kWh"),p=v(),_=m("div"),_.textContent="Day",d=v(),g=m("div"),b=C(h),$=C(" kWh"),k=v(),S=m("div"),S.textContent="Month",M=v(),D=m("div"),N=C(T),F=C(" kWh"),R=v(),j&&j.c(),H=We(),u(r,"class","text-right"),u(g,"class","text-right"),u(D,"class","text-right"),u(n,"class","grid grid-cols-2 mb-3")},m(E,L){y(E,e,L),y(E,l,L),y(E,n,L),s(n,i),s(n,o),s(n,r),s(r,f),s(r,c),s(n,p),s(n,_),s(n,d),s(n,g),s(g,b),s(g,$),s(n,k),s(n,S),s(n,M),s(n,D),s(D,N),s(D,F),y(E,R,L),j&&j.m(E,L),y(E,H,L)},p(E,L){L&1&&a!==(a=be(E[0].h.u,2)+"")&&B(f,a),L&1&&h!==(h=be(E[0].d.u,1)+"")&&B(b,h),L&1&&T!==(T=be(E[0].m.u)+"")&&B(N,T),E[1]?j?j.p(E,L):(j=Jr(E),j.c(),j.m(H.parentNode,H)):j&&(j.d(1),j=null)},d(E){E&&w(e),E&&w(l),E&&w(n),E&&w(R),j&&j.d(E),E&&w(H)}}}function Cm(t){let e,l,n,i,o,r,a=be(t[0].h.u,2)+"",f,c,p,_,d,g,h,b=be(t[0].d.u,1)+"",$,k,S,M,D,T,N,F=be(t[0].m.u)+"",R,H,j,E,L,W,G,q,O,U,X,z=be(t[0].h.p,2)+"",ne,te,Te,pe,Ie,De,Re,Ee=be(t[0].d.p,1)+"",$e,ge,_e,ae,fe,oe,J,ie=be(t[0].m.p)+"",Ce,x,ue,He,Se=t[1]&&Xr(t),de=t[1]&&xr(t),ve=t[1]&&ea(t),le=t[1]&&ta(t),he=t[1]&&la(t),qe=t[1]&&na(t);return{c(){e=m("strong"),e.textContent="Import",l=v(),n=m("div"),i=m("div"),i.textContent="Hour",o=v(),r=m("div"),f=C(a),c=C(" kWh"),p=v(),Se&&Se.c(),_=v(),d=m("div"),d.textContent="Day",g=v(),h=m("div"),$=C(b),k=C(" kWh"),S=v(),de&&de.c(),M=v(),D=m("div"),D.textContent="Month",T=v(),N=m("div"),R=C(F),H=C(" kWh"),j=v(),ve&&ve.c(),L=v(),W=m("strong"),W.textContent="Export",G=v(),q=m("div"),O=m("div"),O.textContent="Hour",U=v(),X=m("div"),ne=C(z),te=C(" kWh"),Te=v(),le&&le.c(),pe=v(),Ie=m("div"),Ie.textContent="Day",De=v(),Re=m("div"),$e=C(Ee),ge=C(" kWh"),_e=v(),he&&he.c(),ae=v(),fe=m("div"),fe.textContent="Month",oe=v(),J=m("div"),Ce=C(ie),x=C(" kWh"),ue=v(),qe&&qe.c(),u(r,"class","text-right"),u(h,"class","text-right"),u(N,"class","text-right"),u(n,"class",E="grid grid-cols-"+t[3]+" mb-3"),u(X,"class","text-right"),u(Re,"class","text-right"),u(J,"class","text-right"),u(q,"class",He="grid grid-cols-"+t[3])},m(re,Pe){y(re,e,Pe),y(re,l,Pe),y(re,n,Pe),s(n,i),s(n,o),s(n,r),s(r,f),s(r,c),s(n,p),Se&&Se.m(n,null),s(n,_),s(n,d),s(n,g),s(n,h),s(h,$),s(h,k),s(n,S),de&&de.m(n,null),s(n,M),s(n,D),s(n,T),s(n,N),s(N,R),s(N,H),s(n,j),ve&&ve.m(n,null),y(re,L,Pe),y(re,W,Pe),y(re,G,Pe),y(re,q,Pe),s(q,O),s(q,U),s(q,X),s(X,ne),s(X,te),s(q,Te),le&&le.m(q,null),s(q,pe),s(q,Ie),s(q,De),s(q,Re),s(Re,$e),s(Re,ge),s(q,_e),he&&he.m(q,null),s(q,ae),s(q,fe),s(q,oe),s(q,J),s(J,Ce),s(J,x),s(q,ue),qe&&qe.m(q,null)},p(re,Pe){Pe&1&&a!==(a=be(re[0].h.u,2)+"")&&B(f,a),re[1]?Se?Se.p(re,Pe):(Se=Xr(re),Se.c(),Se.m(n,_)):Se&&(Se.d(1),Se=null),Pe&1&&b!==(b=be(re[0].d.u,1)+"")&&B($,b),re[1]?de?de.p(re,Pe):(de=xr(re),de.c(),de.m(n,M)):de&&(de.d(1),de=null),Pe&1&&F!==(F=be(re[0].m.u)+"")&&B(R,F),re[1]?ve?ve.p(re,Pe):(ve=ea(re),ve.c(),ve.m(n,null)):ve&&(ve.d(1),ve=null),Pe&8&&E!==(E="grid grid-cols-"+re[3]+" mb-3")&&u(n,"class",E),Pe&1&&z!==(z=be(re[0].h.p,2)+"")&&B(ne,z),re[1]?le?le.p(re,Pe):(le=ta(re),le.c(),le.m(q,pe)):le&&(le.d(1),le=null),Pe&1&&Ee!==(Ee=be(re[0].d.p,1)+"")&&B($e,Ee),re[1]?he?he.p(re,Pe):(he=la(re),he.c(),he.m(q,ae)):he&&(he.d(1),he=null),Pe&1&&ie!==(ie=be(re[0].m.p)+"")&&B(Ce,ie),re[1]?qe?qe.p(re,Pe):(qe=na(re),qe.c(),qe.m(q,null)):qe&&(qe.d(1),qe=null),Pe&8&&He!==(He="grid grid-cols-"+re[3])&&u(q,"class",He)},d(re){re&&w(e),re&&w(l),re&&w(n),Se&&Se.d(),de&&de.d(),ve&&ve.d(),re&&w(L),re&&w(W),re&&w(G),re&&w(q),le&&le.d(),he&&he.d(),qe&&qe.d()}}}function Jr(t){let e,l,n,i,o,r,a=be(t[0].h.c,2)+"",f,c,p,_,d,g,h,b=be(t[0].d.c,1)+"",$,k,S,M,D,T,N,F=be(t[0].m.c)+"",R,H,j;return{c(){e=m("strong"),e.textContent="Cost",l=v(),n=m("div"),i=m("div"),i.textContent="Hour",o=v(),r=m("div"),f=C(a),c=v(),p=C(t[1]),_=v(),d=m("div"),d.textContent="Day",g=v(),h=m("div"),$=C(b),k=v(),S=C(t[1]),M=v(),D=m("div"),D.textContent="Month",T=v(),N=m("div"),R=C(F),H=v(),j=C(t[1]),u(r,"class","text-right"),u(h,"class","text-right"),u(N,"class","text-right"),u(n,"class","grid grid-cols-2")},m(E,L){y(E,e,L),y(E,l,L),y(E,n,L),s(n,i),s(n,o),s(n,r),s(r,f),s(r,c),s(r,p),s(n,_),s(n,d),s(n,g),s(n,h),s(h,$),s(h,k),s(h,S),s(n,M),s(n,D),s(n,T),s(n,N),s(N,R),s(N,H),s(N,j)},p(E,L){L&1&&a!==(a=be(E[0].h.c,2)+"")&&B(f,a),L&2&&B(p,E[1]),L&1&&b!==(b=be(E[0].d.c,1)+"")&&B($,b),L&2&&B(S,E[1]),L&1&&F!==(F=be(E[0].m.c)+"")&&B(R,F),L&2&&B(j,E[1])},d(E){E&&w(e),E&&w(l),E&&w(n)}}}function Xr(t){let e,l=be(t[0].h.c,2)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].h.c,2)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function xr(t){let e,l=be(t[0].d.c,1)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].d.c,1)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function ea(t){let e,l=be(t[0].m.c)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].m.c)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function ta(t){let e,l=be(t[0].h.i,2)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].h.i,2)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function la(t){let e,l=be(t[0].d.i,1)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].d.i,1)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function na(t){let e,l=be(t[0].m.i)+"",n,i,o;return{c(){e=m("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].m.i)+"")&&B(n,l),a&2&&B(o,r[1])},d(r){r&&w(e)}}}function Sm(t){let e,l,n,i,o,r,a=t[0]&&Zr(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Real time calculation",n=v(),i=m("br"),o=m("br"),r=v(),a&&a.c(),u(e,"class","mx-2 text-sm")},m(f,c){y(f,e,c),s(e,l),s(e,n),s(e,i),s(e,o),s(e,r),a&&a.m(e,null)},p(f,[c]){f[0]?a?a.p(f,c):(a=Zr(f),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},i:se,o:se,d(f){f&&w(e),a&&a.d()}}}function Tm(t,e,l){let{data:n}=e,{currency:i}=e,{hasExport:o}=e,r=3;return t.$$set=a=>{"data"in a&&l(0,n=a.data),"currency"in a&&l(1,i=a.currency),"hasExport"in a&&l(2,o=a.hasExport)},t.$$.update=()=>{t.$$.dirty&2&&l(3,r=i?3:2)},[n,i,o,r]}class Pm extends ye{constructor(e){super(),we(this,e,Tm,Sm,ke,{data:0,currency:1,hasExport:2})}}function Mm(t){let e,l,n,i;return n=new zl({props:{config:t[0]}}),{c(){e=m("a"),e.textContent="Provided by ENTSO-E",l=v(),Z(n.$$.fragment),u(e,"href","https://transparency.entsoe.eu/"),u(e,"target","_blank"),u(e,"class","text-xs float-right z-40")},m(o,r){y(o,e,r),y(o,l,r),V(n,o,r),i=!0},p(o,[r]){const a={};r&1&&(a.config=o[0]),n.$set(a)},i(o){i||(P(n.$$.fragment,o),i=!0)},o(o){I(n.$$.fragment,o),i=!1},d(o){o&&w(e),o&&w(l),K(n,o)}}}function Am(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=new Date().getUTCHours(),f=0,c=0,p=0,_=n[20]==null?2:1,d=[],g=[],h=[],b=new Date;for(f=a;f<24&&(b.setUTCHours(f),c=n[Ne(p++)],c!=null);f++)g.push({label:Ne(b.getHours())}),h.push({label:c>0?c.toFixed(_):"",value:c>0?Math.abs(c*100):0,label2:c<0?c.toFixed(_):"",value2:c<0?Math.abs(c*100):0,color:"#7c3aed"}),l(3,r=Math.min(r,c*100)),l(2,o=Math.max(o,c*100));for(f=0;f<24&&(b.setUTCHours(f),c=n[Ne(p++)],c!=null);f++)g.push({label:Ne(b.getHours())}),h.push({label:c>0?c.toFixed(_):"",value:c>0?Math.abs(c*100):0,label2:c<0?c.toFixed(_):"",value2:c<0?Math.abs(c*100):0,color:"#7c3aed"}),l(3,r=Math.min(r,c*100)),l(2,o=Math.max(o,c*100));if(l(2,o=Math.ceil(o)),l(3,r=Math.floor(r)),r<0){let k=r/4;for(f=1;f<5;f++){let S=k*f;d.push({value:S,label:(S/100).toFixed(2)})}}let $=o/4;for(f=0;f<5;f++){let k=$*f;d.push({value:k,label:(k/100).toFixed(2)})}l(0,i={title:"Future energy price ("+n.currency+")",padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:d},x:{ticks:g},points:h})}},[i,n,o,r]}class Nm extends ye{constructor(e){super(),we(this,e,Am,Mm,ke,{json:1})}}function Im(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Dm(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,f=[],c=[],p=[],_=new Date,d=-_.getTimezoneOffset()/60;for(a=_.getUTCHours();a<24;a++){let b=n["i"+Ne(a)],$=n["e"+Ne(a)];b===void 0&&(b=0),$===void 0&&($=0),c.push({label:Ne((a+d)%24)}),p.push({label:b.toFixed(1),value:b*10,label2:$.toFixed(1),value2:$*10,color:"#7c3aed"}),l(3,r=Math.max(r,$*10)),l(2,o=Math.max(o,b*10))}for(a=0;a<_.getUTCHours();a++){let b=n["i"+Ne(a)],$=n["e"+Ne(a)];b===void 0&&(b=0),$===void 0&&($=0),c.push({label:Ne((a+d)%24)}),p.push({label:b.toFixed(1),value:b*10,label2:$.toFixed(1),value2:$*10,color:"#7c3aed"}),l(3,r=Math.max(r,$*10)),l(2,o=Math.max(o,b*10))}let g=Math.ceil(Math.max(r,o));if(l(2,o=g),l(3,r=r==0?0:g*-1),r<0){let b=r/4;for(a=1;a<5;a++){let $=b*a;f.push({value:$,label:($/10).toFixed(1)})}}let h=o/4;for(a=0;a<5;a++){let b=h*a;f.push({value:b,label:(b/10).toFixed(1)})}l(0,i={title:"Energy use last 24 hours (kWh)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:f},x:{ticks:c},points:p})}},[i,n,o,r]}class Em extends ye{constructor(e){super(),we(this,e,Dm,Im,ke,{json:1})}}function Fm(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Rm(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,f=[],c=[],p=[],_=new Date,d=new Date;for(d.setDate(0),a=_.getDate();a<=d.getDate();a++){let b=n["i"+Ne(a)],$=n["e"+Ne(a)];b===void 0&&(b=0),$===void 0&&($=0),c.push({label:Ne(a)}),p.push({label:b.toFixed(0),value:b,label2:$.toFixed(0),value2:$,color:"#7c3aed"}),l(3,r=Math.max(r,$)),l(2,o=Math.max(o,b))}for(a=1;a<_.getDate();a++){let b=n["i"+Ne(a)],$=n["e"+Ne(a)];b===void 0&&(b=0),$===void 0&&($=0),c.push({label:Ne(a)}),p.push({label:b.toFixed(0),value:b,label2:$.toFixed(0),value2:$,color:"#7c3aed"}),l(3,r=Math.max(r,$)),l(2,o=Math.max(o,b))}let g=Math.ceil(Math.max(r,o)/10)*10;if(l(2,o=g),l(3,r=r==0?0:g*-1),r<0){let b=r/4;for(a=0;a<5;a++){let $=b*a;f.push({value:$,label:$.toFixed(0)})}}let h=o/4;for(a=0;a<5;a++){let b=h*a;f.push({value:b,label:b.toFixed(0)})}l(0,i={title:"Energy use last month (kWh)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:f},x:{ticks:c},points:p})}},[i,n,o,r]}class Lm extends ye{constructor(e){super(),we(this,e,Rm,Fm,ke,{json:1})}}function Om(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function qm(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,f=0,c=[],p=[],_=[];n.s&&n.s.forEach((h,b)=>{var $=h.n?h.n:h.a;f=h.v,f==-127&&(f=0),p.push({label:$.slice(-4)}),_.push({label:f.toFixed(1),value:f,color:"#7c3aed"}),l(3,r=Math.min(r,f)),l(2,o=Math.max(o,f))}),l(2,o=Math.ceil(o)),l(3,r=Math.floor(r));let d=o;r<0&&(d+=Math.abs(r));let g=d/4;for(a=0;a<5;a++)f=r+g*a,c.push({value:f,label:f.toFixed(1)});l(0,i={title:"Temperature sensors (\xB0C)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:c},x:{ticks:p},points:_})}},[i,n,o,r]}class Um extends ye{constructor(e){super(),we(this,e,qm,Om,ke,{json:1})}}function Hm(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}let jm=0;function Wm(t,e,l){let n={},i=0,o;return ec.subscribe(r=>{l(2,o=r)}),xf(),t.$$.update=()=>{if(t.$$.dirty&6){let r=0,a=[],f=[],c=[];if(a.push({value:0,label:0}),o&&o.p)for(r=0;r0?Ne(p.d)+"."+qs[new Date().getMonth()]:"-"}),l(1,i=Math.max(i,p.v))}if(o&&o.t){for(r=0;r=i)break;a.push({value:p,label:p})}a.push({label:o.m.toFixed(1),align:"right",color:"green",value:o.m})}o&&o.c&&(a.push({label:o.c.toFixed(0),color:"orange",value:o.c}),l(1,i=Math.max(i,o.c))),l(1,i=Math.ceil(i)),l(0,n={title:"Tariff peaks",padding:{top:20,right:35,bottom:20,left:35},y:{min:jm,max:i,ticks:a},x:{ticks:f},points:c})}},[n,i,o]}class Gm extends ye{constructor(e){super(),we(this,e,Wm,Hm,ke,{})}}function ia(t){let e,l,n,i,o,r,a=(t[0].mt?rs(t[0].mt):"-")+"",f,c,p,_=(t[0].ic?t[0].ic.toFixed(1):"-")+"",d,g,h;return i=new ic({props:{val:t[0].i?t[0].i:0,max:t[0].im?t[0].im:15e3,unit:"W",label:"Import",sub:t[0].p,subunit:t[2].currency,colorFn:Vf}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=v(),r=m("div"),f=C(a),c=v(),p=m("div"),d=C(_),g=C(" kWh"),u(n,"class","col-span-2"),u(p,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(b,$){y(b,e,$),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(r,f),s(l,c),s(l,p),s(p,d),s(p,g),h=!0},p(b,$){const k={};$&1&&(k.val=b[0].i?b[0].i:0),$&1&&(k.max=b[0].im?b[0].im:15e3),$&1&&(k.sub=b[0].p),$&4&&(k.subunit=b[2].currency),i.$set(k),(!h||$&1)&&a!==(a=(b[0].mt?rs(b[0].mt):"-")+"")&&B(f,a),(!h||$&1)&&_!==(_=(b[0].ic?b[0].ic.toFixed(1):"-")+"")&&B(d,_)},i(b){h||(P(i.$$.fragment,b),h=!0)},o(b){I(i.$$.fragment,b),h=!1},d(b){b&&w(e),K(i)}}}function sa(t){let e,l,n,i,o,r,a,f,c=(t[0].ec?t[0].ec.toFixed(1):"-")+"",p,_,d;return i=new ic({props:{val:t[0].e?t[0].e:0,max:t[0].om?t[0].om*1e3:1e4,unit:"W",label:"Export",colorFn:C1}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=v(),r=m("div"),a=v(),f=m("div"),p=C(c),_=C(" kWh"),u(n,"class","col-span-2"),u(f,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(g,h){y(g,e,h),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(l,a),s(l,f),s(f,p),s(f,_),d=!0},p(g,h){const b={};h&1&&(b.val=g[0].e?g[0].e:0),h&1&&(b.max=g[0].om?g[0].om*1e3:1e4),i.$set(b),(!d||h&1)&&c!==(c=(g[0].ec?g[0].ec.toFixed(1):"-")+"")&&B(p,c)},i(g){d||(P(i.$$.fragment,g),d=!0)},o(g){I(i.$$.fragment,g),d=!1},d(g){g&&w(e),K(i)}}}function oa(t){let e,l,n;return l=new vm({props:{u1:t[0].u1,u2:t[0].u2,u3:t[0].u3,ds:t[0].ds}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.u1=i[0].u1),o&1&&(r.u2=i[0].u2),o&1&&(r.u3=i[0].u3),o&1&&(r.ds=i[0].ds),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ua(t){let e,l,n;return l=new bm({props:{u1:t[0].u1,u2:t[0].u2,u3:t[0].u3,i1:t[0].i1,i2:t[0].i2,i3:t[0].i3,max:t[0].mf?t[0].mf:32}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.u1=i[0].u1),o&1&&(r.u2=i[0].u2),o&1&&(r.u3=i[0].u3),o&1&&(r.i1=i[0].i1),o&1&&(r.i2=i[0].i2),o&1&&(r.i3=i[0].i3),o&1&&(r.max=i[0].mf?i[0].mf:32),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ra(t){let e,l,n;return l=new ym({props:{importInstant:t[0].ri,exportInstant:t[0].re,importTotal:t[0].ric,exportTotal:t[0].rec}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.importInstant=i[0].ri),o&1&&(r.exportInstant=i[0].re),o&1&&(r.importTotal=i[0].ric),o&1&&(r.exportTotal=i[0].rec),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function aa(t){let e,l,n;return l=new Pm({props:{data:t[0].ea,currency:t[2].currency,hasExport:t[0].om>0||t[0].e>0}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.data=i[0].ea),o&4&&(r.currency=i[2].currency),o&1&&(r.hasExport=i[0].om>0||i[0].e>0),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function fa(t){let e,l,n;return l=new Gm({}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt h-64")},m(i,o){y(i,e,o),V(l,e,null),n=!0},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ca(t){let e,l,n;return l=new Nm({props:{json:t[2]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&4&&(r.json=i[2]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ma(t){let e,l,n;return l=new Em({props:{json:t[3]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&8&&(r.json=i[3]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function pa(t){let e,l,n;return l=new Lm({props:{json:t[4]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&16&&(r.json=i[4]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function _a(t){let e,l,n;return l=new Um({props:{json:t[5]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&32&&(r.json=i[5]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function Bm(t){let e,l=je(t[1].ui.i,t[0].i),n,i=je(t[1].ui.e,t[0].om||t[0].e>0),o,r=je(t[1].ui.v,t[0].u1>100||t[0].u2>100||t[0].u3>100),a,f=je(t[1].ui.a,t[0].i1>.01||t[0].i2>.01||t[0].i3>.01),c,p=je(t[1].ui.r,t[0].ri>0||t[0].re>0||t[0].ric>0||t[0].rec>0),_,d=je(t[1].ui.c,t[0].ea),g,h=je(t[1].ui.t,t[0].pr&&(t[0].pr.startsWith("10YNO")||t[0].pr=="10Y1001A1001A48H")),b,$=je(t[1].ui.p,typeof t[0].p=="number"&&!Number.isNaN(t[0].p)),k,S=je(t[1].ui.d,t[3]),M,D=je(t[1].ui.m,t[4]),T,N=je(t[1].ui.s,t[0].t&&t[0].t!=-127&&t[5].c>1),F,R=l&&ia(t),H=i&&sa(t),j=r&&oa(t),E=f&&ua(t),L=p&&ra(t),W=d&&aa(t),G=h&&fa(),q=$&&ca(t),O=S&&ma(t),U=D&&pa(t),X=N&&_a(t);return{c(){e=m("div"),R&&R.c(),n=v(),H&&H.c(),o=v(),j&&j.c(),a=v(),E&&E.c(),c=v(),L&&L.c(),_=v(),W&&W.c(),g=v(),G&&G.c(),b=v(),q&&q.c(),k=v(),O&&O.c(),M=v(),U&&U.c(),T=v(),X&&X.c(),u(e,"class","grid 2xl:grid-cols-6 xl:grid-cols-5 lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-2")},m(z,ne){y(z,e,ne),R&&R.m(e,null),s(e,n),H&&H.m(e,null),s(e,o),j&&j.m(e,null),s(e,a),E&&E.m(e,null),s(e,c),L&&L.m(e,null),s(e,_),W&&W.m(e,null),s(e,g),G&&G.m(e,null),s(e,b),q&&q.m(e,null),s(e,k),O&&O.m(e,null),s(e,M),U&&U.m(e,null),s(e,T),X&&X.m(e,null),F=!0},p(z,[ne]){ne&3&&(l=je(z[1].ui.i,z[0].i)),l?R?(R.p(z,ne),ne&3&&P(R,1)):(R=ia(z),R.c(),P(R,1),R.m(e,n)):R&&(Me(),I(R,1,1,()=>{R=null}),Ae()),ne&3&&(i=je(z[1].ui.e,z[0].om||z[0].e>0)),i?H?(H.p(z,ne),ne&3&&P(H,1)):(H=sa(z),H.c(),P(H,1),H.m(e,o)):H&&(Me(),I(H,1,1,()=>{H=null}),Ae()),ne&3&&(r=je(z[1].ui.v,z[0].u1>100||z[0].u2>100||z[0].u3>100)),r?j?(j.p(z,ne),ne&3&&P(j,1)):(j=oa(z),j.c(),P(j,1),j.m(e,a)):j&&(Me(),I(j,1,1,()=>{j=null}),Ae()),ne&3&&(f=je(z[1].ui.a,z[0].i1>.01||z[0].i2>.01||z[0].i3>.01)),f?E?(E.p(z,ne),ne&3&&P(E,1)):(E=ua(z),E.c(),P(E,1),E.m(e,c)):E&&(Me(),I(E,1,1,()=>{E=null}),Ae()),ne&3&&(p=je(z[1].ui.r,z[0].ri>0||z[0].re>0||z[0].ric>0||z[0].rec>0)),p?L?(L.p(z,ne),ne&3&&P(L,1)):(L=ra(z),L.c(),P(L,1),L.m(e,_)):L&&(Me(),I(L,1,1,()=>{L=null}),Ae()),ne&3&&(d=je(z[1].ui.c,z[0].ea)),d?W?(W.p(z,ne),ne&3&&P(W,1)):(W=aa(z),W.c(),P(W,1),W.m(e,g)):W&&(Me(),I(W,1,1,()=>{W=null}),Ae()),ne&3&&(h=je(z[1].ui.t,z[0].pr&&(z[0].pr.startsWith("10YNO")||z[0].pr=="10Y1001A1001A48H"))),h?G?ne&3&&P(G,1):(G=fa(),G.c(),P(G,1),G.m(e,b)):G&&(Me(),I(G,1,1,()=>{G=null}),Ae()),ne&3&&($=je(z[1].ui.p,typeof z[0].p=="number"&&!Number.isNaN(z[0].p))),$?q?(q.p(z,ne),ne&3&&P(q,1)):(q=ca(z),q.c(),P(q,1),q.m(e,k)):q&&(Me(),I(q,1,1,()=>{q=null}),Ae()),ne&10&&(S=je(z[1].ui.d,z[3])),S?O?(O.p(z,ne),ne&10&&P(O,1)):(O=ma(z),O.c(),P(O,1),O.m(e,M)):O&&(Me(),I(O,1,1,()=>{O=null}),Ae()),ne&18&&(D=je(z[1].ui.m,z[4])),D?U?(U.p(z,ne),ne&18&&P(U,1)):(U=pa(z),U.c(),P(U,1),U.m(e,T)):U&&(Me(),I(U,1,1,()=>{U=null}),Ae()),ne&35&&(N=je(z[1].ui.s,z[0].t&&z[0].t!=-127&&z[5].c>1)),N?X?(X.p(z,ne),ne&35&&P(X,1)):(X=_a(z),X.c(),P(X,1),X.m(e,null)):X&&(Me(),I(X,1,1,()=>{X=null}),Ae())},i(z){F||(P(R),P(H),P(j),P(E),P(L),P(W),P(G),P(q),P(O),P(U),P(X),F=!0)},o(z){I(R),I(H),I(j),I(E),I(L),I(W),I(G),I(q),I(O),I(U),I(X),F=!1},d(z){z&&w(e),R&&R.d(),H&&H.d(),j&&j.d(),E&&E.d(),L&&L.d(),W&&W.d(),G&&G.d(),q&&q.d(),O&&O.d(),U&&U.d(),X&&X.d()}}}function zm(t,e,l){let{data:n={}}=e,{sysinfo:i={}}=e,o={},r={},a={},f={};return Kf.subscribe(c=>{l(2,o=c)}),Qf.subscribe(c=>{l(3,r=c)}),Zf.subscribe(c=>{l(4,a=c)}),Xf.subscribe(c=>{l(5,f=c)}),t.$$set=c=>{"data"in c&&l(0,n=c.data),"sysinfo"in c&&l(1,i=c.sysinfo)},[n,i,o,r,a,f]}class Ym extends ye{constructor(e){super(),we(this,e,zm,Bm,ke,{data:0,sysinfo:1})}}let zs={};const sc=Ze(zs);async function Vm(){zs=await(await fetch("/configuration.json")).json(),sc.set(zs)}function da(t,e,l){const n=t.slice();return n[2]=e[l],n[4]=l,n}function va(t){let e;return{c(){e=m("option"),e.textContent="UART2",e.__value=113,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function ha(t){let e,l,n;return{c(){e=m("option"),e.textContent="UART1",l=v(),n=m("option"),n.textContent="UART2",e.__value=9,e.value=e.__value,n.__value=16,n.value=n.__value},m(i,o){y(i,e,o),y(i,l,o),y(i,n,o)},d(i){i&&w(e),i&&w(l),i&&w(n)}}}function ga(t){let e;return{c(){e=m("option"),e.textContent="UART1",e.__value=18,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function ba(t){let e,l,n;return{c(){e=m("option"),l=C("GPIO"),n=C(t[4]),e.__value=t[4],e.value=e.__value},m(i,o){y(i,e,o),s(e,l),s(e,n)},d(i){i&&w(e)}}}function ka(t){let e,l=t[4]>3&&!(t[0]=="esp32"&&(t[4]==9||t[4]==16))&&!(t[0]=="esp32s2"&&t[4]==18)&&!(t[0]=="esp8266"&&(t[4]==3||t[4]==113))&&ba(t);return{c(){l&&l.c(),e=We()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,i){n[4]>3&&!(n[0]=="esp32"&&(n[4]==9||n[4]==16))&&!(n[0]=="esp32s2"&&n[4]==18)&&!(n[0]=="esp8266"&&(n[4]==3||n[4]==113))?l||(l=ba(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&w(e)}}}function Km(t){let e,l,n,i,o,r,a=t[0]=="esp8266"&&va(),f=(t[0]=="esp32"||t[0]=="esp32solo")&&ha(),c=t[0]=="esp32s2"&&ga(),p={length:t[1]+1},_=[];for(let d=0;d{"chip"in o&&l(0,n=o.chip)},t.$$.update=()=>{t.$$.dirty&1&&l(1,i=n=="esp8266"?16:n=="esp32s2"?44:39)},[n,i]}class oc extends ye{constructor(e){super(),we(this,e,Qm,Km,ke,{chip:0})}}function wa(t){let e,l,n=t[1]&&ya(t);return{c(){e=m("div"),l=m("div"),n&&n.c(),u(l,"class","fixed inset-0 bg-gray-500 bg-opacity-50 flex items-center justify-center"),u(e,"class","z-50"),u(e,"aria-modal","true")},m(i,o){y(i,e,o),s(e,l),n&&n.m(l,null)},p(i,o){i[1]?n?n.p(i,o):(n=ya(i),n.c(),n.m(l,null)):n&&(n.d(1),n=null)},d(i){i&&w(e),n&&n.d()}}}function ya(t){let e,l;return{c(){e=m("div"),l=C(t[1]),u(e,"class","bg-white m-2 p-3 rounded-md shadow-lg pb-4 text-gray-700 w-96")},m(n,i){y(n,e,i),s(e,l)},p(n,i){i&2&&B(l,n[1])},d(n){n&&w(e)}}}function Zm(t){let e,l=t[0]&&wa(t);return{c(){l&&l.c(),e=We()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=wa(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:se,o:se,d(n){l&&l.d(n),n&&w(e)}}}function Jm(t,e,l){let{active:n}=e,{message:i}=e;return t.$$set=o=>{"active"in o&&l(0,n=o.active),"message"in o&&l(1,i=o.message)},[n,i]}class gt extends ye{constructor(e){super(),we(this,e,Jm,Zm,ke,{active:0,message:1})}}function $a(t,e,l){const n=t.slice();return n[1]=e[l],n}function Ca(t){let e,l,n=t[1]+"",i;return{c(){e=m("option"),l=C("Europe/"),i=C(n),e.__value="Europe/"+t[1],e.value=e.__value},m(o,r){y(o,e,r),s(e,l),s(e,i)},p:se,d(o){o&&w(e)}}}function Xm(t){let e,l,n,i=t[0],o=[];for(let r=0;r{r[p]=null}),Ae(),l=r[e],l||(l=r[e]=o[e](f),l.c()),P(l,1),l.m(n.parentNode,n))},i(f){i||(P(l),i=!0)},o(f){I(l),i=!1},d(f){r[e].d(f),f&&w(n)}}}function ap(t){let e,l;return e=new Yt({props:{color:"blue",text:"Upload cert",title:"Click here to upload certificate"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function fp(t){let e,l;return e=new Yt({props:{color:"green",text:"Cert OK",title:"Click here to replace certificate"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function cp(t){let e,l,n,i;const o=[fp,ap],r=[];function a(f,c){return f[3].q.s.r?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=We()},m(f,c){r[e].m(f,c),y(f,n,c),i=!0},p(f,c){let p=e;e=a(f),e!==p&&(Me(),I(r[p],1,1,()=>{r[p]=null}),Ae(),l=r[e],l||(l=r[e]=o[e](f),l.c()),P(l,1),l.m(n.parentNode,n))},i(f){i||(P(l),i=!0)},o(f){I(l),i=!1},d(f){r[e].d(f),f&&w(n)}}}function mp(t){let e,l;return e=new Yt({props:{color:"blue",text:"Upload key",title:"Click here to upload key"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function pp(t){let e,l;return e=new Yt({props:{color:"green",text:"Key OK",title:"Click here to replace key"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function _p(t){let e,l,n,i;const o=[pp,mp],r=[];function a(f,c){return f[3].q.s.k?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=We()},m(f,c){r[e].m(f,c),y(f,n,c),i=!0},p(f,c){let p=e;e=a(f),e!==p&&(Me(),I(r[p],1,1,()=>{r[p]=null}),Ae(),l=r[e],l||(l=r[e]=o[e](f),l.c()),P(l,1),l.m(n.parentNode,n))},i(f){i||(P(l),i=!0)},o(f){I(l),i=!1},d(f){r[e].d(f),f&&w(n)}}}function Ra(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q,O;return o=new Rt({}),{c(){e=m("div"),l=m("strong"),l.textContent="Domoticz",n=v(),i=m("a"),Z(o.$$.fragment),r=v(),a=m("input"),f=v(),c=m("div"),p=m("div"),_=C("Electricity IDX"),d=m("br"),g=v(),h=m("input"),b=v(),$=m("div"),k=C("Current IDX"),S=m("br"),M=v(),D=m("input"),T=v(),N=m("div"),F=C(`Voltage IDX: L1, L2 & L3 - `),R=m("div"),H=m("input"),j=v(),E=m("input"),L=v(),W=m("input"),u(l,"class","text-sm"),u(i,"href",Lt("MQTT-configuration#domoticz")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","o"),a.value="true",u(h,"name","oe"),u(h,"type","text"),u(h,"class","in-f tr w-full"),u(p,"class","w-1/2"),u(D,"name","oc"),u(D,"type","text"),u(D,"class","in-l tr w-full"),u($,"class","w-1/2"),u(c,"class","my-1 flex"),u(H,"name","ou1"),u(H,"type","text"),u(H,"class","in-f tr w-1/3"),u(E,"name","ou2"),u(E,"type","text"),u(E,"class","in-m tr w-1/3"),u(W,"name","ou3"),u(W,"type","text"),u(W,"class","in-l tr w-1/3"),u(R,"class","flex"),u(N,"class","my-1"),u(e,"class","cnt")},m(U,X){y(U,e,X),s(e,l),s(e,n),s(e,i),V(o,i,null),s(e,r),s(e,a),s(e,f),s(e,c),s(c,p),s(p,_),s(p,d),s(p,g),s(p,h),Q(h,t[3].o.e),s(c,b),s(c,$),s($,k),s($,S),s($,M),s($,D),Q(D,t[3].o.c),s(e,T),s(e,N),s(N,F),s(N,R),s(R,H),Q(H,t[3].o.u1),s(R,j),s(R,E),Q(E,t[3].o.u2),s(R,L),s(R,W),Q(W,t[3].o.u3),G=!0,q||(O=[Y(h,"input",t[58]),Y(D,"input",t[59]),Y(H,"input",t[60]),Y(E,"input",t[61]),Y(W,"input",t[62])],q=!0)},p(U,X){X[0]&8&&h.value!==U[3].o.e&&Q(h,U[3].o.e),X[0]&8&&D.value!==U[3].o.c&&Q(D,U[3].o.c),X[0]&8&&H.value!==U[3].o.u1&&Q(H,U[3].o.u1),X[0]&8&&E.value!==U[3].o.u2&&Q(E,U[3].o.u2),X[0]&8&&W.value!==U[3].o.u3&&Q(W,U[3].o.u3)},i(U){G||(P(o.$$.fragment,U),G=!0)},o(U){I(o.$$.fragment,U),G=!1},d(U){U&&w(e),K(o),q=!1,Be(O)}}}function La(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M;o=new Rt({});let D={length:9},T=[];for(let N=0;N20&&Ha(t),p=t[0].chip=="esp8266"&&Ga(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Hardware",n=v(),i=m("a"),Z(o.$$.fragment),r=v(),c&&c.c(),a=v(),p&&p.c(),u(l,"class","text-sm"),u(i,"href",Lt("GPIO-configuration")),u(i,"target","_blank"),u(i,"class","float-right"),u(e,"class","cnt")},m(_,d){y(_,e,d),s(e,l),s(e,n),s(e,i),V(o,i,null),s(e,r),c&&c.m(e,null),s(e,a),p&&p.m(e,null),f=!0},p(_,d){_[0].board>20?c?(c.p(_,d),d[0]&1&&P(c,1)):(c=Ha(_),c.c(),P(c,1),c.m(e,a)):c&&(Me(),I(c,1,1,()=>{c=null}),Ae()),_[0].chip=="esp8266"?p?p.p(_,d):(p=Ga(_),p.c(),p.m(e,null)):p&&(p.d(1),p=null)},i(_){f||(P(o.$$.fragment,_),P(c),f=!0)},o(_){I(o.$$.fragment,_),I(c),f=!1},d(_){_&&w(e),K(o),c&&c.d(),p&&p.d()}}}function Ha(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q,O,U,X,z,ne,te,Te,pe,Ie,De,Re,Ee,$e,ge,_e,ae,fe,oe,J,ie,Ce,x,ue,He,Se;c=new oc({props:{chip:t[0].chip}});let de=t[0].chip!="esp8266"&&ja(t),ve=t[3].i.v.p>0&&Wa(t);return{c(){e=m("input"),l=v(),n=m("div"),i=m("div"),o=C("HAN"),r=m("br"),a=v(),f=m("select"),Z(c.$$.fragment),p=v(),_=m("div"),d=C("AP button"),g=m("br"),h=v(),b=m("input"),$=v(),k=m("div"),S=C("LED"),M=m("label"),D=m("input"),T=C(" inv"),N=m("br"),F=v(),R=m("div"),H=m("input"),j=v(),E=m("div"),L=C("RGB"),W=m("label"),G=m("input"),q=C(" inverted"),O=m("br"),U=v(),X=m("div"),z=m("input"),ne=v(),te=m("input"),Te=v(),pe=m("input"),Ie=v(),De=m("div"),Re=C("Temperature"),Ee=m("br"),$e=v(),ge=m("input"),_e=v(),ae=m("div"),fe=C("Analog temp"),oe=m("br"),J=v(),ie=m("input"),Ce=v(),de&&de.c(),x=v(),ve&&ve.c(),u(e,"type","hidden"),u(e,"name","i"),e.value="true",u(f,"name","ih"),u(f,"class","in-f w-full"),t[3].i.h===void 0&&ze(()=>t[66].call(f)),u(i,"class","w-1/3"),u(b,"name","ia"),u(b,"type","number"),u(b,"min","0"),u(b,"max",t[6]),u(b,"class","in-m tr w-full"),u(_,"class","w-1/3"),u(D,"name","ili"),D.__value="true",D.value=D.__value,u(D,"type","checkbox"),u(D,"class","rounded mb-1"),u(M,"class","ml-4"),u(H,"name","ilp"),u(H,"type","number"),u(H,"min","0"),u(H,"max",t[6]),u(H,"class","in-l tr w-full"),u(R,"class","flex"),u(k,"class","w-1/3"),u(G,"name","iri"),G.__value="true",G.value=G.__value,u(G,"type","checkbox"),u(G,"class","rounded mb-1"),u(W,"class","ml-4"),u(z,"name","irr"),u(z,"type","number"),u(z,"min","0"),u(z,"max",t[6]),u(z,"class","in-f tr w-1/3"),u(te,"name","irg"),u(te,"type","number"),u(te,"min","0"),u(te,"max",t[6]),u(te,"class","in-m tr w-1/3"),u(pe,"name","irb"),u(pe,"type","number"),u(pe,"min","0"),u(pe,"max",t[6]),u(pe,"class","in-l tr w-1/3"),u(X,"class","flex"),u(E,"class","w-full"),u(ge,"name","itd"),u(ge,"type","number"),u(ge,"min","0"),u(ge,"max",t[6]),u(ge,"class","in-f tr w-full"),u(De,"class","my-1 w-1/3"),u(ie,"name","ita"),u(ie,"type","number"),u(ie,"min","0"),u(ie,"max",t[6]),u(ie,"class","in-l tr w-full"),u(ae,"class","my-1 pr-1 w-1/3"),u(n,"class","flex flex-wrap")},m(le,he){y(le,e,he),y(le,l,he),y(le,n,he),s(n,i),s(i,o),s(i,r),s(i,a),s(i,f),V(c,f,null),Fe(f,t[3].i.h),s(n,p),s(n,_),s(_,d),s(_,g),s(_,h),s(_,b),Q(b,t[3].i.a),s(n,$),s(n,k),s(k,S),s(k,M),s(M,D),D.checked=t[3].i.l.i,s(M,T),s(k,N),s(k,F),s(k,R),s(R,H),Q(H,t[3].i.l.p),s(n,j),s(n,E),s(E,L),s(E,W),s(W,G),G.checked=t[3].i.r.i,s(W,q),s(E,O),s(E,U),s(E,X),s(X,z),Q(z,t[3].i.r.r),s(X,ne),s(X,te),Q(te,t[3].i.r.g),s(X,Te),s(X,pe),Q(pe,t[3].i.r.b),s(n,Ie),s(n,De),s(De,Re),s(De,Ee),s(De,$e),s(De,ge),Q(ge,t[3].i.t.d),s(n,_e),s(n,ae),s(ae,fe),s(ae,oe),s(ae,J),s(ae,ie),Q(ie,t[3].i.t.a),s(n,Ce),de&&de.m(n,null),s(n,x),ve&&ve.m(n,null),ue=!0,He||(Se=[Y(f,"change",t[66]),Y(b,"input",t[67]),Y(D,"change",t[68]),Y(H,"input",t[69]),Y(G,"change",t[70]),Y(z,"input",t[71]),Y(te,"input",t[72]),Y(pe,"input",t[73]),Y(ge,"input",t[74]),Y(ie,"input",t[75])],He=!0)},p(le,he){const qe={};he[0]&1&&(qe.chip=le[0].chip),c.$set(qe),he[0]&8&&Fe(f,le[3].i.h),(!ue||he[0]&64)&&u(b,"max",le[6]),he[0]&8&&ce(b.value)!==le[3].i.a&&Q(b,le[3].i.a),he[0]&8&&(D.checked=le[3].i.l.i),(!ue||he[0]&64)&&u(H,"max",le[6]),he[0]&8&&ce(H.value)!==le[3].i.l.p&&Q(H,le[3].i.l.p),he[0]&8&&(G.checked=le[3].i.r.i),(!ue||he[0]&64)&&u(z,"max",le[6]),he[0]&8&&ce(z.value)!==le[3].i.r.r&&Q(z,le[3].i.r.r),(!ue||he[0]&64)&&u(te,"max",le[6]),he[0]&8&&ce(te.value)!==le[3].i.r.g&&Q(te,le[3].i.r.g),(!ue||he[0]&64)&&u(pe,"max",le[6]),he[0]&8&&ce(pe.value)!==le[3].i.r.b&&Q(pe,le[3].i.r.b),(!ue||he[0]&64)&&u(ge,"max",le[6]),he[0]&8&&ce(ge.value)!==le[3].i.t.d&&Q(ge,le[3].i.t.d),(!ue||he[0]&64)&&u(ie,"max",le[6]),he[0]&8&&ce(ie.value)!==le[3].i.t.a&&Q(ie,le[3].i.t.a),le[0].chip!="esp8266"?de?de.p(le,he):(de=ja(le),de.c(),de.m(n,x)):de&&(de.d(1),de=null),le[3].i.v.p>0?ve?ve.p(le,he):(ve=Wa(le),ve.c(),ve.m(n,null)):ve&&(ve.d(1),ve=null)},i(le){ue||(P(c.$$.fragment,le),ue=!0)},o(le){I(c.$$.fragment,le),ue=!1},d(le){le&&w(e),le&&w(l),le&&w(n),K(c),de&&de.d(),ve&&ve.d(),He=!1,Be(Se)}}}function ja(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=C("Vcc"),n=m("br"),i=v(),o=m("input"),u(o,"name","ivp"),u(o,"type","number"),u(o,"min","0"),u(o,"max",t[6]),u(o,"class","in-s tr w-full"),u(e,"class","my-1 pl-1 w-1/3")},m(f,c){y(f,e,c),s(e,l),s(e,n),s(e,i),s(e,o),Q(o,t[3].i.v.p),r||(a=Y(o,"input",t[76]),r=!0)},p(f,c){c[0]&64&&u(o,"max",f[6]),c[0]&8&&ce(o.value)!==f[3].i.v.p&&Q(o,f[3].i.v.p)},d(f){f&&w(e),r=!1,a()}}}function Wa(t){let e,l,n,i,o,r,a,f,c,p;return{c(){e=m("div"),l=C("Voltage divider"),n=m("br"),i=v(),o=m("div"),r=m("input"),a=v(),f=m("input"),u(r,"name","ivdv"),u(r,"type","number"),u(r,"min","0"),u(r,"max","65535"),u(r,"class","in-f tr w-full"),u(r,"placeholder","VCC"),u(f,"name","ivdg"),u(f,"type","number"),u(f,"min","0"),u(f,"max","65535"),u(f,"class","in-l tr w-full"),u(f,"placeholder","GND"),u(o,"class","flex"),u(e,"class","my-1")},m(_,d){y(_,e,d),s(e,l),s(e,n),s(e,i),s(e,o),s(o,r),Q(r,t[3].i.v.d.v),s(o,a),s(o,f),Q(f,t[3].i.v.d.g),c||(p=[Y(r,"input",t[77]),Y(f,"input",t[78])],c=!0)},p(_,d){d[0]&8&&ce(r.value)!==_[3].i.v.d.v&&Q(r,_[3].i.v.d.v),d[0]&8&&ce(f.value)!==_[3].i.v.d.g&&Q(f,_[3].i.v.d.g)},d(_){_&&w(e),c=!1,Be(p)}}}function Ga(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S=(t[0].board==2||t[0].board==100)&&Ba(t);return{c(){e=m("input"),l=v(),n=m("div"),i=m("div"),o=C("Vcc offset"),r=m("br"),a=v(),f=m("input"),c=v(),p=m("div"),_=C("Multiplier"),d=m("br"),g=v(),h=m("input"),b=v(),S&&S.c(),u(e,"type","hidden"),u(e,"name","iv"),e.value="true",u(f,"name","ivo"),u(f,"type","number"),u(f,"min","0.0"),u(f,"max","3.5"),u(f,"step","0.01"),u(f,"class","in-f tr w-full"),u(i,"class","w-1/3"),u(h,"name","ivm"),u(h,"type","number"),u(h,"min","0.1"),u(h,"max","10"),u(h,"step","0.01"),u(h,"class","in-l tr w-full"),u(p,"class","w-1/3 pr-1"),u(n,"class","my-1 flex flex-wrap")},m(M,D){y(M,e,D),y(M,l,D),y(M,n,D),s(n,i),s(i,o),s(i,r),s(i,a),s(i,f),Q(f,t[3].i.v.o),s(n,c),s(n,p),s(p,_),s(p,d),s(p,g),s(p,h),Q(h,t[3].i.v.m),s(n,b),S&&S.m(n,null),$||(k=[Y(f,"input",t[79]),Y(h,"input",t[80])],$=!0)},p(M,D){D[0]&8&&ce(f.value)!==M[3].i.v.o&&Q(f,M[3].i.v.o),D[0]&8&&ce(h.value)!==M[3].i.v.m&&Q(h,M[3].i.v.m),M[0].board==2||M[0].board==100?S?S.p(M,D):(S=Ba(M),S.c(),S.m(n,null)):S&&(S.d(1),S=null)},d(M){M&&w(e),M&&w(l),M&&w(n),S&&S.d(),$=!1,Be(k)}}}function Ba(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=C("Boot limit"),n=m("br"),i=v(),o=m("input"),u(o,"name","ivb"),u(o,"type","number"),u(o,"min","2.5"),u(o,"max","3.5"),u(o,"step","0.1"),u(o,"class","in-s tr w-full"),u(e,"class","w-1/3 pl-1")},m(f,c){y(f,e,c),s(e,l),s(e,n),s(e,i),s(e,o),Q(o,t[3].i.v.b),r||(a=Y(o,"input",t[81]),r=!0)},p(f,c){c[0]&8&&ce(o.value)!==f[3].i.v.b&&Q(o,f[3].i.v.b)},d(f){f&&w(e),r=!1,a()}}}function za(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k=t[3].d.t&&Ya();return{c(){e=m("div"),e.textContent="Debug can cause sudden reboots. Do not leave on!",l=v(),n=m("div"),i=m("label"),o=m("input"),r=C(" Enable telnet"),a=v(),k&&k.c(),f=v(),c=m("div"),p=m("select"),_=m("option"),_.textContent="Verbose",d=m("option"),d.textContent="Debug",g=m("option"),g.textContent="Info",h=m("option"),h.textContent="Warning",u(e,"class","bd-red"),u(o,"type","checkbox"),u(o,"name","dt"),o.__value="true",o.value=o.__value,u(o,"class","rounded mb-1"),u(n,"class","my-1"),_.__value=1,_.value=_.__value,d.__value=2,d.value=d.__value,g.__value=3,g.value=g.__value,h.__value=4,h.value=h.__value,u(p,"name","dl"),u(p,"class","in-s"),t[3].d.l===void 0&&ze(()=>t[84].call(p)),u(c,"class","my-1")},m(S,M){y(S,e,M),y(S,l,M),y(S,n,M),s(n,i),s(i,o),o.checked=t[3].d.t,s(i,r),y(S,a,M),k&&k.m(S,M),y(S,f,M),y(S,c,M),s(c,p),s(p,_),s(p,d),s(p,g),s(p,h),Fe(p,t[3].d.l),b||($=[Y(o,"change",t[83]),Y(p,"change",t[84])],b=!0)},p(S,M){M[0]&8&&(o.checked=S[3].d.t),S[3].d.t?k||(k=Ya(),k.c(),k.m(f.parentNode,f)):k&&(k.d(1),k=null),M[0]&8&&Fe(p,S[3].d.l)},d(S){S&&w(e),S&&w(l),S&&w(n),S&&w(a),k&&k.d(S),S&&w(f),S&&w(c),b=!1,Be($)}}}function Ya(t){let e;return{c(){e=m("div"),e.textContent="Telnet is unsafe and should be off when not in use",u(e,"class","bd-red")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function dp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q,O,U,X,z,ne,te,Te,pe,Ie,De,Re,Ee,$e,ge,_e,ae,fe,oe,J,ie,Ce,x,ue,He,Se,de,ve,le,he,qe,re,Pe,ai,fi,ci,$t,mi,Qt,pi,_i,di,tt,vi,Zt,Yl,pt,hi,gi,bi,Jt,ki,wi,yi,_t,rl,al,Ue,Bn,Cl,Le,Vl,fl,cl,ml,oo,zn,uo,Kl,ms,ro,pl,qt,_l,ao,$i,fo,xe,dl,co,Ci,Ql,Zl,Jl,Xl,Si,mo,Yn,Ct,po,_o,Sl,vo,ho,go,Ut,xl,en,bo,tn,Tl,ko,wo,yo,ln,St,$o,Ti,Co,Pl,So,To,Po,nn,Tt,Mo,Pi,Ao,ps,No,Ml,Mi,Pt,Io,Do,Eo,_s,Ai,Mt,Fo,Ro,Lo,Xe,Ni,Oo,sn,on,qo,Vn,Uo,Al,Ho,jo,Wo,Xt,Go,Nl,Bo,zo,Yo,xt,Vo,un,Il,Ko,Qo,Zo,bt,rn,an,fn,cn,Jo,Dl,Xo,xo,eu,mn,kt,tu,Ii,lu,Di,Ei,At,nu,iu,Je,Fi,su,pn,_n,ou,El,uu,ru,au,vl,Ht,dn,vn,fu,dt,Ri,Li,cu,vt,hn,Oi,qi,mu,ds,Ui,Hi,Nt,pu,_u,Kn,du,hl,vu,Qn,It,hu,gu,bu,ji,el,ku,Ge,Wi,wu,gn,bn,yu,Zn,$u,jt,Cu,vs,Su,Tu,kn,tl,Pu,Dt,Mu,hs,Fl,Au,Nu,Iu,ll,Du,Rl,Eu,Fu,Ru,nl,Lu,wn,yn,Ou,qu,Uu,il,Hu,$n,ju,Wu,Gu,lt,Cn,Sn,Tn,Pn,Mn,An,Bu,Ll,zu,Yu,Vu,sl,Ku,gs,bs=t[3].p.r.startsWith("10YNO")||t[3].p.r=="10Y1001A1001A48H",ks,Wt,Gi,Qu,Nn,In,Zu,Jn,Ju,Xn,Xu,ws,ht,Bi,xu,Dn,En,er,xn,tr,zi,Yi,Et,lr,nr,ir,gl,ys,Fn,sr,Vi,Rn,or,Ki,$s,Ol,Cs,ql,Ss,Ul,Ts,Hl,Ft,Ps,ur;a=new Rt({}),R=new ep({});let rc=["NOK","SEK","DKK","EUR"],Qi=[];for(let A=0;A<4;A+=1)Qi[A]=ip(np(t,rc,A));let nt=t[3].p.e&&t[0].chip!="esp8266"&&Pa(t),it=t[3].g.s>0&&Ma(t);ml=new Rt({});let ac=[24,48,96,192,384,576,1152],Zi=[];for(let A=0;A<7;A+=1)Zi[A]=sp(lp(t,ac,A));let st=t[3].m.e.e&&Aa(t),ot=t[3].m.e.e&&Na(t),ut=t[3].m.m.e&&Ia(t);on=new Rt({}),_n=new Rt({}),hn=new uc({});let rt=t[3].n.m=="static"&&Da(t);bn=new Rt({});let at=t[0].chip!="esp8266"&&Ea(t),Ye=t[3].q.s.e&&Fa(t),Ve=t[3].q.m==3&&Ra(t),Ke=bs&&La(t);In=new Rt({});let Ln=t[7],ft=[];for(let A=0;A20||t[0].chip=="esp8266")&&Ua(t);En=new Rt({});let ct=t[3].d.s&&za(t);return Ol=new gt({props:{active:t[1],message:"Loading configuration"}}),ql=new gt({props:{active:t[2],message:"Saving configuration"}}),Ul=new gt({props:{active:t[4],message:"Performing factory reset"}}),Hl=new gt({props:{active:t[5],message:"Device have been factory reset and switched to AP mode"}}),{c(){e=m("form"),l=m("div"),n=m("div"),i=m("strong"),i.textContent="General",o=v(),r=m("a"),Z(a.$$.fragment),f=v(),c=m("input"),p=v(),_=m("div"),d=m("div"),g=m("div"),h=C("Hostname"),b=m("br"),$=v(),k=m("input"),S=v(),M=m("div"),D=C("Time zone"),T=m("br"),N=v(),F=m("select"),Z(R.$$.fragment),H=v(),j=m("input"),E=v(),L=m("div"),W=C("Price region"),G=m("br"),q=v(),O=m("select"),U=m("optgroup"),X=m("option"),X.textContent="NO1",z=m("option"),z.textContent="NO2",ne=m("option"),ne.textContent="NO3",te=m("option"),te.textContent="NO4",Te=m("option"),Te.textContent="NO5",pe=m("optgroup"),Ie=m("option"),Ie.textContent="SE1",De=m("option"),De.textContent="SE2",Re=m("option"),Re.textContent="SE3",Ee=m("option"),Ee.textContent="SE4",$e=m("optgroup"),ge=m("option"),ge.textContent="DK1",_e=m("option"),_e.textContent="DK2",ae=m("option"),ae.textContent="Austria",fe=m("option"),fe.textContent="Belgium",oe=m("option"),oe.textContent="Czech Republic",J=m("option"),J.textContent="Estonia",ie=m("option"),ie.textContent="Finland",Ce=m("option"),Ce.textContent="France",x=m("option"),x.textContent="Germany",ue=m("option"),ue.textContent="Great Britain",He=m("option"),He.textContent="Latvia",Se=m("option"),Se.textContent="Lithuania",de=m("option"),de.textContent="Netherland",ve=m("option"),ve.textContent="Poland",le=m("option"),le.textContent="Switzerland",he=v(),qe=m("div"),re=m("div"),Pe=m("div"),ai=C("Currency"),fi=m("br"),ci=v(),$t=m("select");for(let A=0;A<4;A+=1)Qi[A].c();mi=v(),Qt=m("div"),pi=C("Multiplier"),_i=m("br"),di=v(),tt=m("input"),vi=v(),Zt=m("div"),Yl=m("label"),pt=m("input"),hi=C(" Enable price fetch from remote server"),gi=v(),nt&&nt.c(),bi=v(),Jt=m("div"),ki=C("Security"),wi=m("br"),yi=v(),_t=m("select"),rl=m("option"),rl.textContent="None",al=m("option"),al.textContent="Only configuration",Ue=m("option"),Ue.textContent="Everything",Bn=v(),it&&it.c(),Cl=v(),Le=m("div"),Vl=m("strong"),Vl.textContent="Meter",fl=v(),cl=m("a"),Z(ml.$$.fragment),oo=v(),zn=m("input"),uo=v(),Kl=m("div"),ms=m("span"),ms.textContent="Serial configuration",ro=v(),pl=m("div"),qt=m("select"),_l=m("option"),ao=C("Autodetect");for(let A=0;A<7;A+=1)Zi[A].c();fo=v(),xe=m("select"),dl=m("option"),co=C("-"),Ql=m("option"),Ql.textContent="7N1",Zl=m("option"),Zl.textContent="8N1",Jl=m("option"),Jl.textContent="7E1",Xl=m("option"),Xl.textContent="8E1",mo=v(),Yn=m("label"),Ct=m("input"),po=C(" inverted"),_o=v(),Sl=m("div"),vo=C("Voltage"),ho=m("br"),go=v(),Ut=m("select"),xl=m("option"),xl.textContent="400V (TN)",en=m("option"),en.textContent="230V (IT/TT)",bo=v(),tn=m("div"),Tl=m("div"),ko=C("Main fuse"),wo=m("br"),yo=v(),ln=m("label"),St=m("input"),$o=v(),Ti=m("span"),Ti.textContent="A",Co=v(),Pl=m("div"),So=C("Production"),To=m("br"),Po=v(),nn=m("label"),Tt=m("input"),Mo=v(),Pi=m("span"),Pi.textContent="kWp",Ao=v(),ps=m("div"),No=v(),Ml=m("div"),Mi=m("label"),Pt=m("input"),Io=C(" Meter is encrypted"),Do=v(),st&&st.c(),Eo=v(),ot&&ot.c(),_s=v(),Ai=m("label"),Mt=m("input"),Fo=C(" Multipliers"),Ro=v(),ut&&ut.c(),Lo=v(),Xe=m("div"),Ni=m("strong"),Ni.textContent="WiFi",Oo=v(),sn=m("a"),Z(on.$$.fragment),qo=v(),Vn=m("input"),Uo=v(),Al=m("div"),Ho=C("SSID"),jo=m("br"),Wo=v(),Xt=m("input"),Go=v(),Nl=m("div"),Bo=C("Password"),zo=m("br"),Yo=v(),xt=m("input"),Vo=v(),un=m("div"),Il=m("div"),Ko=C("Power saving"),Qo=m("br"),Zo=v(),bt=m("select"),rn=m("option"),rn.textContent="Default",an=m("option"),an.textContent="Off",fn=m("option"),fn.textContent="Minimum",cn=m("option"),cn.textContent="Maximum",Jo=v(),Dl=m("div"),Xo=C("Power"),xo=m("br"),eu=v(),mn=m("div"),kt=m("input"),tu=v(),Ii=m("span"),Ii.textContent="dBm",lu=v(),Di=m("div"),Ei=m("label"),At=m("input"),nu=C(" Auto reboot on connection problem"),iu=v(),Je=m("div"),Fi=m("strong"),Fi.textContent="Network",su=v(),pn=m("a"),Z(_n.$$.fragment),ou=v(),El=m("div"),uu=C("IP"),ru=m("br"),au=v(),vl=m("div"),Ht=m("select"),dn=m("option"),dn.textContent="DHCP",vn=m("option"),vn.textContent="Static",fu=v(),dt=m("input"),cu=v(),vt=m("select"),Z(hn.$$.fragment),mu=v(),rt&&rt.c(),ds=v(),Ui=m("div"),Hi=m("label"),Nt=m("input"),pu=C(" enable mDNS"),_u=v(),Kn=m("input"),du=v(),hl=m("div"),vu=C("NTP "),Qn=m("label"),It=m("input"),hu=C(" obtain from DHCP"),gu=m("br"),bu=v(),ji=m("div"),el=m("input"),ku=v(),Ge=m("div"),Wi=m("strong"),Wi.textContent="MQTT",wu=v(),gn=m("a"),Z(bn.$$.fragment),yu=v(),Zn=m("input"),$u=v(),jt=m("div"),Cu=C(`Server - `),at&&at.c(),vs=v(),Su=m("br"),Tu=v(),kn=m("div"),tl=m("input"),Pu=v(),Dt=m("input"),Mu=v(),Ye&&Ye.c(),hs=v(),Fl=m("div"),Au=C("Username"),Nu=m("br"),Iu=v(),ll=m("input"),Du=v(),Rl=m("div"),Eu=C("Password"),Fu=m("br"),Ru=v(),nl=m("input"),Lu=v(),wn=m("div"),yn=m("div"),Ou=C("Client ID"),qu=m("br"),Uu=v(),il=m("input"),Hu=v(),$n=m("div"),ju=C("Payload"),Wu=m("br"),Gu=v(),lt=m("select"),Cn=m("option"),Cn.textContent="JSON",Sn=m("option"),Sn.textContent="Raw (minimal)",Tn=m("option"),Tn.textContent="Raw (full)",Pn=m("option"),Pn.textContent="Domoticz",Mn=m("option"),Mn.textContent="HomeAssistant",An=m("option"),An.textContent="HEX dump",Bu=v(),Ll=m("div"),zu=C("Publish topic"),Yu=m("br"),Vu=v(),sl=m("input"),Ku=v(),Ve&&Ve.c(),gs=v(),Ke&&Ke.c(),ks=v(),Wt=m("div"),Gi=m("strong"),Gi.textContent="User interface",Qu=v(),Nn=m("a"),Z(In.$$.fragment),Zu=v(),Jn=m("input"),Ju=v(),Xn=m("div");for(let A=0;ASave',$s=v(),Z(Ol.$$.fragment),Cs=v(),Z(ql.$$.fragment),Ss=v(),Z(Ul.$$.fragment),Ts=v(),Z(Hl.$$.fragment),u(i,"class","text-sm"),u(r,"href",Lt("General-configuration")),u(r,"target","_blank"),u(r,"class","float-right"),u(c,"type","hidden"),u(c,"name","g"),c.value="true",u(k,"name","gh"),u(k,"type","text"),u(k,"class","in-f w-full"),u(k,"pattern","[A-Za-z0-9-]+"),u(F,"name","gt"),u(F,"class","in-l w-full"),t[3].g.t===void 0&&ze(()=>t[13].call(F)),u(d,"class","flex"),u(_,"class","my-1"),u(j,"type","hidden"),u(j,"name","p"),j.value="true",X.__value="10YNO-1--------2",X.value=X.__value,z.__value="10YNO-2--------T",z.value=z.__value,ne.__value="10YNO-3--------J",ne.value=ne.__value,te.__value="10YNO-4--------9",te.value=te.__value,Te.__value="10Y1001A1001A48H",Te.value=Te.__value,u(U,"label","Norway"),Ie.__value="10Y1001A1001A44P",Ie.value=Ie.__value,De.__value="10Y1001A1001A45N",De.value=De.__value,Re.__value="10Y1001A1001A46L",Re.value=Re.__value,Ee.__value="10Y1001A1001A47J",Ee.value=Ee.__value,u(pe,"label","Sweden"),ge.__value="10YDK-1--------W",ge.value=ge.__value,_e.__value="10YDK-2--------M",_e.value=_e.__value,u($e,"label","Denmark"),ae.__value="10YAT-APG------L",ae.value=ae.__value,fe.__value="10YBE----------2",fe.value=fe.__value,oe.__value="10YCZ-CEPS-----N",oe.value=oe.__value,J.__value="10Y1001A1001A39I",J.value=J.__value,ie.__value="10YFI-1--------U",ie.value=ie.__value,Ce.__value="10YFR-RTE------C",Ce.value=Ce.__value,x.__value="10Y1001A1001A83F",x.value=x.__value,ue.__value="10YGB----------A",ue.value=ue.__value,He.__value="10YLV-1001A00074",He.value=He.__value,Se.__value="10YLT-1001A0008Q",Se.value=Se.__value,de.__value="10YNL----------L",de.value=de.__value,ve.__value="10YPL-AREA-----S",ve.value=ve.__value,le.__value="10YCH-SWISSGRIDZ",le.value=le.__value,u(O,"name","pr"),u(O,"class","in-s"),t[3].p.r===void 0&&ze(()=>t[14].call(O)),u(L,"class","my-1"),u($t,"name","pc"),u($t,"class","in-f w-full"),t[3].p.c===void 0&&ze(()=>t[15].call($t)),u(Pe,"class","w-1/2"),u(tt,"name","pm"),u(tt,"type","number"),u(tt,"min","0.001"),u(tt,"max","1000"),u(tt,"step","0.001"),u(tt,"class","in-l tr w-full"),u(Qt,"class","w-1/2"),u(re,"class","flex"),u(qe,"class","my-1"),u(pt,"type","checkbox"),u(pt,"name","pe"),pt.__value="true",pt.value=pt.__value,u(pt,"class","rounded mb-1"),u(Zt,"class","my-1"),rl.__value=0,rl.value=rl.__value,al.__value=1,al.value=al.__value,Ue.__value=2,Ue.value=Ue.__value,u(_t,"name","gs"),u(_t,"class","in-s"),t[3].g.s===void 0&&ze(()=>t[19].call(_t)),u(Jt,"class","my-1"),u(n,"class","cnt"),u(Vl,"class","text-sm"),u(cl,"href",Lt("Meter-configuration")),u(cl,"target","_blank"),u(cl,"class","float-right"),u(zn,"type","hidden"),u(zn,"name","m"),zn.value="true",_l.__value=0,_l.value=_l.__value,_l.disabled=$i=t[3].m.b!=0,u(qt,"name","mb"),u(qt,"class","in-f"),t[3].m.b===void 0&&ze(()=>t[22].call(qt)),dl.__value=0,dl.value=dl.__value,dl.disabled=Ci=t[3].m.b!=0,Ql.__value=2,Ql.value=Ql.__value,Zl.__value=3,Zl.value=Zl.__value,Jl.__value=10,Jl.value=Jl.__value,Xl.__value=11,Xl.value=Xl.__value,u(xe,"name","mp"),u(xe,"class","in-l"),xe.disabled=Si=t[3].m.b==0,t[3].m.p===void 0&&ze(()=>t[23].call(xe)),u(Ct,"name","mi"),Ct.__value="true",Ct.value=Ct.__value,u(Ct,"type","checkbox"),u(Ct,"class","rounded mb-1"),u(Yn,"class","mt-2 ml-3 whitespace-nowrap"),u(pl,"class","flex"),u(Kl,"class","my-1"),xl.__value=2,xl.value=xl.__value,en.__value=1,en.value=en.__value,u(Ut,"name","md"),u(Ut,"class","in-s"),t[3].m.d===void 0&&ze(()=>t[25].call(Ut)),u(Sl,"class","my-1"),u(St,"name","mf"),u(St,"type","number"),u(St,"min","5"),u(St,"max","65535"),u(St,"class","in-f tr w-full"),u(Ti,"class","in-post"),u(ln,"class","flex"),u(Tl,"class","mx-1"),u(Tt,"name","mr"),u(Tt,"type","number"),u(Tt,"min","0"),u(Tt,"max","65535"),u(Tt,"class","in-f tr w-full"),u(Pi,"class","in-post"),u(nn,"class","flex"),u(Pl,"class","mx-1"),u(tn,"class","my-1 flex"),u(ps,"class","my-1"),u(Pt,"type","checkbox"),u(Pt,"name","me"),Pt.__value="true",Pt.value=Pt.__value,u(Pt,"class","rounded mb-1"),u(Ml,"class","my-1"),u(Mt,"type","checkbox"),u(Mt,"name","mm"),Mt.__value="true",Mt.value=Mt.__value,u(Mt,"class","rounded mb-1"),u(Le,"class","cnt"),u(Ni,"class","text-sm"),u(sn,"href",Lt("WiFi-configuration")),u(sn,"target","_blank"),u(sn,"class","float-right"),u(Vn,"type","hidden"),u(Vn,"name","w"),Vn.value="true",u(Xt,"name","ws"),u(Xt,"type","text"),u(Xt,"class","in-s"),u(Al,"class","my-1"),u(xt,"name","wp"),u(xt,"type","password"),u(xt,"class","in-s"),u(Nl,"class","my-1"),rn.__value=255,rn.value=rn.__value,an.__value=0,an.value=an.__value,fn.__value=1,fn.value=fn.__value,cn.__value=2,cn.value=cn.__value,u(bt,"name","wz"),u(bt,"class","in-s"),t[3].w.z===void 0&&ze(()=>t[38].call(bt)),u(Il,"class","w-1/2"),u(kt,"name","ww"),u(kt,"type","number"),u(kt,"min","0"),u(kt,"max","20.5"),u(kt,"step","0.5"),u(kt,"class","in-f tr w-full"),u(Ii,"class","in-post"),u(mn,"class","flex"),u(Dl,"class","ml-2 w-1/2"),u(un,"class","my-1 flex"),u(At,"type","checkbox"),u(At,"name","wa"),At.__value="true",At.value=At.__value,u(At,"class","rounded mb-1"),u(Di,"class","my-3"),u(Xe,"class","cnt"),u(Fi,"class","text-sm"),u(pn,"href",Lt("Network-configuration")),u(pn,"target","_blank"),u(pn,"class","float-right"),dn.__value="dhcp",dn.value=dn.__value,vn.__value="static",vn.value=vn.__value,u(Ht,"name","nm"),u(Ht,"class","in-f"),t[3].n.m===void 0&&ze(()=>t[41].call(Ht)),u(dt,"name","ni"),u(dt,"type","text"),u(dt,"class","in-m w-full"),dt.disabled=Ri=t[3].n.m=="dhcp",dt.required=Li=t[3].n.m=="static",u(vt,"name","ns"),u(vt,"class","in-l"),vt.disabled=Oi=t[3].n.m=="dhcp",vt.required=qi=t[3].n.m=="static",t[3].n.s===void 0&&ze(()=>t[43].call(vt)),u(vl,"class","flex"),u(El,"class","my-1"),u(Nt,"name","nd"),Nt.__value="true",Nt.value=Nt.__value,u(Nt,"type","checkbox"),u(Nt,"class","rounded mb-1"),u(Ui,"class","my-1"),u(Kn,"type","hidden"),u(Kn,"name","ntp"),Kn.value="true",u(It,"name","ntpd"),It.__value="true",It.value=It.__value,u(It,"type","checkbox"),u(It,"class","rounded mb-1"),u(Qn,"class","ml-4"),u(el,"name","ntph"),u(el,"type","text"),u(el,"class","in-s"),u(ji,"class","flex"),u(hl,"class","my-1"),u(Je,"class","cnt"),u(Wi,"class","text-sm"),u(gn,"href",Lt("MQTT-configuration")),u(gn,"target","_blank"),u(gn,"class","float-right"),u(Zn,"type","hidden"),u(Zn,"name","q"),Zn.value="true",u(tl,"name","qh"),u(tl,"type","text"),u(tl,"class","in-f w-3/4"),u(Dt,"name","qp"),u(Dt,"type","number"),u(Dt,"min","1024"),u(Dt,"max","65535"),u(Dt,"class","in-l tr w-1/4"),u(kn,"class","flex"),u(jt,"class","my-1"),u(ll,"name","qu"),u(ll,"type","text"),u(ll,"class","in-s"),u(Fl,"class","my-1"),u(nl,"name","qa"),u(nl,"type","password"),u(nl,"class","in-s"),u(Rl,"class","my-1"),u(il,"name","qc"),u(il,"type","text"),u(il,"class","in-f w-full"),Cn.__value=0,Cn.value=Cn.__value,Sn.__value=1,Sn.value=Sn.__value,Tn.__value=2,Tn.value=Tn.__value,Pn.__value=3,Pn.value=Pn.__value,Mn.__value=4,Mn.value=Mn.__value,An.__value=255,An.value=An.__value,u(lt,"name","qm"),u(lt,"class","in-l"),t[3].q.m===void 0&&ze(()=>t[56].call(lt)),u(wn,"class","my-1 flex"),u(sl,"name","qb"),u(sl,"type","text"),u(sl,"class","in-s"),u(Ll,"class","my-1"),u(Ge,"class","cnt"),u(Gi,"class","text-sm"),u(Nn,"href",Lt("User-interface")),u(Nn,"target","_blank"),u(Nn,"class","float-right"),u(Jn,"type","hidden"),u(Jn,"name","u"),Jn.value="true",u(Xn,"class","flex flex-wrap"),u(Wt,"class","cnt"),u(Bi,"class","text-sm"),u(Dn,"href","https://amsleser.no/blog/post/24-telnet-debug"),u(Dn,"target","_blank"),u(Dn,"class","float-right"),u(xn,"type","hidden"),u(xn,"name","d"),xn.value="true",u(Et,"type","checkbox"),u(Et,"name","ds"),Et.__value="true",Et.value=Et.__value,u(Et,"class","rounded mb-1"),u(zi,"class","mt-3"),u(ht,"class","cnt"),u(l,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2"),u(Fn,"type","button"),u(Fn,"class","py-2 px-4 rounded bg-red-500 text-white ml-2"),u(Rn,"type","button"),u(Rn,"class","py-2 px-4 rounded bg-yellow-500 text-white"),u(Vi,"class","text-center"),u(Ki,"class","text-right"),u(gl,"class","grid grid-cols-3"),u(e,"autocomplete","off")},m(A,ee){y(A,e,ee),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),V(a,r,null),s(n,f),s(n,c),s(n,p),s(n,_),s(_,d),s(d,g),s(g,h),s(g,b),s(g,$),s(g,k),Q(k,t[3].g.h),s(d,S),s(d,M),s(M,D),s(M,T),s(M,N),s(M,F),V(R,F,null),Fe(F,t[3].g.t),s(n,H),s(n,j),s(n,E),s(n,L),s(L,W),s(L,G),s(L,q),s(L,O),s(O,U),s(U,X),s(U,z),s(U,ne),s(U,te),s(U,Te),s(O,pe),s(pe,Ie),s(pe,De),s(pe,Re),s(pe,Ee),s(O,$e),s($e,ge),s($e,_e),s(O,ae),s(O,fe),s(O,oe),s(O,J),s(O,ie),s(O,Ce),s(O,x),s(O,ue),s(O,He),s(O,Se),s(O,de),s(O,ve),s(O,le),Fe(O,t[3].p.r),s(n,he),s(n,qe),s(qe,re),s(re,Pe),s(Pe,ai),s(Pe,fi),s(Pe,ci),s(Pe,$t);for(let mt=0;mt<4;mt+=1)Qi[mt].m($t,null);Fe($t,t[3].p.c),s(re,mi),s(re,Qt),s(Qt,pi),s(Qt,_i),s(Qt,di),s(Qt,tt),Q(tt,t[3].p.m),s(n,vi),s(n,Zt),s(Zt,Yl),s(Yl,pt),pt.checked=t[3].p.e,s(Yl,hi),s(Zt,gi),nt&&nt.m(Zt,null),s(n,bi),s(n,Jt),s(Jt,ki),s(Jt,wi),s(Jt,yi),s(Jt,_t),s(_t,rl),s(_t,al),s(_t,Ue),Fe(_t,t[3].g.s),s(n,Bn),it&&it.m(n,null),s(l,Cl),s(l,Le),s(Le,Vl),s(Le,fl),s(Le,cl),V(ml,cl,null),s(Le,oo),s(Le,zn),s(Le,uo),s(Le,Kl),s(Kl,ms),s(Kl,ro),s(Kl,pl),s(pl,qt),s(qt,_l),s(_l,ao);for(let mt=0;mt<7;mt+=1)Zi[mt].m(qt,null);Fe(qt,t[3].m.b),s(pl,fo),s(pl,xe),s(xe,dl),s(dl,co),s(xe,Ql),s(xe,Zl),s(xe,Jl),s(xe,Xl),Fe(xe,t[3].m.p),s(pl,mo),s(pl,Yn),s(Yn,Ct),Ct.checked=t[3].m.i,s(Yn,po),s(Le,_o),s(Le,Sl),s(Sl,vo),s(Sl,ho),s(Sl,go),s(Sl,Ut),s(Ut,xl),s(Ut,en),Fe(Ut,t[3].m.d),s(Le,bo),s(Le,tn),s(tn,Tl),s(Tl,ko),s(Tl,wo),s(Tl,yo),s(Tl,ln),s(ln,St),Q(St,t[3].m.f),s(ln,$o),s(ln,Ti),s(tn,Co),s(tn,Pl),s(Pl,So),s(Pl,To),s(Pl,Po),s(Pl,nn),s(nn,Tt),Q(Tt,t[3].m.r),s(nn,Mo),s(nn,Pi),s(Le,Ao),s(Le,ps),s(Le,No),s(Le,Ml),s(Ml,Mi),s(Mi,Pt),Pt.checked=t[3].m.e.e,s(Mi,Io),s(Ml,Do),st&&st.m(Ml,null),s(Le,Eo),ot&&ot.m(Le,null),s(Le,_s),s(Le,Ai),s(Ai,Mt),Mt.checked=t[3].m.m.e,s(Ai,Fo),s(Le,Ro),ut&&ut.m(Le,null),s(l,Lo),s(l,Xe),s(Xe,Ni),s(Xe,Oo),s(Xe,sn),V(on,sn,null),s(Xe,qo),s(Xe,Vn),s(Xe,Uo),s(Xe,Al),s(Al,Ho),s(Al,jo),s(Al,Wo),s(Al,Xt),Q(Xt,t[3].w.s),s(Xe,Go),s(Xe,Nl),s(Nl,Bo),s(Nl,zo),s(Nl,Yo),s(Nl,xt),Q(xt,t[3].w.p),s(Xe,Vo),s(Xe,un),s(un,Il),s(Il,Ko),s(Il,Qo),s(Il,Zo),s(Il,bt),s(bt,rn),s(bt,an),s(bt,fn),s(bt,cn),Fe(bt,t[3].w.z),s(un,Jo),s(un,Dl),s(Dl,Xo),s(Dl,xo),s(Dl,eu),s(Dl,mn),s(mn,kt),Q(kt,t[3].w.w),s(mn,tu),s(mn,Ii),s(Xe,lu),s(Xe,Di),s(Di,Ei),s(Ei,At),At.checked=t[3].w.a,s(Ei,nu),s(l,iu),s(l,Je),s(Je,Fi),s(Je,su),s(Je,pn),V(_n,pn,null),s(Je,ou),s(Je,El),s(El,uu),s(El,ru),s(El,au),s(El,vl),s(vl,Ht),s(Ht,dn),s(Ht,vn),Fe(Ht,t[3].n.m),s(vl,fu),s(vl,dt),Q(dt,t[3].n.i),s(vl,cu),s(vl,vt),V(hn,vt,null),Fe(vt,t[3].n.s),s(Je,mu),rt&&rt.m(Je,null),s(Je,ds),s(Je,Ui),s(Ui,Hi),s(Hi,Nt),Nt.checked=t[3].n.d,s(Hi,pu),s(Je,_u),s(Je,Kn),s(Je,du),s(Je,hl),s(hl,vu),s(hl,Qn),s(Qn,It),It.checked=t[3].n.h,s(Qn,hu),s(hl,gu),s(hl,bu),s(hl,ji),s(ji,el),Q(el,t[3].n.n1),s(l,ku),s(l,Ge),s(Ge,Wi),s(Ge,wu),s(Ge,gn),V(bn,gn,null),s(Ge,yu),s(Ge,Zn),s(Ge,$u),s(Ge,jt),s(jt,Cu),at&&at.m(jt,null),s(jt,vs),s(jt,Su),s(jt,Tu),s(jt,kn),s(kn,tl),Q(tl,t[3].q.h),s(kn,Pu),s(kn,Dt),Q(Dt,t[3].q.p),s(Ge,Mu),Ye&&Ye.m(Ge,null),s(Ge,hs),s(Ge,Fl),s(Fl,Au),s(Fl,Nu),s(Fl,Iu),s(Fl,ll),Q(ll,t[3].q.u),s(Ge,Du),s(Ge,Rl),s(Rl,Eu),s(Rl,Fu),s(Rl,Ru),s(Rl,nl),Q(nl,t[3].q.a),s(Ge,Lu),s(Ge,wn),s(wn,yn),s(yn,Ou),s(yn,qu),s(yn,Uu),s(yn,il),Q(il,t[3].q.c),s(wn,Hu),s(wn,$n),s($n,ju),s($n,Wu),s($n,Gu),s($n,lt),s(lt,Cn),s(lt,Sn),s(lt,Tn),s(lt,Pn),s(lt,Mn),s(lt,An),Fe(lt,t[3].q.m),s(Ge,Bu),s(Ge,Ll),s(Ll,zu),s(Ll,Yu),s(Ll,Vu),s(Ll,sl),Q(sl,t[3].q.b),s(l,Ku),Ve&&Ve.m(l,null),s(l,gs),Ke&&Ke.m(l,null),s(l,ks),s(l,Wt),s(Wt,Gi),s(Wt,Qu),s(Wt,Nn),V(In,Nn,null),s(Wt,Zu),s(Wt,Jn),s(Wt,Ju),s(Wt,Xn);for(let mt=0;mt0?it?it.p(A,ee):(it=Ma(A),it.c(),it.m(n,null)):it&&(it.d(1),it=null),(!Ft||ee[0]&8&&$i!==($i=A[3].m.b!=0))&&(_l.disabled=$i),ee[0]&8&&Fe(qt,A[3].m.b),(!Ft||ee[0]&8&&Ci!==(Ci=A[3].m.b!=0))&&(dl.disabled=Ci),(!Ft||ee[0]&8&&Si!==(Si=A[3].m.b==0))&&(xe.disabled=Si),ee[0]&8&&Fe(xe,A[3].m.p),ee[0]&8&&(Ct.checked=A[3].m.i),ee[0]&8&&Fe(Ut,A[3].m.d),ee[0]&8&&ce(St.value)!==A[3].m.f&&Q(St,A[3].m.f),ee[0]&8&&ce(Tt.value)!==A[3].m.r&&Q(Tt,A[3].m.r),ee[0]&8&&(Pt.checked=A[3].m.e.e),A[3].m.e.e?st?st.p(A,ee):(st=Aa(A),st.c(),st.m(Ml,null)):st&&(st.d(1),st=null),A[3].m.e.e?ot?ot.p(A,ee):(ot=Na(A),ot.c(),ot.m(Le,_s)):ot&&(ot.d(1),ot=null),ee[0]&8&&(Mt.checked=A[3].m.m.e),A[3].m.m.e?ut?ut.p(A,ee):(ut=Ia(A),ut.c(),ut.m(Le,null)):ut&&(ut.d(1),ut=null),ee[0]&8&&Xt.value!==A[3].w.s&&Q(Xt,A[3].w.s),ee[0]&8&&xt.value!==A[3].w.p&&Q(xt,A[3].w.p),ee[0]&8&&Fe(bt,A[3].w.z),ee[0]&8&&ce(kt.value)!==A[3].w.w&&Q(kt,A[3].w.w),ee[0]&8&&(At.checked=A[3].w.a),ee[0]&8&&Fe(Ht,A[3].n.m),(!Ft||ee[0]&8&&Ri!==(Ri=A[3].n.m=="dhcp"))&&(dt.disabled=Ri),(!Ft||ee[0]&8&&Li!==(Li=A[3].n.m=="static"))&&(dt.required=Li),ee[0]&8&&dt.value!==A[3].n.i&&Q(dt,A[3].n.i),(!Ft||ee[0]&8&&Oi!==(Oi=A[3].n.m=="dhcp"))&&(vt.disabled=Oi),(!Ft||ee[0]&8&&qi!==(qi=A[3].n.m=="static"))&&(vt.required=qi),ee[0]&8&&Fe(vt,A[3].n.s),A[3].n.m=="static"?rt?rt.p(A,ee):(rt=Da(A),rt.c(),rt.m(Je,ds)):rt&&(rt.d(1),rt=null),ee[0]&8&&(Nt.checked=A[3].n.d),ee[0]&8&&(It.checked=A[3].n.h),ee[0]&8&&el.value!==A[3].n.n1&&Q(el,A[3].n.n1),A[0].chip!="esp8266"?at?at.p(A,ee):(at=Ea(A),at.c(),at.m(jt,vs)):at&&(at.d(1),at=null),ee[0]&8&&tl.value!==A[3].q.h&&Q(tl,A[3].q.h),ee[0]&8&&ce(Dt.value)!==A[3].q.p&&Q(Dt,A[3].q.p),A[3].q.s.e?Ye?(Ye.p(A,ee),ee[0]&8&&P(Ye,1)):(Ye=Fa(A),Ye.c(),P(Ye,1),Ye.m(Ge,hs)):Ye&&(Me(),I(Ye,1,1,()=>{Ye=null}),Ae()),ee[0]&8&&ll.value!==A[3].q.u&&Q(ll,A[3].q.u),ee[0]&8&&nl.value!==A[3].q.a&&Q(nl,A[3].q.a),ee[0]&8&&il.value!==A[3].q.c&&Q(il,A[3].q.c),ee[0]&8&&Fe(lt,A[3].q.m),ee[0]&8&&sl.value!==A[3].q.b&&Q(sl,A[3].q.b),A[3].q.m==3?Ve?(Ve.p(A,ee),ee[0]&8&&P(Ve,1)):(Ve=Ra(A),Ve.c(),P(Ve,1),Ve.m(l,gs)):Ve&&(Me(),I(Ve,1,1,()=>{Ve=null}),Ae()),ee[0]&8&&(bs=A[3].p.r.startsWith("10YNO")||A[3].p.r=="10Y1001A1001A48H"),bs?Ke?(Ke.p(A,ee),ee[0]&8&&P(Ke,1)):(Ke=La(A),Ke.c(),P(Ke,1),Ke.m(l,ks)):Ke&&(Me(),I(Ke,1,1,()=>{Ke=null}),Ae()),ee[0]&136){Ln=A[7];let wt;for(wt=0;wt20||A[0].chip=="esp8266"?Qe?(Qe.p(A,ee),ee[0]&1&&P(Qe,1)):(Qe=Ua(A),Qe.c(),P(Qe,1),Qe.m(l,ws)):Qe&&(Me(),I(Qe,1,1,()=>{Qe=null}),Ae()),ee[0]&8&&(Et.checked=A[3].d.s),A[3].d.s?ct?ct.p(A,ee):(ct=za(A),ct.c(),ct.m(ht,null)):ct&&(ct.d(1),ct=null);const mt={};ee[0]&2&&(mt.active=A[1]),Ol.$set(mt);const rr={};ee[0]&4&&(rr.active=A[2]),ql.$set(rr);const ar={};ee[0]&16&&(ar.active=A[4]),Ul.$set(ar);const fr={};ee[0]&32&&(fr.active=A[5]),Hl.$set(fr)},i(A){Ft||(P(a.$$.fragment,A),P(R.$$.fragment,A),P(ml.$$.fragment,A),P(on.$$.fragment,A),P(_n.$$.fragment,A),P(hn.$$.fragment,A),P(bn.$$.fragment,A),P(Ye),P(Ve),P(Ke),P(In.$$.fragment,A),P(Qe),P(En.$$.fragment,A),P(Ol.$$.fragment,A),P(ql.$$.fragment,A),P(Ul.$$.fragment,A),P(Hl.$$.fragment,A),Ft=!0)},o(A){I(a.$$.fragment,A),I(R.$$.fragment,A),I(ml.$$.fragment,A),I(on.$$.fragment,A),I(_n.$$.fragment,A),I(hn.$$.fragment,A),I(bn.$$.fragment,A),I(Ye),I(Ve),I(Ke),I(In.$$.fragment,A),I(Qe),I(En.$$.fragment,A),I(Ol.$$.fragment,A),I(ql.$$.fragment,A),I(Ul.$$.fragment,A),I(Hl.$$.fragment,A),Ft=!1},d(A){A&&w(e),K(a),K(R),Vt(Qi,A),nt&&nt.d(),it&&it.d(),K(ml),Vt(Zi,A),st&&st.d(),ot&&ot.d(),ut&&ut.d(),K(on),K(_n),K(hn),rt&&rt.d(),K(bn),at&&at.d(),Ye&&Ye.d(),Ve&&Ve.d(),Ke&&Ke.d(),K(In),Vt(ft,A),Qe&&Qe.d(),K(En),ct&&ct.d(),A&&w($s),K(Ol,A),A&&w(Cs),K(ql,A),A&&w(Ss),K(Ul,A),A&&w(Ts),K(Hl,A),Ps=!1,Be(ur)}}}async function vp(){await(await fetch("/reboot",{method:"POST"})).json()}function hp(t,e,l){let{sysinfo:n={}}=e,i=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"}],o=!0,r=!1,a={g:{t:"",h:"",s:0,u:"",p:""},m:{b:2400,p:11,i:!1,d:0,f:0,r:0,e:{e:!1,k:"",a:""},m:{e:!1,w:!1,v:!1,a:!1,c:!1}},w:{s:"",p:"",w:0,z:255,a:!0},n:{m:"",i:"",s:"",g:"",d1:"",d2:"",d:!1,n1:"",n2:"",h:!1},q:{h:"",p:1883,u:"",a:"",b:"",s:{e:!1,c:!1,r:!0,k:!1}},o:{e:"",c:"",u1:"",u2:"",u3:""},t:{t:[0,0,0,0,0,0,0,0,0,0],h:1},p:{e:!1,t:"",r:"",c:"",m:1},d:{s:!1,t:!1,l:5},u:{i:0,e:0,v:0,a:0,r:0,c:0,t:0,p:0,d:0,m:0,s:0},i:{h:null,a:null,l:{p:null,i:!1},r:{r:null,g:null,b:null,i:!1},t:{d:null,a:null},v:{p:null,d:{v:null,g:null},o:null,m:null,b:null}}};sc.subscribe(Ue=>{Ue.version&&(l(3,a=Ue),l(1,o=!1))}),Vm();let f=!1,c=!1;async function p(){if(confirm("Are you sure you want to factory reset the device?")){l(4,f=!0);const Ue=new URLSearchParams;Ue.append("perform","true");let Cl=await(await fetch("/reset",{method:"POST",body:Ue})).json();l(4,f=!1),l(5,c=Cl.success)}}async function _(Ue){l(2,r=!0);const Bn=new FormData(Ue.target),Cl=new URLSearchParams;for(let fl of Bn){const[cl,ml]=fl;Cl.append(cl,ml)}let Vl=await(await fetch("/save",{method:"POST",body:Cl})).json();yt.update(fl=>(fl.booting=Vl.reboot,fl.ui=a.u,fl)),l(2,r=!1),Un("/")}const d=function(){confirm("Are you sure you want to reboot the device?")&&(yt.update(Ue=>(Ue.booting=!0,Ue)),vp())},g=function(){a.q.s.e?a.q.p==1883&&l(3,a.q.p=8883,a):a.q.p==8883&&l(3,a.q.p=1883,a)};let h=44;function b(){a.g.h=this.value,l(3,a)}function $(){a.g.t=et(this),l(3,a)}function k(){a.p.r=et(this),l(3,a)}function S(){a.p.c=et(this),l(3,a)}function M(){a.p.m=ce(this.value),l(3,a)}function D(){a.p.e=this.checked,l(3,a)}function T(){a.p.t=this.value,l(3,a)}function N(){a.g.s=et(this),l(3,a)}function F(){a.g.u=this.value,l(3,a)}function R(){a.g.p=this.value,l(3,a)}function H(){a.m.b=et(this),l(3,a)}function j(){a.m.p=et(this),l(3,a)}function E(){a.m.i=this.checked,l(3,a)}function L(){a.m.d=et(this),l(3,a)}function W(){a.m.f=ce(this.value),l(3,a)}function G(){a.m.r=ce(this.value),l(3,a)}function q(){a.m.e.e=this.checked,l(3,a)}function O(){a.m.e.k=this.value,l(3,a)}function U(){a.m.e.a=this.value,l(3,a)}function X(){a.m.m.e=this.checked,l(3,a)}function z(){a.m.m.w=ce(this.value),l(3,a)}function ne(){a.m.m.v=ce(this.value),l(3,a)}function te(){a.m.m.a=ce(this.value),l(3,a)}function Te(){a.m.m.c=ce(this.value),l(3,a)}function pe(){a.w.s=this.value,l(3,a)}function Ie(){a.w.p=this.value,l(3,a)}function De(){a.w.z=et(this),l(3,a)}function Re(){a.w.w=ce(this.value),l(3,a)}function Ee(){a.w.a=this.checked,l(3,a)}function $e(){a.n.m=et(this),l(3,a)}function ge(){a.n.i=this.value,l(3,a)}function _e(){a.n.s=et(this),l(3,a)}function ae(){a.n.g=this.value,l(3,a)}function fe(){a.n.d1=this.value,l(3,a)}function oe(){a.n.d2=this.value,l(3,a)}function J(){a.n.d=this.checked,l(3,a)}function ie(){a.n.h=this.checked,l(3,a)}function Ce(){a.n.n1=this.value,l(3,a)}function x(){a.q.s.e=this.checked,l(3,a)}function ue(){a.q.h=this.value,l(3,a)}function He(){a.q.p=ce(this.value),l(3,a)}function Se(){a.q.u=this.value,l(3,a)}function de(){a.q.a=this.value,l(3,a)}function ve(){a.q.c=this.value,l(3,a)}function le(){a.q.m=et(this),l(3,a)}function he(){a.q.b=this.value,l(3,a)}function qe(){a.o.e=this.value,l(3,a)}function re(){a.o.c=this.value,l(3,a)}function Pe(){a.o.u1=this.value,l(3,a)}function ai(){a.o.u2=this.value,l(3,a)}function fi(){a.o.u3=this.value,l(3,a)}function ci(Ue){a.t.t[Ue]=ce(this.value),l(3,a)}function $t(){a.t.h=ce(this.value),l(3,a)}function mi(Ue){a.u[Ue.key]=et(this),l(3,a)}function Qt(){a.i.h=et(this),l(3,a)}function pi(){a.i.a=ce(this.value),l(3,a)}function _i(){a.i.l.i=this.checked,l(3,a)}function di(){a.i.l.p=ce(this.value),l(3,a)}function tt(){a.i.r.i=this.checked,l(3,a)}function vi(){a.i.r.r=ce(this.value),l(3,a)}function Zt(){a.i.r.g=ce(this.value),l(3,a)}function Yl(){a.i.r.b=ce(this.value),l(3,a)}function pt(){a.i.t.d=ce(this.value),l(3,a)}function hi(){a.i.t.a=ce(this.value),l(3,a)}function gi(){a.i.v.p=ce(this.value),l(3,a)}function bi(){a.i.v.d.v=ce(this.value),l(3,a)}function Jt(){a.i.v.d.g=ce(this.value),l(3,a)}function ki(){a.i.v.o=ce(this.value),l(3,a)}function wi(){a.i.v.m=ce(this.value),l(3,a)}function yi(){a.i.v.b=ce(this.value),l(3,a)}function _t(){a.d.s=this.checked,l(3,a)}function rl(){a.d.t=this.checked,l(3,a)}function al(){a.d.l=et(this),l(3,a)}return t.$$set=Ue=>{"sysinfo"in Ue&&l(0,n=Ue.sysinfo)},t.$$.update=()=>{t.$$.dirty[0]&1&&l(6,h=n.chip=="esp8266"?16:n.chip=="esp32s2"?44:39)},[n,o,r,a,f,c,h,i,p,_,d,g,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q,O,U,X,z,ne,te,Te,pe,Ie,De,Re,Ee,$e,ge,_e,ae,fe,oe,J,ie,Ce,x,ue,He,Se,de,ve,le,he,qe,re,Pe,ai,fi,ci,$t,mi,Qt,pi,_i,di,tt,vi,Zt,Yl,pt,hi,gi,bi,Jt,ki,wi,yi,_t,rl,al]}class gp extends ye{constructor(e){super(),we(this,e,hp,dp,ke,{sysinfo:0},null,[-1,-1,-1,-1])}}function Va(t,e,l){const n=t.slice();return n[20]=e[l],n}function bp(t){let e=me(t[1].chip,t[1].board)+"",l;return{c(){l=C(e)},m(n,i){y(n,l,i)},p(n,i){i&2&&e!==(e=me(n[1].chip,n[1].board)+"")&&B(l,e)},d(n){n&&w(l)}}}function Ka(t){let e,l,n=t[1].apmac+"",i;return{c(){e=m("div"),l=C("AP MAC: "),i=C(n),u(e,"class","my-2")},m(o,r){y(o,e,r),s(e,l),s(e,i)},p(o,r){r&2&&n!==(n=o[1].apmac+"")&&B(i,n)},d(o){o&&w(e)}}}function kp(t){let e;return{c(){e=m("span"),e.textContent="Update consents",u(e,"class","btn-pri-sm")},m(l,n){y(l,e,n)},p:se,d(l){l&&w(e)}}}function Qa(t){let e,l,n,i,o,r=rs(t[1].meter.mfg)+"",a,f,c,p,_=t[1].meter.model+"",d,g,h,b,$=t[1].meter.id+"",k;return{c(){e=m("div"),l=m("strong"),l.textContent="Meter",n=v(),i=m("div"),o=C("Manufacturer: "),a=C(r),f=v(),c=m("div"),p=C("Model: "),d=C(_),g=v(),h=m("div"),b=C("ID: "),k=C($),u(l,"class","text-sm"),u(i,"class","my-2"),u(c,"class","my-2"),u(h,"class","my-2"),u(e,"class","cnt")},m(S,M){y(S,e,M),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,f),s(e,c),s(c,p),s(c,d),s(e,g),s(e,h),s(h,b),s(h,k)},p(S,M){M&2&&r!==(r=rs(S[1].meter.mfg)+"")&&B(a,r),M&2&&_!==(_=S[1].meter.model+"")&&B(d,_),M&2&&$!==($=S[1].meter.id+"")&&B(k,$)},d(S){S&&w(e)}}}function Za(t){let e,l,n,i,o,r=t[1].net.ip+"",a,f,c,p,_=t[1].net.mask+"",d,g,h,b,$=t[1].net.gw+"",k,S,M,D,T=t[1].net.dns1+"",N,F,R=t[1].net.dns2&&Ja(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Network",n=v(),i=m("div"),o=C("IP: "),a=C(r),f=v(),c=m("div"),p=C("Mask: "),d=C(_),g=v(),h=m("div"),b=C("Gateway: "),k=C($),S=v(),M=m("div"),D=C("DNS: "),N=C(T),F=v(),R&&R.c(),u(l,"class","text-sm"),u(i,"class","my-2"),u(c,"class","my-2"),u(h,"class","my-2"),u(M,"class","my-2"),u(e,"class","cnt")},m(H,j){y(H,e,j),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,f),s(e,c),s(c,p),s(c,d),s(e,g),s(e,h),s(h,b),s(h,k),s(e,S),s(e,M),s(M,D),s(M,N),s(M,F),R&&R.m(M,null)},p(H,j){j&2&&r!==(r=H[1].net.ip+"")&&B(a,r),j&2&&_!==(_=H[1].net.mask+"")&&B(d,_),j&2&&$!==($=H[1].net.gw+"")&&B(k,$),j&2&&T!==(T=H[1].net.dns1+"")&&B(N,T),H[1].net.dns2?R?R.p(H,j):(R=Ja(H),R.c(),R.m(M,null)):R&&(R.d(1),R=null)},d(H){H&&w(e),R&&R.d()}}}function Ja(t){let e,l=t[1].net.dns2+"",n;return{c(){e=C("/ "),n=C(l)},m(i,o){y(i,e,o),y(i,n,o)},p(i,o){o&2&&l!==(l=i[1].net.dns2+"")&&B(n,l)},d(i){i&&w(e),i&&w(n)}}}function Xa(t){let e,l,n,i=t[2].tag_name+"",o,r,a,f,c,p,_=(t[1].security==0||t[0].a)&&t[1].fwconsent===1&&t[2]&&t[2].tag_name&&xa(t),d=t[1].fwconsent===2&&ef();return{c(){e=m("div"),l=C(`Latest version: - `),n=m("a"),o=C(i),a=v(),_&&_.c(),f=v(),d&&d.c(),c=We(),u(n,"href",r=t[2].html_url),u(n,"class","ml-2 text-blue-600 hover:text-blue-800"),u(n,"target","_blank"),u(n,"rel","noreferrer"),u(e,"class","my-2 flex")},m(g,h){y(g,e,h),s(e,l),s(e,n),s(n,o),s(e,a),_&&_.m(e,null),y(g,f,h),d&&d.m(g,h),y(g,c,h),p=!0},p(g,h){(!p||h&4)&&i!==(i=g[2].tag_name+"")&&B(o,i),(!p||h&4&&r!==(r=g[2].html_url))&&u(n,"href",r),(g[1].security==0||g[0].a)&&g[1].fwconsent===1&&g[2]&&g[2].tag_name?_?(_.p(g,h),h&7&&P(_,1)):(_=xa(g),_.c(),P(_,1),_.m(e,null)):_&&(Me(),I(_,1,1,()=>{_=null}),Ae()),g[1].fwconsent===2?d||(d=ef(),d.c(),d.m(c.parentNode,c)):d&&(d.d(1),d=null)},i(g){p||(P(_),p=!0)},o(g){I(_),p=!1},d(g){g&&w(e),_&&_.d(),g&&w(f),d&&d.d(g),g&&w(c)}}}function xa(t){let e,l,n,i,o,r;return n=new nc({}),{c(){e=m("div"),l=m("button"),Z(n.$$.fragment),u(e,"class","flex-none ml-2 text-green-500"),u(e,"title","Install this version")},m(a,f){y(a,e,f),s(e,l),V(n,l,null),i=!0,o||(r=Y(l,"click",t[10]),o=!0)},p:se,i(a){i||(P(n.$$.fragment,a),i=!0)},o(a){I(n.$$.fragment,a),i=!1},d(a){a&&w(e),K(n),o=!1,r()}}}function ef(t){let e;return{c(){e=m("div"),e.innerHTML='
You have disabled one-click firmware upgrade, link to self-upgrade is disabled
',u(e,"class","my-2")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function tf(t){let e,l=as(me(t[1].chip,t[1].board))+"",n;return{c(){e=m("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&2&&l!==(l=as(me(i[1].chip,i[1].board))+"")&&B(n,l)},d(i){i&&w(e)}}}function lf(t){let e,l,n,i,o,r;function a(p,_){return p[4].length==0?yp:wp}let f=a(t),c=f(t);return{c(){e=m("div"),l=m("form"),n=m("input"),i=v(),c.c(),bf(n,"display","none"),u(n,"name","file"),u(n,"type","file"),u(n,"accept",".bin"),u(l,"action","/firmware"),u(l,"enctype","multipart/form-data"),u(l,"method","post"),u(l,"autocomplete","off"),u(e,"class","my-2 flex")},m(p,_){y(p,e,_),s(e,l),s(l,n),t[12](n),s(l,i),c.m(l,null),o||(r=[Y(n,"change",t[13]),Y(l,"submit",t[15])],o=!0)},p(p,_){f===(f=a(p))&&c?c.p(p,_):(c.d(1),c=f(p),c&&(c.c(),c.m(l,null)))},d(p){p&&w(e),t[12](null),c.d(),o=!1,Be(r)}}}function wp(t){let e=t[4][0].name+"",l,n,i;return{c(){l=C(e),n=v(),i=m("button"),i.textContent="Upload",u(i,"type","submit"),u(i,"class","btn-pri-sm float-right")},m(o,r){y(o,l,r),y(o,n,r),y(o,i,r)},p(o,r){r&16&&e!==(e=o[4][0].name+"")&&B(l,e)},d(o){o&&w(l),o&&w(n),o&&w(i)}}}function yp(t){let e,l,n;return{c(){e=m("button"),e.textContent="Select firmware file for upgrade",u(e,"type","button"),u(e,"class","btn-pri-sm float-right")},m(i,o){y(i,e,o),l||(n=Y(e,"click",t[14]),l=!0)},p:se,d(i){i&&w(e),l=!1,n()}}}function nf(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b=t[9],$=[];for(let T=0;T Include Secrets
(SSID, PSK, passwords and tokens)',f=v(),k&&k.c(),c=v(),p=m("form"),_=m("input"),d=v(),D.c(),u(l,"class","text-sm"),u(a,"class","my-1 mx-3 col-span-2"),u(o,"class","grid grid-cols-2"),u(i,"method","get"),u(i,"action","/configfile.cfg"),u(i,"autocomplete","off"),bf(_,"display","none"),u(_,"name","file"),u(_,"type","file"),u(_,"accept",".cfg"),u(p,"action","/configfile"),u(p,"enctype","multipart/form-data"),u(p,"method","post"),u(p,"autocomplete","off"),u(e,"class","cnt")},m(T,N){y(T,e,N),s(e,l),s(e,n),s(e,i),s(i,o);for(let F=0;F<$.length;F+=1)$[F].m(o,null);s(o,r),s(o,a),s(i,f),k&&k.m(i,null),s(e,c),s(e,p),s(p,_),t[16](_),s(p,d),D.m(p,null),g||(h=[Y(_,"change",t[17]),Y(p,"submit",t[19])],g=!0)},p(T,N){if(N&512){b=T[9];let F;for(F=0;F{oe=null}),Ae()),ue&3&&(ne=(x[1].security==0||x[0].a)&&Hn(x[1].board)),ne?J?J.p(x,ue):(J=tf(x),J.c(),J.m(E,te)):J&&(J.d(1),J=null),x[1].security==0||x[0].a?ie?ie.p(x,ue):(ie=lf(x),ie.c(),ie.m(E,null)):ie&&(ie.d(1),ie=null),x[1].security==0||x[0].a?Ce?Ce.p(x,ue):(Ce=nf(x),Ce.c(),Ce.m(e,null)):Ce&&(Ce.d(1),Ce=null);const de={};ue&32&&(de.active=x[5]),Ie.$set(de);const ve={};ue&256&&(ve.active=x[8]),Re.$set(ve)},i(x){Ee||(P(d.$$.fragment,x),P(T.$$.fragment,x),P(oe),P(Ie.$$.fragment,x),P(Re.$$.fragment,x),Ee=!0)},o(x){I(d.$$.fragment,x),I(T.$$.fragment,x),I(oe),I(Ie.$$.fragment,x),I(Re.$$.fragment,x),Ee=!1},d(x){x&&w(e),K(d),_e&&_e.d(),K(T),ae&&ae.d(),fe&&fe.d(),oe&&oe.d(),J&&J.d(),ie&&ie.d(),Ce&&Ce.d(),x&&w(pe),K(Ie,x),x&&w(De),K(Re,x),$e=!1,ge()}}}async function Tp(){await(await fetch("/reboot",{method:"POST"})).json()}function Pp(t,e,l){let{data:n}=e,{sysinfo:i}=e,o=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"Domoticz",key:"id"},{name:"NTP",key:"in"},{name:"Price API",key:"is"}],r={};io.subscribe(F=>{l(2,r=lc(i.version,F)),r||l(2,r=F[0])});function a(){confirm("Do you want to upgrade this device to "+r.tag_name+"?")&&(i.board!=2&&i.board!=4&&i.board!=7||confirm(as(me(i.chip,i.board))))&&(yt.update(F=>(F.upgrading=!0,F)),tc())}const f=function(){confirm("Are you sure you want to reboot the device?")&&(yt.update(F=>(F.booting=!0,F)),Tp())};let c,p=[],_=!1,d,g=[],h=!1;to();function b(F){os[F?"unshift":"push"](()=>{c=F,l(3,c)})}function $(){p=this.files,l(4,p)}const k=()=>{c.click()},S=()=>l(5,_=!0);function M(F){os[F?"unshift":"push"](()=>{d=F,l(6,d)})}function D(){g=this.files,l(7,g)}const T=()=>{d.click()},N=()=>l(8,h=!0);return t.$$set=F=>{"data"in F&&l(0,n=F.data),"sysinfo"in F&&l(1,i=F.sysinfo)},[n,i,r,c,p,_,d,g,h,o,a,f,b,$,k,S,M,D,T,N]}class Mp extends ye{constructor(e){super(),we(this,e,Pp,Sp,ke,{data:0,sysinfo:1})}}function uf(t){let e,l,n=me(t[0],7)+"",i,o,r=me(t[0],5)+"",a,f,c=me(t[0],4)+"",p,_,d=me(t[0],3)+"",g,h,b,$,k=me(t[0],2)+"",S,M,D=me(t[0],1)+"",T,N,F=me(t[0],0)+"",R,H,j,E,L=me(t[0],101)+"",W,G,q=me(t[0],100)+"",O;return{c(){e=m("optgroup"),l=m("option"),i=C(n),o=m("option"),a=C(r),f=m("option"),p=C(c),_=m("option"),g=C(d),h=v(),b=m("optgroup"),$=m("option"),S=C(k),M=m("option"),T=C(D),N=m("option"),R=C(F),H=v(),j=m("optgroup"),E=m("option"),W=C(L),G=m("option"),O=C(q),l.__value=7,l.value=l.__value,o.__value=5,o.value=o.__value,f.__value=4,f.value=f.__value,_.__value=3,_.value=_.__value,u(e,"label","amsleser.no"),$.__value=2,$.value=$.__value,M.__value=1,M.value=M.__value,N.__value=0,N.value=N.__value,u(b,"label","Custom hardware"),E.__value=101,E.value=E.__value,G.__value=100,G.value=G.__value,u(j,"label","Generic hardware")},m(U,X){y(U,e,X),s(e,l),s(l,i),s(e,o),s(o,a),s(e,f),s(f,p),s(e,_),s(_,g),y(U,h,X),y(U,b,X),s(b,$),s($,S),s(b,M),s(M,T),s(b,N),s(N,R),y(U,H,X),y(U,j,X),s(j,E),s(E,W),s(j,G),s(G,O)},p(U,X){X&1&&n!==(n=me(U[0],7)+"")&&B(i,n),X&1&&r!==(r=me(U[0],5)+"")&&B(a,r),X&1&&c!==(c=me(U[0],4)+"")&&B(p,c),X&1&&d!==(d=me(U[0],3)+"")&&B(g,d),X&1&&k!==(k=me(U[0],2)+"")&&B(S,k),X&1&&D!==(D=me(U[0],1)+"")&&B(T,D),X&1&&F!==(F=me(U[0],0)+"")&&B(R,F),X&1&&L!==(L=me(U[0],101)+"")&&B(W,L),X&1&&q!==(q=me(U[0],100)+"")&&B(O,q)},d(U){U&&w(e),U&&w(h),U&&w(b),U&&w(H),U&&w(j)}}}function rf(t){let e,l,n=me(t[0],201)+"",i,o,r=me(t[0],202)+"",a,f,c=me(t[0],203)+"",p,_,d=me(t[0],200)+"",g;return{c(){e=m("optgroup"),l=m("option"),i=C(n),o=m("option"),a=C(r),f=m("option"),p=C(c),_=m("option"),g=C(d),l.__value=201,l.value=l.__value,o.__value=202,o.value=o.__value,f.__value=203,f.value=f.__value,_.__value=200,_.value=_.__value,u(e,"label","Generic hardware")},m(h,b){y(h,e,b),s(e,l),s(l,i),s(e,o),s(o,a),s(e,f),s(f,p),s(e,_),s(_,g)},p(h,b){b&1&&n!==(n=me(h[0],201)+"")&&B(i,n),b&1&&r!==(r=me(h[0],202)+"")&&B(a,r),b&1&&c!==(c=me(h[0],203)+"")&&B(p,c),b&1&&d!==(d=me(h[0],200)+"")&&B(g,d)},d(h){h&&w(e)}}}function af(t){let e,l,n=me(t[0],7)+"",i,o,r=me(t[0],6)+"",a,f,c=me(t[0],5)+"",p,_,d,g,h=me(t[0],51)+"",b,$,k=me(t[0],50)+"",S;return{c(){e=m("optgroup"),l=m("option"),i=C(n),o=m("option"),a=C(r),f=m("option"),p=C(c),_=v(),d=m("optgroup"),g=m("option"),b=C(h),$=m("option"),S=C(k),l.__value=7,l.value=l.__value,o.__value=6,o.value=o.__value,f.__value=5,f.value=f.__value,u(e,"label","amsleser.no"),g.__value=51,g.value=g.__value,$.__value=50,$.value=$.__value,u(d,"label","Generic hardware")},m(M,D){y(M,e,D),s(e,l),s(l,i),s(e,o),s(o,a),s(e,f),s(f,p),y(M,_,D),y(M,d,D),s(d,g),s(g,b),s(d,$),s($,S)},p(M,D){D&1&&n!==(n=me(M[0],7)+"")&&B(i,n),D&1&&r!==(r=me(M[0],6)+"")&&B(a,r),D&1&&c!==(c=me(M[0],5)+"")&&B(p,c),D&1&&h!==(h=me(M[0],51)+"")&&B(b,h),D&1&&k!==(k=me(M[0],50)+"")&&B(S,k)},d(M){M&&w(e),M&&w(_),M&&w(d)}}}function ff(t){let e,l,n=me(t[0],71)+"",i,o,r=me(t[0],70)+"",a;return{c(){e=m("optgroup"),l=m("option"),i=C(n),o=m("option"),a=C(r),l.__value=71,l.value=l.__value,o.__value=70,o.value=o.__value,u(e,"label","Generic hardware")},m(f,c){y(f,e,c),s(e,l),s(l,i),s(e,o),s(o,a)},p(f,c){c&1&&n!==(n=me(f[0],71)+"")&&B(i,n),c&1&&r!==(r=me(f[0],70)+"")&&B(a,r)},d(f){f&&w(e)}}}function cf(t){let e,l,n=me(t[0],200)+"",i;return{c(){e=m("optgroup"),l=m("option"),i=C(n),l.__value=200,l.value=l.__value,u(e,"label","Generic hardware")},m(o,r){y(o,e,r),s(e,l),s(l,i)},p(o,r){r&1&&n!==(n=me(o[0],200)+"")&&B(i,n)},d(o){o&&w(e)}}}function Ap(t){let e,l,n,i,o,r,a,f=t[0]=="esp8266"&&uf(t),c=t[0]=="esp32"&&rf(t),p=t[0]=="esp32s2"&&af(t),_=t[0]=="esp32c3"&&ff(t),d=t[0]=="esp32solo"&&cf(t);return{c(){e=m("option"),l=v(),f&&f.c(),n=v(),c&&c.c(),i=v(),p&&p.c(),o=v(),_&&_.c(),r=v(),d&&d.c(),a=We(),e.__value=-1,e.value=e.__value},m(g,h){y(g,e,h),y(g,l,h),f&&f.m(g,h),y(g,n,h),c&&c.m(g,h),y(g,i,h),p&&p.m(g,h),y(g,o,h),_&&_.m(g,h),y(g,r,h),d&&d.m(g,h),y(g,a,h)},p(g,[h]){g[0]=="esp8266"?f?f.p(g,h):(f=uf(g),f.c(),f.m(n.parentNode,n)):f&&(f.d(1),f=null),g[0]=="esp32"?c?c.p(g,h):(c=rf(g),c.c(),c.m(i.parentNode,i)):c&&(c.d(1),c=null),g[0]=="esp32s2"?p?p.p(g,h):(p=af(g),p.c(),p.m(o.parentNode,o)):p&&(p.d(1),p=null),g[0]=="esp32c3"?_?_.p(g,h):(_=ff(g),_.c(),_.m(r.parentNode,r)):_&&(_.d(1),_=null),g[0]=="esp32solo"?d?d.p(g,h):(d=cf(g),d.c(),d.m(a.parentNode,a)):d&&(d.d(1),d=null)},i:se,o:se,d(g){g&&w(e),g&&w(l),f&&f.d(g),g&&w(n),c&&c.d(g),g&&w(i),p&&p.d(g),g&&w(o),_&&_.d(g),g&&w(r),d&&d.d(g),g&&w(a)}}}function Np(t,e,l){let{chip:n}=e;return t.$$set=i=>{"chip"in i&&l(0,n=i.chip)},[n]}class Ip extends ye{constructor(e){super(),we(this,e,Np,Ap,ke,{chip:0})}}function mf(t){let e;return{c(){e=m("div"),e.textContent="WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor",u(e,"class","bd-red")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function pf(t){let e,l,n,i,o,r,a;return r=new oc({props:{chip:t[0].chip}}),{c(){e=m("div"),l=C("HAN GPIO"),n=m("br"),i=v(),o=m("select"),Z(r.$$.fragment),u(o,"name","vh"),u(o,"class","in-s"),u(e,"class","my-3")},m(f,c){y(f,e,c),s(e,l),s(e,n),s(e,i),s(e,o),V(r,o,null),a=!0},p(f,c){const p={};c&1&&(p.chip=f[0].chip),r.$set(p)},i(f){a||(P(r.$$.fragment,f),a=!0)},o(f){I(r.$$.fragment,f),a=!1},d(f){f&&w(e),K(r)}}}function Dp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G=t[0].usrcfg&&mf();h=new Ip({props:{chip:t[0].chip}});let q=t[0].board&&t[0].board>20&&pf(t);return j=new gt({props:{active:t[1],message:"Saving device configuration"}}),{c(){e=m("div"),l=m("div"),n=m("form"),i=m("input"),o=v(),r=m("strong"),r.textContent="Initial configuration",a=v(),G&&G.c(),f=v(),c=m("div"),p=C("Board type"),_=m("br"),d=v(),g=m("select"),Z(h.$$.fragment),b=v(),q&&q.c(),$=v(),k=m("div"),S=m("label"),M=m("input"),D=C(" Clear all other configuration"),T=v(),N=m("div"),N.innerHTML='',F=v(),R=m("span"),R.textContent="\xA0",H=v(),Z(j.$$.fragment),u(i,"type","hidden"),u(i,"name","v"),i.value="true",u(r,"class","text-sm"),u(g,"name","vb"),u(g,"class","in-s"),t[0].board===void 0&&ze(()=>t[4].call(g)),u(c,"class","my-3"),u(M,"type","checkbox"),u(M,"name","vr"),M.__value="true",M.value=M.__value,u(M,"class","rounded mb-1"),u(k,"class","my-3"),u(N,"class","my-3"),u(R,"class","clear-both"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2")},m(O,U){y(O,e,U),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),G&&G.m(n,null),s(n,f),s(n,c),s(c,p),s(c,_),s(c,d),s(c,g),V(h,g,null),Fe(g,t[0].board),s(n,b),q&&q.m(n,null),s(n,$),s(n,k),s(k,S),s(S,M),M.checked=t[2],s(S,D),s(n,T),s(n,N),s(n,F),s(n,R),y(O,H,U),V(j,O,U),E=!0,L||(W=[Y(g,"change",t[4]),Y(M,"change",t[5]),Y(n,"submit",fs(t[3]))],L=!0)},p(O,[U]){O[0].usrcfg?G||(G=mf(),G.c(),G.m(n,f)):G&&(G.d(1),G=null);const X={};U&1&&(X.chip=O[0].chip),h.$set(X),U&1&&Fe(g,O[0].board),O[0].board&&O[0].board>20?q?(q.p(O,U),U&1&&P(q,1)):(q=pf(O),q.c(),P(q,1),q.m(n,$)):q&&(Me(),I(q,1,1,()=>{q=null}),Ae()),U&4&&(M.checked=O[2]);const z={};U&2&&(z.active=O[1]),j.$set(z)},i(O){E||(P(h.$$.fragment,O),P(q),P(j.$$.fragment,O),E=!0)},o(O){I(h.$$.fragment,O),I(q),I(j.$$.fragment,O),E=!1},d(O){O&&w(e),G&&G.d(),K(h),q&&q.d(),O&&w(H),K(j,O),L=!1,Be(W)}}}function Ep(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(c){l(1,i=!0);const p=new FormData(c.target),_=new URLSearchParams;for(let h of p){const[b,$]=h;_.append(b,$)}let g=await(await fetch("/save",{method:"POST",body:_})).json();l(1,i=!1),yt.update(h=>(h.vndcfg=g.success,h.booting=g.reboot,h)),Un(n.usrcfg?"/":"/setup")}let r=!1;function a(){n.board=et(this),l(0,n)}function f(){r=this.checked,l(2,r),l(0,n)}return t.$$set=c=>{"sysinfo"in c&&l(0,n=c.sysinfo)},t.$$.update=()=>{t.$$.dirty&1&&l(2,r=!n.usrcfg)},[n,i,r,o,a,f]}class Fp extends ye{constructor(e){super(),we(this,e,Ep,Dp,ke,{sysinfo:0})}}function _f(t){let e,l,n,i,o,r,a,f;return a=new uc({}),{c(){e=m("br"),l=v(),n=m("div"),i=m("input"),o=v(),r=m("select"),Z(a.$$.fragment),u(i,"name","si"),u(i,"type","text"),u(i,"class","in-f w-full"),i.required=t[1],u(r,"name","su"),u(r,"class","in-l"),r.required=t[1],u(n,"class","flex")},m(c,p){y(c,e,p),y(c,l,p),y(c,n,p),s(n,i),s(n,o),s(n,r),V(a,r,null),f=!0},p(c,p){(!f||p&2)&&(i.required=c[1]),(!f||p&2)&&(r.required=c[1])},i(c){f||(P(a.$$.fragment,c),f=!0)},o(c){I(a.$$.fragment,c),f=!1},d(c){c&&w(e),c&&w(l),c&&w(n),K(a)}}}function df(t){let e;return{c(){e=m("div"),e.innerHTML=`
Gateway
+Occurred in: ${i}`:"",r=eo(t),a=$f(e)?e(r):e;return`<${r}> ${a}${o}`}const Lf=t=>(...e)=>t(Lc(...e)),Of=Lf(t=>{throw new Error(t)}),rs=Lf(console.warn),vr=4,Oc=3,qc=2,Uc=1,Hc=1;function jc(t,e){const l=t.default?0:Qt(t.fullPath).reduce((n,i)=>{let o=n;return o+=vr,Pc(i)?o+=Hc:Mc(i)?o+=qc:Nf(i)?o-=vr+Uc:o+=Oc,o},0);return{route:t,score:l,index:e}}function Wc(t){return t.map(jc).sort((e,l)=>e.scorel.score?-1:e.index-l.index)}function qf(t,e){let l,n;const[i]=e.split("?"),o=Qt(i),r=o[0]==="",a=Wc(t);for(let c=0,f=a.length;c({...m,params:h,uri:k});if(m.default){n=g(e);continue}const d=Qt(m.fullPath),b=Math.max(o.length,d.length);let $=0;for(;${f===".."?c.pop():f!=="."&&c.push(f)}),Ns(`/${c.join("/")}`,n)}function hr(t,e){const{pathname:l,hash:n="",search:i="",state:o}=t,r=Qt(e,!0),a=Qt(l,!0);for(;r.length;)r[0]!==a[0]&&Of(Bl,`Invalid state: All locations must begin with the basepath "${e}", found "${l}"`),r.shift(),a.shift();return{pathname:ui(...a),hash:n,search:i,state:o}}const gr=t=>t.length===1?"":t,to=t=>{const e=t.indexOf("?"),l=t.indexOf("#"),n=e!==-1,i=l!==-1,o=i?gr(ti(t,l)):"",r=i?ti(t,0,l):t,a=n?gr(ti(r,e)):"";return{pathname:(n?ti(r,0,e):r)||"/",search:a,hash:o}},Bc=t=>{const{pathname:e,search:l,hash:n}=t;return e+l+n};function zc(t,e,l){return ui(l,Gc(t,e))}function Yc(t,e){const l=Xs(Ac(t)),n=Qt(l,!0),i=Qt(e,!0).slice(0,n.length),o=Uf({fullPath:l},ui(...i));return o&&o.uri}const Is="POP",Vc="PUSH",Kc="REPLACE";function Ds(t){return{...t.location,pathname:encodeURI(decodeURI(t.location.pathname)),state:t.history.state,_key:t.history.state&&t.history.state._key||"initial"}}function Qc(t){let e=[],l=Ds(t),n=Is;const i=(o=e)=>o.forEach(r=>r({location:l,action:n}));return{get location(){return l},listen(o){e.push(o);const r=()=>{l=Ds(t),n=Is,i([o])};i([o]);const a=Tf(t,"popstate",r);return()=>{a(),e=e.filter(c=>c!==o)}},navigate(o,r){const{state:a={},replace:c=!1}=r||{};if(n=c?Kc:Vc,Cf(o))r&&rs(Rf,"Navigation options (state or replace) are not supported, when passing a number as the first argument to navigate. They are ignored."),n=Is,t.history.go(o);else{const f={...a,_key:$c()};try{t.history[c?"replaceState":"pushState"](f,"",o)}catch{t.location[c?"replace":"assign"](o)}}l=Ds(t),i()}}}function Es(t,e){return{...to(e),state:t}}function Zc(t="/"){let e=0,l=[Es(null,t)];return{get entries(){return l},get location(){return l[e]},addEventListener(){},removeEventListener(){},history:{get state(){return l[e].state},pushState(n,i,o){e++,l=l.slice(0,e),l.push(Es(n,o))},replaceState(n,i,o){l[e]=Es(n,o)},go(n){const i=e+n;i<0||i>l.length-1||(e=i)}}}}const Jc=!!(!yl&&window.document&&window.document.createElement),Xc=!yl&&window.location.origin==="null",Hf=Qc(Jc&&!Xc?window:Zc()),{navigate:qn}=Hf;let rl=null,jf=!0;function xc(t,e){const l=document.querySelectorAll("[data-svnav-router]");for(let n=0;nrl.level||t.level===rl.level&&xc(t.routerId,rl.routerId))&&(rl=t)}function t1(){rl=null}function l1(){jf=!1}function br(t){if(!t)return!1;const e="tabindex";try{if(!t.hasAttribute(e)){t.setAttribute(e,"-1");let l;l=Tf(t,"blur",()=>{t.removeAttribute(e),l()})}return t.focus(),document.activeElement===t}catch{return!1}}function n1(t,e){return Number(t.dataset.svnavRouteEnd)===e}function i1(t){return/^H[1-6]$/i.test(t.tagName)}function kr(t,e=document){return e.querySelector(t)}function s1(t){let l=kr(`[data-svnav-route-start="${t}"]`).nextElementSibling;for(;!n1(l,t);){if(i1(l))return l;const n=kr("h1,h2,h3,h4,h5,h6",l);if(n)return n;l=l.nextElementSibling}return null}function o1(t){Promise.resolve(Hn(t.focusElement)).then(e=>{const l=e||s1(t.id);l||rs(Bl,`Could not find an element to focus. You should always render a header for accessibility reasons, or set a custom focus element via the "useFocus" hook. If you don't want this Route or Router to manage focus, pass "primary={false}" to it.`,t,ps),!br(l)&&br(document.documentElement)})}const u1=(t,e,l)=>(n,i)=>bc().then(()=>{if(!rl||jf){l1();return}if(n&&o1(rl.route),t.announcements&&i){const{path:o,fullPath:r,meta:a,params:c,uri:f}=rl.route,m=t.createAnnouncement({path:o,fullPath:r,meta:a,params:c,uri:f},Hn(l));Promise.resolve(m).then(_=>{e.set(_)})}t1()}),wr="position:fixed;top:-1px;left:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;";function r1(t){let e,l,n=[{role:"status"},{"aria-atomic":"true"},{"aria-live":"polite"},{"data-svnav-announcer":""},Ls(t[6],wr)],i={};for(let o=0;o`Navigated to ${le.uri}`,announcements:!0,...d},k=m,S=Xs(m),A=wl(Os),E=wl(Wn),T=!A,N=f1(),D=g&&!(E&&!E.manageFocus),R=Ze("");zt(t,R,le=>l(0,a=le));const W=E?E.disableInlineStyles:b,H=Ze([]);zt(t,H,le=>l(20,r=le));const F=Ze(null);zt(t,F,le=>l(18,i=le));let L=!1;const j=T?0:E.level+1,q=T?Ze((()=>hr(yl?to(_):h.location,S))()):A;zt(t,q,le=>l(17,n=le));const O=Ze(n);zt(t,O,le=>l(19,o=le));const U=u1($,R,q),x=le=>_e=>_e.filter(Ce=>Ce.id!==le);function X(le){if(yl){if(L)return;const _e=Uf(le,n.pathname);if(_e)return L=!0,_e}else H.update(_e=>{const Ce=x(le.id)(_e);return Ce.push(le),Ce})}function ne(le){H.update(x(le))}return!T&&m!==yr&&rs(Bl,'Only top-level Routers can have a "basepath" prop. It is ignored.',{basepath:m}),T&&(vc(()=>h.listen(_e=>{const Ce=hr(_e.location,S);O.set(n),q.set(Ce)})),ni(Os,q)),ni(Wn,{activeRoute:F,registerRoute:X,unregisterRoute:ne,manageFocus:D,level:j,id:N,history:T?h:E.history,basepath:T?S:E.basepath,disableInlineStyles:W}),t.$$set=le=>{"basepath"in le&&l(11,m=le.basepath),"url"in le&&l(12,_=le.url),"history"in le&&l(13,h=le.history),"primary"in le&&l(14,g=le.primary),"a11y"in le&&l(15,d=le.a11y),"disableInlineStyles"in le&&l(16,b=le.disableInlineStyles),"$$scope"in le&&l(21,f=le.$$scope)},t.$$.update=()=>{if(t.$$.dirty[0]&2048&&m!==k&&rs(Bl,'You cannot change the "basepath" prop. It is ignored.'),t.$$.dirty[0]&1179648){const le=qf(r,n.pathname);F.set(le)}if(t.$$.dirty[0]&655360&&T){const le=!!n.hash,_e=!le&&D,Ce=!le||n.pathname!==o.pathname;U(_e,Ce)}t.$$.dirty[0]&262144&&D&&i&&i.primary&&e1({level:j,routerId:N,route:i})},[a,$,T,N,D,R,W,H,F,q,O,m,_,h,g,d,b,n,i,o,r,f,c]}class Wf extends $e{constructor(e){super(),ye(this,e,c1,a1,ke,{basepath:11,url:12,history:13,primary:14,a11y:15,disableInlineStyles:16},null,[-1,-1])}}function ri(t,e,l=Wn,n=Bl){wl(l)||Of(t,o=>`You cannot use ${o} outside of a ${eo(n)}.`,e)}const p1=t=>{const{subscribe:e}=wl(t);return{subscribe:e}};function Gf(){return ri(Df),p1(Os)}function Bf(){const{history:t}=wl(Wn);return t}function zf(){const t=wl(Mf);return t?Cc(t,e=>e.base):Ze("/")}function Yf(){ri(Ff);const t=zf(),{basepath:e}=wl(Wn);return n=>zc(n,Hn(t),e)}function m1(){ri(Ef);const t=Yf(),{navigate:e}=Bf();return(n,i)=>{const o=Cf(n)?n:t(n);return e(o,i)}}const _1=t=>({params:t&16,location:t&8}),$r=t=>({params:yl?Hn(t[10]):t[4],location:t[3],navigate:t[11]});function Cr(t){let e,l;return e=new Wf({props:{primary:t[1],$$slots:{default:[h1]},$$scope:{ctx:t}}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&2&&(o.primary=n[1]),i&528409&&(o.$$scope={dirty:i,ctx:n}),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function d1(t){let e;const l=t[18].default,n=Ks(l,t,t[19],$r);return{c(){n&&n.c()},m(i,o){n&&n.m(i,o),e=!0},p(i,o){n&&n.p&&(!e||o&524312)&&Zs(n,l,i,i[19],e?Qs(l,i[19],o,_1):Js(i[19]),$r)},i(i){e||(P(n,i),e=!0)},o(i){I(n,i),e=!1},d(i){n&&n.d(i)}}}function v1(t){let e,l,n;const i=[{location:t[3]},{navigate:t[11]},yl?Hn(t[10]):t[4],t[12]];var o=t[0];function r(a){let c={};for(let f=0;f{K(m,1)}),De()}o?(e=new o(r()),J(e.$$.fragment),P(e.$$.fragment,1),V(e,l.parentNode,l)):e=null}else o&&e.$set(f)},i(a){n||(e&&P(e.$$.fragment,a),n=!0)},o(a){e&&I(e.$$.fragment,a),n=!1},d(a){a&&w(l),e&&K(e,a)}}}function h1(t){let e,l,n,i;const o=[v1,d1],r=[];function a(c,f){return c[0]!==null?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=je()},m(c,f){r[e].m(c,f),y(c,n,f),i=!0},p(c,f){let m=e;e=a(c),e===m?r[e].p(c,f):(Ie(),I(r[m],1,1,()=>{r[m]=null}),De(),l=r[e],l?l.p(c,f):(l=r[e]=o[e](c),l.c()),P(l,1),l.m(n.parentNode,n))},i(c){i||(P(l),i=!0)},o(c){I(l),i=!1},d(c){r[e].d(c),c&&w(n)}}}function g1(t){let e,l,n,i,o,r=[On(t[7]),{"data-svnav-route-start":t[5]}],a={};for(let _=0;_{c=null}),De()),Yt(i,m=jn(f,[On(_[7]),{"data-svnav-route-end":_[5]}]))},i(_){o||(P(c),o=!0)},o(_){I(c),o=!1},d(_){_&&w(e),_&&w(l),c&&c.d(_),_&&w(n),_&&w(i)}}}const b1=Sf();function k1(t,e,l){let n;const i=["path","component","meta","primary"];let o=os(e,i),r,a,c,f,{$$slots:m={},$$scope:_}=e,{path:h=""}=e,{component:g=null}=e,{meta:d={}}=e,{primary:b=!0}=e;ri(ps,e);const $=b1(),{registerRoute:k,unregisterRoute:S,activeRoute:A,disableInlineStyles:E}=wl(Wn);zt(t,A,L=>l(16,r=L));const T=zf();zt(t,T,L=>l(17,c=L));const N=Gf();zt(t,N,L=>l(3,a=L));const D=Ze(null);let R;const W=Ze(),H=Ze({});zt(t,H,L=>l(4,f=L)),ni(Mf,W),ni(Sc,H),ni(Tc,D);const F=m1();return yl||hc(()=>S($)),t.$$set=L=>{l(24,e=qt(qt({},e),ss(L))),l(12,o=os(e,i)),"path"in L&&l(13,h=L.path),"component"in L&&l(0,g=L.component),"meta"in L&&l(14,d=L.meta),"primary"in L&&l(1,b=L.primary),"$$scope"in L&&l(19,_=L.$$scope)},t.$$.update=()=>{if(t.$$.dirty&155658){const L=h==="",j=ui(c,h),B={id:$,path:h,meta:d,default:L,fullPath:L?"":j,base:L?c:Yc(j,a.pathname),primary:b,focusElement:D};W.set(B),l(15,R=k(B))}if(t.$$.dirty&98304&&l(2,n=!!(R||r&&r.id===$)),t.$$.dirty&98308&&n){const{params:L}=R||r;H.set(L)}},e=ss(e),[g,b,n,a,f,$,A,E,T,N,H,F,o,h,d,R,r,c,m,_]}class ul extends $e{constructor(e){super(),ye(this,e,k1,g1,ke,{path:13,component:0,meta:14,primary:1})}}function w1(t){let e,l,n,i;const o=t[13].default,r=Ks(o,t,t[12],null);let a=[{href:t[0]},t[2],t[1]],c={};for(let f=0;fl(11,_=D));const A=gc(),E=Yf(),{navigate:T}=Bf();function N(D){A("click",D),yc(D)&&(D.preventDefault(),T(n,{state:$,replace:r||b}))}return t.$$set=D=>{l(19,e=qt(qt({},e),ss(D))),l(18,m=os(e,f)),"to"in D&&l(5,d=D.to),"replace"in D&&l(6,b=D.replace),"state"in D&&l(7,$=D.state),"getProps"in D&&l(8,k=D.getProps),"$$scope"in D&&l(12,g=D.$$scope)},t.$$.update=()=>{t.$$.dirty&2080&&l(0,n=E(d,_)),t.$$.dirty&2049&&l(10,i=qs(_.pathname,n)),t.$$.dirty&2049&&l(9,o=n===_.pathname),t.$$.dirty&2049&&(r=to(n)===Bc(_)),t.$$.dirty&512&&l(2,a=o?{"aria-current":"page"}:{}),l(1,c=(()=>{if($f(k)){const D=k({location:_,href:n,isPartiallyCurrent:i,isCurrent:o});return{...m,...D}}return m})())},e=ss(e),[n,c,a,S,N,d,b,$,k,o,i,_,g,h]}class kl extends $e{constructor(e){super(),ye(this,e,y1,w1,ke,{to:5,replace:6,state:7,getProps:8})}}let Us=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function bl(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function $1(t){return t>218&&t<242?"#32d900":t>212&&t<248?"#b1d900":t>208&&t<252?"#ffb800":"#d90000"}function Vf(t){return t>90?"#d90000":t>85?"#e32100":t>80?"#ffb800":t>75?"#dcd800":"#32d900"}function C1(t){return t>75?"#32d900":t>50?"#77d900":t>25?"#94d900":"#dcd800"}function as(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return""}}function Ee(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function fe(t,e){switch(e){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"\xB5HAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1"}}function Sr(t){switch(t){case-1:return"Parse error";case-2:return"Incomplete data received";case-3:return"Payload boundry flag missing";case-4:return"Header checksum error";case-5:return"Footer checksum error";case-9:return"Unknown data received, check meter config";case-41:return"Frame length not equal";case-51:return"Authentication failed";case-52:return"Decryption failed";case-53:return"Encryption key invalid";case 90:return"No HAN data received last 30s";case 98:return"Exception in code, debugging necessary";case 99:return"Autodetection failed"}return t<0?"Unspecified error "+t:""}function Tr(t){switch(t){case-3:return"Connection failed";case-4:return"Network timeout";case-10:return"Connection denied";case-11:return"Failed to subscribe";case-13:return"Connection lost"}return t<0?"Unspecified error "+t:""}function Pr(t){switch(t){case 401:case 403:return"Unauthorized, check API key";case 404:return"Price unavailable, not found";case 425:return"Server says its too early";case 500:return"Internal server error";case-2:return"Incomplete data received";case-3:return"Invalid data, tag missing";case-51:return"Authentication failed";case-52:return"Decryption failed";case-53:return"Encryption key invalid"}return t<0?"Unspecified error "+t:""}function Un(t){switch(t){case 2:case 4:case 7:return!0}return!1}function He(t,e){return t==1||t==2&&e}function Ot(t){return"https://github.com/UtilitechAS/amsreader-firmware/wiki/"+t}function be(t,e){return isNaN(t)?"-":(isNaN(e)&&(e=t<10?1:0),t.toFixed(e))}async function $l(t,e={}){const{timeout:l=8e3}=e,n=new AbortController,i=setTimeout(()=>n.abort(),l),o=await fetch(t,{...e,signal:n.signal});return clearTimeout(i),o}let Bt={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,trying:null};const $t=Ze(Bt);async function lo(){Bt=await(await $l("/sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),$t.set(Bt)}let ts=0,Mr=-127,Ar=null,S1={};const T1=Pf(S1,t=>{let e;async function l(){$l("/data.json").then(n=>n.json()).then(n=>{t(n),Mr!=n.t&&(Mr=n.t,setTimeout(Jf,2e3)),Ar!=n.p&&(Ar=n.p,setTimeout(P1,4e3)),Bt.upgrading?window.location.reload():(!Bt||!Bt.chip||Bt.booting||ts>1&&!Un(Bt.board))&&(lo(),Wl&&clearTimeout(Wl),Wl=setTimeout(no,2e3),Gl&&clearTimeout(Gl),Gl=setTimeout(io,3e3));let i=5e3;if(Un(Bt.board)&&n.v>2.5){let o=3.3-Math.min(3.3,n.v);o>0&&(i=Math.max(o,.1)*10*5e3)}i>5e3&&console.log("Scheduling next data fetch in "+i+"ms"),e&&clearTimeout(e),e=setTimeout(l,i),ts=0}).catch(n=>{ts++,ts>3?(t({em:3,hm:0,wm:0,mm:0}),e=setTimeout(l,15e3)):e=setTimeout(l,Un(Bt.board)?1e4:5e3)})}return l(),function(){clearTimeout(e)}});let Hs={};const Kf=Ze(Hs);async function P1(){Hs=await(await $l("/energyprice.json")).json(),Kf.set(Hs)}let js={},Wl;async function no(){Wl&&(clearTimeout(Wl),Wl=0),js=await(await $l("/dayplot.json")).json(),Qf.set(js);let e=new Date;Wl=setTimeout(no,(60-e.getMinutes())*6e4+20)}const Qf=Ze(js,t=>(no(),function(){}));let Ws={},Gl;async function io(){Gl&&(clearTimeout(Gl),Gl=0),Ws=await(await $l("/monthplot.json")).json(),Zf.set(Ws);let e=new Date;Gl=setTimeout(io,(24-e.getHours())*36e5+40)}const Zf=Ze(Ws,t=>(io(),function(){}));let Gs={};async function Jf(){Gs=await(await $l("/temperature.json")).json(),Xf.set(Gs)}const Xf=Ze(Gs,t=>(Jf(),function(){}));let Bs={},ls;async function xf(){ls&&(clearTimeout(ls),ls=0),Bs=await(await $l("/tariff.json")).json(),ec.set(Bs);let e=new Date;ls=setTimeout(xf,(60-e.getMinutes())*6e4+30)}const ec=Ze(Bs,t=>function(){});let zs=[];const so=Ze(zs);async function M1(){zs=await(await $l("https://api.github.com/repos/UtilitechAS/amsreader-firmware/releases")).json(),so.set(zs)}function fs(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function tc(){await(await fetch("/upgrade",{method:"POST"})).json()}function lc(t,e){if(/^v\d{1,2}\.\d{1,2}\.\d{1,2}$/.test(t)){let l=t.substring(1).split("."),n=parseInt(l[0]),i=parseInt(l[1]),o=parseInt(l[2]),r=[...e];r.reverse();let a,c,f;for(let m=0;mo&&(a=_):b==i+1&&(c=_);else if(d==n+1)if(f){let k=f.tag_name.substring(1).split(".");parseInt(k[0]);let S=parseInt(k[1]);parseInt(k[2]),b==S&&(f=_)}else f=_}return c||f||a||!1}else return e[0]}const A1="/github.svg";function Nr(t){let e,l;function n(r,a){return r[1]>1?L1:r[1]>0?R1:r[2]>1?F1:r[2]>0?E1:r[3]>1?D1:r[3]>0?I1:N1}let i=n(t),o=i(t);return{c(){e=C(`Up + `),o.c(),l=je()},m(r,a){y(r,e,a),o.m(r,a),y(r,l,a)},p(r,a){i===(i=n(r))&&o?o.p(r,a):(o.d(1),o=i(r),o&&(o.c(),o.m(l.parentNode,l)))},d(r){r&&w(e),o.d(r),r&&w(l)}}}function N1(t){let e,l;return{c(){e=C(t[0]),l=C(" seconds")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&1&&G(e,n[0])},d(n){n&&w(e),n&&w(l)}}}function I1(t){let e,l;return{c(){e=C(t[3]),l=C(" minute")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&8&&G(e,n[3])},d(n){n&&w(e),n&&w(l)}}}function D1(t){let e,l;return{c(){e=C(t[3]),l=C(" minutes")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&8&&G(e,n[3])},d(n){n&&w(e),n&&w(l)}}}function E1(t){let e,l;return{c(){e=C(t[2]),l=C(" hour")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&4&&G(e,n[2])},d(n){n&&w(e),n&&w(l)}}}function F1(t){let e,l;return{c(){e=C(t[2]),l=C(" hours")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&4&&G(e,n[2])},d(n){n&&w(e),n&&w(l)}}}function R1(t){let e,l;return{c(){e=C(t[1]),l=C(" day")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&2&&G(e,n[1])},d(n){n&&w(e),n&&w(l)}}}function L1(t){let e,l;return{c(){e=C(t[1]),l=C(" days")},m(n,i){y(n,e,i),y(n,l,i)},p(n,i){i&2&&G(e,n[1])},d(n){n&&w(e),n&&w(l)}}}function O1(t){let e,l=t[0]&&Nr(t);return{c(){l&&l.c(),e=je()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=Nr(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ie,o:ie,d(n){l&&l.d(n),n&&w(e)}}}function q1(t,e,l){let{epoch:n}=e,i=0,o=0,r=0;return t.$$set=a=>{"epoch"in a&&l(0,n=a.epoch)},t.$$.update=()=>{t.$$.dirty&1&&(l(1,i=Math.floor(n/86400)),l(2,o=Math.floor(n/3600)),l(3,r=Math.floor(n/60)))},[n,i,o,r]}class U1 extends $e{constructor(e){super(),ye(this,e,q1,O1,ke,{epoch:0})}}function H1(t){let e,l,n;return{c(){e=p("span"),l=C(t[2]),u(e,"title",t[1]),u(e,"class",n="bd-"+t[0])},m(i,o){y(i,e,o),s(e,l)},p(i,[o]){o&4&&G(l,i[2]),o&2&&u(e,"title",i[1]),o&1&&n!==(n="bd-"+i[0])&&u(e,"class",n)},i:ie,o:ie,d(i){i&&w(e)}}}function j1(t,e,l){let{color:n}=e,{title:i}=e,{text:o}=e;return t.$$set=r=>{"color"in r&&l(0,n=r.color),"title"in r&&l(1,i=r.title),"text"in r&&l(2,o=r.text)},[n,i,o]}class Vt extends $e{constructor(e){super(),ye(this,e,j1,H1,ke,{color:0,title:1,text:2})}}function W1(t){let e,l=`${Ee(t[0].getDate())}.${Ee(t[0].getMonth())}.${t[0].getFullYear()} ${Ee(t[0].getHours())}:${Ee(t[0].getMinutes())}`,n;return{c(){e=p("span"),n=C(l),u(e,"class","text-red-500")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=`${Ee(i[0].getDate())}.${Ee(i[0].getMonth())}.${i[0].getFullYear()} ${Ee(i[0].getHours())}:${Ee(i[0].getMinutes())}`)&&G(n,l)},d(i){i&&w(e)}}}function G1(t){let e=`${Ee(t[0].getDate())}. ${Us[t[0].getMonth()]} ${Ee(t[0].getHours())}:${Ee(t[0].getMinutes())}`,l;return{c(){l=C(e)},m(n,i){y(n,l,i)},p(n,i){i&1&&e!==(e=`${Ee(n[0].getDate())}. ${Us[n[0].getMonth()]} ${Ee(n[0].getHours())}:${Ee(n[0].getMinutes())}`)&&G(l,e)},d(n){n&&w(l)}}}function B1(t){let e,l;function n(r,a){return a&1&&(e=null),e==null&&(e=Math.abs(new Date().getTime()-r[0].getTime())<3e5),e?G1:W1}let i=n(t,-1),o=i(t);return{c(){o.c(),l=je()},m(r,a){o.m(r,a),y(r,l,a)},p(r,[a]){i===(i=n(r,a))&&o?o.p(r,a):(o.d(1),o=i(r),o&&(o.c(),o.m(l.parentNode,l)))},i:ie,o:ie,d(r){o.d(r),r&&w(l)}}}function z1(t,e,l){let{timestamp:n}=e;return t.$$set=i=>{"timestamp"in i&&l(0,n=i.timestamp)},[n]}class Y1 extends $e{constructor(e){super(),ye(this,e,z1,B1,ke,{timestamp:0})}}function V1(t){let e,l,n;return{c(){e=qe("svg"),l=qe("path"),n=qe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 011.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.56.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.893.149c-.425.07-.765.383-.93.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 01-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.397.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 01-.12-1.45l.527-.737c.25-.35.273-.806.108-1.204-.165-.397-.505-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.107-1.204l-.527-.738a1.125 1.125 0 01.12-1.45l.773-.773a1.125 1.125 0 011.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894z"),u(n,"stroke-linecap","round"),u(n,"stroke-linejoin","round"),u(n,"d","M15 12a3 3 0 11-6 0 3 3 0 016 0z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(i,o){y(i,e,o),s(e,l),s(e,n)},p:ie,i:ie,o:ie,d(i){i&&w(e)}}}class K1 extends $e{constructor(e){super(),ye(this,e,null,V1,ke,{})}}function Q1(t){let e,l;return{c(){e=qe("svg"),l=qe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:ie,i:ie,o:ie,d(n){n&&w(e)}}}class Z1 extends $e{constructor(e){super(),ye(this,e,null,Q1,ke,{})}}function J1(t){let e,l;return{c(){e=qe("svg"),l=qe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:ie,i:ie,o:ie,d(n){n&&w(e)}}}class Lt extends $e{constructor(e){super(),ye(this,e,null,J1,ke,{})}}function X1(t){let e,l;return{c(){e=qe("svg"),l=qe("path"),u(l,"stroke-linecap","round"),u(l,"stroke-linejoin","round"),u(l,"d","M9 8.25H7.5a2.25 2.25 0 00-2.25 2.25v9a2.25 2.25 0 002.25 2.25h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25H15M9 12l3 3m0 0l3-3m-3 3V2.25"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"fill","none"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","1.5"),u(e,"stroke","currentColor"),u(e,"class","w-6 h-6")},m(n,i){y(n,e,i),s(e,l)},p:ie,i:ie,o:ie,d(n){n&&w(e)}}}class nc extends $e{constructor(e){super(),ye(this,e,null,X1,ke,{})}}function x1(t){let e,l,n=t[1].version+"",i;return{c(){e=C("AMS reader "),l=p("span"),i=C(n)},m(o,r){y(o,e,r),y(o,l,r),s(l,i)},p(o,r){r&2&&n!==(n=o[1].version+"")&&G(i,n)},d(o){o&&w(e),o&&w(l)}}}function Ir(t){let e,l=(t[0].t>-50?t[0].t.toFixed(1):"-")+"",n,i;return{c(){e=p("div"),n=C(l),i=C("\xB0C"),u(e,"class","flex-none my-auto")},m(o,r){y(o,e,r),s(e,n),s(e,i)},p(o,r){r&1&&l!==(l=(o[0].t>-50?o[0].t.toFixed(1):"-")+"")&&G(n,l)},d(o){o&&w(e)}}}function Dr(t){let e,l="HAN: "+Sr(t[0].he),n;return{c(){e=p("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="HAN: "+Sr(i[0].he))&&G(n,l)},d(i){i&&w(e)}}}function Er(t){let e,l="MQTT: "+Tr(t[0].me),n;return{c(){e=p("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="MQTT: "+Tr(i[0].me))&&G(n,l)},d(i){i&&w(e)}}}function Fr(t){let e,l="PriceAPI: "+Pr(t[0].ee),n;return{c(){e=p("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="PriceAPI: "+Pr(i[0].ee))&&G(n,l)},d(i){i&&w(e)}}}function Rr(t){let e,l,n,i,o,r;return l=new kl({props:{to:"/configuration",$$slots:{default:[ep]},$$scope:{ctx:t}}}),o=new kl({props:{to:"/status",$$slots:{default:[tp]},$$scope:{ctx:t}}}),{c(){e=p("div"),J(l.$$.fragment),n=v(),i=p("div"),J(o.$$.fragment),u(e,"class","flex-none px-1 mt-1"),u(e,"title","Configuration"),u(i,"class","flex-none px-1 mt-1"),u(i,"title","Device information")},m(a,c){y(a,e,c),V(l,e,null),y(a,n,c),y(a,i,c),V(o,i,null),r=!0},i(a){r||(P(l.$$.fragment,a),P(o.$$.fragment,a),r=!0)},o(a){I(l.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&w(e),K(l),a&&w(n),a&&w(i),K(o)}}}function ep(t){let e,l;return e=new K1({}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function tp(t){let e,l;return e=new Z1({}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Lr(t){let e,l,n,i,o;const r=[np,lp],a=[];function c(f,m){return f[1].security==0||f[0].a?0:1}return l=c(t),n=a[l]=r[l](t),{c(){e=p("div"),n.c(),u(e,"class","flex-none mr-3 text-yellow-500"),u(e,"title",i="New version: "+t[2].tag_name)},m(f,m){y(f,e,m),a[l].m(e,null),o=!0},p(f,m){let _=l;l=c(f),l===_?a[l].p(f,m):(Ie(),I(a[_],1,1,()=>{a[_]=null}),De(),n=a[l],n?n.p(f,m):(n=a[l]=r[l](f),n.c()),P(n,1),n.m(e,null)),(!o||m&4&&i!==(i="New version: "+f[2].tag_name))&&u(e,"title",i)},i(f){o||(P(n),o=!0)},o(f){I(n),o=!1},d(f){f&&w(e),a[l].d()}}}function lp(t){let e,l,n=t[2].tag_name+"",i;return{c(){e=p("span"),l=C("New version: "),i=C(n)},m(o,r){y(o,e,r),s(e,l),s(e,i)},p(o,r){r&4&&n!==(n=o[2].tag_name+"")&&G(i,n)},i:ie,o:ie,d(o){o&&w(e)}}}function np(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,m;return a=new nc({}),{c(){e=p("button"),l=p("span"),n=C("New version: "),o=C(i),r=v(),J(a.$$.fragment),u(l,"class","mt-1"),u(e,"class","flex")},m(_,h){y(_,e,h),s(e,l),s(l,n),s(l,o),s(e,r),V(a,e,null),c=!0,f||(m=Y(e,"click",t[3]),f=!0)},p(_,h){(!c||h&4)&&i!==(i=_[2].tag_name+"")&&G(o,i)},i(_){c||(P(a.$$.fragment,_),c=!0)},o(_){I(a.$$.fragment,_),c=!1},d(_){_&&w(e),K(a),f=!1,m()}}}function ip(t){let e,l,n,i,o,r,a,c,f,m,_,h,g=(t[0].m?(t[0].m/1e3).toFixed(1):"-")+"",d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q,O,U,x,X,ne,le,_e,Ce,ve,Oe,he,Fe;i=new kl({props:{to:"/",$$slots:{default:[x1]},$$scope:{ctx:t}}}),c=new U1({props:{epoch:t[0].u}});let ge=t[0].t>-50&&Ir(t);S=new Vt({props:{title:"ESP",text:t[1].booting?"Booting":t[0].v>2?t[0].v.toFixed(2)+"V":"ESP",color:bl(t[1].booting?2:t[0].em)}}),E=new Vt({props:{title:"HAN",text:"HAN",color:bl(t[1].booting?9:t[0].hm)}}),N=new Vt({props:{title:"WiFi",text:t[0].r?t[0].r.toFixed(0)+"dBm":"WiFi",color:bl(t[1].booting?9:t[0].wm)}}),R=new Vt({props:{title:"MQTT",text:"MQTT",color:bl(t[1].booting?9:t[0].mm)}});let Ae=(t[0].he<0||t[0].he>0)&&Dr(t),me=t[0].me<0&&Er(t),pe=(t[0].ee>0||t[0].ee<0)&&Fr(t);ne=new Y1({props:{timestamp:t[0].c?new Date(t[0].c*1e3):new Date(0)}});let se=t[1].vndcfg&&t[1].usrcfg&&Rr(t);Oe=new Lt({});let re=t[1].fwconsent===1&&t[2]&&Lr(t);return{c(){e=p("nav"),l=p("div"),n=p("div"),J(i.$$.fragment),o=v(),r=p("div"),a=p("div"),J(c.$$.fragment),f=v(),ge&&ge.c(),m=v(),_=p("div"),h=C("Free mem: "),d=C(g),b=C("kb"),$=v(),k=p("div"),J(S.$$.fragment),A=v(),J(E.$$.fragment),T=v(),J(N.$$.fragment),D=v(),J(R.$$.fragment),W=v(),Ae&&Ae.c(),H=v(),me&&me.c(),F=v(),pe&&pe.c(),L=v(),j=p("div"),B=p("div"),q=p("a"),O=p("img"),x=v(),X=p("div"),J(ne.$$.fragment),le=v(),se&&se.c(),_e=v(),Ce=p("div"),ve=p("a"),J(Oe.$$.fragment),he=v(),re&&re.c(),u(n,"class","flex text-lg text-gray-100 p-2"),u(a,"class","flex-none my-auto"),u(_,"class","flex-none my-auto"),u(r,"class","flex-none my-auto p-2 flex space-x-4"),u(k,"class","flex-auto flex-wrap my-auto justify-center p-2"),u(O,"class","gh-logo"),fc(O.src,U=A1)||u(O,"src",U),u(O,"alt","GitHub repo"),u(q,"class","float-right"),u(q,"href","https://github.com/UtilitechAS/amsreader-firmware"),u(q,"target","_blank"),u(q,"rel","noreferrer"),u(q,"aria-label","GitHub"),u(B,"class","flex-none"),u(X,"class","flex-none my-auto px-2"),u(ve,"href",Ot("")),u(ve,"target","_blank"),u(ve,"rel","noreferrer"),u(Ce,"class","flex-none px-1 mt-1"),u(Ce,"title","Documentation"),u(j,"class","flex-auto p-2 flex flex-row-reverse flex-wrap"),u(l,"class","flex flex-wrap space-x-4 text-sm text-gray-300"),u(e,"class","bg-violet-600 p-1 rounded-md mx-2")},m(z,ae){y(z,e,ae),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(r,a),V(c,a,null),s(r,f),ge&&ge.m(r,null),s(r,m),s(r,_),s(_,h),s(_,d),s(_,b),s(l,$),s(l,k),V(S,k,null),s(k,A),V(E,k,null),s(k,T),V(N,k,null),s(k,D),V(R,k,null),s(l,W),Ae&&Ae.m(l,null),s(l,H),me&&me.m(l,null),s(l,F),pe&&pe.m(l,null),s(l,L),s(l,j),s(j,B),s(B,q),s(q,O),s(j,x),s(j,X),V(ne,X,null),s(j,le),se&&se.m(j,null),s(j,_e),s(j,Ce),s(Ce,ve),V(Oe,ve,null),s(j,he),re&&re.m(j,null),Fe=!0},p(z,[ae]){const Pe={};ae&18&&(Pe.$$scope={dirty:ae,ctx:z}),i.$set(Pe);const ee={};ae&1&&(ee.epoch=z[0].u),c.$set(ee),z[0].t>-50?ge?ge.p(z,ae):(ge=Ir(z),ge.c(),ge.m(r,m)):ge&&(ge.d(1),ge=null),(!Fe||ae&1)&&g!==(g=(z[0].m?(z[0].m/1e3).toFixed(1):"-")+"")&&G(d,g);const ue={};ae&3&&(ue.text=z[1].booting?"Booting":z[0].v>2?z[0].v.toFixed(2)+"V":"ESP"),ae&3&&(ue.color=bl(z[1].booting?2:z[0].em)),S.$set(ue);const Ue={};ae&3&&(Ue.color=bl(z[1].booting?9:z[0].hm)),E.$set(Ue);const Se={};ae&1&&(Se.text=z[0].r?z[0].r.toFixed(0)+"dBm":"WiFi"),ae&3&&(Se.color=bl(z[1].booting?9:z[0].wm)),N.$set(Se);const de={};ae&3&&(de.color=bl(z[1].booting?9:z[0].mm)),R.$set(de),z[0].he<0||z[0].he>0?Ae?Ae.p(z,ae):(Ae=Dr(z),Ae.c(),Ae.m(l,H)):Ae&&(Ae.d(1),Ae=null),z[0].me<0?me?me.p(z,ae):(me=Er(z),me.c(),me.m(l,F)):me&&(me.d(1),me=null),z[0].ee>0||z[0].ee<0?pe?pe.p(z,ae):(pe=Fr(z),pe.c(),pe.m(l,L)):pe&&(pe.d(1),pe=null);const Me={};ae&1&&(Me.timestamp=z[0].c?new Date(z[0].c*1e3):new Date(0)),ne.$set(Me),z[1].vndcfg&&z[1].usrcfg?se?ae&2&&P(se,1):(se=Rr(z),se.c(),P(se,1),se.m(j,_e)):se&&(Ie(),I(se,1,1,()=>{se=null}),De()),z[1].fwconsent===1&&z[2]?re?(re.p(z,ae),ae&6&&P(re,1)):(re=Lr(z),re.c(),P(re,1),re.m(j,null)):re&&(Ie(),I(re,1,1,()=>{re=null}),De())},i(z){Fe||(P(i.$$.fragment,z),P(c.$$.fragment,z),P(S.$$.fragment,z),P(E.$$.fragment,z),P(N.$$.fragment,z),P(R.$$.fragment,z),P(ne.$$.fragment,z),P(se),P(Oe.$$.fragment,z),P(re),Fe=!0)},o(z){I(i.$$.fragment,z),I(c.$$.fragment,z),I(S.$$.fragment,z),I(E.$$.fragment,z),I(N.$$.fragment,z),I(R.$$.fragment,z),I(ne.$$.fragment,z),I(se),I(Oe.$$.fragment,z),I(re),Fe=!1},d(z){z&&w(e),K(i),K(c),ge&&ge.d(),K(S),K(E),K(N),K(R),Ae&&Ae.d(),me&&me.d(),pe&&pe.d(),K(ne),se&&se.d(),K(Oe),re&&re.d()}}}function sp(t,e,l){let{data:n={}}=e,i={},o={};function r(){confirm("Do you want to upgrade this device to "+o.tag_name+"?")&&(!Un(i.board)||confirm(fs(fe(i.chip,i.board))))&&($t.update(a=>(a.upgrading=!0,a)),tc())}return $t.subscribe(a=>{l(1,i=a),a.fwconsent===1&&M1()}),so.subscribe(a=>{l(2,o=lc(i.version,a))}),t.$$set=a=>{"data"in a&&l(0,n=a.data)},[n,i,o,r]}class op extends $e{constructor(e){super(),ye(this,e,sp,ip,ke,{data:0})}}function up(t){let e,l,n,i;return{c(){e=qe("svg"),l=qe("path"),n=qe("path"),u(l,"d",Fs(150,150,115,210,510)),u(l,"stroke","#eee"),u(l,"fill","none"),u(l,"stroke-width","55"),u(n,"d",i=Fs(150,150,115,210,210+300*t[0]/100)),u(n,"stroke",t[1]),u(n,"fill","none"),u(n,"stroke-width","55"),u(e,"viewBox","0 0 300 300"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"height","100%")},m(o,r){y(o,e,r),s(e,l),s(e,n)},p(o,[r]){r&1&&i!==(i=Fs(150,150,115,210,210+300*o[0]/100))&&u(n,"d",i),r&2&&u(n,"stroke",o[1])},i:ie,o:ie,d(o){o&&w(e)}}}function Or(t,e,l,n){var i=(n-90)*Math.PI/180;return{x:t+l*Math.cos(i),y:e+l*Math.sin(i)}}function Fs(t,e,l,n,i){var o=Or(t,e,l,i),r=Or(t,e,l,n),a=i-n<=180?"0":"1",c=["M",o.x,o.y,"A",l,l,0,a,0,r.x,r.y].join(" ");return c}function rp(t,e,l){let{pct:n=0}=e,{color:i="red"}=e;return t.$$set=o=>{"pct"in o&&l(0,n=o.pct),"color"in o&&l(1,i=o.color)},[n,i]}class ap extends $e{constructor(e){super(),ye(this,e,rp,up,ke,{pct:0,color:1})}}function qr(t){let e,l,n,i,o,r,a,c;return{c(){e=p("br"),l=v(),n=p("span"),i=C(t[3]),o=v(),r=p("span"),a=C(t[4]),c=C("/kWh"),u(n,"class","pl-sub"),u(r,"class","pl-snt")},m(f,m){y(f,e,m),y(f,l,m),y(f,n,m),s(n,i),y(f,o,m),y(f,r,m),s(r,a),s(r,c)},p(f,m){m&8&&G(i,f[3]),m&16&&G(a,f[4])},d(f){f&&w(e),f&&w(l),f&&w(n),f&&w(o),f&&w(r)}}}function fp(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$;l=new ap({props:{pct:t[6],color:t[5](t[6])}});let k=t[3]&&qr(t);return{c(){e=p("div"),J(l.$$.fragment),n=v(),i=p("span"),o=p("span"),r=C(t[2]),a=v(),c=p("br"),f=v(),m=p("span"),_=C(t[0]),h=v(),g=p("span"),d=C(t[1]),b=v(),k&&k.c(),u(o,"class","pl-lab"),u(m,"class","pl-val"),u(g,"class","pl-unt"),u(i,"class","pl-ov"),u(e,"class","pl-root")},m(S,A){y(S,e,A),V(l,e,null),s(e,n),s(e,i),s(i,o),s(o,r),s(i,a),s(i,c),s(i,f),s(i,m),s(m,_),s(i,h),s(i,g),s(g,d),s(i,b),k&&k.m(i,null),$=!0},p(S,[A]){const E={};A&64&&(E.pct=S[6]),A&96&&(E.color=S[5](S[6])),l.$set(E),(!$||A&4)&&G(r,S[2]),(!$||A&1)&&G(_,S[0]),(!$||A&2)&&G(d,S[1]),S[3]?k?k.p(S,A):(k=qr(S),k.c(),k.m(i,null)):k&&(k.d(1),k=null)},i(S){$||(P(l.$$.fragment,S),$=!0)},o(S){I(l.$$.fragment,S),$=!1},d(S){S&&w(e),K(l),k&&k.d()}}}function cp(t,e,l){let{val:n}=e,{max:i}=e,{unit:o}=e,{label:r}=e,{sub:a=""}=e,{subunit:c=""}=e,{colorFn:f}=e,m=0;return t.$$set=_=>{"val"in _&&l(0,n=_.val),"max"in _&&l(7,i=_.max),"unit"in _&&l(1,o=_.unit),"label"in _&&l(2,r=_.label),"sub"in _&&l(3,a=_.sub),"subunit"in _&&l(4,c=_.subunit),"colorFn"in _&&l(5,f=_.colorFn)},t.$$.update=()=>{t.$$.dirty&129&&l(6,m=Math.min(n,i)/i*100)},[n,o,r,a,c,f,m,i]}class ic extends $e{constructor(e){super(),ye(this,e,cp,fp,ke,{val:0,max:7,unit:1,label:2,sub:3,subunit:4,colorFn:5})}}function Ur(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function Hr(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function jr(t,e,l){const n=t.slice();return n[13]=e[l],n}function Wr(t){let e,l=t[0].title+"",n;return{c(){e=p("strong"),n=C(l),u(e,"class","text-sm")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=i[0].title+"")&&G(n,l)},d(i){i&&w(e)}}}function Gr(t){let e,l,n,i=t[13].label+"",o,r,a,c;return{c(){e=qe("g"),l=qe("line"),n=qe("text"),o=C(i),u(l,"x2","100%"),u(n,"y","-4"),u(n,"x",r=t[13].align=="right"?"85%":""),u(e,"class",a="tick tick-"+t[13].value+" tick-"+t[13].color),u(e,"transform",c="translate(0, "+t[6](t[13].value)+")")},m(f,m){y(f,e,m),s(e,l),s(e,n),s(n,o)},p(f,m){m&1&&i!==(i=f[13].label+"")&&G(o,i),m&1&&r!==(r=f[13].align=="right"?"85%":"")&&u(n,"x",r),m&1&&a!==(a="tick tick-"+f[13].value+" tick-"+f[13].color)&&u(e,"class",a),m&65&&c!==(c="translate(0, "+f[6](f[13].value)+")")&&u(e,"transform",c)},d(f){f&&w(e)}}}function Br(t){let e,l,n=t[9].label+"",i,o,r;return{c(){e=qe("g"),l=qe("text"),i=C(n),u(l,"x",o=t[3]/2),u(l,"y","-4"),u(e,"class","tick"),u(e,"transform",r="translate("+t[5](t[11])+","+t[4]+")")},m(a,c){y(a,e,c),s(e,l),s(l,i)},p(a,c){c&1&&n!==(n=a[9].label+"")&&G(i,n),c&8&&o!==(o=a[3]/2)&&u(l,"x",o),c&48&&r!==(r="translate("+a[5](a[11])+","+a[4]+")")&&u(e,"transform",r)},d(a){a&&w(e)}}}function zr(t){let e,l,n,i,o,r,a,c=t[3]>15&&Yr(t);return{c(){e=qe("rect"),c&&c.c(),a=je(),u(e,"x",l=t[5](t[11])+2),u(e,"y",n=t[6](t[9].value)),u(e,"width",i=t[3]-4),u(e,"height",o=t[6](t[0].y.min)-t[6](Math.min(t[0].y.min,0)+t[9].value)),u(e,"fill",r=t[9].color)},m(f,m){y(f,e,m),c&&c.m(f,m),y(f,a,m)},p(f,m){m&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),m&65&&n!==(n=f[6](f[9].value))&&u(e,"y",n),m&8&&i!==(i=f[3]-4)&&u(e,"width",i),m&65&&o!==(o=f[6](f[0].y.min)-f[6](Math.min(f[0].y.min,0)+f[9].value))&&u(e,"height",o),m&1&&r!==(r=f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,m):(c=Yr(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&w(e),c&&c.d(f),f&&w(a)}}}function Yr(t){let e,l=t[9].label+"",n,i,o,r,a,c,f;return{c(){e=qe("text"),n=C(l),u(e,"y",i=t[6](t[9].value)>t[6](0)-t[7]?t[6](t[9].value)-t[7]:t[6](t[9].value)+10),u(e,"x",o=t[5](t[11])+t[3]/2),u(e,"width",r=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor",a=t[3]<25?"left":"middle"),u(e,"fill",c=t[6](t[9].value)>t[6](0)-t[7]?t[9].color:"white"),u(e,"transform",f="rotate("+(t[3]<25?90:0)+", "+(t[5](t[11])+t[3]/2)+", "+(t[6](t[9].value)>t[6](0)-t[7]?t[6](t[9].value)-t[7]:t[6](t[9].value)+9)+")")},m(m,_){y(m,e,_),s(e,n)},p(m,_){_&1&&l!==(l=m[9].label+"")&&G(n,l),_&193&&i!==(i=m[6](m[9].value)>m[6](0)-m[7]?m[6](m[9].value)-m[7]:m[6](m[9].value)+10)&&u(e,"y",i),_&40&&o!==(o=m[5](m[11])+m[3]/2)&&u(e,"x",o),_&8&&r!==(r=m[3]-4)&&u(e,"width",r),_&8&&a!==(a=m[3]<25?"left":"middle")&&u(e,"text-anchor",a),_&193&&c!==(c=m[6](m[9].value)>m[6](0)-m[7]?m[9].color:"white")&&u(e,"fill",c),_&233&&f!==(f="rotate("+(m[3]<25?90:0)+", "+(m[5](m[11])+m[3]/2)+", "+(m[6](m[9].value)>m[6](0)-m[7]?m[6](m[9].value)-m[7]:m[6](m[9].value)+9)+")")&&u(e,"transform",f)},d(m){m&&w(e)}}}function Vr(t){let e,l,n,i,o,r,a,c=t[3]>15&&Kr(t);return{c(){e=qe("rect"),c&&c.c(),a=je(),u(e,"x",l=t[5](t[11])+2),u(e,"y",n=t[6](0)),u(e,"width",i=t[3]-4),u(e,"height",o=t[6](t[0].y.min)-t[6](t[0].y.min+t[9].value2)),u(e,"fill",r=t[9].color)},m(f,m){y(f,e,m),c&&c.m(f,m),y(f,a,m)},p(f,m){m&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),m&64&&n!==(n=f[6](0))&&u(e,"y",n),m&8&&i!==(i=f[3]-4)&&u(e,"width",i),m&65&&o!==(o=f[6](f[0].y.min)-f[6](f[0].y.min+f[9].value2))&&u(e,"height",o),m&1&&r!==(r=f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,m):(c=Kr(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&w(e),c&&c.d(f),f&&w(a)}}}function Kr(t){let e,l=t[9].label2+"",n,i,o,r,a,c,f;return{c(){e=qe("text"),n=C(l),u(e,"y",i=t[6](-t[9].value2)t[6](0)-12?t[6](t[9].value2-t[0].y.min)-12:t[6](t[9].value2-t[0].y.min)+9)+")")},m(m,_){y(m,e,_),s(e,n)},p(m,_){_&1&&l!==(l=m[9].label2+"")&&G(n,l),_&65&&i!==(i=m[6](-m[9].value2)m[6](0)-12?m[6](m[9].value2-m[0].y.min)-12:m[6](m[9].value2-m[0].y.min)+9)+")")&&u(e,"transform",f)},d(m){m&&w(e)}}}function Qr(t){let e,l,n=t[9].value!==void 0&&zr(t),i=t[9].value2>1e-4&&Vr(t);return{c(){n&&n.c(),e=je(),i&&i.c(),l=je()},m(o,r){n&&n.m(o,r),y(o,e,r),i&&i.m(o,r),y(o,l,r)},p(o,r){o[9].value!==void 0?n?n.p(o,r):(n=zr(o),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null),o[9].value2>1e-4?i?i.p(o,r):(i=Vr(o),i.c(),i.m(l.parentNode,l)):i&&(i.d(1),i=null)},d(o){n&&n.d(o),o&&w(e),i&&i.d(o),o&&w(l)}}}function pp(t){let e,l,n,i,o,r,a,c=t[0].title&&Wr(t),f=t[0].y.ticks,m=[];for(let b=0;bt[8].call(e))},m(b,$){y(b,e,$),c&&c.m(e,null),s(e,l),s(e,n),s(n,i);for(let k=0;k{"config"in h&&l(0,n=h.config)},t.$$.update=()=>{if(t.$$.dirty&31){l(4,f=o-(n.title?20:0));let h=i-(n.padding.left+n.padding.right);l(3,r=h/n.points.length),l(7,m=r<25?28:17);let g=(f-n.padding.top-n.padding.bottom)/(n.y.max-n.y.min);l(5,a=function(d){return d*r+n.padding.left}),l(6,c=function(d){let b=0;return d>n.y.max?b=n.padding.bottom:df||b<0?0:b})}},[n,i,o,r,f,a,c,m,_]}class zl extends $e{constructor(e){super(),ye(this,e,mp,pp,ke,{config:0})}}function _p(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function dp(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{ds:r}=e,a={};function c(f){return{label:be(f)+"V",value:isNaN(f)?0:f,color:$1(f||0)}}return t.$$set=f=>{"u1"in f&&l(1,n=f.u1),"u2"in f&&l(2,i=f.u2),"u3"in f&&l(3,o=f.u3),"ds"in f&&l(4,r=f.ds)},t.$$.update=()=>{if(t.$$.dirty&30){let f=[],m=[];n>0&&(f.push({label:r===1?"L1-L2":"L1"}),m.push(c(n))),i>0&&(f.push({label:r===1?"L1-L3":"L2"}),m.push(c(i))),o>0&&(f.push({label:r===1?"L2-L3":"L3"}),m.push(c(o))),l(0,a={padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230v"},{value:253,label:"+10%"}]},x:{ticks:f},points:m})}},[a,n,i,o,r]}class vp extends $e{constructor(e){super(),ye(this,e,dp,_p,ke,{u1:1,u2:2,u3:3,ds:4})}}function hp(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function gp(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{i1:r}=e,{i2:a}=e,{i3:c}=e,{max:f}=e,m={};function _(h){return{label:be(h)+"A",value:isNaN(h)?0:h,color:Vf(h?h/f*100:0)}}return t.$$set=h=>{"u1"in h&&l(1,n=h.u1),"u2"in h&&l(2,i=h.u2),"u3"in h&&l(3,o=h.u3),"i1"in h&&l(4,r=h.i1),"i2"in h&&l(5,a=h.i2),"i3"in h&&l(6,c=h.i3),"max"in h&&l(7,f=h.max)},t.$$.update=()=>{if(t.$$.dirty&254){let h=[],g=[];n>0&&(h.push({label:"L1"}),g.push(_(r))),i>0&&(h.push({label:"L2"}),g.push(_(a))),o>0&&(h.push({label:"L3"}),g.push(_(c))),l(0,m={padding:{top:20,right:15,bottom:20,left:35},y:{min:0,max:f,ticks:[{value:0,label:"0%"},{value:f/4,label:"25%"},{value:f/2,label:"50%"},{value:f/4*3,label:"75%"},{value:f,label:"100%"}]},x:{ticks:h},points:g})}},[m,n,i,o,r,a,c,f]}class bp extends $e{constructor(e){super(),ye(this,e,gp,hp,ke,{u1:1,u2:2,u3:3,i1:4,i2:5,i3:6,max:7})}}function kp(t){let e,l,n,i,o,r,a,c=(typeof t[0]<"u"?t[0].toFixed(0):"-")+"",f,m,_,h,g,d,b=(typeof t[1]<"u"?t[1].toFixed(0):"-")+"",$,k,S,A,E,T,N,D=(typeof t[2]<"u"?t[2].toFixed(1):"-")+"",R,W,H,F,L,j,B=(typeof t[3]<"u"?t[3].toFixed(1):"-")+"",q,O;return{c(){e=p("div"),l=p("strong"),l.textContent="Reactive",n=v(),i=p("div"),o=p("div"),o.textContent="Instant in",r=v(),a=p("div"),f=C(c),m=C(" VAr"),_=v(),h=p("div"),h.textContent="Instant out",g=v(),d=p("div"),$=C(b),k=C(" VAr"),S=v(),A=p("div"),E=p("div"),E.textContent="Total in",T=v(),N=p("div"),R=C(D),W=C(" kVArh"),H=v(),F=p("div"),F.textContent="Total out",L=v(),j=p("div"),q=C(B),O=C(" kVArh"),u(a,"class","text-right"),u(d,"class","text-right"),u(i,"class","grid grid-cols-2 mt-4"),u(N,"class","text-right"),u(j,"class","text-right"),u(A,"class","grid grid-cols-2 mt-4"),u(e,"class","mx-2 text-sm")},m(U,x){y(U,e,x),s(e,l),s(e,n),s(e,i),s(i,o),s(i,r),s(i,a),s(a,f),s(a,m),s(i,_),s(i,h),s(i,g),s(i,d),s(d,$),s(d,k),s(e,S),s(e,A),s(A,E),s(A,T),s(A,N),s(N,R),s(N,W),s(A,H),s(A,F),s(A,L),s(A,j),s(j,q),s(j,O)},p(U,[x]){x&1&&c!==(c=(typeof U[0]<"u"?U[0].toFixed(0):"-")+"")&&G(f,c),x&2&&b!==(b=(typeof U[1]<"u"?U[1].toFixed(0):"-")+"")&&G($,b),x&4&&D!==(D=(typeof U[2]<"u"?U[2].toFixed(1):"-")+"")&&G(R,D),x&8&&B!==(B=(typeof U[3]<"u"?U[3].toFixed(1):"-")+"")&&G(q,B)},i:ie,o:ie,d(U){U&&w(e)}}}function wp(t,e,l){let{importInstant:n}=e,{exportInstant:i}=e,{importTotal:o}=e,{exportTotal:r}=e;return t.$$set=a=>{"importInstant"in a&&l(0,n=a.importInstant),"exportInstant"in a&&l(1,i=a.exportInstant),"importTotal"in a&&l(2,o=a.importTotal),"exportTotal"in a&&l(3,r=a.exportTotal)},[n,i,o,r]}class yp extends $e{constructor(e){super(),ye(this,e,wp,kp,ke,{importInstant:0,exportInstant:1,importTotal:2,exportTotal:3})}}function Zr(t){let e;function l(o,r){return o[2]?Cp:$p}let n=l(t),i=n(t);return{c(){i.c(),e=je()},m(o,r){i.m(o,r),y(o,e,r)},p(o,r){n===(n=l(o))&&i?i.p(o,r):(i.d(1),i=n(o),i&&(i.c(),i.m(e.parentNode,e)))},d(o){i.d(o),o&&w(e)}}}function $p(t){let e,l,n,i,o,r,a=be(t[0].h.u,2)+"",c,f,m,_,h,g,d=be(t[0].d.u,1)+"",b,$,k,S,A,E,T=be(t[0].m.u)+"",N,D,R,W,H=t[1]&&Jr(t);return{c(){e=p("strong"),e.textContent="Consumption",l=v(),n=p("div"),i=p("div"),i.textContent="Hour",o=v(),r=p("div"),c=C(a),f=C(" kWh"),m=v(),_=p("div"),_.textContent="Day",h=v(),g=p("div"),b=C(d),$=C(" kWh"),k=v(),S=p("div"),S.textContent="Month",A=v(),E=p("div"),N=C(T),D=C(" kWh"),R=v(),H&&H.c(),W=je(),u(r,"class","text-right"),u(g,"class","text-right"),u(E,"class","text-right"),u(n,"class","grid grid-cols-2 mb-3")},m(F,L){y(F,e,L),y(F,l,L),y(F,n,L),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,m),s(n,_),s(n,h),s(n,g),s(g,b),s(g,$),s(n,k),s(n,S),s(n,A),s(n,E),s(E,N),s(E,D),y(F,R,L),H&&H.m(F,L),y(F,W,L)},p(F,L){L&1&&a!==(a=be(F[0].h.u,2)+"")&&G(c,a),L&1&&d!==(d=be(F[0].d.u,1)+"")&&G(b,d),L&1&&T!==(T=be(F[0].m.u)+"")&&G(N,T),F[1]?H?H.p(F,L):(H=Jr(F),H.c(),H.m(W.parentNode,W)):H&&(H.d(1),H=null)},d(F){F&&w(e),F&&w(l),F&&w(n),F&&w(R),H&&H.d(F),F&&w(W)}}}function Cp(t){let e,l,n,i,o,r,a=be(t[0].h.u,2)+"",c,f,m,_,h,g,d,b=be(t[0].d.u,1)+"",$,k,S,A,E,T,N,D=be(t[0].m.u)+"",R,W,H,F,L,j,B,q,O,U,x,X=be(t[0].h.p,2)+"",ne,le,_e,Ce,ve,Oe,he,Fe=be(t[0].d.p,1)+"",ge,Ae,me,pe,se,re,z,ae=be(t[0].m.p)+"",Pe,ee,ue,Ue,Se=t[1]&&Xr(t),de=t[1]&&xr(t),Me=t[1]&&ea(t),Le=t[1]&&ta(t),Te=t[1]&&la(t),we=t[1]&&na(t);return{c(){e=p("strong"),e.textContent="Import",l=v(),n=p("div"),i=p("div"),i.textContent="Hour",o=v(),r=p("div"),c=C(a),f=C(" kWh"),m=v(),Se&&Se.c(),_=v(),h=p("div"),h.textContent="Day",g=v(),d=p("div"),$=C(b),k=C(" kWh"),S=v(),de&&de.c(),A=v(),E=p("div"),E.textContent="Month",T=v(),N=p("div"),R=C(D),W=C(" kWh"),H=v(),Me&&Me.c(),L=v(),j=p("strong"),j.textContent="Export",B=v(),q=p("div"),O=p("div"),O.textContent="Hour",U=v(),x=p("div"),ne=C(X),le=C(" kWh"),_e=v(),Le&&Le.c(),Ce=v(),ve=p("div"),ve.textContent="Day",Oe=v(),he=p("div"),ge=C(Fe),Ae=C(" kWh"),me=v(),Te&&Te.c(),pe=v(),se=p("div"),se.textContent="Month",re=v(),z=p("div"),Pe=C(ae),ee=C(" kWh"),ue=v(),we&&we.c(),u(r,"class","text-right"),u(d,"class","text-right"),u(N,"class","text-right"),u(n,"class",F="grid grid-cols-"+t[3]+" mb-3"),u(x,"class","text-right"),u(he,"class","text-right"),u(z,"class","text-right"),u(q,"class",Ue="grid grid-cols-"+t[3])},m(Q,oe){y(Q,e,oe),y(Q,l,oe),y(Q,n,oe),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,m),Se&&Se.m(n,null),s(n,_),s(n,h),s(n,g),s(n,d),s(d,$),s(d,k),s(n,S),de&&de.m(n,null),s(n,A),s(n,E),s(n,T),s(n,N),s(N,R),s(N,W),s(n,H),Me&&Me.m(n,null),y(Q,L,oe),y(Q,j,oe),y(Q,B,oe),y(Q,q,oe),s(q,O),s(q,U),s(q,x),s(x,ne),s(x,le),s(q,_e),Le&&Le.m(q,null),s(q,Ce),s(q,ve),s(q,Oe),s(q,he),s(he,ge),s(he,Ae),s(q,me),Te&&Te.m(q,null),s(q,pe),s(q,se),s(q,re),s(q,z),s(z,Pe),s(z,ee),s(q,ue),we&&we.m(q,null)},p(Q,oe){oe&1&&a!==(a=be(Q[0].h.u,2)+"")&&G(c,a),Q[1]?Se?Se.p(Q,oe):(Se=Xr(Q),Se.c(),Se.m(n,_)):Se&&(Se.d(1),Se=null),oe&1&&b!==(b=be(Q[0].d.u,1)+"")&&G($,b),Q[1]?de?de.p(Q,oe):(de=xr(Q),de.c(),de.m(n,A)):de&&(de.d(1),de=null),oe&1&&D!==(D=be(Q[0].m.u)+"")&&G(R,D),Q[1]?Me?Me.p(Q,oe):(Me=ea(Q),Me.c(),Me.m(n,null)):Me&&(Me.d(1),Me=null),oe&8&&F!==(F="grid grid-cols-"+Q[3]+" mb-3")&&u(n,"class",F),oe&1&&X!==(X=be(Q[0].h.p,2)+"")&&G(ne,X),Q[1]?Le?Le.p(Q,oe):(Le=ta(Q),Le.c(),Le.m(q,Ce)):Le&&(Le.d(1),Le=null),oe&1&&Fe!==(Fe=be(Q[0].d.p,1)+"")&&G(ge,Fe),Q[1]?Te?Te.p(Q,oe):(Te=la(Q),Te.c(),Te.m(q,pe)):Te&&(Te.d(1),Te=null),oe&1&&ae!==(ae=be(Q[0].m.p)+"")&&G(Pe,ae),Q[1]?we?we.p(Q,oe):(we=na(Q),we.c(),we.m(q,null)):we&&(we.d(1),we=null),oe&8&&Ue!==(Ue="grid grid-cols-"+Q[3])&&u(q,"class",Ue)},d(Q){Q&&w(e),Q&&w(l),Q&&w(n),Se&&Se.d(),de&&de.d(),Me&&Me.d(),Q&&w(L),Q&&w(j),Q&&w(B),Q&&w(q),Le&&Le.d(),Te&&Te.d(),we&&we.d()}}}function Jr(t){let e,l,n,i,o,r,a=be(t[0].h.c,2)+"",c,f,m,_,h,g,d,b=be(t[0].d.c,1)+"",$,k,S,A,E,T,N,D=be(t[0].m.c)+"",R,W,H;return{c(){e=p("strong"),e.textContent="Cost",l=v(),n=p("div"),i=p("div"),i.textContent="Hour",o=v(),r=p("div"),c=C(a),f=v(),m=C(t[1]),_=v(),h=p("div"),h.textContent="Day",g=v(),d=p("div"),$=C(b),k=v(),S=C(t[1]),A=v(),E=p("div"),E.textContent="Month",T=v(),N=p("div"),R=C(D),W=v(),H=C(t[1]),u(r,"class","text-right"),u(d,"class","text-right"),u(N,"class","text-right"),u(n,"class","grid grid-cols-2")},m(F,L){y(F,e,L),y(F,l,L),y(F,n,L),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(r,m),s(n,_),s(n,h),s(n,g),s(n,d),s(d,$),s(d,k),s(d,S),s(n,A),s(n,E),s(n,T),s(n,N),s(N,R),s(N,W),s(N,H)},p(F,L){L&1&&a!==(a=be(F[0].h.c,2)+"")&&G(c,a),L&2&&G(m,F[1]),L&1&&b!==(b=be(F[0].d.c,1)+"")&&G($,b),L&2&&G(S,F[1]),L&1&&D!==(D=be(F[0].m.c)+"")&&G(R,D),L&2&&G(H,F[1])},d(F){F&&w(e),F&&w(l),F&&w(n)}}}function Xr(t){let e,l=be(t[0].h.c,2)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].h.c,2)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function xr(t){let e,l=be(t[0].d.c,1)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].d.c,1)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function ea(t){let e,l=be(t[0].m.c)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].m.c)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function ta(t){let e,l=be(t[0].h.i,2)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].h.i,2)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function la(t){let e,l=be(t[0].d.i,1)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].d.i,1)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function na(t){let e,l=be(t[0].m.i)+"",n,i,o;return{c(){e=p("div"),n=C(l),i=v(),o=C(t[1]),u(e,"class","text-right")},m(r,a){y(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=be(r[0].m.i)+"")&&G(n,l),a&2&&G(o,r[1])},d(r){r&&w(e)}}}function Sp(t){let e,l,n,i,o,r,a=t[0]&&Zr(t);return{c(){e=p("div"),l=p("strong"),l.textContent="Real time calculation",n=v(),i=p("br"),o=p("br"),r=v(),a&&a.c(),u(e,"class","mx-2 text-sm")},m(c,f){y(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),s(e,r),a&&a.m(e,null)},p(c,[f]){c[0]?a?a.p(c,f):(a=Zr(c),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},i:ie,o:ie,d(c){c&&w(e),a&&a.d()}}}function Tp(t,e,l){let{data:n}=e,{currency:i}=e,{hasExport:o}=e,r=3;return t.$$set=a=>{"data"in a&&l(0,n=a.data),"currency"in a&&l(1,i=a.currency),"hasExport"in a&&l(2,o=a.hasExport)},t.$$.update=()=>{t.$$.dirty&2&&l(3,r=i?3:2)},[n,i,o,r]}class Pp extends $e{constructor(e){super(),ye(this,e,Tp,Sp,ke,{data:0,currency:1,hasExport:2})}}function Mp(t){let e,l,n,i;return n=new zl({props:{config:t[0]}}),{c(){e=p("a"),e.textContent="Provided by ENTSO-E",l=v(),J(n.$$.fragment),u(e,"href","https://transparency.entsoe.eu/"),u(e,"target","_blank"),u(e,"class","text-xs float-right z-40")},m(o,r){y(o,e,r),y(o,l,r),V(n,o,r),i=!0},p(o,[r]){const a={};r&1&&(a.config=o[0]),n.$set(a)},i(o){i||(P(n.$$.fragment,o),i=!0)},o(o){I(n.$$.fragment,o),i=!1},d(o){o&&w(e),o&&w(l),K(n,o)}}}function Ap(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=new Date().getUTCHours(),c=0,f=0,m=0,_=n[20]==null?2:1,h=[],g=[],d=[],b=new Date;for(c=a;c<24&&(b.setUTCHours(c),f=n[Ee(m++)],f!=null);c++)g.push({label:Ee(b.getHours())}),d.push({label:f>0?f.toFixed(_):"",value:f>0?Math.abs(f*100):0,label2:f<0?f.toFixed(_):"",value2:f<0?Math.abs(f*100):0,color:"#7c3aed"}),l(3,r=Math.min(r,f*100)),l(2,o=Math.max(o,f*100));for(c=0;c<24&&(b.setUTCHours(c),f=n[Ee(m++)],f!=null);c++)g.push({label:Ee(b.getHours())}),d.push({label:f>0?f.toFixed(_):"",value:f>0?Math.abs(f*100):0,label2:f<0?f.toFixed(_):"",value2:f<0?Math.abs(f*100):0,color:"#7c3aed"}),l(3,r=Math.min(r,f*100)),l(2,o=Math.max(o,f*100));if(l(2,o=Math.ceil(o)),l(3,r=Math.floor(r)),r<0){let k=r/4;for(c=1;c<5;c++){let S=k*c;h.push({value:S,label:(S/100).toFixed(2)})}}let $=o/4;for(c=0;c<5;c++){let k=$*c;h.push({value:k,label:(k/100).toFixed(2)})}l(0,i={title:"Future energy price ("+n.currency+")",padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:h},x:{ticks:g},points:d})}},[i,n,o,r]}class Np extends $e{constructor(e){super(),ye(this,e,Ap,Mp,ke,{json:1})}}function Ip(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Dp(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,c=[],f=[],m=[],_=new Date,h=-_.getTimezoneOffset()/60;for(a=_.getUTCHours();a<24;a++){let b=n["i"+Ee(a)],$=n["e"+Ee(a)];b===void 0&&(b=0),$===void 0&&($=0),f.push({label:Ee((a+h)%24)}),m.push({label:b.toFixed(1),value:b*10,label2:$.toFixed(1),value2:$*10,color:"#7c3aed"}),l(3,r=Math.max(r,$*10)),l(2,o=Math.max(o,b*10))}for(a=0;a<_.getUTCHours();a++){let b=n["i"+Ee(a)],$=n["e"+Ee(a)];b===void 0&&(b=0),$===void 0&&($=0),f.push({label:Ee((a+h)%24)}),m.push({label:b.toFixed(1),value:b*10,label2:$.toFixed(1),value2:$*10,color:"#7c3aed"}),l(3,r=Math.max(r,$*10)),l(2,o=Math.max(o,b*10))}let g=Math.ceil(Math.max(r,o));if(l(2,o=g),l(3,r=r==0?0:g*-1),r<0){let b=r/4;for(a=1;a<5;a++){let $=b*a;c.push({value:$,label:($/10).toFixed(1)})}}let d=o/4;for(a=0;a<5;a++){let b=d*a;c.push({value:b,label:(b/10).toFixed(1)})}l(0,i={title:"Energy use last 24 hours (kWh)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:c},x:{ticks:f},points:m})}},[i,n,o,r]}class Ep extends $e{constructor(e){super(),ye(this,e,Dp,Ip,ke,{json:1})}}function Fp(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Rp(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,c=[],f=[],m=[],_=new Date,h=new Date;for(h.setDate(0),a=_.getDate();a<=h.getDate();a++){let b=n["i"+Ee(a)],$=n["e"+Ee(a)];b===void 0&&(b=0),$===void 0&&($=0),f.push({label:Ee(a)}),m.push({label:b.toFixed(0),value:b,label2:$.toFixed(0),value2:$,color:"#7c3aed"}),l(3,r=Math.max(r,$)),l(2,o=Math.max(o,b))}for(a=1;a<_.getDate();a++){let b=n["i"+Ee(a)],$=n["e"+Ee(a)];b===void 0&&(b=0),$===void 0&&($=0),f.push({label:Ee(a)}),m.push({label:b.toFixed(0),value:b,label2:$.toFixed(0),value2:$,color:"#7c3aed"}),l(3,r=Math.max(r,$)),l(2,o=Math.max(o,b))}let g=Math.ceil(Math.max(r,o)/10)*10;if(l(2,o=g),l(3,r=r==0?0:g*-1),r<0){let b=r/4;for(a=0;a<5;a++){let $=b*a;c.push({value:$,label:$.toFixed(0)})}}let d=o/4;for(a=0;a<5;a++){let b=d*a;c.push({value:b,label:b.toFixed(0)})}l(0,i={title:"Energy use last month (kWh)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:c},x:{ticks:f},points:m})}},[i,n,o,r]}class Lp extends $e{constructor(e){super(),ye(this,e,Rp,Fp,ke,{json:1})}}function Op(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function qp(t,e,l){let{json:n}=e,i={},o=0,r=0;return t.$$set=a=>{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,c=0,f=[],m=[],_=[];n.s&&n.s.forEach((d,b)=>{var $=d.n?d.n:d.a;c=d.v,c==-127&&(c=0),m.push({label:$.slice(-4)}),_.push({label:c.toFixed(1),value:c,color:"#7c3aed"}),l(3,r=Math.min(r,c)),l(2,o=Math.max(o,c))}),l(2,o=Math.ceil(o)),l(3,r=Math.floor(r));let h=o;r<0&&(h+=Math.abs(r));let g=h/4;for(a=0;a<5;a++)c=r+g*a,f.push({value:c,label:c.toFixed(1)});l(0,i={title:"Temperature sensors (\xB0C)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:f},x:{ticks:m},points:_})}},[i,n,o,r]}class Up extends $e{constructor(e){super(),ye(this,e,qp,Op,ke,{json:1})}}function Hp(t){let e,l;return e=new zl({props:{config:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,[i]){const o={};i&1&&(o.config=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}let jp=0;function Wp(t,e,l){let n={},i=0,o;return ec.subscribe(r=>{l(2,o=r)}),xf(),t.$$.update=()=>{if(t.$$.dirty&6){let r=0,a=[],c=[],f=[];if(a.push({value:0,label:0}),o&&o.p)for(r=0;r0?Ee(m.d)+"."+Us[new Date().getMonth()]:"-"}),l(1,i=Math.max(i,m.v))}if(o&&o.t){for(r=0;r=i)break;a.push({value:m,label:m})}a.push({label:o.m.toFixed(1),align:"right",color:"green",value:o.m})}o&&o.c&&(a.push({label:o.c.toFixed(0),color:"orange",value:o.c}),l(1,i=Math.max(i,o.c))),l(1,i=Math.ceil(i)),l(0,n={title:"Tariff peaks",padding:{top:20,right:35,bottom:20,left:35},y:{min:jp,max:i,ticks:a},x:{ticks:c},points:f})}},[n,i,o]}class Gp extends $e{constructor(e){super(),ye(this,e,Wp,Hp,ke,{})}}function ia(t){let e,l,n,i,o,r,a=(t[0].mt?as(t[0].mt):"-")+"",c,f,m,_=(t[0].ic?t[0].ic.toFixed(1):"-")+"",h,g,d;return i=new ic({props:{val:t[0].i?t[0].i:0,max:t[0].im?t[0].im:15e3,unit:"W",label:"Import",sub:t[0].p,subunit:t[2].currency,colorFn:Vf}}),{c(){e=p("div"),l=p("div"),n=p("div"),J(i.$$.fragment),o=v(),r=p("div"),c=C(a),f=v(),m=p("div"),h=C(_),g=C(" kWh"),u(n,"class","col-span-2"),u(m,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(b,$){y(b,e,$),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(r,c),s(l,f),s(l,m),s(m,h),s(m,g),d=!0},p(b,$){const k={};$&1&&(k.val=b[0].i?b[0].i:0),$&1&&(k.max=b[0].im?b[0].im:15e3),$&1&&(k.sub=b[0].p),$&4&&(k.subunit=b[2].currency),i.$set(k),(!d||$&1)&&a!==(a=(b[0].mt?as(b[0].mt):"-")+"")&&G(c,a),(!d||$&1)&&_!==(_=(b[0].ic?b[0].ic.toFixed(1):"-")+"")&&G(h,_)},i(b){d||(P(i.$$.fragment,b),d=!0)},o(b){I(i.$$.fragment,b),d=!1},d(b){b&&w(e),K(i)}}}function sa(t){let e,l,n,i,o,r,a,c,f=(t[0].ec?t[0].ec.toFixed(1):"-")+"",m,_,h;return i=new ic({props:{val:t[0].e?t[0].e:0,max:t[0].om?t[0].om*1e3:1e4,unit:"W",label:"Export",colorFn:C1}}),{c(){e=p("div"),l=p("div"),n=p("div"),J(i.$$.fragment),o=v(),r=p("div"),a=v(),c=p("div"),m=C(f),_=C(" kWh"),u(n,"class","col-span-2"),u(c,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(g,d){y(g,e,d),s(e,l),s(l,n),V(i,n,null),s(l,o),s(l,r),s(l,a),s(l,c),s(c,m),s(c,_),h=!0},p(g,d){const b={};d&1&&(b.val=g[0].e?g[0].e:0),d&1&&(b.max=g[0].om?g[0].om*1e3:1e4),i.$set(b),(!h||d&1)&&f!==(f=(g[0].ec?g[0].ec.toFixed(1):"-")+"")&&G(m,f)},i(g){h||(P(i.$$.fragment,g),h=!0)},o(g){I(i.$$.fragment,g),h=!1},d(g){g&&w(e),K(i)}}}function oa(t){let e,l,n;return l=new vp({props:{u1:t[0].u1,u2:t[0].u2,u3:t[0].u3,ds:t[0].ds}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.u1=i[0].u1),o&1&&(r.u2=i[0].u2),o&1&&(r.u3=i[0].u3),o&1&&(r.ds=i[0].ds),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ua(t){let e,l,n;return l=new bp({props:{u1:t[0].u1,u2:t[0].u2,u3:t[0].u3,i1:t[0].i1,i2:t[0].i2,i3:t[0].i3,max:t[0].mf?t[0].mf:32}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.u1=i[0].u1),o&1&&(r.u2=i[0].u2),o&1&&(r.u3=i[0].u3),o&1&&(r.i1=i[0].i1),o&1&&(r.i2=i[0].i2),o&1&&(r.i3=i[0].i3),o&1&&(r.max=i[0].mf?i[0].mf:32),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ra(t){let e,l,n;return l=new yp({props:{importInstant:t[0].ri,exportInstant:t[0].re,importTotal:t[0].ric,exportTotal:t[0].rec}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.importInstant=i[0].ri),o&1&&(r.exportInstant=i[0].re),o&1&&(r.importTotal=i[0].ric),o&1&&(r.exportTotal=i[0].rec),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function aa(t){let e,l,n;return l=new Pp({props:{data:t[0].ea,currency:t[2].currency,hasExport:t[0].om>0||t[0].e>0}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&1&&(r.data=i[0].ea),o&4&&(r.currency=i[2].currency),o&1&&(r.hasExport=i[0].om>0||i[0].e>0),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function fa(t){let e,l,n;return l=new Gp({}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt h-64")},m(i,o){y(i,e,o),V(l,e,null),n=!0},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ca(t){let e,l,n;return l=new Np({props:{json:t[2]}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&4&&(r.json=i[2]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function pa(t){let e,l,n;return l=new Ep({props:{json:t[3]}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&8&&(r.json=i[3]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function ma(t){let e,l,n;return l=new Lp({props:{json:t[4]}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&16&&(r.json=i[4]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function _a(t){let e,l,n;return l=new Up({props:{json:t[5]}}),{c(){e=p("div"),J(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){y(i,e,o),V(l,e,null),n=!0},p(i,o){const r={};o&32&&(r.json=i[5]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&w(e),K(l)}}}function Bp(t){let e,l=He(t[1].ui.i,t[0].i),n,i=He(t[1].ui.e,t[0].om||t[0].e>0),o,r=He(t[1].ui.v,t[0].u1>100||t[0].u2>100||t[0].u3>100),a,c=He(t[1].ui.a,t[0].i1>.01||t[0].i2>.01||t[0].i3>.01),f,m=He(t[1].ui.r,t[0].ri>0||t[0].re>0||t[0].ric>0||t[0].rec>0),_,h=He(t[1].ui.c,t[0].ea),g,d=He(t[1].ui.t,t[0].pr&&(t[0].pr.startsWith("10YNO")||t[0].pr=="10Y1001A1001A48H")),b,$=He(t[1].ui.p,typeof t[0].p=="number"&&!Number.isNaN(t[0].p)),k,S=He(t[1].ui.d,t[3]),A,E=He(t[1].ui.m,t[4]),T,N=He(t[1].ui.s,t[0].t&&t[0].t!=-127&&t[5].c>1),D,R=l&&ia(t),W=i&&sa(t),H=r&&oa(t),F=c&&ua(t),L=m&&ra(t),j=h&&aa(t),B=d&&fa(),q=$&&ca(t),O=S&&pa(t),U=E&&ma(t),x=N&&_a(t);return{c(){e=p("div"),R&&R.c(),n=v(),W&&W.c(),o=v(),H&&H.c(),a=v(),F&&F.c(),f=v(),L&&L.c(),_=v(),j&&j.c(),g=v(),B&&B.c(),b=v(),q&&q.c(),k=v(),O&&O.c(),A=v(),U&&U.c(),T=v(),x&&x.c(),u(e,"class","grid 2xl:grid-cols-6 xl:grid-cols-5 lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-2")},m(X,ne){y(X,e,ne),R&&R.m(e,null),s(e,n),W&&W.m(e,null),s(e,o),H&&H.m(e,null),s(e,a),F&&F.m(e,null),s(e,f),L&&L.m(e,null),s(e,_),j&&j.m(e,null),s(e,g),B&&B.m(e,null),s(e,b),q&&q.m(e,null),s(e,k),O&&O.m(e,null),s(e,A),U&&U.m(e,null),s(e,T),x&&x.m(e,null),D=!0},p(X,[ne]){ne&3&&(l=He(X[1].ui.i,X[0].i)),l?R?(R.p(X,ne),ne&3&&P(R,1)):(R=ia(X),R.c(),P(R,1),R.m(e,n)):R&&(Ie(),I(R,1,1,()=>{R=null}),De()),ne&3&&(i=He(X[1].ui.e,X[0].om||X[0].e>0)),i?W?(W.p(X,ne),ne&3&&P(W,1)):(W=sa(X),W.c(),P(W,1),W.m(e,o)):W&&(Ie(),I(W,1,1,()=>{W=null}),De()),ne&3&&(r=He(X[1].ui.v,X[0].u1>100||X[0].u2>100||X[0].u3>100)),r?H?(H.p(X,ne),ne&3&&P(H,1)):(H=oa(X),H.c(),P(H,1),H.m(e,a)):H&&(Ie(),I(H,1,1,()=>{H=null}),De()),ne&3&&(c=He(X[1].ui.a,X[0].i1>.01||X[0].i2>.01||X[0].i3>.01)),c?F?(F.p(X,ne),ne&3&&P(F,1)):(F=ua(X),F.c(),P(F,1),F.m(e,f)):F&&(Ie(),I(F,1,1,()=>{F=null}),De()),ne&3&&(m=He(X[1].ui.r,X[0].ri>0||X[0].re>0||X[0].ric>0||X[0].rec>0)),m?L?(L.p(X,ne),ne&3&&P(L,1)):(L=ra(X),L.c(),P(L,1),L.m(e,_)):L&&(Ie(),I(L,1,1,()=>{L=null}),De()),ne&3&&(h=He(X[1].ui.c,X[0].ea)),h?j?(j.p(X,ne),ne&3&&P(j,1)):(j=aa(X),j.c(),P(j,1),j.m(e,g)):j&&(Ie(),I(j,1,1,()=>{j=null}),De()),ne&3&&(d=He(X[1].ui.t,X[0].pr&&(X[0].pr.startsWith("10YNO")||X[0].pr=="10Y1001A1001A48H"))),d?B?ne&3&&P(B,1):(B=fa(),B.c(),P(B,1),B.m(e,b)):B&&(Ie(),I(B,1,1,()=>{B=null}),De()),ne&3&&($=He(X[1].ui.p,typeof X[0].p=="number"&&!Number.isNaN(X[0].p))),$?q?(q.p(X,ne),ne&3&&P(q,1)):(q=ca(X),q.c(),P(q,1),q.m(e,k)):q&&(Ie(),I(q,1,1,()=>{q=null}),De()),ne&10&&(S=He(X[1].ui.d,X[3])),S?O?(O.p(X,ne),ne&10&&P(O,1)):(O=pa(X),O.c(),P(O,1),O.m(e,A)):O&&(Ie(),I(O,1,1,()=>{O=null}),De()),ne&18&&(E=He(X[1].ui.m,X[4])),E?U?(U.p(X,ne),ne&18&&P(U,1)):(U=ma(X),U.c(),P(U,1),U.m(e,T)):U&&(Ie(),I(U,1,1,()=>{U=null}),De()),ne&35&&(N=He(X[1].ui.s,X[0].t&&X[0].t!=-127&&X[5].c>1)),N?x?(x.p(X,ne),ne&35&&P(x,1)):(x=_a(X),x.c(),P(x,1),x.m(e,null)):x&&(Ie(),I(x,1,1,()=>{x=null}),De())},i(X){D||(P(R),P(W),P(H),P(F),P(L),P(j),P(B),P(q),P(O),P(U),P(x),D=!0)},o(X){I(R),I(W),I(H),I(F),I(L),I(j),I(B),I(q),I(O),I(U),I(x),D=!1},d(X){X&&w(e),R&&R.d(),W&&W.d(),H&&H.d(),F&&F.d(),L&&L.d(),j&&j.d(),B&&B.d(),q&&q.d(),O&&O.d(),U&&U.d(),x&&x.d()}}}function zp(t,e,l){let{data:n={}}=e,{sysinfo:i={}}=e,o={},r={},a={},c={};return Kf.subscribe(f=>{l(2,o=f)}),Qf.subscribe(f=>{l(3,r=f)}),Zf.subscribe(f=>{l(4,a=f)}),Xf.subscribe(f=>{l(5,c=f)}),t.$$set=f=>{"data"in f&&l(0,n=f.data),"sysinfo"in f&&l(1,i=f.sysinfo)},[n,i,o,r,a,c]}class Yp extends $e{constructor(e){super(),ye(this,e,zp,Bp,ke,{data:0,sysinfo:1})}}let Ys={};const sc=Ze(Ys);async function Vp(){Ys=await(await fetch("/configuration.json")).json(),sc.set(Ys)}function da(t,e,l){const n=t.slice();return n[2]=e[l],n[4]=l,n}function Kp(t){let e;return{c(){e=p("option"),e.textContent="UART0",e.__value=3,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function Qp(t){let e;return{c(){e=p("option"),e.textContent="UART0",e.__value=20,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function va(t){let e;return{c(){e=p("option"),e.textContent="UART2",e.__value=113,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function ha(t){let e,l,n;return{c(){e=p("option"),e.textContent="UART1",l=v(),n=p("option"),n.textContent="UART2",e.__value=9,e.value=e.__value,n.__value=16,n.value=n.__value},m(i,o){y(i,e,o),y(i,l,o),y(i,n,o)},d(i){i&&w(e),i&&w(l),i&&w(n)}}}function ga(t){let e;return{c(){e=p("option"),e.textContent="UART1",e.__value=18,e.value=e.__value},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function ba(t){let e,l,n;return{c(){e=p("option"),l=C("GPIO"),n=C(t[4]),e.__value=t[4],e.value=e.__value},m(i,o){y(i,e,o),s(e,l),s(e,n)},d(i){i&&w(e)}}}function ka(t){let e,l=t[4]>3&&!(t[0]=="esp32"&&(t[4]==9||t[4]==16))&&!(t[0]=="esp32s2"&&t[4]==18)&&!(t[0]=="esp8266"&&(t[4]==3||t[4]==113))&&ba(t);return{c(){l&&l.c(),e=je()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,i){n[4]>3&&!(n[0]=="esp32"&&(n[4]==9||n[4]==16))&&!(n[0]=="esp32s2"&&n[4]==18)&&!(n[0]=="esp8266"&&(n[4]==3||n[4]==113))?l||(l=ba(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&w(e)}}}function Zp(t){let e,l,n,i,o;function r(d,b){return d[0]=="esp32c3"?Qp:Kp}let a=r(t),c=a(t),f=t[0]=="esp8266"&&va(),m=(t[0]=="esp32"||t[0]=="esp32solo")&&ha(),_=t[0]=="esp32s2"&&ga(),h={length:t[1]+1},g=[];for(let d=0;d{"chip"in o&&l(0,n=o.chip)},t.$$.update=()=>{if(t.$$.dirty&1)switch(n){case"esp8266":l(1,i=16);break;case"esp32s2":l(1,i=44);break;case"esp32c3":l(1,i=19);break}},[n,i]}class oc extends $e{constructor(e){super(),ye(this,e,Jp,Zp,ke,{chip:0})}}function wa(t){let e,l,n=t[1]&&ya(t);return{c(){e=p("div"),l=p("div"),n&&n.c(),u(l,"class","fixed inset-0 bg-gray-500 bg-opacity-50 flex items-center justify-center"),u(e,"class","z-50"),u(e,"aria-modal","true")},m(i,o){y(i,e,o),s(e,l),n&&n.m(l,null)},p(i,o){i[1]?n?n.p(i,o):(n=ya(i),n.c(),n.m(l,null)):n&&(n.d(1),n=null)},d(i){i&&w(e),n&&n.d()}}}function ya(t){let e,l;return{c(){e=p("div"),l=C(t[1]),u(e,"class","bg-white m-2 p-3 rounded-md shadow-lg pb-4 text-gray-700 w-96")},m(n,i){y(n,e,i),s(e,l)},p(n,i){i&2&&G(l,n[1])},d(n){n&&w(e)}}}function Xp(t){let e,l=t[0]&&wa(t);return{c(){l&&l.c(),e=je()},m(n,i){l&&l.m(n,i),y(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=wa(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ie,o:ie,d(n){l&&l.d(n),n&&w(e)}}}function xp(t,e,l){let{active:n}=e,{message:i}=e;return t.$$set=o=>{"active"in o&&l(0,n=o.active),"message"in o&&l(1,i=o.message)},[n,i]}class gt extends $e{constructor(e){super(),ye(this,e,xp,Xp,ke,{active:0,message:1})}}function $a(t,e,l){const n=t.slice();return n[1]=e[l],n}function Ca(t){let e,l,n=t[1]+"",i;return{c(){e=p("option"),l=C("Europe/"),i=C(n),e.__value="Europe/"+t[1],e.value=e.__value},m(o,r){y(o,e,r),s(e,l),s(e,i)},p:ie,d(o){o&&w(e)}}}function em(t){let e,l,n,i=t[0],o=[];for(let r=0;r{r[m]=null}),De(),l=r[e],l||(l=r[e]=o[e](c),l.c()),P(l,1),l.m(n.parentNode,n))},i(c){i||(P(l),i=!0)},o(c){I(l),i=!1},d(c){r[e].d(c),c&&w(n)}}}function cm(t){let e,l;return e=new Vt({props:{color:"blue",text:"Upload cert",title:"Click here to upload certificate"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function pm(t){let e,l;return e=new Vt({props:{color:"green",text:"Cert OK",title:"Click here to replace certificate"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function mm(t){let e,l,n,i;const o=[pm,cm],r=[];function a(c,f){return c[3].q.s.r?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=je()},m(c,f){r[e].m(c,f),y(c,n,f),i=!0},p(c,f){let m=e;e=a(c),e!==m&&(Ie(),I(r[m],1,1,()=>{r[m]=null}),De(),l=r[e],l||(l=r[e]=o[e](c),l.c()),P(l,1),l.m(n.parentNode,n))},i(c){i||(P(l),i=!0)},o(c){I(l),i=!1},d(c){r[e].d(c),c&&w(n)}}}function _m(t){let e,l;return e=new Vt({props:{color:"blue",text:"Upload key",title:"Click here to upload key"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function dm(t){let e,l;return e=new Vt({props:{color:"green",text:"Key OK",title:"Click here to replace key"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function vm(t){let e,l,n,i;const o=[dm,_m],r=[];function a(c,f){return c[3].q.s.k?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=je()},m(c,f){r[e].m(c,f),y(c,n,f),i=!0},p(c,f){let m=e;e=a(c),e!==m&&(Ie(),I(r[m],1,1,()=>{r[m]=null}),De(),l=r[e],l||(l=r[e]=o[e](c),l.c()),P(l,1),l.m(n.parentNode,n))},i(c){i||(P(l),i=!0)},o(c){I(l),i=!1},d(c){r[e].d(c),c&&w(n)}}}function Ra(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q,O;return o=new Lt({}),{c(){e=p("div"),l=p("strong"),l.textContent="Domoticz",n=v(),i=p("a"),J(o.$$.fragment),r=v(),a=p("input"),c=v(),f=p("div"),m=p("div"),_=C("Electricity IDX"),h=p("br"),g=v(),d=p("input"),b=v(),$=p("div"),k=C("Current IDX"),S=p("br"),A=v(),E=p("input"),T=v(),N=p("div"),D=C(`Voltage IDX: L1, L2 & L3 + `),R=p("div"),W=p("input"),H=v(),F=p("input"),L=v(),j=p("input"),u(l,"class","text-sm"),u(i,"href",Ot("MQTT-configuration#domoticz")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","o"),a.value="true",u(d,"name","oe"),u(d,"type","text"),u(d,"class","in-f tr w-full"),u(m,"class","w-1/2"),u(E,"name","oc"),u(E,"type","text"),u(E,"class","in-l tr w-full"),u($,"class","w-1/2"),u(f,"class","my-1 flex"),u(W,"name","ou1"),u(W,"type","text"),u(W,"class","in-f tr w-1/3"),u(F,"name","ou2"),u(F,"type","text"),u(F,"class","in-m tr w-1/3"),u(j,"name","ou3"),u(j,"type","text"),u(j,"class","in-l tr w-1/3"),u(R,"class","flex"),u(N,"class","my-1"),u(e,"class","cnt")},m(U,x){y(U,e,x),s(e,l),s(e,n),s(e,i),V(o,i,null),s(e,r),s(e,a),s(e,c),s(e,f),s(f,m),s(m,_),s(m,h),s(m,g),s(m,d),Z(d,t[3].o.e),s(f,b),s(f,$),s($,k),s($,S),s($,A),s($,E),Z(E,t[3].o.c),s(e,T),s(e,N),s(N,D),s(N,R),s(R,W),Z(W,t[3].o.u1),s(R,H),s(R,F),Z(F,t[3].o.u2),s(R,L),s(R,j),Z(j,t[3].o.u3),B=!0,q||(O=[Y(d,"input",t[58]),Y(E,"input",t[59]),Y(W,"input",t[60]),Y(F,"input",t[61]),Y(j,"input",t[62])],q=!0)},p(U,x){x[0]&8&&d.value!==U[3].o.e&&Z(d,U[3].o.e),x[0]&8&&E.value!==U[3].o.c&&Z(E,U[3].o.c),x[0]&8&&W.value!==U[3].o.u1&&Z(W,U[3].o.u1),x[0]&8&&F.value!==U[3].o.u2&&Z(F,U[3].o.u2),x[0]&8&&j.value!==U[3].o.u3&&Z(j,U[3].o.u3)},i(U){B||(P(o.$$.fragment,U),B=!0)},o(U){I(o.$$.fragment,U),B=!1},d(U){U&&w(e),K(o),q=!1,Be(O)}}}function La(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A;o=new Lt({});let E={length:9},T=[];for(let N=0;N20&&Ha(t),m=t[0].chip=="esp8266"&&Ga(t);return{c(){e=p("div"),l=p("strong"),l.textContent="Hardware",n=v(),i=p("a"),J(o.$$.fragment),r=v(),f&&f.c(),a=v(),m&&m.c(),u(l,"class","text-sm"),u(i,"href",Ot("GPIO-configuration")),u(i,"target","_blank"),u(i,"class","float-right"),u(e,"class","cnt")},m(_,h){y(_,e,h),s(e,l),s(e,n),s(e,i),V(o,i,null),s(e,r),f&&f.m(e,null),s(e,a),m&&m.m(e,null),c=!0},p(_,h){_[0].board>20?f?(f.p(_,h),h[0]&1&&P(f,1)):(f=Ha(_),f.c(),P(f,1),f.m(e,a)):f&&(Ie(),I(f,1,1,()=>{f=null}),De()),_[0].chip=="esp8266"?m?m.p(_,h):(m=Ga(_),m.c(),m.m(e,null)):m&&(m.d(1),m=null)},i(_){c||(P(o.$$.fragment,_),P(f),c=!0)},o(_){I(o.$$.fragment,_),I(f),c=!1},d(_){_&&w(e),K(o),f&&f.d(),m&&m.d()}}}function Ha(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q,O,U,x,X,ne,le,_e,Ce,ve,Oe,he,Fe,ge,Ae,me,pe,se,re,z,ae,Pe,ee,ue,Ue,Se,de,Me,Le;h=new oc({props:{chip:t[0].chip}});let Te=t[0].chip!="esp8266"&&ja(t),we=t[3].i.v.p>0&&Wa(t);return{c(){e=p("input"),l=v(),n=p("div"),i=p("div"),o=C("HAN"),r=p("label"),a=p("input"),c=C(" pullup"),f=p("br"),m=v(),_=p("select"),J(h.$$.fragment),g=v(),d=p("div"),b=C("AP button"),$=p("br"),k=v(),S=p("input"),A=v(),E=p("div"),T=C("LED"),N=p("label"),D=p("input"),R=C(" inv"),W=p("br"),H=v(),F=p("div"),L=p("input"),j=v(),B=p("div"),q=C("RGB"),O=p("label"),U=p("input"),x=C(" inverted"),X=p("br"),ne=v(),le=p("div"),_e=p("input"),Ce=v(),ve=p("input"),Oe=v(),he=p("input"),Fe=v(),ge=p("div"),Ae=C("Temperature"),me=p("br"),pe=v(),se=p("input"),re=v(),z=p("div"),ae=C("Analog temp"),Pe=p("br"),ee=v(),ue=p("input"),Ue=v(),Te&&Te.c(),Se=v(),we&&we.c(),u(e,"type","hidden"),u(e,"name","i"),e.value="true",u(a,"name","ihu"),a.__value="true",a.value=a.__value,u(a,"type","checkbox"),u(a,"class","rounded mb-1"),u(r,"class","ml-2"),u(_,"name","ihp"),u(_,"class","in-f w-full"),t[3].i.h.p===void 0&&ze(()=>t[67].call(_)),u(i,"class","w-1/3"),u(S,"name","ia"),u(S,"type","number"),u(S,"min","0"),u(S,"max",t[6]),u(S,"class","in-m tr w-full"),u(d,"class","w-1/3"),u(D,"name","ili"),D.__value="true",D.value=D.__value,u(D,"type","checkbox"),u(D,"class","rounded mb-1"),u(N,"class","ml-4"),u(L,"name","ilp"),u(L,"type","number"),u(L,"min","0"),u(L,"max",t[6]),u(L,"class","in-l tr w-full"),u(F,"class","flex"),u(E,"class","w-1/3"),u(U,"name","iri"),U.__value="true",U.value=U.__value,u(U,"type","checkbox"),u(U,"class","rounded mb-1"),u(O,"class","ml-4"),u(_e,"name","irr"),u(_e,"type","number"),u(_e,"min","0"),u(_e,"max",t[6]),u(_e,"class","in-f tr w-1/3"),u(ve,"name","irg"),u(ve,"type","number"),u(ve,"min","0"),u(ve,"max",t[6]),u(ve,"class","in-m tr w-1/3"),u(he,"name","irb"),u(he,"type","number"),u(he,"min","0"),u(he,"max",t[6]),u(he,"class","in-l tr w-1/3"),u(le,"class","flex"),u(B,"class","w-full"),u(se,"name","itd"),u(se,"type","number"),u(se,"min","0"),u(se,"max",t[6]),u(se,"class","in-f tr w-full"),u(ge,"class","my-1 w-1/3"),u(ue,"name","ita"),u(ue,"type","number"),u(ue,"min","0"),u(ue,"max",t[6]),u(ue,"class","in-l tr w-full"),u(z,"class","my-1 pr-1 w-1/3"),u(n,"class","flex flex-wrap")},m(Q,oe){y(Q,e,oe),y(Q,l,oe),y(Q,n,oe),s(n,i),s(i,o),s(i,r),s(r,a),a.checked=t[3].i.h.u,s(r,c),s(i,f),s(i,m),s(i,_),V(h,_,null),Re(_,t[3].i.h.p),s(n,g),s(n,d),s(d,b),s(d,$),s(d,k),s(d,S),Z(S,t[3].i.a),s(n,A),s(n,E),s(E,T),s(E,N),s(N,D),D.checked=t[3].i.l.i,s(N,R),s(E,W),s(E,H),s(E,F),s(F,L),Z(L,t[3].i.l.p),s(n,j),s(n,B),s(B,q),s(B,O),s(O,U),U.checked=t[3].i.r.i,s(O,x),s(B,X),s(B,ne),s(B,le),s(le,_e),Z(_e,t[3].i.r.r),s(le,Ce),s(le,ve),Z(ve,t[3].i.r.g),s(le,Oe),s(le,he),Z(he,t[3].i.r.b),s(n,Fe),s(n,ge),s(ge,Ae),s(ge,me),s(ge,pe),s(ge,se),Z(se,t[3].i.t.d),s(n,re),s(n,z),s(z,ae),s(z,Pe),s(z,ee),s(z,ue),Z(ue,t[3].i.t.a),s(n,Ue),Te&&Te.m(n,null),s(n,Se),we&&we.m(n,null),de=!0,Me||(Le=[Y(a,"change",t[66]),Y(_,"change",t[67]),Y(S,"input",t[68]),Y(D,"change",t[69]),Y(L,"input",t[70]),Y(U,"change",t[71]),Y(_e,"input",t[72]),Y(ve,"input",t[73]),Y(he,"input",t[74]),Y(se,"input",t[75]),Y(ue,"input",t[76])],Me=!0)},p(Q,oe){oe[0]&8&&(a.checked=Q[3].i.h.u);const Cl={};oe[0]&1&&(Cl.chip=Q[0].chip),h.$set(Cl),oe[0]&8&&Re(_,Q[3].i.h.p),(!de||oe[0]&64)&&u(S,"max",Q[6]),oe[0]&8&&ce(S.value)!==Q[3].i.a&&Z(S,Q[3].i.a),oe[0]&8&&(D.checked=Q[3].i.l.i),(!de||oe[0]&64)&&u(L,"max",Q[6]),oe[0]&8&&ce(L.value)!==Q[3].i.l.p&&Z(L,Q[3].i.l.p),oe[0]&8&&(U.checked=Q[3].i.r.i),(!de||oe[0]&64)&&u(_e,"max",Q[6]),oe[0]&8&&ce(_e.value)!==Q[3].i.r.r&&Z(_e,Q[3].i.r.r),(!de||oe[0]&64)&&u(ve,"max",Q[6]),oe[0]&8&&ce(ve.value)!==Q[3].i.r.g&&Z(ve,Q[3].i.r.g),(!de||oe[0]&64)&&u(he,"max",Q[6]),oe[0]&8&&ce(he.value)!==Q[3].i.r.b&&Z(he,Q[3].i.r.b),(!de||oe[0]&64)&&u(se,"max",Q[6]),oe[0]&8&&ce(se.value)!==Q[3].i.t.d&&Z(se,Q[3].i.t.d),(!de||oe[0]&64)&&u(ue,"max",Q[6]),oe[0]&8&&ce(ue.value)!==Q[3].i.t.a&&Z(ue,Q[3].i.t.a),Q[0].chip!="esp8266"?Te?Te.p(Q,oe):(Te=ja(Q),Te.c(),Te.m(n,Se)):Te&&(Te.d(1),Te=null),Q[3].i.v.p>0?we?we.p(Q,oe):(we=Wa(Q),we.c(),we.m(n,null)):we&&(we.d(1),we=null)},i(Q){de||(P(h.$$.fragment,Q),de=!0)},o(Q){I(h.$$.fragment,Q),de=!1},d(Q){Q&&w(e),Q&&w(l),Q&&w(n),K(h),Te&&Te.d(),we&&we.d(),Me=!1,Be(Le)}}}function ja(t){let e,l,n,i,o,r,a;return{c(){e=p("div"),l=C("Vcc"),n=p("br"),i=v(),o=p("input"),u(o,"name","ivp"),u(o,"type","number"),u(o,"min","0"),u(o,"max",t[6]),u(o,"class","in-s tr w-full"),u(e,"class","my-1 pl-1 w-1/3")},m(c,f){y(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),Z(o,t[3].i.v.p),r||(a=Y(o,"input",t[77]),r=!0)},p(c,f){f[0]&64&&u(o,"max",c[6]),f[0]&8&&ce(o.value)!==c[3].i.v.p&&Z(o,c[3].i.v.p)},d(c){c&&w(e),r=!1,a()}}}function Wa(t){let e,l,n,i,o,r,a,c,f,m;return{c(){e=p("div"),l=C("Voltage divider"),n=p("br"),i=v(),o=p("div"),r=p("input"),a=v(),c=p("input"),u(r,"name","ivdv"),u(r,"type","number"),u(r,"min","0"),u(r,"max","65535"),u(r,"class","in-f tr w-full"),u(r,"placeholder","VCC"),u(c,"name","ivdg"),u(c,"type","number"),u(c,"min","0"),u(c,"max","65535"),u(c,"class","in-l tr w-full"),u(c,"placeholder","GND"),u(o,"class","flex"),u(e,"class","my-1")},m(_,h){y(_,e,h),s(e,l),s(e,n),s(e,i),s(e,o),s(o,r),Z(r,t[3].i.v.d.v),s(o,a),s(o,c),Z(c,t[3].i.v.d.g),f||(m=[Y(r,"input",t[78]),Y(c,"input",t[79])],f=!0)},p(_,h){h[0]&8&&ce(r.value)!==_[3].i.v.d.v&&Z(r,_[3].i.v.d.v),h[0]&8&&ce(c.value)!==_[3].i.v.d.g&&Z(c,_[3].i.v.d.g)},d(_){_&&w(e),f=!1,Be(m)}}}function Ga(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S=(t[0].board==2||t[0].board==100)&&Ba(t);return{c(){e=p("input"),l=v(),n=p("div"),i=p("div"),o=C("Vcc offset"),r=p("br"),a=v(),c=p("input"),f=v(),m=p("div"),_=C("Multiplier"),h=p("br"),g=v(),d=p("input"),b=v(),S&&S.c(),u(e,"type","hidden"),u(e,"name","iv"),e.value="true",u(c,"name","ivo"),u(c,"type","number"),u(c,"min","0.0"),u(c,"max","3.5"),u(c,"step","0.01"),u(c,"class","in-f tr w-full"),u(i,"class","w-1/3"),u(d,"name","ivm"),u(d,"type","number"),u(d,"min","0.1"),u(d,"max","10"),u(d,"step","0.01"),u(d,"class","in-l tr w-full"),u(m,"class","w-1/3 pr-1"),u(n,"class","my-1 flex flex-wrap")},m(A,E){y(A,e,E),y(A,l,E),y(A,n,E),s(n,i),s(i,o),s(i,r),s(i,a),s(i,c),Z(c,t[3].i.v.o),s(n,f),s(n,m),s(m,_),s(m,h),s(m,g),s(m,d),Z(d,t[3].i.v.m),s(n,b),S&&S.m(n,null),$||(k=[Y(c,"input",t[80]),Y(d,"input",t[81])],$=!0)},p(A,E){E[0]&8&&ce(c.value)!==A[3].i.v.o&&Z(c,A[3].i.v.o),E[0]&8&&ce(d.value)!==A[3].i.v.m&&Z(d,A[3].i.v.m),A[0].board==2||A[0].board==100?S?S.p(A,E):(S=Ba(A),S.c(),S.m(n,null)):S&&(S.d(1),S=null)},d(A){A&&w(e),A&&w(l),A&&w(n),S&&S.d(),$=!1,Be(k)}}}function Ba(t){let e,l,n,i,o,r,a;return{c(){e=p("div"),l=C("Boot limit"),n=p("br"),i=v(),o=p("input"),u(o,"name","ivb"),u(o,"type","number"),u(o,"min","2.5"),u(o,"max","3.5"),u(o,"step","0.1"),u(o,"class","in-s tr w-full"),u(e,"class","w-1/3 pl-1")},m(c,f){y(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),Z(o,t[3].i.v.b),r||(a=Y(o,"input",t[82]),r=!0)},p(c,f){f[0]&8&&ce(o.value)!==c[3].i.v.b&&Z(o,c[3].i.v.b)},d(c){c&&w(e),r=!1,a()}}}function za(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k=t[3].d.t&&Ya();return{c(){e=p("div"),e.textContent="Debug can cause sudden reboots. Do not leave on!",l=v(),n=p("div"),i=p("label"),o=p("input"),r=C(" Enable telnet"),a=v(),k&&k.c(),c=v(),f=p("div"),m=p("select"),_=p("option"),_.textContent="Verbose",h=p("option"),h.textContent="Debug",g=p("option"),g.textContent="Info",d=p("option"),d.textContent="Warning",u(e,"class","bd-red"),u(o,"type","checkbox"),u(o,"name","dt"),o.__value="true",o.value=o.__value,u(o,"class","rounded mb-1"),u(n,"class","my-1"),_.__value=1,_.value=_.__value,h.__value=2,h.value=h.__value,g.__value=3,g.value=g.__value,d.__value=4,d.value=d.__value,u(m,"name","dl"),u(m,"class","in-s"),t[3].d.l===void 0&&ze(()=>t[85].call(m)),u(f,"class","my-1")},m(S,A){y(S,e,A),y(S,l,A),y(S,n,A),s(n,i),s(i,o),o.checked=t[3].d.t,s(i,r),y(S,a,A),k&&k.m(S,A),y(S,c,A),y(S,f,A),s(f,m),s(m,_),s(m,h),s(m,g),s(m,d),Re(m,t[3].d.l),b||($=[Y(o,"change",t[84]),Y(m,"change",t[85])],b=!0)},p(S,A){A[0]&8&&(o.checked=S[3].d.t),S[3].d.t?k||(k=Ya(),k.c(),k.m(c.parentNode,c)):k&&(k.d(1),k=null),A[0]&8&&Re(m,S[3].d.l)},d(S){S&&w(e),S&&w(l),S&&w(n),S&&w(a),k&&k.d(S),S&&w(c),S&&w(f),b=!1,Be($)}}}function Ya(t){let e;return{c(){e=p("div"),e.textContent="Telnet is unsafe and should be off when not in use",u(e,"class","bd-red")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function hm(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q,O,U,x,X,ne,le,_e,Ce,ve,Oe,he,Fe,ge,Ae,me,pe,se,re,z,ae,Pe,ee,ue,Ue,Se,de,Me,Le,Te,we,Q,oe,Cl,ai,fi,Ct,ci,Zt,pi,mi,_i,tt,di,Jt,Yl,mt,vi,hi,gi,Xt,bi,ki,wi,_t,al,fl,cl,Ge,Gn,Ne,Bn,yi,bt,pl,$i,zn,uo,Vl,ms,ro,ml,Ut,_l,ao,Ci,fo,xe,dl,co,Si,Kl,Ql,Zl,Jl,Ti,po,Yn,St,mo,_o,Sl,vo,ho,go,Ht,Xl,xl,bo,en,Tl,ko,wo,yo,tn,Tt,$o,Pi,Co,Pl,So,To,Po,ln,Pt,Mo,Mi,Ao,_s,No,Ml,Ai,Mt,Io,Do,Eo,ds,Ni,At,Fo,Ro,Lo,Xe,Ii,Oo,nn,sn,qo,Vn,Uo,Al,Ho,jo,Wo,xt,Go,Nl,Bo,zo,Yo,el,Vo,on,Il,Ko,Qo,Zo,kt,un,rn,an,fn,Jo,Dl,Xo,xo,eu,cn,wt,tu,Di,lu,Ei,Fi,Nt,nu,iu,Je,Ri,su,pn,mn,ou,El,uu,ru,au,vl,jt,_n,dn,fu,dt,Li,Oi,cu,vt,vn,qi,Ui,pu,vs,Hi,ji,It,mu,_u,Kn,du,hl,vu,Qn,Dt,hu,gu,bu,Wi,tl,ku,We,Gi,wu,hn,gn,yu,Zn,$u,Wt,Cu,hs,Su,Tu,bn,ll,Pu,Et,Mu,gs,Fl,Au,Nu,Iu,nl,Du,Rl,Eu,Fu,Ru,il,Lu,kn,wn,Ou,qu,Uu,sl,Hu,yn,ju,Wu,Gu,lt,$n,Cn,Sn,Tn,Pn,Mn,Bu,Ll,zu,Yu,Vu,ol,Ku,bs,ks=t[3].p.r.startsWith("10YNO")||t[3].p.r=="10Y1001A1001A48H",ws,Gt,Bi,Qu,An,Nn,Zu,Jn,Ju,Xn,Xu,ys,ht,zi,xu,In,Dn,er,xn,tr,Yi,Vi,Ft,lr,nr,ir,gl,$s,En,sr,Ki,Fn,or,Qi,Cs,Ol,Ss,ql,Ts,Ul,Ps,Hl,Rt,Ms,ur;a=new Lt({}),R=new lm({});let rc=["NOK","SEK","DKK","EUR"],Zi=[];for(let M=0;M<4;M+=1)Zi[M]=om(sm(t,rc,M));let nt=t[3].p.e&&t[0].chip!="esp8266"&&Pa(t),it=t[3].g.s>0&&Ma(t);pl=new Lt({});let ac=[24,48,96,192,384,576,1152],Ji=[];for(let M=0;M<7;M+=1)Ji[M]=um(im(t,ac,M));let st=t[3].m.e.e&&Aa(t),ot=t[3].m.e.e&&Na(t),ut=t[3].m.m.e&&Ia(t);sn=new Lt({}),mn=new Lt({}),vn=new uc({});let rt=t[3].n.m=="static"&&Da(t);gn=new Lt({});let at=t[0].chip!="esp8266"&&Ea(t),Ye=t[3].q.s.e&&Fa(t),Ve=t[3].q.m==3&&Ra(t),Ke=ks&&La(t);Nn=new Lt({});let Rn=t[7],ft=[];for(let M=0;M20||t[0].chip=="esp8266")&&Ua(t);Dn=new Lt({});let ct=t[3].d.s&&za(t);return Ol=new gt({props:{active:t[1],message:"Loading configuration"}}),ql=new gt({props:{active:t[2],message:"Saving configuration"}}),Ul=new gt({props:{active:t[4],message:"Performing factory reset"}}),Hl=new gt({props:{active:t[5],message:"Device have been factory reset and switched to AP mode"}}),{c(){e=p("form"),l=p("div"),n=p("div"),i=p("strong"),i.textContent="General",o=v(),r=p("a"),J(a.$$.fragment),c=v(),f=p("input"),m=v(),_=p("div"),h=p("div"),g=p("div"),d=C("Hostname"),b=p("br"),$=v(),k=p("input"),S=v(),A=p("div"),E=C("Time zone"),T=p("br"),N=v(),D=p("select"),J(R.$$.fragment),W=v(),H=p("input"),F=v(),L=p("div"),j=C("Price region"),B=p("br"),q=v(),O=p("select"),U=p("optgroup"),x=p("option"),x.textContent="NO1",X=p("option"),X.textContent="NO2",ne=p("option"),ne.textContent="NO3",le=p("option"),le.textContent="NO4",_e=p("option"),_e.textContent="NO5",Ce=p("optgroup"),ve=p("option"),ve.textContent="SE1",Oe=p("option"),Oe.textContent="SE2",he=p("option"),he.textContent="SE3",Fe=p("option"),Fe.textContent="SE4",ge=p("optgroup"),Ae=p("option"),Ae.textContent="DK1",me=p("option"),me.textContent="DK2",pe=p("option"),pe.textContent="Austria",se=p("option"),se.textContent="Belgium",re=p("option"),re.textContent="Czech Republic",z=p("option"),z.textContent="Estonia",ae=p("option"),ae.textContent="Finland",Pe=p("option"),Pe.textContent="France",ee=p("option"),ee.textContent="Germany",ue=p("option"),ue.textContent="Great Britain",Ue=p("option"),Ue.textContent="Latvia",Se=p("option"),Se.textContent="Lithuania",de=p("option"),de.textContent="Netherland",Me=p("option"),Me.textContent="Poland",Le=p("option"),Le.textContent="Switzerland",Te=v(),we=p("div"),Q=p("div"),oe=p("div"),Cl=C("Currency"),ai=p("br"),fi=v(),Ct=p("select");for(let M=0;M<4;M+=1)Zi[M].c();ci=v(),Zt=p("div"),pi=C("Multiplier"),mi=p("br"),_i=v(),tt=p("input"),di=v(),Jt=p("div"),Yl=p("label"),mt=p("input"),vi=C(" Enable price fetch from remote server"),hi=v(),nt&&nt.c(),gi=v(),Xt=p("div"),bi=C("Security"),ki=p("br"),wi=v(),_t=p("select"),al=p("option"),al.textContent="None",fl=p("option"),fl.textContent="Only configuration",cl=p("option"),cl.textContent="Everything",Ge=v(),it&&it.c(),Gn=v(),Ne=p("div"),Bn=p("strong"),Bn.textContent="Meter",yi=v(),bt=p("a"),J(pl.$$.fragment),$i=v(),zn=p("input"),uo=v(),Vl=p("div"),ms=p("span"),ms.textContent="Serial configuration",ro=v(),ml=p("div"),Ut=p("select"),_l=p("option"),ao=C("Autodetect");for(let M=0;M<7;M+=1)Ji[M].c();fo=v(),xe=p("select"),dl=p("option"),co=C("-"),Kl=p("option"),Kl.textContent="7N1",Ql=p("option"),Ql.textContent="8N1",Zl=p("option"),Zl.textContent="7E1",Jl=p("option"),Jl.textContent="8E1",po=v(),Yn=p("label"),St=p("input"),mo=C(" inverted"),_o=v(),Sl=p("div"),vo=C("Voltage"),ho=p("br"),go=v(),Ht=p("select"),Xl=p("option"),Xl.textContent="400V (TN)",xl=p("option"),xl.textContent="230V (IT/TT)",bo=v(),en=p("div"),Tl=p("div"),ko=C("Main fuse"),wo=p("br"),yo=v(),tn=p("label"),Tt=p("input"),$o=v(),Pi=p("span"),Pi.textContent="A",Co=v(),Pl=p("div"),So=C("Production"),To=p("br"),Po=v(),ln=p("label"),Pt=p("input"),Mo=v(),Mi=p("span"),Mi.textContent="kWp",Ao=v(),_s=p("div"),No=v(),Ml=p("div"),Ai=p("label"),Mt=p("input"),Io=C(" Meter is encrypted"),Do=v(),st&&st.c(),Eo=v(),ot&&ot.c(),ds=v(),Ni=p("label"),At=p("input"),Fo=C(" Multipliers"),Ro=v(),ut&&ut.c(),Lo=v(),Xe=p("div"),Ii=p("strong"),Ii.textContent="WiFi",Oo=v(),nn=p("a"),J(sn.$$.fragment),qo=v(),Vn=p("input"),Uo=v(),Al=p("div"),Ho=C("SSID"),jo=p("br"),Wo=v(),xt=p("input"),Go=v(),Nl=p("div"),Bo=C("Password"),zo=p("br"),Yo=v(),el=p("input"),Vo=v(),on=p("div"),Il=p("div"),Ko=C("Power saving"),Qo=p("br"),Zo=v(),kt=p("select"),un=p("option"),un.textContent="Default",rn=p("option"),rn.textContent="Off",an=p("option"),an.textContent="Minimum",fn=p("option"),fn.textContent="Maximum",Jo=v(),Dl=p("div"),Xo=C("Power"),xo=p("br"),eu=v(),cn=p("div"),wt=p("input"),tu=v(),Di=p("span"),Di.textContent="dBm",lu=v(),Ei=p("div"),Fi=p("label"),Nt=p("input"),nu=C(" Auto reboot on connection problem"),iu=v(),Je=p("div"),Ri=p("strong"),Ri.textContent="Network",su=v(),pn=p("a"),J(mn.$$.fragment),ou=v(),El=p("div"),uu=C("IP"),ru=p("br"),au=v(),vl=p("div"),jt=p("select"),_n=p("option"),_n.textContent="DHCP",dn=p("option"),dn.textContent="Static",fu=v(),dt=p("input"),cu=v(),vt=p("select"),J(vn.$$.fragment),pu=v(),rt&&rt.c(),vs=v(),Hi=p("div"),ji=p("label"),It=p("input"),mu=C(" enable mDNS"),_u=v(),Kn=p("input"),du=v(),hl=p("div"),vu=C("NTP "),Qn=p("label"),Dt=p("input"),hu=C(" obtain from DHCP"),gu=p("br"),bu=v(),Wi=p("div"),tl=p("input"),ku=v(),We=p("div"),Gi=p("strong"),Gi.textContent="MQTT",wu=v(),hn=p("a"),J(gn.$$.fragment),yu=v(),Zn=p("input"),$u=v(),Wt=p("div"),Cu=C(`Server + `),at&&at.c(),hs=v(),Su=p("br"),Tu=v(),bn=p("div"),ll=p("input"),Pu=v(),Et=p("input"),Mu=v(),Ye&&Ye.c(),gs=v(),Fl=p("div"),Au=C("Username"),Nu=p("br"),Iu=v(),nl=p("input"),Du=v(),Rl=p("div"),Eu=C("Password"),Fu=p("br"),Ru=v(),il=p("input"),Lu=v(),kn=p("div"),wn=p("div"),Ou=C("Client ID"),qu=p("br"),Uu=v(),sl=p("input"),Hu=v(),yn=p("div"),ju=C("Payload"),Wu=p("br"),Gu=v(),lt=p("select"),$n=p("option"),$n.textContent="JSON",Cn=p("option"),Cn.textContent="Raw (minimal)",Sn=p("option"),Sn.textContent="Raw (full)",Tn=p("option"),Tn.textContent="Domoticz",Pn=p("option"),Pn.textContent="HomeAssistant",Mn=p("option"),Mn.textContent="HEX dump",Bu=v(),Ll=p("div"),zu=C("Publish topic"),Yu=p("br"),Vu=v(),ol=p("input"),Ku=v(),Ve&&Ve.c(),bs=v(),Ke&&Ke.c(),ws=v(),Gt=p("div"),Bi=p("strong"),Bi.textContent="User interface",Qu=v(),An=p("a"),J(Nn.$$.fragment),Zu=v(),Jn=p("input"),Ju=v(),Xn=p("div");for(let M=0;MSave',Cs=v(),J(Ol.$$.fragment),Ss=v(),J(ql.$$.fragment),Ts=v(),J(Ul.$$.fragment),Ps=v(),J(Hl.$$.fragment),u(i,"class","text-sm"),u(r,"href",Ot("General-configuration")),u(r,"target","_blank"),u(r,"class","float-right"),u(f,"type","hidden"),u(f,"name","g"),f.value="true",u(k,"name","gh"),u(k,"type","text"),u(k,"class","in-f w-full"),u(k,"pattern","[A-Za-z0-9-]+"),u(D,"name","gt"),u(D,"class","in-l w-full"),t[3].g.t===void 0&&ze(()=>t[13].call(D)),u(h,"class","flex"),u(_,"class","my-1"),u(H,"type","hidden"),u(H,"name","p"),H.value="true",x.__value="10YNO-1--------2",x.value=x.__value,X.__value="10YNO-2--------T",X.value=X.__value,ne.__value="10YNO-3--------J",ne.value=ne.__value,le.__value="10YNO-4--------9",le.value=le.__value,_e.__value="10Y1001A1001A48H",_e.value=_e.__value,u(U,"label","Norway"),ve.__value="10Y1001A1001A44P",ve.value=ve.__value,Oe.__value="10Y1001A1001A45N",Oe.value=Oe.__value,he.__value="10Y1001A1001A46L",he.value=he.__value,Fe.__value="10Y1001A1001A47J",Fe.value=Fe.__value,u(Ce,"label","Sweden"),Ae.__value="10YDK-1--------W",Ae.value=Ae.__value,me.__value="10YDK-2--------M",me.value=me.__value,u(ge,"label","Denmark"),pe.__value="10YAT-APG------L",pe.value=pe.__value,se.__value="10YBE----------2",se.value=se.__value,re.__value="10YCZ-CEPS-----N",re.value=re.__value,z.__value="10Y1001A1001A39I",z.value=z.__value,ae.__value="10YFI-1--------U",ae.value=ae.__value,Pe.__value="10YFR-RTE------C",Pe.value=Pe.__value,ee.__value="10Y1001A1001A83F",ee.value=ee.__value,ue.__value="10YGB----------A",ue.value=ue.__value,Ue.__value="10YLV-1001A00074",Ue.value=Ue.__value,Se.__value="10YLT-1001A0008Q",Se.value=Se.__value,de.__value="10YNL----------L",de.value=de.__value,Me.__value="10YPL-AREA-----S",Me.value=Me.__value,Le.__value="10YCH-SWISSGRIDZ",Le.value=Le.__value,u(O,"name","pr"),u(O,"class","in-s"),t[3].p.r===void 0&&ze(()=>t[14].call(O)),u(L,"class","my-1"),u(Ct,"name","pc"),u(Ct,"class","in-f w-full"),t[3].p.c===void 0&&ze(()=>t[15].call(Ct)),u(oe,"class","w-1/2"),u(tt,"name","pm"),u(tt,"type","number"),u(tt,"min","0.001"),u(tt,"max","1000"),u(tt,"step","0.001"),u(tt,"class","in-l tr w-full"),u(Zt,"class","w-1/2"),u(Q,"class","flex"),u(we,"class","my-1"),u(mt,"type","checkbox"),u(mt,"name","pe"),mt.__value="true",mt.value=mt.__value,u(mt,"class","rounded mb-1"),u(Jt,"class","my-1"),al.__value=0,al.value=al.__value,fl.__value=1,fl.value=fl.__value,cl.__value=2,cl.value=cl.__value,u(_t,"name","gs"),u(_t,"class","in-s"),t[3].g.s===void 0&&ze(()=>t[19].call(_t)),u(Xt,"class","my-1"),u(n,"class","cnt"),u(Bn,"class","text-sm"),u(bt,"href",Ot("Meter-configuration")),u(bt,"target","_blank"),u(bt,"class","float-right"),u(zn,"type","hidden"),u(zn,"name","m"),zn.value="true",_l.__value=0,_l.value=_l.__value,_l.disabled=Ci=t[3].m.b!=0,u(Ut,"name","mb"),u(Ut,"class","in-f"),t[3].m.b===void 0&&ze(()=>t[22].call(Ut)),dl.__value=0,dl.value=dl.__value,dl.disabled=Si=t[3].m.b!=0,Kl.__value=2,Kl.value=Kl.__value,Ql.__value=3,Ql.value=Ql.__value,Zl.__value=10,Zl.value=Zl.__value,Jl.__value=11,Jl.value=Jl.__value,u(xe,"name","mp"),u(xe,"class","in-l"),xe.disabled=Ti=t[3].m.b==0,t[3].m.p===void 0&&ze(()=>t[23].call(xe)),u(St,"name","mi"),St.__value="true",St.value=St.__value,u(St,"type","checkbox"),u(St,"class","rounded mb-1"),u(Yn,"class","mt-2 ml-3 whitespace-nowrap"),u(ml,"class","flex"),u(Vl,"class","my-1"),Xl.__value=2,Xl.value=Xl.__value,xl.__value=1,xl.value=xl.__value,u(Ht,"name","md"),u(Ht,"class","in-s"),t[3].m.d===void 0&&ze(()=>t[25].call(Ht)),u(Sl,"class","my-1"),u(Tt,"name","mf"),u(Tt,"type","number"),u(Tt,"min","5"),u(Tt,"max","65535"),u(Tt,"class","in-f tr w-full"),u(Pi,"class","in-post"),u(tn,"class","flex"),u(Tl,"class","mx-1"),u(Pt,"name","mr"),u(Pt,"type","number"),u(Pt,"min","0"),u(Pt,"max","65535"),u(Pt,"class","in-f tr w-full"),u(Mi,"class","in-post"),u(ln,"class","flex"),u(Pl,"class","mx-1"),u(en,"class","my-1 flex"),u(_s,"class","my-1"),u(Mt,"type","checkbox"),u(Mt,"name","me"),Mt.__value="true",Mt.value=Mt.__value,u(Mt,"class","rounded mb-1"),u(Ml,"class","my-1"),u(At,"type","checkbox"),u(At,"name","mm"),At.__value="true",At.value=At.__value,u(At,"class","rounded mb-1"),u(Ne,"class","cnt"),u(Ii,"class","text-sm"),u(nn,"href",Ot("WiFi-configuration")),u(nn,"target","_blank"),u(nn,"class","float-right"),u(Vn,"type","hidden"),u(Vn,"name","w"),Vn.value="true",u(xt,"name","ws"),u(xt,"type","text"),u(xt,"class","in-s"),u(Al,"class","my-1"),u(el,"name","wp"),u(el,"type","password"),u(el,"class","in-s"),u(Nl,"class","my-1"),un.__value=255,un.value=un.__value,rn.__value=0,rn.value=rn.__value,an.__value=1,an.value=an.__value,fn.__value=2,fn.value=fn.__value,u(kt,"name","wz"),u(kt,"class","in-s"),t[3].w.z===void 0&&ze(()=>t[38].call(kt)),u(Il,"class","w-1/2"),u(wt,"name","ww"),u(wt,"type","number"),u(wt,"min","0"),u(wt,"max","20.5"),u(wt,"step","0.5"),u(wt,"class","in-f tr w-full"),u(Di,"class","in-post"),u(cn,"class","flex"),u(Dl,"class","ml-2 w-1/2"),u(on,"class","my-1 flex"),u(Nt,"type","checkbox"),u(Nt,"name","wa"),Nt.__value="true",Nt.value=Nt.__value,u(Nt,"class","rounded mb-1"),u(Ei,"class","my-3"),u(Xe,"class","cnt"),u(Ri,"class","text-sm"),u(pn,"href",Ot("Network-configuration")),u(pn,"target","_blank"),u(pn,"class","float-right"),_n.__value="dhcp",_n.value=_n.__value,dn.__value="static",dn.value=dn.__value,u(jt,"name","nm"),u(jt,"class","in-f"),t[3].n.m===void 0&&ze(()=>t[41].call(jt)),u(dt,"name","ni"),u(dt,"type","text"),u(dt,"class","in-m w-full"),dt.disabled=Li=t[3].n.m=="dhcp",dt.required=Oi=t[3].n.m=="static",u(vt,"name","ns"),u(vt,"class","in-l"),vt.disabled=qi=t[3].n.m=="dhcp",vt.required=Ui=t[3].n.m=="static",t[3].n.s===void 0&&ze(()=>t[43].call(vt)),u(vl,"class","flex"),u(El,"class","my-1"),u(It,"name","nd"),It.__value="true",It.value=It.__value,u(It,"type","checkbox"),u(It,"class","rounded mb-1"),u(Hi,"class","my-1"),u(Kn,"type","hidden"),u(Kn,"name","ntp"),Kn.value="true",u(Dt,"name","ntpd"),Dt.__value="true",Dt.value=Dt.__value,u(Dt,"type","checkbox"),u(Dt,"class","rounded mb-1"),u(Qn,"class","ml-4"),u(tl,"name","ntph"),u(tl,"type","text"),u(tl,"class","in-s"),u(Wi,"class","flex"),u(hl,"class","my-1"),u(Je,"class","cnt"),u(Gi,"class","text-sm"),u(hn,"href",Ot("MQTT-configuration")),u(hn,"target","_blank"),u(hn,"class","float-right"),u(Zn,"type","hidden"),u(Zn,"name","q"),Zn.value="true",u(ll,"name","qh"),u(ll,"type","text"),u(ll,"class","in-f w-3/4"),u(Et,"name","qp"),u(Et,"type","number"),u(Et,"min","1024"),u(Et,"max","65535"),u(Et,"class","in-l tr w-1/4"),u(bn,"class","flex"),u(Wt,"class","my-1"),u(nl,"name","qu"),u(nl,"type","text"),u(nl,"class","in-s"),u(Fl,"class","my-1"),u(il,"name","qa"),u(il,"type","password"),u(il,"class","in-s"),u(Rl,"class","my-1"),u(sl,"name","qc"),u(sl,"type","text"),u(sl,"class","in-f w-full"),$n.__value=0,$n.value=$n.__value,Cn.__value=1,Cn.value=Cn.__value,Sn.__value=2,Sn.value=Sn.__value,Tn.__value=3,Tn.value=Tn.__value,Pn.__value=4,Pn.value=Pn.__value,Mn.__value=255,Mn.value=Mn.__value,u(lt,"name","qm"),u(lt,"class","in-l"),t[3].q.m===void 0&&ze(()=>t[56].call(lt)),u(kn,"class","my-1 flex"),u(ol,"name","qb"),u(ol,"type","text"),u(ol,"class","in-s"),u(Ll,"class","my-1"),u(We,"class","cnt"),u(Bi,"class","text-sm"),u(An,"href",Ot("User-interface")),u(An,"target","_blank"),u(An,"class","float-right"),u(Jn,"type","hidden"),u(Jn,"name","u"),Jn.value="true",u(Xn,"class","flex flex-wrap"),u(Gt,"class","cnt"),u(zi,"class","text-sm"),u(In,"href","https://amsleser.no/blog/post/24-telnet-debug"),u(In,"target","_blank"),u(In,"class","float-right"),u(xn,"type","hidden"),u(xn,"name","d"),xn.value="true",u(Ft,"type","checkbox"),u(Ft,"name","ds"),Ft.__value="true",Ft.value=Ft.__value,u(Ft,"class","rounded mb-1"),u(Yi,"class","mt-3"),u(ht,"class","cnt"),u(l,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2"),u(En,"type","button"),u(En,"class","py-2 px-4 rounded bg-red-500 text-white ml-2"),u(Fn,"type","button"),u(Fn,"class","py-2 px-4 rounded bg-yellow-500 text-white"),u(Ki,"class","text-center"),u(Qi,"class","text-right"),u(gl,"class","grid grid-cols-3"),u(e,"autocomplete","off")},m(M,te){y(M,e,te),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),V(a,r,null),s(n,c),s(n,f),s(n,m),s(n,_),s(_,h),s(h,g),s(g,d),s(g,b),s(g,$),s(g,k),Z(k,t[3].g.h),s(h,S),s(h,A),s(A,E),s(A,T),s(A,N),s(A,D),V(R,D,null),Re(D,t[3].g.t),s(n,W),s(n,H),s(n,F),s(n,L),s(L,j),s(L,B),s(L,q),s(L,O),s(O,U),s(U,x),s(U,X),s(U,ne),s(U,le),s(U,_e),s(O,Ce),s(Ce,ve),s(Ce,Oe),s(Ce,he),s(Ce,Fe),s(O,ge),s(ge,Ae),s(ge,me),s(O,pe),s(O,se),s(O,re),s(O,z),s(O,ae),s(O,Pe),s(O,ee),s(O,ue),s(O,Ue),s(O,Se),s(O,de),s(O,Me),s(O,Le),Re(O,t[3].p.r),s(n,Te),s(n,we),s(we,Q),s(Q,oe),s(oe,Cl),s(oe,ai),s(oe,fi),s(oe,Ct);for(let pt=0;pt<4;pt+=1)Zi[pt].m(Ct,null);Re(Ct,t[3].p.c),s(Q,ci),s(Q,Zt),s(Zt,pi),s(Zt,mi),s(Zt,_i),s(Zt,tt),Z(tt,t[3].p.m),s(n,di),s(n,Jt),s(Jt,Yl),s(Yl,mt),mt.checked=t[3].p.e,s(Yl,vi),s(Jt,hi),nt&&nt.m(Jt,null),s(n,gi),s(n,Xt),s(Xt,bi),s(Xt,ki),s(Xt,wi),s(Xt,_t),s(_t,al),s(_t,fl),s(_t,cl),Re(_t,t[3].g.s),s(n,Ge),it&&it.m(n,null),s(l,Gn),s(l,Ne),s(Ne,Bn),s(Ne,yi),s(Ne,bt),V(pl,bt,null),s(Ne,$i),s(Ne,zn),s(Ne,uo),s(Ne,Vl),s(Vl,ms),s(Vl,ro),s(Vl,ml),s(ml,Ut),s(Ut,_l),s(_l,ao);for(let pt=0;pt<7;pt+=1)Ji[pt].m(Ut,null);Re(Ut,t[3].m.b),s(ml,fo),s(ml,xe),s(xe,dl),s(dl,co),s(xe,Kl),s(xe,Ql),s(xe,Zl),s(xe,Jl),Re(xe,t[3].m.p),s(ml,po),s(ml,Yn),s(Yn,St),St.checked=t[3].m.i,s(Yn,mo),s(Ne,_o),s(Ne,Sl),s(Sl,vo),s(Sl,ho),s(Sl,go),s(Sl,Ht),s(Ht,Xl),s(Ht,xl),Re(Ht,t[3].m.d),s(Ne,bo),s(Ne,en),s(en,Tl),s(Tl,ko),s(Tl,wo),s(Tl,yo),s(Tl,tn),s(tn,Tt),Z(Tt,t[3].m.f),s(tn,$o),s(tn,Pi),s(en,Co),s(en,Pl),s(Pl,So),s(Pl,To),s(Pl,Po),s(Pl,ln),s(ln,Pt),Z(Pt,t[3].m.r),s(ln,Mo),s(ln,Mi),s(Ne,Ao),s(Ne,_s),s(Ne,No),s(Ne,Ml),s(Ml,Ai),s(Ai,Mt),Mt.checked=t[3].m.e.e,s(Ai,Io),s(Ml,Do),st&&st.m(Ml,null),s(Ne,Eo),ot&&ot.m(Ne,null),s(Ne,ds),s(Ne,Ni),s(Ni,At),At.checked=t[3].m.m.e,s(Ni,Fo),s(Ne,Ro),ut&&ut.m(Ne,null),s(l,Lo),s(l,Xe),s(Xe,Ii),s(Xe,Oo),s(Xe,nn),V(sn,nn,null),s(Xe,qo),s(Xe,Vn),s(Xe,Uo),s(Xe,Al),s(Al,Ho),s(Al,jo),s(Al,Wo),s(Al,xt),Z(xt,t[3].w.s),s(Xe,Go),s(Xe,Nl),s(Nl,Bo),s(Nl,zo),s(Nl,Yo),s(Nl,el),Z(el,t[3].w.p),s(Xe,Vo),s(Xe,on),s(on,Il),s(Il,Ko),s(Il,Qo),s(Il,Zo),s(Il,kt),s(kt,un),s(kt,rn),s(kt,an),s(kt,fn),Re(kt,t[3].w.z),s(on,Jo),s(on,Dl),s(Dl,Xo),s(Dl,xo),s(Dl,eu),s(Dl,cn),s(cn,wt),Z(wt,t[3].w.w),s(cn,tu),s(cn,Di),s(Xe,lu),s(Xe,Ei),s(Ei,Fi),s(Fi,Nt),Nt.checked=t[3].w.a,s(Fi,nu),s(l,iu),s(l,Je),s(Je,Ri),s(Je,su),s(Je,pn),V(mn,pn,null),s(Je,ou),s(Je,El),s(El,uu),s(El,ru),s(El,au),s(El,vl),s(vl,jt),s(jt,_n),s(jt,dn),Re(jt,t[3].n.m),s(vl,fu),s(vl,dt),Z(dt,t[3].n.i),s(vl,cu),s(vl,vt),V(vn,vt,null),Re(vt,t[3].n.s),s(Je,pu),rt&&rt.m(Je,null),s(Je,vs),s(Je,Hi),s(Hi,ji),s(ji,It),It.checked=t[3].n.d,s(ji,mu),s(Je,_u),s(Je,Kn),s(Je,du),s(Je,hl),s(hl,vu),s(hl,Qn),s(Qn,Dt),Dt.checked=t[3].n.h,s(Qn,hu),s(hl,gu),s(hl,bu),s(hl,Wi),s(Wi,tl),Z(tl,t[3].n.n1),s(l,ku),s(l,We),s(We,Gi),s(We,wu),s(We,hn),V(gn,hn,null),s(We,yu),s(We,Zn),s(We,$u),s(We,Wt),s(Wt,Cu),at&&at.m(Wt,null),s(Wt,hs),s(Wt,Su),s(Wt,Tu),s(Wt,bn),s(bn,ll),Z(ll,t[3].q.h),s(bn,Pu),s(bn,Et),Z(Et,t[3].q.p),s(We,Mu),Ye&&Ye.m(We,null),s(We,gs),s(We,Fl),s(Fl,Au),s(Fl,Nu),s(Fl,Iu),s(Fl,nl),Z(nl,t[3].q.u),s(We,Du),s(We,Rl),s(Rl,Eu),s(Rl,Fu),s(Rl,Ru),s(Rl,il),Z(il,t[3].q.a),s(We,Lu),s(We,kn),s(kn,wn),s(wn,Ou),s(wn,qu),s(wn,Uu),s(wn,sl),Z(sl,t[3].q.c),s(kn,Hu),s(kn,yn),s(yn,ju),s(yn,Wu),s(yn,Gu),s(yn,lt),s(lt,$n),s(lt,Cn),s(lt,Sn),s(lt,Tn),s(lt,Pn),s(lt,Mn),Re(lt,t[3].q.m),s(We,Bu),s(We,Ll),s(Ll,zu),s(Ll,Yu),s(Ll,Vu),s(Ll,ol),Z(ol,t[3].q.b),s(l,Ku),Ve&&Ve.m(l,null),s(l,bs),Ke&&Ke.m(l,null),s(l,ws),s(l,Gt),s(Gt,Bi),s(Gt,Qu),s(Gt,An),V(Nn,An,null),s(Gt,Zu),s(Gt,Jn),s(Gt,Ju),s(Gt,Xn);for(let pt=0;pt0?it?it.p(M,te):(it=Ma(M),it.c(),it.m(n,null)):it&&(it.d(1),it=null),(!Rt||te[0]&8&&Ci!==(Ci=M[3].m.b!=0))&&(_l.disabled=Ci),te[0]&8&&Re(Ut,M[3].m.b),(!Rt||te[0]&8&&Si!==(Si=M[3].m.b!=0))&&(dl.disabled=Si),(!Rt||te[0]&8&&Ti!==(Ti=M[3].m.b==0))&&(xe.disabled=Ti),te[0]&8&&Re(xe,M[3].m.p),te[0]&8&&(St.checked=M[3].m.i),te[0]&8&&Re(Ht,M[3].m.d),te[0]&8&&ce(Tt.value)!==M[3].m.f&&Z(Tt,M[3].m.f),te[0]&8&&ce(Pt.value)!==M[3].m.r&&Z(Pt,M[3].m.r),te[0]&8&&(Mt.checked=M[3].m.e.e),M[3].m.e.e?st?st.p(M,te):(st=Aa(M),st.c(),st.m(Ml,null)):st&&(st.d(1),st=null),M[3].m.e.e?ot?ot.p(M,te):(ot=Na(M),ot.c(),ot.m(Ne,ds)):ot&&(ot.d(1),ot=null),te[0]&8&&(At.checked=M[3].m.m.e),M[3].m.m.e?ut?ut.p(M,te):(ut=Ia(M),ut.c(),ut.m(Ne,null)):ut&&(ut.d(1),ut=null),te[0]&8&&xt.value!==M[3].w.s&&Z(xt,M[3].w.s),te[0]&8&&el.value!==M[3].w.p&&Z(el,M[3].w.p),te[0]&8&&Re(kt,M[3].w.z),te[0]&8&&ce(wt.value)!==M[3].w.w&&Z(wt,M[3].w.w),te[0]&8&&(Nt.checked=M[3].w.a),te[0]&8&&Re(jt,M[3].n.m),(!Rt||te[0]&8&&Li!==(Li=M[3].n.m=="dhcp"))&&(dt.disabled=Li),(!Rt||te[0]&8&&Oi!==(Oi=M[3].n.m=="static"))&&(dt.required=Oi),te[0]&8&&dt.value!==M[3].n.i&&Z(dt,M[3].n.i),(!Rt||te[0]&8&&qi!==(qi=M[3].n.m=="dhcp"))&&(vt.disabled=qi),(!Rt||te[0]&8&&Ui!==(Ui=M[3].n.m=="static"))&&(vt.required=Ui),te[0]&8&&Re(vt,M[3].n.s),M[3].n.m=="static"?rt?rt.p(M,te):(rt=Da(M),rt.c(),rt.m(Je,vs)):rt&&(rt.d(1),rt=null),te[0]&8&&(It.checked=M[3].n.d),te[0]&8&&(Dt.checked=M[3].n.h),te[0]&8&&tl.value!==M[3].n.n1&&Z(tl,M[3].n.n1),M[0].chip!="esp8266"?at?at.p(M,te):(at=Ea(M),at.c(),at.m(Wt,hs)):at&&(at.d(1),at=null),te[0]&8&&ll.value!==M[3].q.h&&Z(ll,M[3].q.h),te[0]&8&&ce(Et.value)!==M[3].q.p&&Z(Et,M[3].q.p),M[3].q.s.e?Ye?(Ye.p(M,te),te[0]&8&&P(Ye,1)):(Ye=Fa(M),Ye.c(),P(Ye,1),Ye.m(We,gs)):Ye&&(Ie(),I(Ye,1,1,()=>{Ye=null}),De()),te[0]&8&&nl.value!==M[3].q.u&&Z(nl,M[3].q.u),te[0]&8&&il.value!==M[3].q.a&&Z(il,M[3].q.a),te[0]&8&&sl.value!==M[3].q.c&&Z(sl,M[3].q.c),te[0]&8&&Re(lt,M[3].q.m),te[0]&8&&ol.value!==M[3].q.b&&Z(ol,M[3].q.b),M[3].q.m==3?Ve?(Ve.p(M,te),te[0]&8&&P(Ve,1)):(Ve=Ra(M),Ve.c(),P(Ve,1),Ve.m(l,bs)):Ve&&(Ie(),I(Ve,1,1,()=>{Ve=null}),De()),te[0]&8&&(ks=M[3].p.r.startsWith("10YNO")||M[3].p.r=="10Y1001A1001A48H"),ks?Ke?(Ke.p(M,te),te[0]&8&&P(Ke,1)):(Ke=La(M),Ke.c(),P(Ke,1),Ke.m(l,ws)):Ke&&(Ie(),I(Ke,1,1,()=>{Ke=null}),De()),te[0]&136){Rn=M[7];let yt;for(yt=0;yt20||M[0].chip=="esp8266"?Qe?(Qe.p(M,te),te[0]&1&&P(Qe,1)):(Qe=Ua(M),Qe.c(),P(Qe,1),Qe.m(l,ys)):Qe&&(Ie(),I(Qe,1,1,()=>{Qe=null}),De()),te[0]&8&&(Ft.checked=M[3].d.s),M[3].d.s?ct?ct.p(M,te):(ct=za(M),ct.c(),ct.m(ht,null)):ct&&(ct.d(1),ct=null);const pt={};te[0]&2&&(pt.active=M[1]),Ol.$set(pt);const rr={};te[0]&4&&(rr.active=M[2]),ql.$set(rr);const ar={};te[0]&16&&(ar.active=M[4]),Ul.$set(ar);const fr={};te[0]&32&&(fr.active=M[5]),Hl.$set(fr)},i(M){Rt||(P(a.$$.fragment,M),P(R.$$.fragment,M),P(pl.$$.fragment,M),P(sn.$$.fragment,M),P(mn.$$.fragment,M),P(vn.$$.fragment,M),P(gn.$$.fragment,M),P(Ye),P(Ve),P(Ke),P(Nn.$$.fragment,M),P(Qe),P(Dn.$$.fragment,M),P(Ol.$$.fragment,M),P(ql.$$.fragment,M),P(Ul.$$.fragment,M),P(Hl.$$.fragment,M),Rt=!0)},o(M){I(a.$$.fragment,M),I(R.$$.fragment,M),I(pl.$$.fragment,M),I(sn.$$.fragment,M),I(mn.$$.fragment,M),I(vn.$$.fragment,M),I(gn.$$.fragment,M),I(Ye),I(Ve),I(Ke),I(Nn.$$.fragment,M),I(Qe),I(Dn.$$.fragment,M),I(Ol.$$.fragment,M),I(ql.$$.fragment,M),I(Ul.$$.fragment,M),I(Hl.$$.fragment,M),Rt=!1},d(M){M&&w(e),K(a),K(R),Kt(Zi,M),nt&&nt.d(),it&&it.d(),K(pl),Kt(Ji,M),st&&st.d(),ot&&ot.d(),ut&&ut.d(),K(sn),K(mn),K(vn),rt&&rt.d(),K(gn),at&&at.d(),Ye&&Ye.d(),Ve&&Ve.d(),Ke&&Ke.d(),K(Nn),Kt(ft,M),Qe&&Qe.d(),K(Dn),ct&&ct.d(),M&&w(Cs),K(Ol,M),M&&w(Ss),K(ql,M),M&&w(Ts),K(Ul,M),M&&w(Ps),K(Hl,M),Ms=!1,Be(ur)}}}async function gm(){await(await fetch("/reboot",{method:"POST"})).json()}function bm(t,e,l){let{sysinfo:n={}}=e,i=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"}],o=!0,r=!1,a={g:{t:"",h:"",s:0,u:"",p:""},m:{b:2400,p:11,i:!1,d:0,f:0,r:0,e:{e:!1,k:"",a:""},m:{e:!1,w:!1,v:!1,a:!1,c:!1}},w:{s:"",p:"",w:0,z:255,a:!0},n:{m:"",i:"",s:"",g:"",d1:"",d2:"",d:!1,n1:"",n2:"",h:!1},q:{h:"",p:1883,u:"",a:"",b:"",s:{e:!1,c:!1,r:!0,k:!1}},o:{e:"",c:"",u1:"",u2:"",u3:""},t:{t:[0,0,0,0,0,0,0,0,0,0],h:1},p:{e:!1,t:"",r:"",c:"",m:1},d:{s:!1,t:!1,l:5},u:{i:0,e:0,v:0,a:0,r:0,c:0,t:0,p:0,d:0,m:0,s:0},i:{h:{p:null,u:!0},a:null,l:{p:null,i:!1},r:{r:null,g:null,b:null,i:!1},t:{d:null,a:null},v:{p:null,d:{v:null,g:null},o:null,m:null,b:null}}};sc.subscribe(Ge=>{Ge.version&&(l(3,a=Ge),l(1,o=!1))}),Vp();let c=!1,f=!1;async function m(){if(confirm("Are you sure you want to factory reset the device?")){l(4,c=!0);const Ge=new URLSearchParams;Ge.append("perform","true");let Ne=await(await fetch("/reset",{method:"POST",body:Ge})).json();l(4,c=!1),l(5,f=Ne.success)}}async function _(Ge){l(2,r=!0);const Gn=new FormData(Ge.target),Ne=new URLSearchParams;for(let bt of Gn){const[pl,$i]=bt;Ne.append(pl,$i)}let yi=await(await fetch("/save",{method:"POST",body:Ne})).json();$t.update(bt=>(bt.booting=yi.reboot,bt.ui=a.u,bt)),l(2,r=!1),qn("/")}const h=function(){confirm("Are you sure you want to reboot the device?")&&($t.update(Ge=>(Ge.booting=!0,Ge)),gm())},g=function(){a.q.s.e?a.q.p==1883&&l(3,a.q.p=8883,a):a.q.p==8883&&l(3,a.q.p=1883,a)};let d=44;function b(){a.g.h=this.value,l(3,a)}function $(){a.g.t=et(this),l(3,a)}function k(){a.p.r=et(this),l(3,a)}function S(){a.p.c=et(this),l(3,a)}function A(){a.p.m=ce(this.value),l(3,a)}function E(){a.p.e=this.checked,l(3,a)}function T(){a.p.t=this.value,l(3,a)}function N(){a.g.s=et(this),l(3,a)}function D(){a.g.u=this.value,l(3,a)}function R(){a.g.p=this.value,l(3,a)}function W(){a.m.b=et(this),l(3,a)}function H(){a.m.p=et(this),l(3,a)}function F(){a.m.i=this.checked,l(3,a)}function L(){a.m.d=et(this),l(3,a)}function j(){a.m.f=ce(this.value),l(3,a)}function B(){a.m.r=ce(this.value),l(3,a)}function q(){a.m.e.e=this.checked,l(3,a)}function O(){a.m.e.k=this.value,l(3,a)}function U(){a.m.e.a=this.value,l(3,a)}function x(){a.m.m.e=this.checked,l(3,a)}function X(){a.m.m.w=ce(this.value),l(3,a)}function ne(){a.m.m.v=ce(this.value),l(3,a)}function le(){a.m.m.a=ce(this.value),l(3,a)}function _e(){a.m.m.c=ce(this.value),l(3,a)}function Ce(){a.w.s=this.value,l(3,a)}function ve(){a.w.p=this.value,l(3,a)}function Oe(){a.w.z=et(this),l(3,a)}function he(){a.w.w=ce(this.value),l(3,a)}function Fe(){a.w.a=this.checked,l(3,a)}function ge(){a.n.m=et(this),l(3,a)}function Ae(){a.n.i=this.value,l(3,a)}function me(){a.n.s=et(this),l(3,a)}function pe(){a.n.g=this.value,l(3,a)}function se(){a.n.d1=this.value,l(3,a)}function re(){a.n.d2=this.value,l(3,a)}function z(){a.n.d=this.checked,l(3,a)}function ae(){a.n.h=this.checked,l(3,a)}function Pe(){a.n.n1=this.value,l(3,a)}function ee(){a.q.s.e=this.checked,l(3,a)}function ue(){a.q.h=this.value,l(3,a)}function Ue(){a.q.p=ce(this.value),l(3,a)}function Se(){a.q.u=this.value,l(3,a)}function de(){a.q.a=this.value,l(3,a)}function Me(){a.q.c=this.value,l(3,a)}function Le(){a.q.m=et(this),l(3,a)}function Te(){a.q.b=this.value,l(3,a)}function we(){a.o.e=this.value,l(3,a)}function Q(){a.o.c=this.value,l(3,a)}function oe(){a.o.u1=this.value,l(3,a)}function Cl(){a.o.u2=this.value,l(3,a)}function ai(){a.o.u3=this.value,l(3,a)}function fi(Ge){a.t.t[Ge]=ce(this.value),l(3,a)}function Ct(){a.t.h=ce(this.value),l(3,a)}function ci(Ge){a.u[Ge.key]=et(this),l(3,a)}function Zt(){a.i.h.u=this.checked,l(3,a)}function pi(){a.i.h.p=et(this),l(3,a)}function mi(){a.i.a=ce(this.value),l(3,a)}function _i(){a.i.l.i=this.checked,l(3,a)}function tt(){a.i.l.p=ce(this.value),l(3,a)}function di(){a.i.r.i=this.checked,l(3,a)}function Jt(){a.i.r.r=ce(this.value),l(3,a)}function Yl(){a.i.r.g=ce(this.value),l(3,a)}function mt(){a.i.r.b=ce(this.value),l(3,a)}function vi(){a.i.t.d=ce(this.value),l(3,a)}function hi(){a.i.t.a=ce(this.value),l(3,a)}function gi(){a.i.v.p=ce(this.value),l(3,a)}function Xt(){a.i.v.d.v=ce(this.value),l(3,a)}function bi(){a.i.v.d.g=ce(this.value),l(3,a)}function ki(){a.i.v.o=ce(this.value),l(3,a)}function wi(){a.i.v.m=ce(this.value),l(3,a)}function _t(){a.i.v.b=ce(this.value),l(3,a)}function al(){a.d.s=this.checked,l(3,a)}function fl(){a.d.t=this.checked,l(3,a)}function cl(){a.d.l=et(this),l(3,a)}return t.$$set=Ge=>{"sysinfo"in Ge&&l(0,n=Ge.sysinfo)},t.$$.update=()=>{t.$$.dirty[0]&1&&l(6,d=n.chip=="esp8266"?16:n.chip=="esp32s2"?44:39)},[n,o,r,a,c,f,d,i,m,_,h,g,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q,O,U,x,X,ne,le,_e,Ce,ve,Oe,he,Fe,ge,Ae,me,pe,se,re,z,ae,Pe,ee,ue,Ue,Se,de,Me,Le,Te,we,Q,oe,Cl,ai,fi,Ct,ci,Zt,pi,mi,_i,tt,di,Jt,Yl,mt,vi,hi,gi,Xt,bi,ki,wi,_t,al,fl,cl]}class km extends $e{constructor(e){super(),ye(this,e,bm,hm,ke,{sysinfo:0},null,[-1,-1,-1,-1])}}function Va(t,e,l){const n=t.slice();return n[20]=e[l],n}function wm(t){let e=fe(t[1].chip,t[1].board)+"",l;return{c(){l=C(e)},m(n,i){y(n,l,i)},p(n,i){i&2&&e!==(e=fe(n[1].chip,n[1].board)+"")&&G(l,e)},d(n){n&&w(l)}}}function Ka(t){let e,l,n=t[1].apmac+"",i;return{c(){e=p("div"),l=C("AP MAC: "),i=C(n),u(e,"class","my-2")},m(o,r){y(o,e,r),s(e,l),s(e,i)},p(o,r){r&2&&n!==(n=o[1].apmac+"")&&G(i,n)},d(o){o&&w(e)}}}function ym(t){let e;return{c(){e=p("span"),e.textContent="Update consents",u(e,"class","btn-pri-sm")},m(l,n){y(l,e,n)},p:ie,d(l){l&&w(e)}}}function Qa(t){let e,l,n,i,o,r=as(t[1].meter.mfg)+"",a,c,f,m,_=t[1].meter.model+"",h,g,d,b,$=t[1].meter.id+"",k;return{c(){e=p("div"),l=p("strong"),l.textContent="Meter",n=v(),i=p("div"),o=C("Manufacturer: "),a=C(r),c=v(),f=p("div"),m=C("Model: "),h=C(_),g=v(),d=p("div"),b=C("ID: "),k=C($),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(d,"class","my-2"),u(e,"class","cnt")},m(S,A){y(S,e,A),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,m),s(f,h),s(e,g),s(e,d),s(d,b),s(d,k)},p(S,A){A&2&&r!==(r=as(S[1].meter.mfg)+"")&&G(a,r),A&2&&_!==(_=S[1].meter.model+"")&&G(h,_),A&2&&$!==($=S[1].meter.id+"")&&G(k,$)},d(S){S&&w(e)}}}function Za(t){let e,l,n,i,o,r=t[1].net.ip+"",a,c,f,m,_=t[1].net.mask+"",h,g,d,b,$=t[1].net.gw+"",k,S,A,E,T=t[1].net.dns1+"",N,D,R=t[1].net.dns2&&Ja(t);return{c(){e=p("div"),l=p("strong"),l.textContent="Network",n=v(),i=p("div"),o=C("IP: "),a=C(r),c=v(),f=p("div"),m=C("Mask: "),h=C(_),g=v(),d=p("div"),b=C("Gateway: "),k=C($),S=v(),A=p("div"),E=C("DNS: "),N=C(T),D=v(),R&&R.c(),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(d,"class","my-2"),u(A,"class","my-2"),u(e,"class","cnt")},m(W,H){y(W,e,H),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,m),s(f,h),s(e,g),s(e,d),s(d,b),s(d,k),s(e,S),s(e,A),s(A,E),s(A,N),s(A,D),R&&R.m(A,null)},p(W,H){H&2&&r!==(r=W[1].net.ip+"")&&G(a,r),H&2&&_!==(_=W[1].net.mask+"")&&G(h,_),H&2&&$!==($=W[1].net.gw+"")&&G(k,$),H&2&&T!==(T=W[1].net.dns1+"")&&G(N,T),W[1].net.dns2?R?R.p(W,H):(R=Ja(W),R.c(),R.m(A,null)):R&&(R.d(1),R=null)},d(W){W&&w(e),R&&R.d()}}}function Ja(t){let e,l=t[1].net.dns2+"",n;return{c(){e=C("/ "),n=C(l)},m(i,o){y(i,e,o),y(i,n,o)},p(i,o){o&2&&l!==(l=i[1].net.dns2+"")&&G(n,l)},d(i){i&&w(e),i&&w(n)}}}function Xa(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,m,_=(t[1].security==0||t[0].a)&&t[1].fwconsent===1&&t[2]&&t[2].tag_name&&xa(t),h=t[1].fwconsent===2&&ef();return{c(){e=p("div"),l=C(`Latest version: + `),n=p("a"),o=C(i),a=v(),_&&_.c(),c=v(),h&&h.c(),f=je(),u(n,"href",r=t[2].html_url),u(n,"class","ml-2 text-blue-600 hover:text-blue-800"),u(n,"target","_blank"),u(n,"rel","noreferrer"),u(e,"class","my-2 flex")},m(g,d){y(g,e,d),s(e,l),s(e,n),s(n,o),s(e,a),_&&_.m(e,null),y(g,c,d),h&&h.m(g,d),y(g,f,d),m=!0},p(g,d){(!m||d&4)&&i!==(i=g[2].tag_name+"")&&G(o,i),(!m||d&4&&r!==(r=g[2].html_url))&&u(n,"href",r),(g[1].security==0||g[0].a)&&g[1].fwconsent===1&&g[2]&&g[2].tag_name?_?(_.p(g,d),d&7&&P(_,1)):(_=xa(g),_.c(),P(_,1),_.m(e,null)):_&&(Ie(),I(_,1,1,()=>{_=null}),De()),g[1].fwconsent===2?h||(h=ef(),h.c(),h.m(f.parentNode,f)):h&&(h.d(1),h=null)},i(g){m||(P(_),m=!0)},o(g){I(_),m=!1},d(g){g&&w(e),_&&_.d(),g&&w(c),h&&h.d(g),g&&w(f)}}}function xa(t){let e,l,n,i,o,r;return n=new nc({}),{c(){e=p("div"),l=p("button"),J(n.$$.fragment),u(e,"class","flex-none ml-2 text-green-500"),u(e,"title","Install this version")},m(a,c){y(a,e,c),s(e,l),V(n,l,null),i=!0,o||(r=Y(l,"click",t[10]),o=!0)},p:ie,i(a){i||(P(n.$$.fragment,a),i=!0)},o(a){I(n.$$.fragment,a),i=!1},d(a){a&&w(e),K(n),o=!1,r()}}}function ef(t){let e;return{c(){e=p("div"),e.innerHTML='
You have disabled one-click firmware upgrade, link to self-upgrade is disabled
',u(e,"class","my-2")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function tf(t){let e,l=fs(fe(t[1].chip,t[1].board))+"",n;return{c(){e=p("div"),n=C(l),u(e,"class","bd-red")},m(i,o){y(i,e,o),s(e,n)},p(i,o){o&2&&l!==(l=fs(fe(i[1].chip,i[1].board))+"")&&G(n,l)},d(i){i&&w(e)}}}function lf(t){let e,l,n,i,o,r;function a(m,_){return m[4].length==0?Cm:$m}let c=a(t),f=c(t);return{c(){e=p("div"),l=p("form"),n=p("input"),i=v(),f.c(),bf(n,"display","none"),u(n,"name","file"),u(n,"type","file"),u(n,"accept",".bin"),u(l,"action","/firmware"),u(l,"enctype","multipart/form-data"),u(l,"method","post"),u(l,"autocomplete","off"),u(e,"class","my-2 flex")},m(m,_){y(m,e,_),s(e,l),s(l,n),t[12](n),s(l,i),f.m(l,null),o||(r=[Y(n,"change",t[13]),Y(l,"submit",t[15])],o=!0)},p(m,_){c===(c=a(m))&&f?f.p(m,_):(f.d(1),f=c(m),f&&(f.c(),f.m(l,null)))},d(m){m&&w(e),t[12](null),f.d(),o=!1,Be(r)}}}function $m(t){let e=t[4][0].name+"",l,n,i;return{c(){l=C(e),n=v(),i=p("button"),i.textContent="Upload",u(i,"type","submit"),u(i,"class","btn-pri-sm float-right")},m(o,r){y(o,l,r),y(o,n,r),y(o,i,r)},p(o,r){r&16&&e!==(e=o[4][0].name+"")&&G(l,e)},d(o){o&&w(l),o&&w(n),o&&w(i)}}}function Cm(t){let e,l,n;return{c(){e=p("button"),e.textContent="Select firmware file for upgrade",u(e,"type","button"),u(e,"class","btn-pri-sm float-right")},m(i,o){y(i,e,o),l||(n=Y(e,"click",t[14]),l=!0)},p:ie,d(i){i&&w(e),l=!1,n()}}}function nf(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b=t[9],$=[];for(let T=0;T Include Secrets
(SSID, PSK, passwords and tokens)',c=v(),k&&k.c(),f=v(),m=p("form"),_=p("input"),h=v(),E.c(),u(l,"class","text-sm"),u(a,"class","my-1 mx-3 col-span-2"),u(o,"class","grid grid-cols-2"),u(i,"method","get"),u(i,"action","/configfile.cfg"),u(i,"autocomplete","off"),bf(_,"display","none"),u(_,"name","file"),u(_,"type","file"),u(_,"accept",".cfg"),u(m,"action","/configfile"),u(m,"enctype","multipart/form-data"),u(m,"method","post"),u(m,"autocomplete","off"),u(e,"class","cnt")},m(T,N){y(T,e,N),s(e,l),s(e,n),s(e,i),s(i,o);for(let D=0;D<$.length;D+=1)$[D].m(o,null);s(o,r),s(o,a),s(i,c),k&&k.m(i,null),s(e,f),s(e,m),s(m,_),t[16](_),s(m,h),E.m(m,null),g||(d=[Y(_,"change",t[17]),Y(m,"submit",t[19])],g=!0)},p(T,N){if(N&512){b=T[9];let D;for(D=0;D{re=null}),De()),ue&3&&(ne=(ee[1].security==0||ee[0].a)&&Un(ee[1].board)),ne?z?z.p(ee,ue):(z=tf(ee),z.c(),z.m(F,le)):z&&(z.d(1),z=null),ee[1].security==0||ee[0].a?ae?ae.p(ee,ue):(ae=lf(ee),ae.c(),ae.m(F,null)):ae&&(ae.d(1),ae=null),ee[1].security==0||ee[0].a?Pe?Pe.p(ee,ue):(Pe=nf(ee),Pe.c(),Pe.m(e,null)):Pe&&(Pe.d(1),Pe=null);const de={};ue&32&&(de.active=ee[5]),ve.$set(de);const Me={};ue&256&&(Me.active=ee[8]),he.$set(Me)},i(ee){Fe||(P(h.$$.fragment,ee),P(T.$$.fragment,ee),P(re),P(ve.$$.fragment,ee),P(he.$$.fragment,ee),Fe=!0)},o(ee){I(h.$$.fragment,ee),I(T.$$.fragment,ee),I(re),I(ve.$$.fragment,ee),I(he.$$.fragment,ee),Fe=!1},d(ee){ee&&w(e),K(h),me&&me.d(),K(T),pe&&pe.d(),se&&se.d(),re&&re.d(),z&&z.d(),ae&&ae.d(),Pe&&Pe.d(),ee&&w(Ce),K(ve,ee),ee&&w(Oe),K(he,ee),ge=!1,Ae()}}}async function Mm(){await(await fetch("/reboot",{method:"POST"})).json()}function Am(t,e,l){let{data:n}=e,{sysinfo:i}=e,o=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"Domoticz",key:"id"},{name:"NTP",key:"in"},{name:"Price API",key:"is"}],r={};so.subscribe(D=>{l(2,r=lc(i.version,D)),r||l(2,r=D[0])});function a(){confirm("Do you want to upgrade this device to "+r.tag_name+"?")&&(i.board!=2&&i.board!=4&&i.board!=7||confirm(fs(fe(i.chip,i.board))))&&($t.update(D=>(D.upgrading=!0,D)),tc())}const c=function(){confirm("Are you sure you want to reboot the device?")&&($t.update(D=>(D.booting=!0,D)),Mm())};let f,m=[],_=!1,h,g=[],d=!1;lo();function b(D){us[D?"unshift":"push"](()=>{f=D,l(3,f)})}function $(){m=this.files,l(4,m)}const k=()=>{f.click()},S=()=>l(5,_=!0);function A(D){us[D?"unshift":"push"](()=>{h=D,l(6,h)})}function E(){g=this.files,l(7,g)}const T=()=>{h.click()},N=()=>l(8,d=!0);return t.$$set=D=>{"data"in D&&l(0,n=D.data),"sysinfo"in D&&l(1,i=D.sysinfo)},[n,i,r,f,m,_,h,g,d,o,a,c,b,$,k,S,A,E,T,N]}class Nm extends $e{constructor(e){super(),ye(this,e,Am,Pm,ke,{data:0,sysinfo:1})}}function uf(t){let e,l,n=fe(t[0],7)+"",i,o,r=fe(t[0],5)+"",a,c,f=fe(t[0],4)+"",m,_,h=fe(t[0],3)+"",g,d,b,$,k=fe(t[0],2)+"",S,A,E=fe(t[0],1)+"",T,N,D=fe(t[0],0)+"",R,W,H,F,L=fe(t[0],101)+"",j,B,q=fe(t[0],100)+"",O;return{c(){e=p("optgroup"),l=p("option"),i=C(n),o=p("option"),a=C(r),c=p("option"),m=C(f),_=p("option"),g=C(h),d=v(),b=p("optgroup"),$=p("option"),S=C(k),A=p("option"),T=C(E),N=p("option"),R=C(D),W=v(),H=p("optgroup"),F=p("option"),j=C(L),B=p("option"),O=C(q),l.__value=7,l.value=l.__value,o.__value=5,o.value=o.__value,c.__value=4,c.value=c.__value,_.__value=3,_.value=_.__value,u(e,"label","amsleser.no"),$.__value=2,$.value=$.__value,A.__value=1,A.value=A.__value,N.__value=0,N.value=N.__value,u(b,"label","Custom hardware"),F.__value=101,F.value=F.__value,B.__value=100,B.value=B.__value,u(H,"label","Generic hardware")},m(U,x){y(U,e,x),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,m),s(e,_),s(_,g),y(U,d,x),y(U,b,x),s(b,$),s($,S),s(b,A),s(A,T),s(b,N),s(N,R),y(U,W,x),y(U,H,x),s(H,F),s(F,j),s(H,B),s(B,O)},p(U,x){x&1&&n!==(n=fe(U[0],7)+"")&&G(i,n),x&1&&r!==(r=fe(U[0],5)+"")&&G(a,r),x&1&&f!==(f=fe(U[0],4)+"")&&G(m,f),x&1&&h!==(h=fe(U[0],3)+"")&&G(g,h),x&1&&k!==(k=fe(U[0],2)+"")&&G(S,k),x&1&&E!==(E=fe(U[0],1)+"")&&G(T,E),x&1&&D!==(D=fe(U[0],0)+"")&&G(R,D),x&1&&L!==(L=fe(U[0],101)+"")&&G(j,L),x&1&&q!==(q=fe(U[0],100)+"")&&G(O,q)},d(U){U&&w(e),U&&w(d),U&&w(b),U&&w(W),U&&w(H)}}}function rf(t){let e,l,n=fe(t[0],201)+"",i,o,r=fe(t[0],202)+"",a,c,f=fe(t[0],203)+"",m,_,h=fe(t[0],200)+"",g;return{c(){e=p("optgroup"),l=p("option"),i=C(n),o=p("option"),a=C(r),c=p("option"),m=C(f),_=p("option"),g=C(h),l.__value=201,l.value=l.__value,o.__value=202,o.value=o.__value,c.__value=203,c.value=c.__value,_.__value=200,_.value=_.__value,u(e,"label","Generic hardware")},m(d,b){y(d,e,b),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,m),s(e,_),s(_,g)},p(d,b){b&1&&n!==(n=fe(d[0],201)+"")&&G(i,n),b&1&&r!==(r=fe(d[0],202)+"")&&G(a,r),b&1&&f!==(f=fe(d[0],203)+"")&&G(m,f),b&1&&h!==(h=fe(d[0],200)+"")&&G(g,h)},d(d){d&&w(e)}}}function af(t){let e,l,n=fe(t[0],7)+"",i,o,r=fe(t[0],6)+"",a,c,f=fe(t[0],5)+"",m,_,h,g,d=fe(t[0],51)+"",b,$,k=fe(t[0],50)+"",S;return{c(){e=p("optgroup"),l=p("option"),i=C(n),o=p("option"),a=C(r),c=p("option"),m=C(f),_=v(),h=p("optgroup"),g=p("option"),b=C(d),$=p("option"),S=C(k),l.__value=7,l.value=l.__value,o.__value=6,o.value=o.__value,c.__value=5,c.value=c.__value,u(e,"label","amsleser.no"),g.__value=51,g.value=g.__value,$.__value=50,$.value=$.__value,u(h,"label","Generic hardware")},m(A,E){y(A,e,E),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,m),y(A,_,E),y(A,h,E),s(h,g),s(g,b),s(h,$),s($,S)},p(A,E){E&1&&n!==(n=fe(A[0],7)+"")&&G(i,n),E&1&&r!==(r=fe(A[0],6)+"")&&G(a,r),E&1&&f!==(f=fe(A[0],5)+"")&&G(m,f),E&1&&d!==(d=fe(A[0],51)+"")&&G(b,d),E&1&&k!==(k=fe(A[0],50)+"")&&G(S,k)},d(A){A&&w(e),A&&w(_),A&&w(h)}}}function ff(t){let e,l,n=fe(t[0],8)+"",i,o,r,a,c=fe(t[0],71)+"",f,m,_=fe(t[0],70)+"",h;return{c(){e=p("optgroup"),l=p("option"),i=C(n),o=v(),r=p("optgroup"),a=p("option"),f=C(c),m=p("option"),h=C(_),l.__value=8,l.value=l.__value,u(e,"label","Custom hardware"),a.__value=71,a.value=a.__value,m.__value=70,m.value=m.__value,u(r,"label","Generic hardware")},m(g,d){y(g,e,d),s(e,l),s(l,i),y(g,o,d),y(g,r,d),s(r,a),s(a,f),s(r,m),s(m,h)},p(g,d){d&1&&n!==(n=fe(g[0],8)+"")&&G(i,n),d&1&&c!==(c=fe(g[0],71)+"")&&G(f,c),d&1&&_!==(_=fe(g[0],70)+"")&&G(h,_)},d(g){g&&w(e),g&&w(o),g&&w(r)}}}function cf(t){let e,l,n=fe(t[0],200)+"",i;return{c(){e=p("optgroup"),l=p("option"),i=C(n),l.__value=200,l.value=l.__value,u(e,"label","Generic hardware")},m(o,r){y(o,e,r),s(e,l),s(l,i)},p(o,r){r&1&&n!==(n=fe(o[0],200)+"")&&G(i,n)},d(o){o&&w(e)}}}function Im(t){let e,l,n,i,o,r,a,c=t[0]=="esp8266"&&uf(t),f=t[0]=="esp32"&&rf(t),m=t[0]=="esp32s2"&&af(t),_=t[0]=="esp32c3"&&ff(t),h=t[0]=="esp32solo"&&cf(t);return{c(){e=p("option"),l=v(),c&&c.c(),n=v(),f&&f.c(),i=v(),m&&m.c(),o=v(),_&&_.c(),r=v(),h&&h.c(),a=je(),e.__value=-1,e.value=e.__value},m(g,d){y(g,e,d),y(g,l,d),c&&c.m(g,d),y(g,n,d),f&&f.m(g,d),y(g,i,d),m&&m.m(g,d),y(g,o,d),_&&_.m(g,d),y(g,r,d),h&&h.m(g,d),y(g,a,d)},p(g,[d]){g[0]=="esp8266"?c?c.p(g,d):(c=uf(g),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null),g[0]=="esp32"?f?f.p(g,d):(f=rf(g),f.c(),f.m(i.parentNode,i)):f&&(f.d(1),f=null),g[0]=="esp32s2"?m?m.p(g,d):(m=af(g),m.c(),m.m(o.parentNode,o)):m&&(m.d(1),m=null),g[0]=="esp32c3"?_?_.p(g,d):(_=ff(g),_.c(),_.m(r.parentNode,r)):_&&(_.d(1),_=null),g[0]=="esp32solo"?h?h.p(g,d):(h=cf(g),h.c(),h.m(a.parentNode,a)):h&&(h.d(1),h=null)},i:ie,o:ie,d(g){g&&w(e),g&&w(l),c&&c.d(g),g&&w(n),f&&f.d(g),g&&w(i),m&&m.d(g),g&&w(o),_&&_.d(g),g&&w(r),h&&h.d(g),g&&w(a)}}}function Dm(t,e,l){let{chip:n}=e;return t.$$set=i=>{"chip"in i&&l(0,n=i.chip)},[n]}class Em extends $e{constructor(e){super(),ye(this,e,Dm,Im,ke,{chip:0})}}function pf(t){let e;return{c(){e=p("div"),e.textContent="WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor",u(e,"class","bd-red")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function mf(t){let e,l,n,i,o,r,a;return r=new oc({props:{chip:t[0].chip}}),{c(){e=p("div"),l=C("HAN GPIO"),n=p("br"),i=v(),o=p("select"),J(r.$$.fragment),u(o,"name","vh"),u(o,"class","in-s"),u(e,"class","my-3")},m(c,f){y(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),V(r,o,null),a=!0},p(c,f){const m={};f&1&&(m.chip=c[0].chip),r.$set(m)},i(c){a||(P(r.$$.fragment,c),a=!0)},o(c){I(r.$$.fragment,c),a=!1},d(c){c&&w(e),K(r)}}}function Fm(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B=t[0].usrcfg&&pf();d=new Em({props:{chip:t[0].chip}});let q=t[0].board&&t[0].board>20&&mf(t);return H=new gt({props:{active:t[1],message:"Saving device configuration"}}),{c(){e=p("div"),l=p("div"),n=p("form"),i=p("input"),o=v(),r=p("strong"),r.textContent="Initial configuration",a=v(),B&&B.c(),c=v(),f=p("div"),m=C("Board type"),_=p("br"),h=v(),g=p("select"),J(d.$$.fragment),b=v(),q&&q.c(),$=v(),k=p("div"),S=p("label"),A=p("input"),E=C(" Clear all other configuration"),T=v(),N=p("div"),N.innerHTML='',D=v(),R=p("span"),R.textContent="\xA0",W=v(),J(H.$$.fragment),u(i,"type","hidden"),u(i,"name","v"),i.value="true",u(r,"class","text-sm"),u(g,"name","vb"),u(g,"class","in-s"),t[0].board===void 0&&ze(()=>t[4].call(g)),u(f,"class","my-3"),u(A,"type","checkbox"),u(A,"name","vr"),A.__value="true",A.value=A.__value,u(A,"class","rounded mb-1"),u(k,"class","my-3"),u(N,"class","my-3"),u(R,"class","clear-both"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2")},m(O,U){y(O,e,U),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),B&&B.m(n,null),s(n,c),s(n,f),s(f,m),s(f,_),s(f,h),s(f,g),V(d,g,null),Re(g,t[0].board),s(n,b),q&&q.m(n,null),s(n,$),s(n,k),s(k,S),s(S,A),A.checked=t[2],s(S,E),s(n,T),s(n,N),s(n,D),s(n,R),y(O,W,U),V(H,O,U),F=!0,L||(j=[Y(g,"change",t[4]),Y(A,"change",t[5]),Y(n,"submit",cs(t[3]))],L=!0)},p(O,[U]){O[0].usrcfg?B||(B=pf(),B.c(),B.m(n,c)):B&&(B.d(1),B=null);const x={};U&1&&(x.chip=O[0].chip),d.$set(x),U&1&&Re(g,O[0].board),O[0].board&&O[0].board>20?q?(q.p(O,U),U&1&&P(q,1)):(q=mf(O),q.c(),P(q,1),q.m(n,$)):q&&(Ie(),I(q,1,1,()=>{q=null}),De()),U&4&&(A.checked=O[2]);const X={};U&2&&(X.active=O[1]),H.$set(X)},i(O){F||(P(d.$$.fragment,O),P(q),P(H.$$.fragment,O),F=!0)},o(O){I(d.$$.fragment,O),I(q),I(H.$$.fragment,O),F=!1},d(O){O&&w(e),B&&B.d(),K(d),q&&q.d(),O&&w(W),K(H,O),L=!1,Be(j)}}}function Rm(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(f){l(1,i=!0);const m=new FormData(f.target),_=new URLSearchParams;for(let d of m){const[b,$]=d;_.append(b,$)}let g=await(await fetch("/save",{method:"POST",body:_})).json();l(1,i=!1),$t.update(d=>(d.vndcfg=g.success,d.booting=g.reboot,d)),qn(n.usrcfg?"/":"/setup")}let r=!1;function a(){n.board=et(this),l(0,n)}function c(){r=this.checked,l(2,r),l(0,n)}return t.$$set=f=>{"sysinfo"in f&&l(0,n=f.sysinfo)},t.$$.update=()=>{t.$$.dirty&1&&l(2,r=!n.usrcfg)},[n,i,r,o,a,c]}class Lm extends $e{constructor(e){super(),ye(this,e,Rm,Fm,ke,{sysinfo:0})}}function _f(t){let e,l,n,i,o,r,a,c;return a=new uc({}),{c(){e=p("br"),l=v(),n=p("div"),i=p("input"),o=v(),r=p("select"),J(a.$$.fragment),u(i,"name","si"),u(i,"type","text"),u(i,"class","in-f w-full"),i.required=t[1],u(r,"name","su"),u(r,"class","in-l"),r.required=t[1],u(n,"class","flex")},m(f,m){y(f,e,m),y(f,l,m),y(f,n,m),s(n,i),s(n,o),s(n,r),V(a,r,null),c=!0},p(f,m){(!c||m&2)&&(i.required=f[1]),(!c||m&2)&&(r.required=f[1])},i(f){c||(P(a.$$.fragment,f),c=!0)},o(f){I(a.$$.fragment,f),c=!1},d(f){f&&w(e),f&&w(l),f&&w(n),K(a)}}}function df(t){let e;return{c(){e=p("div"),e.innerHTML=`
Gateway
DNS
-
`,u(e,"class","my-3 flex")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function Rp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W=t[1]&&_f(t),G=t[1]&&df();return H=new gt({props:{active:t[2],message:"Saving your configuration to the device"}}),{c(){e=m("div"),l=m("div"),n=m("form"),i=m("input"),o=v(),r=m("strong"),r.textContent="Setup",a=v(),f=m("div"),f.innerHTML=`SSID
- `,c=v(),p=m("div"),p.innerHTML=`PSK
- `,_=v(),d=m("div"),g=C(`Hostname - `),h=m("input"),b=v(),$=m("div"),k=m("label"),S=m("input"),M=C(" Static IP"),D=v(),W&&W.c(),T=v(),G&&G.c(),N=v(),F=m("div"),F.innerHTML='',R=v(),Z(H.$$.fragment),u(i,"type","hidden"),u(i,"name","s"),i.value="true",u(r,"class","text-sm"),u(f,"class","my-3"),u(p,"class","my-3"),u(h,"name","sh"),u(h,"type","text"),u(h,"class","in-s"),u(h,"maxlength","32"),u(h,"pattern","[a-z0-9_-]+"),u(h,"placeholder","Optional, ex.: ams-reader"),u(h,"autocomplete","off"),u(S,"type","checkbox"),u(S,"name","sm"),S.__value="static",S.value=S.__value,u(S,"class","rounded mb-1"),u($,"class","my-3"),u(F,"class","my-3"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2")},m(q,O){y(q,e,O),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),s(n,f),s(n,c),s(n,p),s(n,_),s(n,d),s(d,g),s(d,h),Q(h,t[0].hostname),s(n,b),s(n,$),s($,k),s(k,S),S.checked=t[1],s(k,M),s($,D),W&&W.m($,null),s(n,T),G&&G.m(n,null),s(n,N),s(n,F),y(q,R,O),V(H,q,O),j=!0,E||(L=[Y(h,"input",t[4]),Y(S,"change",t[5]),Y(n,"submit",fs(t[3]))],E=!0)},p(q,[O]){O&1&&h.value!==q[0].hostname&&Q(h,q[0].hostname),O&2&&(S.checked=q[1]),q[1]?W?(W.p(q,O),O&2&&P(W,1)):(W=_f(q),W.c(),P(W,1),W.m($,null)):W&&(Me(),I(W,1,1,()=>{W=null}),Ae()),q[1]?G||(G=df(),G.c(),G.m(n,N)):G&&(G.d(1),G=null);const U={};O&4&&(U.active=q[2]),H.$set(U)},i(q){j||(P(W),P(H.$$.fragment,q),j=!0)},o(q){I(W),I(H.$$.fragment,q),j=!1},d(q){q&&w(e),W&&W.d(),G&&G.d(),q&&w(R),K(H,q),E=!1,Be(L)}}}function Lp(t,e,l){let{sysinfo:n={}}=e,i=!1,o=!1,r=0;function a(){var _="";r++;var d=function(){setTimeout(a,1e3)};if(n.net.ip&&r%3==0){if(!n.net.ip){d();return}_="http://"+n.net.ip}else n.hostname&&r%3==1?_="http://"+n.hostname:n.hostname&&r%3==2?_="http://"+n.hostname+".local":_="";console&&console.log("Trying url "+_),yt.update(h=>(h.trying=_,h));var g=new XMLHttpRequest;g.timeout=5e3,g.addEventListener("abort",d),g.addEventListener("error",d),g.addEventListener("timeout",d),g.addEventListener("load",function(h){window.location.href=_||"/"}),g.open("GET",_+"/is-alive",!0),g.send()}async function f(_){l(2,o=!0);const d=new FormData(_.target),g=new URLSearchParams;for(let $ of d){const[k,S]=$;g.append(k,S)}let b=await(await fetch("/save",{method:"POST",body:g})).json();l(2,o=!1),yt.update($=>($.hostname=d.get("sh"),$.usrcfg=b.success,$.booting=b.reboot,i&&($.net.ip=d.get("si"),$.net.mask=d.get("su"),$.net.gw=d.get("sg"),$.net.dns1=d.get("sd")),setTimeout(a,5e3),$))}function c(){n.hostname=this.value,l(0,n)}function p(){i=this.checked,l(1,i)}return t.$$set=_=>{"sysinfo"in _&&l(0,n=_.sysinfo)},[n,i,o,f,c,p]}class Op extends ye{constructor(e){super(),we(this,e,Lp,Rp,ke,{sysinfo:0})}}function qp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k;return h=new gt({props:{active:t[2],message:"Uploading file, please wait"}}),{c(){e=m("div"),l=m("div"),n=m("strong"),i=C("Upload "),o=C(t[1]),r=v(),a=m("p"),a.textContent="Select a suitable file and click upload",f=v(),c=m("form"),p=m("input"),_=v(),d=m("div"),d.innerHTML='',g=v(),Z(h.$$.fragment),u(a,"class","mb-4"),u(p,"name","file"),u(p,"type","file"),u(d,"class","w-full text-right mt-4"),u(c,"action",t[0]),u(c,"enctype","multipart/form-data"),u(c,"method","post"),u(c,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2")},m(S,M){y(S,e,M),s(e,l),s(l,n),s(n,i),s(n,o),s(l,r),s(l,a),s(l,f),s(l,c),s(c,p),s(c,_),s(c,d),y(S,g,M),V(h,S,M),b=!0,$||(k=Y(c,"submit",t[3]),$=!0)},p(S,[M]){(!b||M&2)&&B(o,S[1]),(!b||M&1)&&u(c,"action",S[0]);const D={};M&4&&(D.active=S[2]),h.$set(D)},i(S){b||(P(h.$$.fragment,S),b=!0)},o(S){I(h.$$.fragment,S),b=!1},d(S){S&&w(e),S&&w(g),K(h,S),$=!1,k()}}}function Up(t,e,l){let{action:n}=e,{title:i}=e,o=!1;const r=()=>l(2,o=!0);return t.$$set=a=>{"action"in a&&l(0,n=a.action),"title"in a&&l(1,i=a.title)},[n,i,o,r]}class so extends ye{constructor(e){super(),we(this,e,Up,qp,ke,{action:0,title:1})}}function Hp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D,T,N,F,R,H,j,E,L,W,G,q;return L=new gt({props:{active:t[1],message:"Saving preferences"}}),{c(){e=m("div"),l=m("div"),n=m("form"),i=m("div"),i.textContent="Various permissions we need to do stuff:",o=v(),r=m("hr"),a=v(),f=m("div"),c=C("Enable one-click upgrade? (implies data collection)"),p=m("br"),_=v(),d=m("a"),g=C("Read more"),h=m("br"),b=v(),$=m("label"),k=m("input"),M=C(" Yes"),D=m("label"),T=m("input"),F=C(" No"),R=m("br"),H=v(),j=m("div"),j.innerHTML='',E=v(),Z(L.$$.fragment),u(d,"href",Lt("Data-collection-on-one-click-firmware-upgrade")),u(d,"target","_blank"),u(d,"class","text-blue-600 hover:text-blue-800"),u(k,"type","radio"),u(k,"name","sf"),k.value=1,k.checked=S=t[0].fwconsent===1,u(k,"class","rounded m-2"),k.required=!0,u(T,"type","radio"),u(T,"name","sf"),T.value=2,T.checked=N=t[0].fwconsent===2,u(T,"class","rounded m-2"),T.required=!0,u(f,"class","my-3"),u(j,"class","my-3"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-3 lg:grid-cols-2")},m(O,U){y(O,e,U),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),s(n,f),s(f,c),s(f,p),s(f,_),s(f,d),s(d,g),s(f,h),s(f,b),s(f,$),s($,k),s($,M),s(f,D),s(D,T),s(D,F),s(f,R),s(n,H),s(n,j),y(O,E,U),V(L,O,U),W=!0,G||(q=Y(n,"submit",fs(t[2])),G=!0)},p(O,[U]){(!W||U&1&&S!==(S=O[0].fwconsent===1))&&(k.checked=S),(!W||U&1&&N!==(N=O[0].fwconsent===2))&&(T.checked=N);const X={};U&2&&(X.active=O[1]),L.$set(X)},i(O){W||(P(L.$$.fragment,O),W=!0)},o(O){I(L.$$.fragment,O),W=!1},d(O){O&&w(e),O&&w(E),K(L,O),G=!1,q()}}}function jp(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(r){l(1,i=!0);const a=new FormData(r.target),f=new URLSearchParams;for(let _ of a){const[d,g]=_;f.append(d,g)}let p=await(await fetch("/save",{method:"POST",body:f})).json();l(1,i=!1),yt.update(_=>(_.fwconsent=a.sf===!0?1:a.sf===!1?2:0,_.booting=p.reboot,_)),Un("/")}return t.$$set=r=>{"sysinfo"in r&&l(0,n=r.sysinfo)},[n,i,o]}class Wp extends ye{constructor(e){super(),we(this,e,jp,Hp,ke,{sysinfo:0})}}function Gp(t){let e,l;return e=new Ym({props:{data:t[1],sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&2&&(o.data=n[1]),i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Bp(t){let e,l;return e=new gp({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function zp(t){let e,l;return e=new Mp({props:{sysinfo:t[0],data:t[1]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),i&2&&(o.data=n[1]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Yp(t){let e,l;return e=new so({props:{title:"CA",action:"/mqtt-ca"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:se,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Vp(t){let e,l;return e=new so({props:{title:"certificate",action:"/mqtt-cert"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:se,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Kp(t){let e,l;return e=new so({props:{title:"private key",action:"/mqtt-key"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:se,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Qp(t){let e,l;return e=new Wp({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Zp(t){let e,l;return e=new Op({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Jp(t){let e,l;return e=new Fp({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Xp(t){let e,l,n,i,o,r,a,f,c,p,_,d,g,h,b,$,k,S,M,D;return e=new om({props:{data:t[1]}}),n=new ol({props:{path:"/",$$slots:{default:[Gp]},$$scope:{ctx:t}}}),o=new ol({props:{path:"/configuration",$$slots:{default:[Bp]},$$scope:{ctx:t}}}),a=new ol({props:{path:"/status",$$slots:{default:[zp]},$$scope:{ctx:t}}}),c=new ol({props:{path:"/mqtt-ca",$$slots:{default:[Yp]},$$scope:{ctx:t}}}),_=new ol({props:{path:"/mqtt-cert",$$slots:{default:[Vp]},$$scope:{ctx:t}}}),g=new ol({props:{path:"/mqtt-key",$$slots:{default:[Kp]},$$scope:{ctx:t}}}),b=new ol({props:{path:"/consent",$$slots:{default:[Qp]},$$scope:{ctx:t}}}),k=new ol({props:{path:"/setup",$$slots:{default:[Zp]},$$scope:{ctx:t}}}),M=new ol({props:{path:"/vendor",$$slots:{default:[Jp]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment),l=v(),Z(n.$$.fragment),i=v(),Z(o.$$.fragment),r=v(),Z(a.$$.fragment),f=v(),Z(c.$$.fragment),p=v(),Z(_.$$.fragment),d=v(),Z(g.$$.fragment),h=v(),Z(b.$$.fragment),$=v(),Z(k.$$.fragment),S=v(),Z(M.$$.fragment)},m(T,N){V(e,T,N),y(T,l,N),V(n,T,N),y(T,i,N),V(o,T,N),y(T,r,N),V(a,T,N),y(T,f,N),V(c,T,N),y(T,p,N),V(_,T,N),y(T,d,N),V(g,T,N),y(T,h,N),V(b,T,N),y(T,$,N),V(k,T,N),y(T,S,N),V(M,T,N),D=!0},p(T,N){const F={};N&2&&(F.data=T[1]),e.$set(F);const R={};N&7&&(R.$$scope={dirty:N,ctx:T}),n.$set(R);const H={};N&5&&(H.$$scope={dirty:N,ctx:T}),o.$set(H);const j={};N&7&&(j.$$scope={dirty:N,ctx:T}),a.$set(j);const E={};N&4&&(E.$$scope={dirty:N,ctx:T}),c.$set(E);const L={};N&4&&(L.$$scope={dirty:N,ctx:T}),_.$set(L);const W={};N&4&&(W.$$scope={dirty:N,ctx:T}),g.$set(W);const G={};N&5&&(G.$$scope={dirty:N,ctx:T}),b.$set(G);const q={};N&5&&(q.$$scope={dirty:N,ctx:T}),k.$set(q);const O={};N&5&&(O.$$scope={dirty:N,ctx:T}),M.$set(O)},i(T){D||(P(e.$$.fragment,T),P(n.$$.fragment,T),P(o.$$.fragment,T),P(a.$$.fragment,T),P(c.$$.fragment,T),P(_.$$.fragment,T),P(g.$$.fragment,T),P(b.$$.fragment,T),P(k.$$.fragment,T),P(M.$$.fragment,T),D=!0)},o(T){I(e.$$.fragment,T),I(n.$$.fragment,T),I(o.$$.fragment,T),I(a.$$.fragment,T),I(c.$$.fragment,T),I(_.$$.fragment,T),I(g.$$.fragment,T),I(b.$$.fragment,T),I(k.$$.fragment,T),I(M.$$.fragment,T),D=!1},d(T){K(e,T),T&&w(l),K(n,T),T&&w(i),K(o,T),T&&w(r),K(a,T),T&&w(f),K(c,T),T&&w(p),K(_,T),T&&w(d),K(g,T),T&&w(h),K(b,T),T&&w($),K(k,T),T&&w(S),K(M,T)}}}function xp(t){let e,l,n,i;const o=[l0,t0],r=[];function a(f,c){return f[0].trying?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=We()},m(f,c){r[e].m(f,c),y(f,n,c),i=!0},p(f,c){let p=e;e=a(f),e===p?r[e].p(f,c):(Me(),I(r[p],1,1,()=>{r[p]=null}),Ae(),l=r[e],l?l.p(f,c):(l=r[e]=o[e](f),l.c()),P(l,1),l.m(n.parentNode,n))},i(f){i||(P(l),i=!0)},o(f){I(l),i=!1},d(f){r[e].d(f),f&&w(n)}}}function e0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is upgrading, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:se,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function t0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is booting, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:se,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function l0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is booting, please wait. Trying to reach it on "+t[0].trying}}),{c(){Z(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.message="Device is booting, please wait. Trying to reach it on "+n[0].trying),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function n0(t){let e,l,n,i,o,r;l=new Wf({props:{$$slots:{default:[Xp]},$$scope:{ctx:t}}});const a=[e0,xp],f=[];function c(p,_){return p[0].upgrading?0:p[0].booting?1:-1}return~(i=c(t))&&(o=f[i]=a[i](t)),{c(){e=m("div"),Z(l.$$.fragment),n=v(),o&&o.c(),u(e,"class","container mx-auto m-3")},m(p,_){y(p,e,_),V(l,e,null),s(e,n),~i&&f[i].m(e,null),r=!0},p(p,[_]){const d={};_&7&&(d.$$scope={dirty:_,ctx:p}),l.$set(d);let g=i;i=c(p),i===g?~i&&f[i].p(p,_):(o&&(Me(),I(f[g],1,1,()=>{f[g]=null}),Ae()),~i?(o=f[i],o?o.p(p,_):(o=f[i]=a[i](p),o.c()),P(o,1),o.m(e,null)):o=null)},i(p){r||(P(l.$$.fragment,p),P(o),r=!0)},o(p){I(l.$$.fragment,p),I(o),r=!1},d(p){p&&w(e),K(l),~i&&f[i].d()}}}function i0(t,e,l){let n={};yt.subscribe(o=>{l(0,n=o),n.vndcfg===!1?Un("/vendor"):n.usrcfg===!1?Un("/setup"):n.fwconsent===0&&Un("/consent")}),to();let i={};return T1.subscribe(o=>{l(1,i=o)}),[n,i]}class s0 extends ye{constructor(e){super(),we(this,e,i0,n0,ke,{})}}new s0({target:document.getElementById("app")}); +
`,u(e,"class","my-3 flex")},m(l,n){y(l,e,n)},d(l){l&&w(e)}}}function Om(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j=t[1]&&_f(t),B=t[1]&&df();return W=new gt({props:{active:t[2],message:"Saving your configuration to the device"}}),{c(){e=p("div"),l=p("div"),n=p("form"),i=p("input"),o=v(),r=p("strong"),r.textContent="Setup",a=v(),c=p("div"),c.innerHTML=`SSID
+ `,f=v(),m=p("div"),m.innerHTML=`PSK
+ `,_=v(),h=p("div"),g=C(`Hostname + `),d=p("input"),b=v(),$=p("div"),k=p("label"),S=p("input"),A=C(" Static IP"),E=v(),j&&j.c(),T=v(),B&&B.c(),N=v(),D=p("div"),D.innerHTML='',R=v(),J(W.$$.fragment),u(i,"type","hidden"),u(i,"name","s"),i.value="true",u(r,"class","text-sm"),u(c,"class","my-3"),u(m,"class","my-3"),u(d,"name","sh"),u(d,"type","text"),u(d,"class","in-s"),u(d,"maxlength","32"),u(d,"pattern","[a-z0-9_-]+"),u(d,"placeholder","Optional, ex.: ams-reader"),u(d,"autocomplete","off"),u(S,"type","checkbox"),u(S,"name","sm"),S.__value="static",S.value=S.__value,u(S,"class","rounded mb-1"),u($,"class","my-3"),u(D,"class","my-3"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2")},m(q,O){y(q,e,O),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),s(n,c),s(n,f),s(n,m),s(n,_),s(n,h),s(h,g),s(h,d),Z(d,t[0].hostname),s(n,b),s(n,$),s($,k),s(k,S),S.checked=t[1],s(k,A),s($,E),j&&j.m($,null),s(n,T),B&&B.m(n,null),s(n,N),s(n,D),y(q,R,O),V(W,q,O),H=!0,F||(L=[Y(d,"input",t[4]),Y(S,"change",t[5]),Y(n,"submit",cs(t[3]))],F=!0)},p(q,[O]){O&1&&d.value!==q[0].hostname&&Z(d,q[0].hostname),O&2&&(S.checked=q[1]),q[1]?j?(j.p(q,O),O&2&&P(j,1)):(j=_f(q),j.c(),P(j,1),j.m($,null)):j&&(Ie(),I(j,1,1,()=>{j=null}),De()),q[1]?B||(B=df(),B.c(),B.m(n,N)):B&&(B.d(1),B=null);const U={};O&4&&(U.active=q[2]),W.$set(U)},i(q){H||(P(j),P(W.$$.fragment,q),H=!0)},o(q){I(j),I(W.$$.fragment,q),H=!1},d(q){q&&w(e),j&&j.d(),B&&B.d(),q&&w(R),K(W,q),F=!1,Be(L)}}}function qm(t,e,l){let{sysinfo:n={}}=e,i=!1,o=!1,r=0;function a(){var _="";r++;var h=function(){setTimeout(a,1e3)};if(n.net.ip&&r%3==0){if(!n.net.ip){h();return}_="http://"+n.net.ip}else n.hostname&&r%3==1?_="http://"+n.hostname:n.hostname&&r%3==2?_="http://"+n.hostname+".local":_="";console&&console.log("Trying url "+_),$t.update(d=>(d.trying=_,d));var g=new XMLHttpRequest;g.timeout=5e3,g.addEventListener("abort",h),g.addEventListener("error",h),g.addEventListener("timeout",h),g.addEventListener("load",function(d){window.location.href=_||"/"}),g.open("GET",_+"/is-alive",!0),g.send()}async function c(_){l(2,o=!0);const h=new FormData(_.target),g=new URLSearchParams;for(let $ of h){const[k,S]=$;g.append(k,S)}let b=await(await fetch("/save",{method:"POST",body:g})).json();l(2,o=!1),$t.update($=>($.hostname=h.get("sh"),$.usrcfg=b.success,$.booting=b.reboot,i&&($.net.ip=h.get("si"),$.net.mask=h.get("su"),$.net.gw=h.get("sg"),$.net.dns1=h.get("sd")),setTimeout(a,5e3),$))}function f(){n.hostname=this.value,l(0,n)}function m(){i=this.checked,l(1,i)}return t.$$set=_=>{"sysinfo"in _&&l(0,n=_.sysinfo)},[n,i,o,c,f,m]}class Um extends $e{constructor(e){super(),ye(this,e,qm,Om,ke,{sysinfo:0})}}function Hm(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k;return d=new gt({props:{active:t[2],message:"Uploading file, please wait"}}),{c(){e=p("div"),l=p("div"),n=p("strong"),i=C("Upload "),o=C(t[1]),r=v(),a=p("p"),a.textContent="Select a suitable file and click upload",c=v(),f=p("form"),m=p("input"),_=v(),h=p("div"),h.innerHTML='',g=v(),J(d.$$.fragment),u(a,"class","mb-4"),u(m,"name","file"),u(m,"type","file"),u(h,"class","w-full text-right mt-4"),u(f,"action",t[0]),u(f,"enctype","multipart/form-data"),u(f,"method","post"),u(f,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2")},m(S,A){y(S,e,A),s(e,l),s(l,n),s(n,i),s(n,o),s(l,r),s(l,a),s(l,c),s(l,f),s(f,m),s(f,_),s(f,h),y(S,g,A),V(d,S,A),b=!0,$||(k=Y(f,"submit",t[3]),$=!0)},p(S,[A]){(!b||A&2)&&G(o,S[1]),(!b||A&1)&&u(f,"action",S[0]);const E={};A&4&&(E.active=S[2]),d.$set(E)},i(S){b||(P(d.$$.fragment,S),b=!0)},o(S){I(d.$$.fragment,S),b=!1},d(S){S&&w(e),S&&w(g),K(d,S),$=!1,k()}}}function jm(t,e,l){let{action:n}=e,{title:i}=e,o=!1;const r=()=>l(2,o=!0);return t.$$set=a=>{"action"in a&&l(0,n=a.action),"title"in a&&l(1,i=a.title)},[n,i,o,r]}class oo extends $e{constructor(e){super(),ye(this,e,jm,Hm,ke,{action:0,title:1})}}function Wm(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E,T,N,D,R,W,H,F,L,j,B,q;return L=new gt({props:{active:t[1],message:"Saving preferences"}}),{c(){e=p("div"),l=p("div"),n=p("form"),i=p("div"),i.textContent="Various permissions we need to do stuff:",o=v(),r=p("hr"),a=v(),c=p("div"),f=C("Enable one-click upgrade? (implies data collection)"),m=p("br"),_=v(),h=p("a"),g=C("Read more"),d=p("br"),b=v(),$=p("label"),k=p("input"),A=C(" Yes"),E=p("label"),T=p("input"),D=C(" No"),R=p("br"),W=v(),H=p("div"),H.innerHTML='',F=v(),J(L.$$.fragment),u(h,"href",Ot("Data-collection-on-one-click-firmware-upgrade")),u(h,"target","_blank"),u(h,"class","text-blue-600 hover:text-blue-800"),u(k,"type","radio"),u(k,"name","sf"),k.value=1,k.checked=S=t[0].fwconsent===1,u(k,"class","rounded m-2"),k.required=!0,u(T,"type","radio"),u(T,"name","sf"),T.value=2,T.checked=N=t[0].fwconsent===2,u(T,"class","rounded m-2"),T.required=!0,u(c,"class","my-3"),u(H,"class","my-3"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-3 lg:grid-cols-2")},m(O,U){y(O,e,U),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),s(n,c),s(c,f),s(c,m),s(c,_),s(c,h),s(h,g),s(c,d),s(c,b),s(c,$),s($,k),s($,A),s(c,E),s(E,T),s(E,D),s(c,R),s(n,W),s(n,H),y(O,F,U),V(L,O,U),j=!0,B||(q=Y(n,"submit",cs(t[2])),B=!0)},p(O,[U]){(!j||U&1&&S!==(S=O[0].fwconsent===1))&&(k.checked=S),(!j||U&1&&N!==(N=O[0].fwconsent===2))&&(T.checked=N);const x={};U&2&&(x.active=O[1]),L.$set(x)},i(O){j||(P(L.$$.fragment,O),j=!0)},o(O){I(L.$$.fragment,O),j=!1},d(O){O&&w(e),O&&w(F),K(L,O),B=!1,q()}}}function Gm(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(r){l(1,i=!0);const a=new FormData(r.target),c=new URLSearchParams;for(let _ of a){const[h,g]=_;c.append(h,g)}let m=await(await fetch("/save",{method:"POST",body:c})).json();l(1,i=!1),$t.update(_=>(_.fwconsent=a.sf===!0?1:a.sf===!1?2:0,_.booting=m.reboot,_)),qn("/")}return t.$$set=r=>{"sysinfo"in r&&l(0,n=r.sysinfo)},[n,i,o]}class Bm extends $e{constructor(e){super(),ye(this,e,Gm,Wm,ke,{sysinfo:0})}}function zm(t){let e,l;return e=new Yp({props:{data:t[1],sysinfo:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&2&&(o.data=n[1]),i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Ym(t){let e,l;return e=new km({props:{sysinfo:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Vm(t){let e,l;return e=new Nm({props:{sysinfo:t[0],data:t[1]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),i&2&&(o.data=n[1]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Km(t){let e,l;return e=new oo({props:{title:"CA",action:"/mqtt-ca"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:ie,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Qm(t){let e,l;return e=new oo({props:{title:"certificate",action:"/mqtt-cert"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:ie,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Zm(t){let e,l;return e=new oo({props:{title:"private key",action:"/mqtt-key"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:ie,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Jm(t){let e,l;return e=new Bm({props:{sysinfo:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function Xm(t){let e,l;return e=new Um({props:{sysinfo:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function xm(t){let e,l;return e=new Lm({props:{sysinfo:t[0]}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.sysinfo=n[0]),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function e0(t){let e,l,n,i,o,r,a,c,f,m,_,h,g,d,b,$,k,S,A,E;return e=new op({props:{data:t[1]}}),n=new ul({props:{path:"/",$$slots:{default:[zm]},$$scope:{ctx:t}}}),o=new ul({props:{path:"/configuration",$$slots:{default:[Ym]},$$scope:{ctx:t}}}),a=new ul({props:{path:"/status",$$slots:{default:[Vm]},$$scope:{ctx:t}}}),f=new ul({props:{path:"/mqtt-ca",$$slots:{default:[Km]},$$scope:{ctx:t}}}),_=new ul({props:{path:"/mqtt-cert",$$slots:{default:[Qm]},$$scope:{ctx:t}}}),g=new ul({props:{path:"/mqtt-key",$$slots:{default:[Zm]},$$scope:{ctx:t}}}),b=new ul({props:{path:"/consent",$$slots:{default:[Jm]},$$scope:{ctx:t}}}),k=new ul({props:{path:"/setup",$$slots:{default:[Xm]},$$scope:{ctx:t}}}),A=new ul({props:{path:"/vendor",$$slots:{default:[xm]},$$scope:{ctx:t}}}),{c(){J(e.$$.fragment),l=v(),J(n.$$.fragment),i=v(),J(o.$$.fragment),r=v(),J(a.$$.fragment),c=v(),J(f.$$.fragment),m=v(),J(_.$$.fragment),h=v(),J(g.$$.fragment),d=v(),J(b.$$.fragment),$=v(),J(k.$$.fragment),S=v(),J(A.$$.fragment)},m(T,N){V(e,T,N),y(T,l,N),V(n,T,N),y(T,i,N),V(o,T,N),y(T,r,N),V(a,T,N),y(T,c,N),V(f,T,N),y(T,m,N),V(_,T,N),y(T,h,N),V(g,T,N),y(T,d,N),V(b,T,N),y(T,$,N),V(k,T,N),y(T,S,N),V(A,T,N),E=!0},p(T,N){const D={};N&2&&(D.data=T[1]),e.$set(D);const R={};N&7&&(R.$$scope={dirty:N,ctx:T}),n.$set(R);const W={};N&5&&(W.$$scope={dirty:N,ctx:T}),o.$set(W);const H={};N&7&&(H.$$scope={dirty:N,ctx:T}),a.$set(H);const F={};N&4&&(F.$$scope={dirty:N,ctx:T}),f.$set(F);const L={};N&4&&(L.$$scope={dirty:N,ctx:T}),_.$set(L);const j={};N&4&&(j.$$scope={dirty:N,ctx:T}),g.$set(j);const B={};N&5&&(B.$$scope={dirty:N,ctx:T}),b.$set(B);const q={};N&5&&(q.$$scope={dirty:N,ctx:T}),k.$set(q);const O={};N&5&&(O.$$scope={dirty:N,ctx:T}),A.$set(O)},i(T){E||(P(e.$$.fragment,T),P(n.$$.fragment,T),P(o.$$.fragment,T),P(a.$$.fragment,T),P(f.$$.fragment,T),P(_.$$.fragment,T),P(g.$$.fragment,T),P(b.$$.fragment,T),P(k.$$.fragment,T),P(A.$$.fragment,T),E=!0)},o(T){I(e.$$.fragment,T),I(n.$$.fragment,T),I(o.$$.fragment,T),I(a.$$.fragment,T),I(f.$$.fragment,T),I(_.$$.fragment,T),I(g.$$.fragment,T),I(b.$$.fragment,T),I(k.$$.fragment,T),I(A.$$.fragment,T),E=!1},d(T){K(e,T),T&&w(l),K(n,T),T&&w(i),K(o,T),T&&w(r),K(a,T),T&&w(c),K(f,T),T&&w(m),K(_,T),T&&w(h),K(g,T),T&&w(d),K(b,T),T&&w($),K(k,T),T&&w(S),K(A,T)}}}function t0(t){let e,l,n,i;const o=[i0,n0],r=[];function a(c,f){return c[0].trying?0:1}return e=a(t),l=r[e]=o[e](t),{c(){l.c(),n=je()},m(c,f){r[e].m(c,f),y(c,n,f),i=!0},p(c,f){let m=e;e=a(c),e===m?r[e].p(c,f):(Ie(),I(r[m],1,1,()=>{r[m]=null}),De(),l=r[e],l?l.p(c,f):(l=r[e]=o[e](c),l.c()),P(l,1),l.m(n.parentNode,n))},i(c){i||(P(l),i=!0)},o(c){I(l),i=!1},d(c){r[e].d(c),c&&w(n)}}}function l0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is upgrading, please wait"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:ie,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function n0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is booting, please wait"}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p:ie,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function i0(t){let e,l;return e=new gt({props:{active:"true",message:"Device is booting, please wait. Trying to reach it on "+t[0].trying}}),{c(){J(e.$$.fragment)},m(n,i){V(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.message="Device is booting, please wait. Trying to reach it on "+n[0].trying),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){K(e,n)}}}function s0(t){let e,l,n,i,o,r;l=new Wf({props:{$$slots:{default:[e0]},$$scope:{ctx:t}}});const a=[l0,t0],c=[];function f(m,_){return m[0].upgrading?0:m[0].booting?1:-1}return~(i=f(t))&&(o=c[i]=a[i](t)),{c(){e=p("div"),J(l.$$.fragment),n=v(),o&&o.c(),u(e,"class","container mx-auto m-3")},m(m,_){y(m,e,_),V(l,e,null),s(e,n),~i&&c[i].m(e,null),r=!0},p(m,[_]){const h={};_&7&&(h.$$scope={dirty:_,ctx:m}),l.$set(h);let g=i;i=f(m),i===g?~i&&c[i].p(m,_):(o&&(Ie(),I(c[g],1,1,()=>{c[g]=null}),De()),~i?(o=c[i],o?o.p(m,_):(o=c[i]=a[i](m),o.c()),P(o,1),o.m(e,null)):o=null)},i(m){r||(P(l.$$.fragment,m),P(o),r=!0)},o(m){I(l.$$.fragment,m),I(o),r=!1},d(m){m&&w(e),K(l),~i&&c[i].d()}}}function o0(t,e,l){let n={};$t.subscribe(o=>{l(0,n=o),n.vndcfg===!1?qn("/vendor"):n.usrcfg===!1?qn("/setup"):n.fwconsent===0&&qn("/consent")}),lo();let i={};return T1.subscribe(o=>{l(1,i=o)}),[n,i]}class u0 extends $e{constructor(e){super(),ye(this,e,o0,s0,ke,{})}}new u0({target:document.getElementById("app")}); diff --git a/lib/SvelteUi/app/src/lib/BoardTypeSelectOptions.svelte b/lib/SvelteUi/app/src/lib/BoardTypeSelectOptions.svelte index 6fefe749..ca77d508 100644 --- a/lib/SvelteUi/app/src/lib/BoardTypeSelectOptions.svelte +++ b/lib/SvelteUi/app/src/lib/BoardTypeSelectOptions.svelte @@ -42,6 +42,9 @@ {/if} {#if chip == 'esp32c3'} + + + diff --git a/lib/SvelteUi/app/src/lib/ConfigurationPanel.svelte b/lib/SvelteUi/app/src/lib/ConfigurationPanel.svelte index 121b2082..f6086f3f 100644 --- a/lib/SvelteUi/app/src/lib/ConfigurationPanel.svelte +++ b/lib/SvelteUi/app/src/lib/ConfigurationPanel.svelte @@ -88,7 +88,8 @@ i: 0, e: 0, v: 0, a: 0, r: 0, c: 0, t: 0, p: 0, d: 0, m: 0, s: 0 }, i: { - h: null, a: null, + h: { p: null, u: true }, + a: null, l: { p: null, i: false }, r: { r: null, g: null, b: null, i: false }, t: { d: null, a: null }, @@ -577,8 +578,8 @@
- HAN
- pullup
+
diff --git a/lib/SvelteUi/app/src/lib/Helpers.js b/lib/SvelteUi/app/src/lib/Helpers.js index bf950af5..189d6d8c 100644 --- a/lib/SvelteUi/app/src/lib/Helpers.js +++ b/lib/SvelteUi/app/src/lib/Helpers.js @@ -87,6 +87,8 @@ export function boardtype(c, b) { return "Custom hardware by Roar Fredriksen"; case 1: return "Kamstrup module by Egil Opsahl" + case 8: + return "µHAN mosquito by dbeinder" case 3: return "Pow-K (UART0)"; case 4: diff --git a/lib/SvelteUi/app/src/lib/UartSelectOptions.svelte b/lib/SvelteUi/app/src/lib/UartSelectOptions.svelte index 29bf47e1..3b2897f5 100644 --- a/lib/SvelteUi/app/src/lib/UartSelectOptions.svelte +++ b/lib/SvelteUi/app/src/lib/UartSelectOptions.svelte @@ -1,13 +1,21 @@ +{#if chip == 'esp32c3'} + +{:else} +{/if} {#if chip == 'esp8266'} {/if} diff --git a/lib/SvelteUi/json/conf_gpio.json b/lib/SvelteUi/json/conf_gpio.json index c887d2f3..6a0bc0e9 100644 --- a/lib/SvelteUi/json/conf_gpio.json +++ b/lib/SvelteUi/json/conf_gpio.json @@ -1,5 +1,8 @@ "i": { - "h": %s, + "h": { + "p": %s, + "u": %s + }, "a": %s, "l": { "p": %s, diff --git a/lib/SvelteUi/src/AmsWebServer.cpp b/lib/SvelteUi/src/AmsWebServer.cpp index d19a802e..8ddc567b 100644 --- a/lib/SvelteUi/src/AmsWebServer.cpp +++ b/lib/SvelteUi/src/AmsWebServer.cpp @@ -895,6 +895,7 @@ void AmsWebServer::configurationJson() { server.sendContent(buf); snprintf_P(buf, BufferSize, CONF_GPIO_JSON, gpioConfig->hanPin == 0xff ? "null" : String(gpioConfig->hanPin, 10).c_str(), + gpioConfig->hanPinPullup ? "true" : "false", gpioConfig->apPin == 0xff ? "null" : String(gpioConfig->apPin, 10).c_str(), gpioConfig->ledPin == 0xff ? "null" : String(gpioConfig->ledPin, 10).c_str(), gpioConfig->ledInverted ? "true" : "false", @@ -977,6 +978,15 @@ void AmsWebServer::handleSave() { } #elif defined(CONFIG_IDF_TARGET_ESP32C3) switch(boardType) { + case 8: // dbeinder: HAN mosquito + gpioConfig->hanPin = 7; + gpioConfig->hanPinPullup = false; + gpioConfig->apPin = 9; + gpioConfig->ledRgbInverted = true; + gpioConfig->ledPinRed = 5; + gpioConfig->ledPinGreen = 6; + gpioConfig->ledPinBlue = 4; + break; case 71: // ESP32-C3-DevKitM-1 gpioConfig->apPin = 9; case 70: // Generic ESP32-C3 @@ -1113,6 +1123,7 @@ void AmsWebServer::handleSave() { meterConfig->baud = 2400; meterConfig->parity = 3; // 8N1 case 2: // spenceme + case 8: // dbeinder: HAN mosquito case 50: // Generic ESP32-S2 case 51: // Wemos S2 mini case 70: // Generic ESP32-C3 @@ -1287,7 +1298,8 @@ void AmsWebServer::handleSave() { if(server.hasArg(F("i")) && server.arg(F("i")) == F("true")) { if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf(PSTR("Received GPIO config")); - gpioConfig->hanPin = server.hasArg(F("ih")) && !server.arg(F("ih")).isEmpty() ? server.arg(F("ih")).toInt() : 3; + gpioConfig->hanPin = server.hasArg(F("ihp")) && !server.arg(F("ihp")).isEmpty() ? server.arg(F("ihp")).toInt() : 3; + gpioConfig->hanPinPullup = server.hasArg(F("ihu")) && server.arg(F("ihu")) == F("true"); gpioConfig->ledPin = server.hasArg(F("ilp")) && !server.arg(F("ilp")).isEmpty() ? server.arg(F("ilp")).toInt() : 0xFF; gpioConfig->ledInverted = server.hasArg(F("ili")) && server.arg(F("ili")) == F("true"); gpioConfig->ledPinRed = server.hasArg(F("irr")) && !server.arg(F("irr")).isEmpty() ? server.arg(F("irr")).toInt() : 0xFF; @@ -1939,6 +1951,7 @@ void AmsWebServer::configFileDownload() { GpioConfig gpio; config->getGpioConfig(gpio); if(gpio.hanPin != 0xFF) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("gpioHanPin %d\n"), gpio.hanPin)); + if(gpio.hanPin != 0xFF) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("gpioHanPinPullup %d\n"), gpio.hanPinPullup ? 1 : 0)); if(gpio.apPin != 0xFF) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("gpioApPin %d\n"), gpio.apPin)); if(gpio.ledPin != 0xFF) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("gpioLedPin %d\n"), gpio.ledPin)); if(gpio.ledPin != 0xFF) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("gpioLedInverted %d\n"), gpio.ledInverted ? 1 : 0)); diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index d5fc7d14..c4a679fc 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -563,7 +563,7 @@ void loop() { if(config.isMeterChanged()) { config.getMeterConfig(meterConfig); - setupHanPort(gpioConfig.hanPin, meterConfig.baud, meterConfig.parity, meterConfig.invert); + setupHanPort(gpioConfig, meterConfig.baud, meterConfig.parity, meterConfig.invert); config.ackMeterChanged(); delete gcmParser; gcmParser = NULL; @@ -606,7 +606,7 @@ void loop() { meterAutoIndex++; // Default is to try the first one in setup() debugI("Meter serial autodetect, swapping to: %d, %d, %s", bauds[meterAutoIndex], parities[meterAutoIndex], inverts[meterAutoIndex] ? "true" : "false"); if(meterAutoIndex >= 4) meterAutoIndex = 0; - setupHanPort(gpioConfig.hanPin, bauds[meterAutoIndex], parities[meterAutoIndex], inverts[meterAutoIndex]); + setupHanPort(gpioConfig, bauds[meterAutoIndex], parities[meterAutoIndex], inverts[meterAutoIndex]); meterAutodetectLastChange = now; } } else if(meterAutodetect) { @@ -616,7 +616,7 @@ void loop() { meterConfig.parity = parities[meterAutoIndex]; meterConfig.invert = inverts[meterAutoIndex]; config.setMeterConfig(meterConfig); - setupHanPort(gpioConfig.hanPin, meterConfig.baud, meterConfig.parity, meterConfig.invert); + setupHanPort(gpioConfig, meterConfig.baud, meterConfig.parity, meterConfig.invert); } } catch(const std::exception& e) { debugE("Exception in meter autodetect (%s)", e.what()); @@ -631,7 +631,9 @@ void loop() { #endif } -void setupHanPort(uint8_t pin, uint32_t baud, uint8_t parityOrdinal, bool invert) { +void setupHanPort(GpioConfig& gpioConfig, uint32_t baud, uint8_t parityOrdinal, bool invert) { + uint8_t pin = gpioConfig.hanPin; + if(Debug.isActive(RemoteDebug::INFO)) Debug.printf((char*) F("(setupHanPort) Setting up HAN on pin %d with baud %d and parity %d\n"), pin, baud, parityOrdinal); if(baud == 0) { @@ -643,6 +645,14 @@ void setupHanPort(uint8_t pin, uint32_t baud, uint8_t parityOrdinal, bool invert parityOrdinal = 3; // 8N1 } + SystemConfig sys; + config.getSystemConfig(sys); + switch(sys.boardType) { + case 8: // HAN mosquito: has inverting level shifter + invert = !invert; + break; + } + HardwareSerial *hwSerial = NULL; if(pin == 3 || pin == 113) { hwSerial = &Serial; @@ -742,6 +752,11 @@ void setupHanPort(uint8_t pin, uint32_t baud, uint8_t parityOrdinal, bool invert Serial.begin(115200); } + // The library automatically sets the pullup in Serial.begin() + if(!gpioConfig.hanPinPullup) { + pinMode(gpioConfig.hanPin, INPUT); + } + // Empty buffer before starting while (hanSerial->available() > 0) { hanSerial->read(); @@ -1602,6 +1617,9 @@ void configFileParse() { } else if(strncmp_P(buf, PSTR("gpioHanPin "), 11) == 0) { if(!lGpio) { config.getGpioConfig(gpio); lGpio = true; }; gpio.hanPin = String(buf+11).toInt(); + } else if(strncmp_P(buf, PSTR("gpioHanPinPullup "), 17) == 0) { + if(!lGpio) { config.getGpioConfig(gpio); lGpio = true; }; + gpio.hanPinPullup = String(buf+17).toInt() == 1; } else if(strncmp_P(buf, PSTR("gpioApPin "), 10) == 0) { if(!lGpio) { config.getGpioConfig(gpio); lGpio = true; }; gpio.apPin = String(buf+10).toInt();