From 445973f9ce6d9c1b19f309a93d83b86cc0beb245 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sun, 5 Nov 2023 10:24:42 +0100 Subject: [PATCH] Some updates for price fetching --- lib/EntsoePriceApi/include/EntsoeApi.h | 3 +- lib/EntsoePriceApi/include/PricesContainer.h | 1 + lib/EntsoePriceApi/src/EntsoeA44Parser.cpp | 3 + lib/EntsoePriceApi/src/EntsoeApi.cpp | 69 +++++++++++++------- lib/SvelteUi/app/dist/index.js | 18 ++--- lib/SvelteUi/app/src/lib/Helpers.js | 11 ++++ lib/SvelteUi/app/src/lib/PricePlot.svelte | 4 +- lib/SvelteUi/app/vite.config.js | 30 ++++----- lib/SvelteUi/json/energyprice.json | 1 + lib/SvelteUi/src/AmsWebServer.cpp | 1 + 10 files changed, 90 insertions(+), 51 deletions(-) diff --git a/lib/EntsoePriceApi/include/EntsoeApi.h b/lib/EntsoePriceApi/include/EntsoeApi.h index f8f3ff9e..80a5902c 100644 --- a/lib/EntsoePriceApi/include/EntsoeApi.h +++ b/lib/EntsoePriceApi/include/EntsoeApi.h @@ -26,6 +26,7 @@ class EntsoeApi { char* getToken(); char* getCurrency(); char* getArea(); + char* getSource(); float getValueForHour(int8_t); float getValueForHour(time_t, int8_t); @@ -34,7 +35,7 @@ class EntsoeApi { private: RemoteDebug* debugger; EntsoeConfig* config = NULL; - HTTPClient http; + HTTPClient* http = NULL; uint8_t currentDay = 0, currentHour = 0; uint8_t tomorrowFetchMinute = 15; // How many minutes over 13:00 should it fetch prices diff --git a/lib/EntsoePriceApi/include/PricesContainer.h b/lib/EntsoePriceApi/include/PricesContainer.h index dd623664..dea3050f 100644 --- a/lib/EntsoePriceApi/include/PricesContainer.h +++ b/lib/EntsoePriceApi/include/PricesContainer.h @@ -4,5 +4,6 @@ struct PricesContainer { char currency[4]; char measurementUnit[4]; int32_t points[25]; + char source[4]; }; #endif diff --git a/lib/EntsoePriceApi/src/EntsoeA44Parser.cpp b/lib/EntsoePriceApi/src/EntsoeA44Parser.cpp index 6f2cdcf4..51bda13e 100644 --- a/lib/EntsoePriceApi/src/EntsoeA44Parser.cpp +++ b/lib/EntsoePriceApi/src/EntsoeA44Parser.cpp @@ -108,8 +108,11 @@ size_t EntsoeA44Parser::write(uint8_t byte) { } void EntsoeA44Parser::get(PricesContainer* container) { + memset(container, 0, sizeof(*container)); + strcpy(container->currency, currency); strcpy(container->measurementUnit, measurementUnit); + strcpy(container->source, "EOE"); for(uint8_t i = 0; i < 25; i++) { container->points[i] = points[i] == ENTSOE_NO_VALUE ? ENTSOE_NO_VALUE : points[i] * 10000; diff --git a/lib/EntsoePriceApi/src/EntsoeApi.cpp b/lib/EntsoePriceApi/src/EntsoeApi.cpp index 0809e114..03acd606 100644 --- a/lib/EntsoePriceApi/src/EntsoeApi.cpp +++ b/lib/EntsoePriceApi/src/EntsoeApi.cpp @@ -34,11 +34,14 @@ void EntsoeApi::setup(EntsoeConfig& config) { if(tomorrow != NULL) delete tomorrow; today = tomorrow = NULL; - http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); - http.setReuse(false); - http.setTimeout(60000); - http.setUserAgent("ams2mqtt/" + String(FirmwareVersion::VersionString)); - http.useHTTP10(true); + if(http != NULL) { + delete http; + } + http = new HTTPClient(); + http->setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); + http->setReuse(false); + http->setTimeout(60000); + http->setUserAgent("ams2mqtt/" + String(FirmwareVersion::VersionString)); #if defined(AMS2MQTT_PRICE_KEY) key = new uint8_t[16] AMS2MQTT_PRICE_KEY; @@ -67,6 +70,21 @@ char* EntsoeApi::getArea() { return this->config->area; } +char* EntsoeApi::getSource() { + if(this->today != NULL && this->tomorrow != NULL) { + if(strcmp(this->today->source, this->tomorrow->source) == 0) { + return this->today->source; + } else { + return "MIX"; + } + } else if(today != NULL) { + return this->today->source; + } else if(tomorrow != NULL) { + return this->tomorrow->source; + } + return ""; +} + float EntsoeApi::getValueForHour(int8_t hour) { time_t cur = time(nullptr); return getValueForHour(cur, hour); @@ -209,7 +227,7 @@ bool EntsoeApi::loop() { bool EntsoeApi::retrieve(const char* url, Stream* doc) { #if defined(ESP32) - if(http.begin(url)) { + if(http->begin(url)) { if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf_P(PSTR("Connection established\n")); #if defined(ESP32) @@ -218,7 +236,7 @@ bool EntsoeApi::retrieve(const char* url, Stream* doc) { ESP.wdtFeed(); #endif - int status = http.GET(); + int status = http->GET(); #if defined(ESP32) esp_task_wdt_reset(); @@ -228,8 +246,8 @@ bool EntsoeApi::retrieve(const char* url, Stream* doc) { if(status == HTTP_CODE_OK) { if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf_P(PSTR("Receiving data\n")); - http.writeToStream(doc); - http.end(); + http->writeToStream(doc); + http->end(); lastError = 0; nextFetchDelayMinutes = 1; return true; @@ -238,15 +256,15 @@ bool EntsoeApi::retrieve(const char* url, Stream* doc) { if(status == 429) { nextFetchDelayMinutes = 15; } else if(status == 404) { - nextFetchDelayMinutes = 60; + nextFetchDelayMinutes = 10; } else { - nextFetchDelayMinutes = 30; + nextFetchDelayMinutes = 2; } if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf_P(PSTR("(EntsoeApi) Communication error, returned status: %d\n"), status); - if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf(http.errorToString(status).c_str()); - if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf(http.getString().c_str()); + if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf(http->errorToString(status).c_str()); + if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf(http->getString().c_str()); - http.end(); + http->end(); return false; } } else { @@ -349,11 +367,11 @@ PricesContainer* EntsoeApi::fetchPrices(time_t t) { #if defined(ESP8266) WiFiClient client; client.setTimeout(5000); - if(http.begin(client, buf)) { + if(http->begin(client, buf)) { #elif defined(ESP32) - if(http.begin(buf)) { + if(http->begin(buf)) { #endif - int status = http.GET(); + int status = http->GET(); #if defined(ESP32) esp_task_wdt_reset(); @@ -363,8 +381,8 @@ PricesContainer* EntsoeApi::fetchPrices(time_t t) { if(status == HTTP_CODE_OK) { if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf_P(PSTR("Receiving data\n")); - data = http.getString(); - http.end(); + data = http->getString(); + http->end(); uint8_t* content = (uint8_t*) (data.c_str()); if(debugger->isActive(RemoteDebug::DEBUG)) { @@ -403,15 +421,18 @@ PricesContainer* EntsoeApi::fetchPrices(time_t t) { if(status == 429) { nextFetchDelayMinutes = 60; } else if(status == 404) { - nextFetchDelayMinutes = 180; + nextFetchDelayMinutes = 15; } else { - nextFetchDelayMinutes = 30; + nextFetchDelayMinutes = 5; } if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf_P(PSTR("(EntsoeApi) Communication error, returned status: %d\n"), status); - if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf(http.errorToString(status).c_str()); - if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf(http.getString().c_str()); + if(debugger->isActive(RemoteDebug::ERROR)) { + debugger->printf(http->errorToString(status).c_str()); + debugger->println(); + } + if(debugger->isActive(RemoteDebug::DEBUG)) debugger->printf(http->getString().c_str()); - http.end(); + http->end(); } } } diff --git a/lib/SvelteUi/app/dist/index.js b/lib/SvelteUi/app/dist/index.js index b794e5eb..cb39e239 100644 --- a/lib/SvelteUi/app/dist/index.js +++ b/lib/SvelteUi/app/dist/index.js @@ -1,14 +1,14 @@ -(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 ne(){}function xt(t,e){for(const l in e)t[l]=e[l];return t}function Jf(t){return t()}function Lr(){return Object.create(null)}function Be(t){t.forEach(Jf)}function fo(t){return typeof t=="function"}function we(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let ds;function Kc(t,e){return ds||(ds=document.createElement("a")),ds.href=e,t===ds.href}function Qc(t){return Object.keys(t).length===0}function co(t,...e){if(t==null)return ne;const l=t.subscribe(...e);return l.unsubscribe?()=>l.unsubscribe():l}function ri(t){let e;return co(t,l=>e=l)(),e}function al(t,e,l){t.$$.on_destroy.push(co(e,l))}function mo(t,e,l,n){if(t){const i=xf(t,e,l,n);return t[0](i)}}function xf(t,e,l,n){return t[1]&&n?xt(l.ctx.slice(),t[1](n(e))):l.ctx}function po(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 Ss(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)}const Zc=["width","height"];function ai(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&&Zc.indexOf(n)===-1?t[n]=e[n]:u(t,n,e[n])}function fe(t){return t===""?null:+t}function Jc(t){return Array.from(t.childNodes)}function G(t,e){e=""+e,t.data!==e&&(t.data=e)}function xc(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function e1(t,e,l){~Xc.indexOf(l)?xc(t,e):G(t,e)}function K(t,e){t.value=e??""}function ec(t,e,l,n){l==null?t.style.removeProperty(e):t.style.setProperty(e,l,n?"important":"")}function qe(t,e,l){for(let n=0;n{r.source===n.contentWindow&&e()})):(n.src="about:blank",n.onload=()=>{o=V(n.contentWindow,"resize",e),e()}),s(t,n),()=>{(i||o&&n.contentWindow)&&o(),k(n)}}function n1(t,e,{bubbles:l=!1,cancelable:n=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(t,l,n,e),i}function Or(t,e){return new t(e)}let Si;function Ci(t){Si=t}function Mi(){if(!Si)throw new Error("Function called outside component initialization");return Si}function i1(t){Mi().$$.on_mount.push(t)}function s1(t){Mi().$$.on_destroy.push(t)}function o1(){const t=Mi();return(e,l,{cancelable:n=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=n1(e,l,{cancelable:n});return i.slice().forEach(r=>{r.call(t,o)}),!o.defaultPrevented}return!0}}function Ti(t,e){return Mi().$$.context.set(t,e),e}function Ul(t){return Mi().$$.context.get(t)}const ii=[],ys=[];let si=[];const qr=[],tc=Promise.resolve();let Js=!1;function lc(){Js||(Js=!0,tc.then(nc))}function u1(){return lc(),tc}function tt(t){si.push(t)}const Ys=new Set;let li=0;function nc(){if(li!==0)return;const t=Si;do{try{for(;lit.indexOf(n)===-1?e.push(n):l.push(n)),l.forEach(n=>n()),si=e}const gs=new Set;let un;function De(){un={r:0,c:[],p:un}}function Ee(){un.r||Be(un.c),un=un.p}function P(t,e){t&&t.i&&(gs.delete(t),t.i(e))}function I(t,e,l,n){if(t&&t.o){if(gs.has(t))return;gs.add(t),un.c.push(()=>{gs.delete(t),n&&(l&&t.d(1),n())}),t.o(e)}else n&&n()}function ic(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 Ur(t){return typeof t=="object"&&t!==null?t:{}}function Z(t){t&&t.c()}function Q(t,e,l,n){const{fragment:i,after_update:o}=t.$$;i&&i.m(e,l),n||tt(()=>{const r=t.$$.on_mount.map(Jf).filter(fo);t.$$.on_destroy?t.$$.on_destroy.push(...r):Be(r),t.$$.on_mount=[]}),o.forEach(tt)}function X(t,e){const l=t.$$;l.fragment!==null&&(a1(l.after_update),Be(l.on_destroy),l.fragment&&l.fragment.d(e),l.on_destroy=l.fragment=null,l.ctx=[])}function f1(t,e){t.$$.dirty[0]===-1&&(ii.push(t),lc(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const v=d.length?d[0]:b;return f.ctx&&i(f.ctx[_],f.ctx[_]=v)&&(!f.skip_bound&&f.bound[_]&&f.bound[_](v),p&&f1(t,_)),b}):[],f.update(),p=!0,Be(f.before_update),f.fragment=n?n(f.ctx):!1,e.target){if(e.hydrate){const _=Jc(e.target);f.fragment&&f.fragment.l(_),_.forEach(k)}else f.fragment&&f.fragment.c();e.intro&&P(t.$$.fragment),Q(t,e.target,e.anchor,e.customElement),nc()}Ci(c)}class Me{$destroy(){X(this,1),this.$destroy=ne}$on(e,l){if(!fo(l))return ne;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&&!Qc(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Hr=t=>typeof t>"u",sc=t=>typeof t=="function",oc=t=>typeof t=="number";function c1(t){return!t.defaultPrevented&&t.button===0&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function uc(){let t=0;return()=>t++}function m1(){return Math.random().toString(36).substring(2)}const Hl=typeof window>"u";function rc(t,e,l){return t.addEventListener(e,l),()=>t.removeEventListener(e,l)}const ac=(t,e)=>t?{}:{style:e},xs=t=>({"aria-hidden":"true",...ac(t,"display:none;")}),ni=[];function fc(t,e){return{subscribe:rt(t,e).subscribe}}function rt(t,e=ne){let l;const n=new Set;function i(a){if(we(t,a)&&(t=a,l)){const c=!ni.length;for(const f of n)f[1](),ni.push(f,t);if(c){for(let f=0;f{n.delete(f),n.size===0&&l&&(l(),l=null)}}return{set:i,update:o,subscribe:r}}function p1(t,e,l){const n=!Array.isArray(t),i=n?[t]:t,o=e.length<2;return fc(l,r=>{let a=!1;const c=[];let f=0,p=ne;const _=()=>{if(f)return;p();const d=e(n?c[0]:c,r);o?r(d):p=fo(d)?d:ne},b=i.map((d,v)=>co(d,g=>{c[v]=g,f&=~(1<{f|=1<`@@svnav-ctx__${t}`,eo=Pi("LOCATION"),fi=Pi("ROUTER"),cc=Pi("ROUTE"),_1=Pi("ROUTE_PARAMS"),d1=Pi("FOCUS_ELEM"),mc=/^:(.+)/,wi=(t,e,l)=>t.substr(e,l),to=(t,e)=>wi(t,0,e.length)===e,v1=t=>t==="",h1=t=>mc.test(t),pc=t=>t[0]==="*",b1=t=>t.replace(/\*.*$/,""),_c=t=>t.replace(/(^\/+|\/+$)/g,"");function ml(t,e=!1){const l=_c(t).split("/");return e?l.filter(Boolean):l}const Vs=(t,e)=>t+(e?`?${e}`:""),ho=t=>`/${_c(t)}`;function Ni(...t){const e=n=>ml(n,!0).join("/"),l=t.map(e).join("/");return ho(l)}const bo=1,Ms=2,mn=3,g1=4,dc=5,k1=6,vc=7,w1=8,y1=9,hc=10,bc=11,$1={[bo]:"Link",[Ms]:"Route",[mn]:"Router",[g1]:"useFocus",[dc]:"useLocation",[k1]:"useMatch",[vc]:"useNavigate",[w1]:"useParams",[y1]:"useResolvable",[hc]:"useResolve",[bc]:"navigate"},go=t=>$1[t];function C1(t,e){let l;return t===Ms?l=e.path?`path="${e.path}"`:"default":t===bo?l=`to="${e.to}"`:t===mn&&(l=`basepath="${e.basepath||""}"`),`<${go(t)} ${l||""} />`}function T1(t,e,l,n){const i=l&&C1(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 ne(){}function xt(t,e){for(const l in e)t[l]=e[l];return t}function xf(t){return t()}function Lr(){return Object.create(null)}function Be(t){t.forEach(xf)}function fo(t){return typeof t=="function"}function we(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let ds;function Qc(t,e){return ds||(ds=document.createElement("a")),ds.href=e,t===ds.href}function Xc(t){return Object.keys(t).length===0}function co(t,...e){if(t==null)return ne;const l=t.subscribe(...e);return l.unsubscribe?()=>l.unsubscribe():l}function ri(t){let e;return co(t,l=>e=l)(),e}function al(t,e,l){t.$$.on_destroy.push(co(e,l))}function mo(t,e,l,n){if(t){const i=ec(t,e,l,n);return t[0](i)}}function ec(t,e,l,n){return t[1]&&n?xt(l.ctx.slice(),t[1](n(e))):l.ctx}function po(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 Ss(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)}const Jc=["width","height"];function ai(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&&Jc.indexOf(n)===-1?t[n]=e[n]:u(t,n,e[n])}function fe(t){return t===""?null:+t}function xc(t){return Array.from(t.childNodes)}function W(t,e){e=""+e,t.data!==e&&(t.data=e)}function e1(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function t1(t,e,l){~Zc.indexOf(l)?e1(t,e):W(t,e)}function V(t,e){t.value=e??""}function tc(t,e,l,n){l==null?t.style.removeProperty(e):t.style.setProperty(e,l,n?"important":"")}function qe(t,e,l){for(let n=0;n{r.source===n.contentWindow&&e()})):(n.src="about:blank",n.onload=()=>{o=K(n.contentWindow,"resize",e),e()}),s(t,n),()=>{(i||o&&n.contentWindow)&&o(),k(n)}}function i1(t,e,{bubbles:l=!1,cancelable:n=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(t,l,n,e),i}function Or(t,e){return new t(e)}let Si;function Ci(t){Si=t}function Mi(){if(!Si)throw new Error("Function called outside component initialization");return Si}function s1(t){Mi().$$.on_mount.push(t)}function o1(t){Mi().$$.on_destroy.push(t)}function u1(){const t=Mi();return(e,l,{cancelable:n=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=i1(e,l,{cancelable:n});return i.slice().forEach(r=>{r.call(t,o)}),!o.defaultPrevented}return!0}}function Ti(t,e){return Mi().$$.context.set(t,e),e}function Ul(t){return Mi().$$.context.get(t)}const ii=[],ys=[];let si=[];const qr=[],lc=Promise.resolve();let Js=!1;function nc(){Js||(Js=!0,lc.then(ic))}function r1(){return nc(),lc}function tt(t){si.push(t)}const Ys=new Set;let li=0;function ic(){if(li!==0)return;const t=Si;do{try{for(;lit.indexOf(n)===-1?e.push(n):l.push(n)),l.forEach(n=>n()),si=e}const gs=new Set;let un;function Ae(){un={r:0,c:[],p:un}}function Ee(){un.r||Be(un.c),un=un.p}function P(t,e){t&&t.i&&(gs.delete(t),t.i(e))}function I(t,e,l,n){if(t&&t.o){if(gs.has(t))return;gs.add(t),un.c.push(()=>{gs.delete(t),n&&(l&&t.d(1),n())}),t.o(e)}else n&&n()}function sc(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 Ur(t){return typeof t=="object"&&t!==null?t:{}}function Z(t){t&&t.c()}function Q(t,e,l,n){const{fragment:i,after_update:o}=t.$$;i&&i.m(e,l),n||tt(()=>{const r=t.$$.on_mount.map(xf).filter(fo);t.$$.on_destroy?t.$$.on_destroy.push(...r):Be(r),t.$$.on_mount=[]}),o.forEach(tt)}function X(t,e){const l=t.$$;l.fragment!==null&&(f1(l.after_update),Be(l.on_destroy),l.fragment&&l.fragment.d(e),l.on_destroy=l.fragment=null,l.ctx=[])}function c1(t,e){t.$$.dirty[0]===-1&&(ii.push(t),nc(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const v=d.length?d[0]:b;return f.ctx&&i(f.ctx[_],f.ctx[_]=v)&&(!f.skip_bound&&f.bound[_]&&f.bound[_](v),p&&c1(t,_)),b}):[],f.update(),p=!0,Be(f.before_update),f.fragment=n?n(f.ctx):!1,e.target){if(e.hydrate){const _=xc(e.target);f.fragment&&f.fragment.l(_),_.forEach(k)}else f.fragment&&f.fragment.c();e.intro&&P(t.$$.fragment),Q(t,e.target,e.anchor,e.customElement),ic()}Ci(c)}class Me{$destroy(){X(this,1),this.$destroy=ne}$on(e,l){if(!fo(l))return ne;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&&!Xc(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Hr=t=>typeof t>"u",oc=t=>typeof t=="function",uc=t=>typeof t=="number";function m1(t){return!t.defaultPrevented&&t.button===0&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function rc(){let t=0;return()=>t++}function p1(){return Math.random().toString(36).substring(2)}const Hl=typeof window>"u";function ac(t,e,l){return t.addEventListener(e,l),()=>t.removeEventListener(e,l)}const fc=(t,e)=>t?{}:{style:e},xs=t=>({"aria-hidden":"true",...fc(t,"display:none;")}),ni=[];function cc(t,e){return{subscribe:rt(t,e).subscribe}}function rt(t,e=ne){let l;const n=new Set;function i(a){if(we(t,a)&&(t=a,l)){const c=!ni.length;for(const f of n)f[1](),ni.push(f,t);if(c){for(let f=0;f{n.delete(f),n.size===0&&l&&(l(),l=null)}}return{set:i,update:o,subscribe:r}}function _1(t,e,l){const n=!Array.isArray(t),i=n?[t]:t,o=e.length<2;return cc(l,r=>{let a=!1;const c=[];let f=0,p=ne;const _=()=>{if(f)return;p();const d=e(n?c[0]:c,r);o?r(d):p=fo(d)?d:ne},b=i.map((d,v)=>co(d,g=>{c[v]=g,f&=~(1<{f|=1<`@@svnav-ctx__${t}`,eo=Pi("LOCATION"),fi=Pi("ROUTER"),mc=Pi("ROUTE"),d1=Pi("ROUTE_PARAMS"),v1=Pi("FOCUS_ELEM"),pc=/^:(.+)/,wi=(t,e,l)=>t.substr(e,l),to=(t,e)=>wi(t,0,e.length)===e,h1=t=>t==="",b1=t=>pc.test(t),_c=t=>t[0]==="*",g1=t=>t.replace(/\*.*$/,""),dc=t=>t.replace(/(^\/+|\/+$)/g,"");function ml(t,e=!1){const l=dc(t).split("/");return e?l.filter(Boolean):l}const Ks=(t,e)=>t+(e?`?${e}`:""),ho=t=>`/${dc(t)}`;function Ni(...t){const e=n=>ml(n,!0).join("/"),l=t.map(e).join("/");return ho(l)}const bo=1,Ms=2,mn=3,k1=4,vc=5,w1=6,hc=7,y1=8,$1=9,bc=10,gc=11,C1={[bo]:"Link",[Ms]:"Route",[mn]:"Router",[k1]:"useFocus",[vc]:"useLocation",[w1]:"useMatch",[hc]:"useNavigate",[y1]:"useParams",[$1]:"useResolvable",[bc]:"useResolve",[gc]:"navigate"},go=t=>C1[t];function T1(t,e){let l;return t===Ms?l=e.path?`path="${e.path}"`:"default":t===bo?l=`to="${e.to}"`:t===mn&&(l=`basepath="${e.basepath||""}"`),`<${go(t)} ${l||""} />`}function S1(t,e,l,n){const i=l&&T1(n||t,l),o=i?` -Occurred in: ${i}`:"",r=go(t),a=sc(e)?e(r):e;return`<${r}> ${a}${o}`}const gc=t=>(...e)=>t(T1(...e)),kc=gc(t=>{throw new Error(t)}),$s=gc(console.warn),jr=4,S1=3,M1=2,P1=1,N1=1;function A1(t,e){const l=t.default?0:ml(t.fullPath).reduce((n,i)=>{let o=n;return o+=jr,v1(i)?o+=N1:h1(i)?o+=M1:pc(i)?o-=jr+P1:o+=S1,o},0);return{route:t,score:l,index:e}}function D1(t){return t.map(A1).sort((e,l)=>e.scorel.score?-1:e.index-l.index)}function wc(t,e){let l,n;const[i]=e.split("?"),o=ml(i),r=o[0]==="",a=D1(t);for(let c=0,f=a.length;c({...p,params:b,uri:C});if(p.default){n=d(e);continue}const v=ml(p.fullPath),g=Math.max(o.length,v.length);let T=0;for(;T{f===".."?c.pop():f!=="."&&c.push(f)}),Vs(`/${c.join("/")}`,n)}function Wr(t,e){const{pathname:l,hash:n="",search:i="",state:o}=t,r=ml(e,!0),a=ml(l,!0);for(;r.length;)r[0]!==a[0]&&kc(mn,`Invalid state: All locations must begin with the basepath "${e}", found "${l}"`),r.shift(),a.shift();return{pathname:Ni(...a),hash:n,search:i,state:o}}const Gr=t=>t.length===1?"":t,ko=t=>{const e=t.indexOf("?"),l=t.indexOf("#"),n=e!==-1,i=l!==-1,o=i?Gr(wi(t,l)):"",r=i?wi(t,0,l):t,a=n?Gr(wi(r,e)):"";return{pathname:(n?wi(r,0,e):r)||"/",search:a,hash:o}},I1=t=>{const{pathname:e,search:l,hash:n}=t;return e+l+n};function F1(t,e,l){return Ni(l,E1(t,e))}function R1(t,e){const l=ho(b1(t)),n=ml(l,!0),i=ml(e,!0).slice(0,n.length),o=yc({fullPath:l},Ni(...i));return o&&o.uri}const Ks="POP",L1="PUSH",O1="REPLACE";function Qs(t){return{...t.location,pathname:encodeURI(decodeURI(t.location.pathname)),state:t.history.state,_key:t.history.state&&t.history.state._key||"initial"}}function q1(t){let e=[],l=Qs(t),n=Ks;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=Qs(t),n=Ks,i([o])};i([o]);const a=rc(t,"popstate",r);return()=>{a(),e=e.filter(c=>c!==o)}},navigate(o,r){const{state:a={},replace:c=!1}=r||{};if(n=c?O1:L1,oc(o))r&&$s(bc,"Navigation options (state or replace) are not supported, when passing a number as the first argument to navigate. They are ignored."),n=Ks,t.history.go(o);else{const f={...a,_key:m1()};try{t.history[c?"replaceState":"pushState"](f,"",o)}catch{t.location[c?"replace":"assign"](o)}}l=Qs(t),i()}}}function Xs(t,e){return{...ko(e),state:t}}function U1(t="/"){let e=0,l=[Xs(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(Xs(n,o))},replaceState(n,i,o){l[e]=Xs(n,o)},go(n){const i=e+n;i<0||i>l.length-1||(e=i)}}}}const H1=!!(!Hl&&window.document&&window.document.createElement),j1=!Hl&&window.location.origin==="null",$c=q1(H1&&!j1?window:U1()),{navigate:oi}=$c;let Sl=null,Cc=!0;function W1(t,e){const l=document.querySelectorAll("[data-svnav-router]");for(let n=0;nSl.level||t.level===Sl.level&&W1(t.routerId,Sl.routerId))&&(Sl=t)}function B1(){Sl=null}function z1(){Cc=!1}function Br(t){if(!t)return!1;const e="tabindex";try{if(!t.hasAttribute(e)){t.setAttribute(e,"-1");let l;l=rc(t,"blur",()=>{t.removeAttribute(e),l()})}return t.focus(),document.activeElement===t}catch{return!1}}function Y1(t,e){return Number(t.dataset.svnavRouteEnd)===e}function V1(t){return/^H[1-6]$/i.test(t.tagName)}function zr(t,e=document){return e.querySelector(t)}function K1(t){let l=zr(`[data-svnav-route-start="${t}"]`).nextElementSibling;for(;!Y1(l,t);){if(V1(l))return l;const n=zr("h1,h2,h3,h4,h5,h6",l);if(n)return n;l=l.nextElementSibling}return null}function Q1(t){Promise.resolve(ri(t.focusElement)).then(e=>{const l=e||K1(t.id);l||$s(mn,`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,Ms),!Br(l)&&Br(document.documentElement)})}const X1=(t,e,l)=>(n,i)=>u1().then(()=>{if(!Sl||Cc){z1();return}if(n&&Q1(Sl.route),t.announcements&&i){const{path:o,fullPath:r,meta:a,params:c,uri:f}=Sl.route,p=t.createAnnouncement({path:o,fullPath:r,meta:a,params:c,uri:f},ri(l));Promise.resolve(p).then(_=>{e.set(_)})}B1()}),Z1="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 J1(t){let e,l,n=[{role:"status"},{"aria-atomic":"true"},{"aria-live":"polite"},{"data-svnav-announcer":""},ac(t[6],Z1)],i={};for(let o=0;o`Navigated to ${le.uri}`,announcements:!0,...v},C=p,$=ho(p),M=Ul(eo),F=Ul(fi),S=!M,N=em(),A=d&&!(F&&!F.manageFocus),E=rt("");al(t,E,le=>l(0,a=le));const Y=F?F.disableInlineStyles:g,R=rt([]);al(t,R,le=>l(20,r=le));const U=rt(null);al(t,U,le=>l(18,i=le));let H=!1;const z=S?0:F.level+1,L=S?rt((()=>Wr(Hl?ko(_):b.location,$))()):M;al(t,L,le=>l(17,n=le));const B=rt(n);al(t,B,le=>l(19,o=le));const O=X1(T,E,L),j=le=>pe=>pe.filter(ie=>ie.id!==le);function W(le){if(Hl){if(H)return;const pe=yc(le,n.pathname);if(pe)return H=!0,pe}else R.update(pe=>{const ie=j(le.id)(pe);return ie.push(le),ie})}function te(le){R.update(j(le))}return!S&&p!==Yr&&$s(mn,'Only top-level Routers can have a "basepath" prop. It is ignored.',{basepath:p}),S&&(i1(()=>b.listen(pe=>{const ie=Wr(pe.location,$);B.set(n),L.set(ie)})),Ti(eo,L)),Ti(fi,{activeRoute:U,registerRoute:W,unregisterRoute:te,manageFocus:A,level:z,id:N,history:S?b:F.history,basepath:S?$:F.basepath,disableInlineStyles:Y}),t.$$set=le=>{"basepath"in le&&l(11,p=le.basepath),"url"in le&&l(12,_=le.url),"history"in le&&l(13,b=le.history),"primary"in le&&l(14,d=le.primary),"a11y"in le&&l(15,v=le.a11y),"disableInlineStyles"in le&&l(16,g=le.disableInlineStyles),"$$scope"in le&&l(21,f=le.$$scope)},t.$$.update=()=>{if(t.$$.dirty[0]&2048&&p!==C&&$s(mn,'You cannot change the "basepath" prop. It is ignored.'),t.$$.dirty[0]&1179648){const le=wc(r,n.pathname);U.set(le)}if(t.$$.dirty[0]&655360&&S){const le=!!n.hash,pe=!le&&A,ie=!le||n.pathname!==o.pathname;O(pe,ie)}t.$$.dirty[0]&262144&&A&&i&&i.primary&&G1({level:z,routerId:N,route:i})},[a,T,S,N,A,E,Y,R,U,L,B,p,_,b,d,v,g,n,i,o,r,f,c]}class lm extends Me{constructor(e){super(),Se(this,e,tm,x1,we,{basepath:11,url:12,history:13,primary:14,a11y:15,disableInlineStyles:16},null,[-1,-1])}}const Tc=lm;function Ai(t,e,l=fi,n=mn){Ul(l)||kc(t,o=>`You cannot use ${o} outside of a ${go(n)}.`,e)}const nm=t=>{const{subscribe:e}=Ul(t);return{subscribe:e}};function Sc(){return Ai(dc),nm(eo)}function Mc(){const{history:t}=Ul(fi);return t}function Pc(){const t=Ul(cc);return t?p1(t,e=>e.base):rt("/")}function Nc(){Ai(hc);const t=Pc(),{basepath:e}=Ul(fi);return n=>F1(n,ri(t),e)}function im(){Ai(vc);const t=Nc(),{navigate:e}=Mc();return(n,i)=>{const o=oc(n)?n:t(n);return e(o,i)}}const sm=t=>({params:t&16,location:t&8}),Vr=t=>({params:Hl?ri(t[10]):t[4],location:t[3],navigate:t[11]});function Kr(t){let e,l;return e=new Tc({props:{primary:t[1],$$slots:{default:[rm]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function om(t){let e;const l=t[18].default,n=mo(l,t,t[19],Vr);return{c(){n&&n.c()},m(i,o){n&&n.m(i,o),e=!0},p(i,o){n&&n.p&&(!e||o&524312)&&_o(n,l,i,i[19],e?po(l,i[19],o,sm):vo(i[19]),Vr)},i(i){e||(P(n,i),e=!0)},o(i){I(n,i),e=!1},d(i){n&&n.d(i)}}}function um(t){let e,l,n;const i=[{location:t[3]},{navigate:t[11]},Hl?ri(t[10]):t[4],t[12]];var o=t[0];function r(a){let c={};for(let f=0;f{X(p,1)}),Ee()}o?(e=Or(o,r()),Z(e.$$.fragment),P(e.$$.fragment,1),Q(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&&k(l),e&&X(e,a)}}}function rm(t){let e,l,n,i;const o=[um,om],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=Ve()},m(c,f){r[e].m(c,f),w(c,n,f),i=!0},p(c,f){let p=e;e=a(c),e===p?r[e].p(c,f):(De(),I(r[p],1,1,()=>{r[p]=null}),Ee(),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&&k(n)}}}function am(t){let e,l,n,i,o,r=[xs(t[7]),{"data-svnav-route-start":t[5]}],a={};for(let _=0;_{c=null}),Ee())},i(_){o||(P(c),o=!0)},o(_){I(c),o=!1},d(_){_&&k(e),_&&k(l),c&&c.d(_),_&&k(n),_&&k(i)}}}const fm=uc();function cm(t,e,l){let n;const i=["path","component","meta","primary"];let o=ws(e,i),r,a,c,f,{$$slots:p={},$$scope:_}=e,{path:b=""}=e,{component:d=null}=e,{meta:v={}}=e,{primary:g=!0}=e;Ai(Ms,e);const T=fm(),{registerRoute:C,unregisterRoute:$,activeRoute:M,disableInlineStyles:F}=Ul(fi);al(t,M,H=>l(16,r=H));const S=Pc();al(t,S,H=>l(17,c=H));const N=Sc();al(t,N,H=>l(3,a=H));const A=rt(null);let E;const Y=rt(),R=rt({});al(t,R,H=>l(4,f=H)),Ti(cc,Y),Ti(_1,R),Ti(d1,A);const U=im();return Hl||s1(()=>$(T)),t.$$set=H=>{l(24,e=xt(xt({},e),ks(H))),l(12,o=ws(e,i)),"path"in H&&l(13,b=H.path),"component"in H&&l(0,d=H.component),"meta"in H&&l(14,v=H.meta),"primary"in H&&l(1,g=H.primary),"$$scope"in H&&l(19,_=H.$$scope)},t.$$.update=()=>{if(t.$$.dirty&155658){const H=b==="",z=Ni(c,b),q={id:T,path:b,meta:v,default:H,fullPath:H?"":z,base:H?c:R1(z,a.pathname),primary:g,focusElement:A};Y.set(q),l(15,E=C(q))}if(t.$$.dirty&98304&&l(2,n=!!(E||r&&r.id===T)),t.$$.dirty&98308&&n){const{params:H}=E||r;R.set(H)}},e=ks(e),[d,g,n,a,f,T,M,F,S,N,R,U,o,b,v,E,r,c,p,_]}class mm extends Me{constructor(e){super(),Se(this,e,cm,am,we,{path:13,component:0,meta:14,primary:1})}}const Tl=mm;function pm(t){let e,l,n,i;const o=t[13].default,r=mo(o,t,t[12],null);let a=[{href:t[0]},t[2],t[1]],c={};for(let f=0;fl(11,_=A));const M=o1(),F=Nc(),{navigate:S}=Mc();function N(A){M("click",A),c1(A)&&(A.preventDefault(),S(n,{state:T,replace:r||g}))}return t.$$set=A=>{l(19,e=xt(xt({},e),ks(A))),l(18,p=ws(e,f)),"to"in A&&l(5,v=A.to),"replace"in A&&l(6,g=A.replace),"state"in A&&l(7,T=A.state),"getProps"in A&&l(8,C=A.getProps),"$$scope"in A&&l(12,d=A.$$scope)},t.$$.update=()=>{t.$$.dirty&2080&&l(0,n=F(v,_)),t.$$.dirty&2049&&l(10,i=to(_.pathname,n)),t.$$.dirty&2049&&l(9,o=n===_.pathname),t.$$.dirty&2049&&(r=ko(n)===I1(_)),t.$$.dirty&512&&l(2,a=o?{"aria-current":"page"}:{}),l(1,c=(()=>{if(sc(C)){const A=C({location:_,href:n,isPartiallyCurrent:i,isCurrent:o});return{...p,...A}}return p})())},e=ks(e),[n,c,a,$,N,v,g,T,C,o,i,_,d,b]}class dm extends Me{constructor(e){super(),Se(this,e,_m,pm,we,{to:5,replace:6,state:7,getProps:8})}}const el=dm;let lo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ql(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function vm(t){return t>218&&t<242?"#32d900":t>212&&t<248?"#b1d900":t>208&&t<252?"#ffb800":"#d90000"}function Ac(t){return t>90?"#d90000":t>85?"#e32100":t>80?"#ffb800":t>75?"#dcd800":"#32d900"}function hm(t){return t>75?"#32d900":t>50?"#77d900":t>25?"#94d900":"#dcd800"}function Cs(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 Ie(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function ce(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"µHAN 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 Qr(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 for at least 30s";case 91:return"Serial break";case 92:return"Serial buffer full";case 93:return"Serial FIFO overflow";case 94:return"Serial frame error";case 95:return"Serial parity error";case 96:return"RX error";case 98:return"Exception in code, debugging necessary";case 99:return"Autodetection failed"}return t<0?"Unspecified error "+t:""}function Xr(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 Zr(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 429:return"Exceeded API rate limit";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 ui(t){switch(t){case 2:case 4:case 7:return!0}return!1}function Ye(t,e){return t==1||t==2&&e}function qt(t){return"https://github.com/UtilitechAS/amsreader-firmware/wiki/"+t}function me(t,e){return isNaN(t)?"-":(isNaN(e)&&(e=t<10?1:0),t.toFixed(e))}function fl(t,e){return t.setTime(t.getTime()+e*36e5),t}function Jr(t){if(t.chip=="esp8266")switch(t.boot_reason){case 0:return"Normal";case 1:return"WDT reset";case 2:return"Exception reset";case 3:return"Soft WDT reset";case 4:return"Software restart";case 5:return"Deep sleep";case 6:return"External reset";default:return"Unknown (8266)"}else switch(t.boot_reason){case 1:return"Vbat power on reset";case 3:return"Software reset";case 4:return"WDT reset";case 5:return"Deep sleep";case 6:return"SLC reset";case 7:return"Timer Group0 WDT reset";case 8:return"Timer Group1 WDT reset";case 9:return"RTC WDT reset";case 10:return"Instrusion test reset CPU";case 11:return"Time Group reset CPU";case 12:return"Software reset CPU";case 13:return"RTC WTD reset CPU";case 14:return"PRO CPU";case 15:return"Brownout";case 16:return"RTC reset";default:return"Unknown"}}async function jl(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 rl={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null};const Ut=rt(rl);async function wo(){rl=await(await jl("/sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),Ut.set(rl)}let hs=0,xr=-127,ea=null,bm={};const gm=fc(bm,t=>{let e;async function l(){jl("/data.json").then(n=>n.json()).then(n=>{t(n),xr!=n.t&&(xr=n.t,setTimeout(Rc,2e3)),ea==null&&n.pe&&n.p!=null&&(ea=n.p,Ec()),rl.upgrading?window.location.reload():(!rl||!rl.chip||rl.booting||hs>1&&!ui(rl.board))&&(wo(),rn&&clearTimeout(rn),rn=setTimeout($o,2e3),an&&clearTimeout(an),an=setTimeout(Co,3e3));let i=5e3;if(ui(rl.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),hs=0}).catch(n=>{hs++,hs>3?(t({em:3,hm:0,wm:0,mm:0}),e=setTimeout(l,15e3)):e=setTimeout(l,ui(rl.board)?1e4:5e3)})}return l(),function(){clearTimeout(e)}});let no={},yi;const yo=rt(no);async function Dc(){let t=!1;yo.update(e=>{for(var l=0;l<36;l++){if(e[Ie(l)]==null){t=l<12;break}e[Ie(l)]=e[Ie(l+1)]}return e}),t?Ec():yi=setTimeout(Dc,(60-new Date().getMinutes())*6e4)}async function Ec(){yi&&(clearTimeout(yi),yi=0),no=await(await jl("/energyprice.json")).json(),yo.set(no),yi=setTimeout(Dc,(60-new Date().getMinutes())*6e4)}let io={},rn;async function $o(){rn&&(clearTimeout(rn),rn=0),io=await(await jl("/dayplot.json")).json(),Ic.set(io),rn=setTimeout($o,(60-new Date().getMinutes())*6e4+20)}const Ic=rt(io,t=>($o(),function(){}));let so={},an;async function Co(){an&&(clearTimeout(an),an=0),so=await(await jl("/monthplot.json")).json(),Fc.set(so),an=setTimeout(Co,(24-new Date().getHours())*36e5+40)}const Fc=rt(so,t=>(Co(),function(){}));let oo={};async function Rc(){oo=await(await jl("/temperature.json")).json(),Lc.set(oo)}const Lc=rt(oo,t=>(Rc(),function(){}));let uo={},bs;async function Oc(){bs&&(clearTimeout(bs),bs=0),uo=await(await jl("/tariff.json")).json(),qc.set(uo),bs=setTimeout(Oc,(60-new Date().getMinutes())*6e4+30)}const qc=rt(uo,t=>function(){});let ro=[];const To=rt(ro);async function km(){ro=await(await jl("https://api.github.com/repos/UtilitechAS/amsreader-firmware/releases")).json(),To.set(ro)}function Ts(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 Uc(t){await(await fetch("/upgrade?expected_version="+t,{method:"POST"})).json()}function Hc(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 p=0;po&&(a=_):g==i+1&&(c=_);else if(v==n+1)if(f){let C=f.tag_name.substring(1).split(".");parseInt(C[0]);let $=parseInt(C[1]);parseInt(C[2]),g==$&&(f=_)}else f=_}return c||f||a||!1}else return e[0]}const wm="/github.svg";function ta(t){let e,l;function n(r,a){return r[1]>1?Pm:r[1]>0?Mm:r[2]>1?Sm:r[2]>0?Tm:r[3]>1?Cm:r[3]>0?$m:ym}let i=n(t),o=i(t);return{c(){e=y(`Up - `),o.c(),l=Ve()},m(r,a){w(r,e,a),o.m(r,a),w(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&&k(e),o.d(r),r&&k(l)}}}function ym(t){let e,l;return{c(){e=y(t[0]),l=y(" seconds")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&1&&G(e,n[0])},d(n){n&&k(e),n&&k(l)}}}function $m(t){let e,l;return{c(){e=y(t[3]),l=y(" minute")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&8&&G(e,n[3])},d(n){n&&k(e),n&&k(l)}}}function Cm(t){let e,l;return{c(){e=y(t[3]),l=y(" minutes")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&8&&G(e,n[3])},d(n){n&&k(e),n&&k(l)}}}function Tm(t){let e,l;return{c(){e=y(t[2]),l=y(" hour")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&4&&G(e,n[2])},d(n){n&&k(e),n&&k(l)}}}function Sm(t){let e,l;return{c(){e=y(t[2]),l=y(" hours")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&4&&G(e,n[2])},d(n){n&&k(e),n&&k(l)}}}function Mm(t){let e,l;return{c(){e=y(t[1]),l=y(" day")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&2&&G(e,n[1])},d(n){n&&k(e),n&&k(l)}}}function Pm(t){let e,l;return{c(){e=y(t[1]),l=y(" days")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&2&&G(e,n[1])},d(n){n&&k(e),n&&k(l)}}}function Nm(t){let e,l=t[0]&&ta(t);return{c(){l&&l.c(),e=Ve()},m(n,i){l&&l.m(n,i),w(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=ta(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ne,o:ne,d(n){l&&l.d(n),n&&k(e)}}}function Am(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 Dm extends Me{constructor(e){super(),Se(this,e,Am,Nm,we,{epoch:0})}}function Em(t){let e,l,n;return{c(){e=m("span"),l=y(t[2]),u(e,"title",t[1]),u(e,"class",n="bd-"+t[0])},m(i,o){w(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:ne,o:ne,d(i){i&&k(e)}}}function Im(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 fn extends Me{constructor(e){super(),Se(this,e,Im,Em,we,{color:0,title:1,text:2})}}function Fm(t){let e,l=`${Ie(t[0].getDate())}.${Ie(t[0].getMonth()+1)}.${t[0].getFullYear()} ${Ie(t[0].getHours())}:${Ie(t[0].getMinutes())}`,n;return{c(){e=m("span"),n=y(l),u(e,"class",t[1])},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=`${Ie(i[0].getDate())}.${Ie(i[0].getMonth()+1)}.${i[0].getFullYear()} ${Ie(i[0].getHours())}:${Ie(i[0].getMinutes())}`)&&G(n,l),o&2&&u(e,"class",i[1])},d(i){i&&k(e)}}}function Rm(t){let e=`${Ie(t[0].getDate())}. ${lo[t[0].getMonth()]} ${Ie(t[0].getHours())}:${Ie(t[0].getMinutes())}`,l;return{c(){l=y(e)},m(n,i){w(n,l,i)},p(n,i){i&1&&e!==(e=`${Ie(n[0].getDate())}. ${lo[n[0].getMonth()]} ${Ie(n[0].getHours())}:${Ie(n[0].getMinutes())}`)&&G(l,e)},d(n){n&&k(l)}}}function Lm(t){let e;function l(o,r){return o[2]?Rm:Fm}let n=l(t),i=n(t);return{c(){i.c(),e=Ve()},m(o,r){i.m(o,r),w(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)))},i:ne,o:ne,d(o){i.d(o),o&&k(e)}}}function Om(t,e,l){let{timestamp:n}=e,{fullTimeColor:i}=e,{offset:o}=e,r;return t.$$set=a=>{"timestamp"in a&&l(0,n=a.timestamp),"fullTimeColor"in a&&l(1,i=a.fullTimeColor),"offset"in a&&l(3,o=a.offset)},t.$$.update=()=>{t.$$.dirty&9&&(l(2,r=Math.abs(new Date().getTime()-n.getTime())<3e5),isNaN(o)||fl(n,o-(24+n.getHours()-n.getUTCHours())%24))},[n,i,r,o]}class jc extends Me{constructor(e){super(),Se(this,e,Om,Lm,we,{timestamp:0,fullTimeColor:1,offset:3})}}function qm(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){w(i,e,o),s(e,l),s(e,n)},p:ne,i:ne,o:ne,d(i){i&&k(e)}}}class Um extends Me{constructor(e){super(),Se(this,e,null,qm,we,{})}}function Hm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class jm extends Me{constructor(e){super(),Se(this,e,null,Hm,we,{})}}function Wm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class Ot extends Me{constructor(e){super(),Se(this,e,null,Wm,we,{})}}function Gm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class Wc extends Me{constructor(e){super(),Se(this,e,null,Gm,we,{})}}function Bm(t){let e,l,n=t[1].version+"",i;return{c(){e=y("AMS reader "),l=m("span"),i=y(n)},m(o,r){w(o,e,r),w(o,l,r),s(l,i)},p(o,r){r&2&&n!==(n=o[1].version+"")&&G(i,n)},d(o){o&&k(e),o&&k(l)}}}function la(t){let e,l=(t[0].t>-50?t[0].t.toFixed(1):"-")+"",n,i;return{c(){e=m("div"),n=y(l),i=y("°C"),u(e,"class","flex-none my-auto")},m(o,r){w(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&&k(e)}}}function na(t){let e,l="HAN: "+Qr(t[0].he),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="HAN: "+Qr(i[0].he))&&G(n,l)},d(i){i&&k(e)}}}function ia(t){let e,l="MQTT: "+Xr(t[0].me),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="MQTT: "+Xr(i[0].me))&&G(n,l)},d(i){i&&k(e)}}}function sa(t){let e,l="PriceAPI: "+Zr(t[0].ee),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="PriceAPI: "+Zr(i[0].ee))&&G(n,l)},d(i){i&&k(e)}}}function oa(t){let e,l,n,i,o,r;return l=new el({props:{to:"/configuration",$$slots:{default:[zm]},$$scope:{ctx:t}}}),o=new el({props:{to:"/status",$$slots:{default:[Ym]},$$scope:{ctx:t}}}),{c(){e=m("div"),Z(l.$$.fragment),n=h(),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,c){w(a,e,c),Q(l,e,null),w(a,n,c),w(a,i,c),Q(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&&k(e),X(l),a&&k(n),a&&k(i),X(o)}}}function zm(t){let e,l;return e=new Um({}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function Ym(t){let e,l;return e=new jm({}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function ua(t){let e,l,n,i,o;const r=[Km,Vm],a=[];function c(f,p){return f[1].security==0||f[0].a?0:1}return l=c(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(f,p){w(f,e,p),a[l].m(e,null),o=!0},p(f,p){let _=l;l=c(f),l===_?a[l].p(f,p):(De(),I(a[_],1,1,()=>{a[_]=null}),Ee(),n=a[l],n?n.p(f,p):(n=a[l]=r[l](f),n.c()),P(n,1),n.m(e,null)),(!o||p&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&&k(e),a[l].d()}}}function Vm(t){let e,l,n=t[2].tag_name+"",i;return{c(){e=m("span"),l=y("New version: "),i=y(n)},m(o,r){w(o,e,r),s(e,l),s(e,i)},p(o,r){r&4&&n!==(n=o[2].tag_name+"")&&G(i,n)},i:ne,o:ne,d(o){o&&k(e)}}}function Km(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,p;return a=new Wc({}),{c(){e=m("button"),l=m("span"),n=y("New version: "),o=y(i),r=h(),Z(a.$$.fragment),u(l,"class","mt-1"),u(e,"class","flex")},m(_,b){w(_,e,b),s(e,l),s(l,n),s(l,o),s(e,r),Q(a,e,null),c=!0,f||(p=V(e,"click",t[3]),f=!0)},p(_,b){(!c||b&4)&&i!==(i=_[2].tag_name+"")&&G(o,i)},i(_){c||(P(a.$$.fragment,_),c=!0)},o(_){I(a.$$.fragment,_),c=!1},d(_){_&&k(e),X(a),f=!1,p()}}}function Qm(t){let e,l,n,i,o,r,a,c,f,p,_,b,d=(t[0].m?(t[0].m/1e3).toFixed(1):"-")+"",v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q,L,B,O,j,W,te,le,pe,ie,Pe,je,Ae,We;i=new el({props:{to:"/",$$slots:{default:[Bm]},$$scope:{ctx:t}}}),c=new Dm({props:{epoch:t[0].u}});let be=t[0].t>-50&&la(t);$=new fn({props:{title:"ESP",text:t[1].booting?"Booting":t[0].v>2?t[0].v.toFixed(2)+"V":"ESP",color:ql(t[1].booting?2:t[0].em)}}),F=new fn({props:{title:"HAN",text:"HAN",color:ql(t[1].booting?9:t[0].hm)}}),N=new fn({props:{title:"WiFi",text:t[0].r?t[0].r.toFixed(0)+"dBm":"WiFi",color:ql(t[1].booting?9:t[0].wm)}}),E=new fn({props:{title:"MQTT",text:"MQTT",color:ql(t[1].booting?9:t[0].mm)}});let ye=(t[0].he<0||t[0].he>0)&&na(t),Re=t[0].me<0&&ia(t),ge=(t[0].ee>0||t[0].ee<0)&&sa(t);te=new jc({props:{timestamp:t[0].c?new Date(t[0].c*1e3):new Date(0),offset:t[1].clock_offset,fullTimeColor:"text-red-500"}});let ae=t[1].vndcfg&&t[1].usrcfg&&oa(t);je=new Ot({});let $e=t[1].fwconsent===1&&t[2]&&ua(t);return{c(){e=m("nav"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),a=m("div"),Z(c.$$.fragment),f=h(),be&&be.c(),p=h(),_=m("div"),b=y("Free mem: "),v=y(d),g=y("kb"),T=h(),C=m("div"),Z($.$$.fragment),M=h(),Z(F.$$.fragment),S=h(),Z(N.$$.fragment),A=h(),Z(E.$$.fragment),Y=h(),ye&&ye.c(),R=h(),Re&&Re.c(),U=h(),ge&&ge.c(),H=h(),z=m("div"),q=m("div"),L=m("a"),B=m("img"),j=h(),W=m("div"),Z(te.$$.fragment),le=h(),ae&&ae.c(),pe=h(),ie=m("div"),Pe=m("a"),Z(je.$$.fragment),Ae=h(),$e&&$e.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(C,"class","flex-auto flex-wrap my-auto justify-center p-2"),u(B,"class","gh-logo"),Kc(B.src,O=wm)||u(B,"src",O),u(B,"alt","GitHub repo"),u(L,"class","float-right"),u(L,"href","https://github.com/UtilitechAS/amsreader-firmware"),u(L,"target","_blank"),u(L,"rel","noreferrer"),u(L,"aria-label","GitHub"),u(q,"class","flex-none"),u(W,"class","flex-none my-auto px-2"),u(Pe,"href",qt("")),u(Pe,"target","_blank"),u(Pe,"rel","noreferrer"),u(ie,"class","flex-none px-1 mt-1"),u(ie,"title","Documentation"),u(z,"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,se){w(J,e,se),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(r,a),Q(c,a,null),s(r,f),be&&be.m(r,null),s(r,p),s(r,_),s(_,b),s(_,v),s(_,g),s(l,T),s(l,C),Q($,C,null),s(C,M),Q(F,C,null),s(C,S),Q(N,C,null),s(C,A),Q(E,C,null),s(l,Y),ye&&ye.m(l,null),s(l,R),Re&&Re.m(l,null),s(l,U),ge&&ge.m(l,null),s(l,H),s(l,z),s(z,q),s(q,L),s(L,B),s(z,j),s(z,W),Q(te,W,null),s(z,le),ae&&ae.m(z,null),s(z,pe),s(z,ie),s(ie,Pe),Q(je,Pe,null),s(z,Ae),$e&&$e.m(z,null),We=!0},p(J,[se]){const Fe={};se&18&&(Fe.$$scope={dirty:se,ctx:J}),i.$set(Fe);const Le={};se&1&&(Le.epoch=J[0].u),c.$set(Le),J[0].t>-50?be?be.p(J,se):(be=la(J),be.c(),be.m(r,p)):be&&(be.d(1),be=null),(!We||se&1)&&d!==(d=(J[0].m?(J[0].m/1e3).toFixed(1):"-")+"")&&G(v,d);const _e={};se&3&&(_e.text=J[1].booting?"Booting":J[0].v>2?J[0].v.toFixed(2)+"V":"ESP"),se&3&&(_e.color=ql(J[1].booting?2:J[0].em)),$.$set(_e);const Ce={};se&3&&(Ce.color=ql(J[1].booting?9:J[0].hm)),F.$set(Ce);const Ne={};se&1&&(Ne.text=J[0].r?J[0].r.toFixed(0)+"dBm":"WiFi"),se&3&&(Ne.color=ql(J[1].booting?9:J[0].wm)),N.$set(Ne);const de={};se&3&&(de.color=ql(J[1].booting?9:J[0].mm)),E.$set(de),J[0].he<0||J[0].he>0?ye?ye.p(J,se):(ye=na(J),ye.c(),ye.m(l,R)):ye&&(ye.d(1),ye=null),J[0].me<0?Re?Re.p(J,se):(Re=ia(J),Re.c(),Re.m(l,U)):Re&&(Re.d(1),Re=null),J[0].ee>0||J[0].ee<0?ge?ge.p(J,se):(ge=sa(J),ge.c(),ge.m(l,H)):ge&&(ge.d(1),ge=null);const Te={};se&1&&(Te.timestamp=J[0].c?new Date(J[0].c*1e3):new Date(0)),se&2&&(Te.offset=J[1].clock_offset),te.$set(Te),J[1].vndcfg&&J[1].usrcfg?ae?se&2&&P(ae,1):(ae=oa(J),ae.c(),P(ae,1),ae.m(z,pe)):ae&&(De(),I(ae,1,1,()=>{ae=null}),Ee()),J[1].fwconsent===1&&J[2]?$e?($e.p(J,se),se&6&&P($e,1)):($e=ua(J),$e.c(),P($e,1),$e.m(z,null)):$e&&(De(),I($e,1,1,()=>{$e=null}),Ee())},i(J){We||(P(i.$$.fragment,J),P(c.$$.fragment,J),P($.$$.fragment,J),P(F.$$.fragment,J),P(N.$$.fragment,J),P(E.$$.fragment,J),P(te.$$.fragment,J),P(ae),P(je.$$.fragment,J),P($e),We=!0)},o(J){I(i.$$.fragment,J),I(c.$$.fragment,J),I($.$$.fragment,J),I(F.$$.fragment,J),I(N.$$.fragment,J),I(E.$$.fragment,J),I(te.$$.fragment,J),I(ae),I(je.$$.fragment,J),I($e),We=!1},d(J){J&&k(e),X(i),X(c),be&&be.d(),X($),X(F),X(N),X(E),ye&&ye.d(),Re&&Re.d(),ge&&ge.d(),X(te),ae&&ae.d(),X(je),$e&&$e.d()}}}function Xm(t,e,l){let{data:n={}}=e,i={},o={};function r(){confirm("Do you want to upgrade this device to "+o.tag_name+"?")&&(!ui(i.board)||confirm(Ts(ce(i.chip,i.board))))&&(Ut.update(a=>(a.upgrading=!0,a)),Uc(o.tag_name))}return Ut.subscribe(a=>{l(1,i=a),a.fwconsent===1&&km()}),To.subscribe(a=>{l(2,o=Hc(i.version,a))}),t.$$set=a=>{"data"in a&&l(0,n=a.data)},[n,i,o,r]}class Zm extends Me{constructor(e){super(),Se(this,e,Xm,Qm,we,{data:0})}}function Jm(t){let e,l,n,i;return{c(){e=Oe("svg"),l=Oe("path"),n=Oe("path"),u(l,"d",Zs(150,150,115,210,510)),u(l,"stroke","#eee"),u(l,"fill","none"),u(l,"stroke-width","55"),u(n,"d",i=Zs(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){w(o,e,r),s(e,l),s(e,n)},p(o,[r]){r&1&&i!==(i=Zs(150,150,115,210,210+300*o[0]/100))&&u(n,"d",i),r&2&&u(n,"stroke",o[1])},i:ne,o:ne,d(o){o&&k(e)}}}function ra(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 Zs(t,e,l,n,i){var o=ra(t,e,l,i),r=ra(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 xm(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 ep extends Me{constructor(e){super(),Se(this,e,xm,Jm,we,{pct:0,color:1})}}function aa(t){let e,l,n,i,o,r,a,c;return{c(){e=m("br"),l=h(),n=m("span"),i=y(t[3]),o=h(),r=m("span"),a=y(t[4]),c=y("/kWh"),u(n,"class","pl-sub"),u(r,"class","pl-snt")},m(f,p){w(f,e,p),w(f,l,p),w(f,n,p),s(n,i),w(f,o,p),w(f,r,p),s(r,a),s(r,c)},p(f,p){p&8&&G(i,f[3]),p&16&&G(a,f[4])},d(f){f&&k(e),f&&k(l),f&&k(n),f&&k(o),f&&k(r)}}}function tp(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T;l=new ep({props:{pct:t[6],color:t[5](t[6])}});let C=t[3]&&aa(t);return{c(){e=m("div"),Z(l.$$.fragment),n=h(),i=m("span"),o=m("span"),r=y(t[2]),a=h(),c=m("br"),f=h(),p=m("span"),_=y(t[0]),b=h(),d=m("span"),v=y(t[1]),g=h(),C&&C.c(),u(o,"class","pl-lab"),u(p,"class","pl-val"),u(d,"class","pl-unt"),u(i,"class","pl-ov"),u(e,"class","pl-root")},m($,M){w($,e,M),Q(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,p),s(p,_),s(i,b),s(i,d),s(d,v),s(i,g),C&&C.m(i,null),T=!0},p($,[M]){const F={};M&64&&(F.pct=$[6]),M&96&&(F.color=$[5]($[6])),l.$set(F),(!T||M&4)&&G(r,$[2]),(!T||M&1)&&G(_,$[0]),(!T||M&2)&&G(v,$[1]),$[3]?C?C.p($,M):(C=aa($),C.c(),C.m(i,null)):C&&(C.d(1),C=null)},i($){T||(P(l.$$.fragment,$),T=!0)},o($){I(l.$$.fragment,$),T=!1},d($){$&&k(e),X(l),C&&C.d()}}}function lp(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,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,c=_.subunit),"colorFn"in _&&l(5,f=_.colorFn)},t.$$.update=()=>{t.$$.dirty&129&&l(6,p=Math.min(n,i)/i*100)},[n,o,r,a,c,f,p,i]}class Gc extends Me{constructor(e){super(),Se(this,e,lp,tp,we,{val:0,max:7,unit:1,label:2,sub:3,subunit:4,colorFn:5})}}function fa(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function ca(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function ma(t,e,l){const n=t.slice();return n[13]=e[l],n}function pa(t){let e,l,n,i,o,r=t[0].title&&_a(t),a=t[0].y.ticks,c=[];for(let d=0;d20||t[11]%2==0)&&ba(t);return{c(){e=Oe("g"),n&&n.c(),u(e,"class","tick"),u(e,"transform",l="translate("+t[5](t[11])+","+t[4]+")")},m(i,o){w(i,e,o),n&&n.m(e,null)},p(i,o){i[3]>20||i[11]%2==0?n?n.p(i,o):(n=ba(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null),o&48&&l!==(l="translate("+i[5](i[11])+","+i[4]+")")&&u(e,"transform",l)},d(i){i&&k(e),n&&n.d()}}}function ba(t){let e,l=t[9].label+"",n,i;return{c(){e=Oe("text"),n=y(l),u(e,"x",i=t[3]/2),u(e,"y","-4")},m(o,r){w(o,e,r),s(e,n)},p(o,r){r&1&&l!==(l=o[9].label+"")&&G(n,l),r&8&&i!==(i=o[3]/2)&&u(e,"x",i)},d(o){o&&k(e)}}}function ga(t){let e=!isNaN(t[5](t[11])),l,n=e&&ha(t);return{c(){n&&n.c(),l=Ve()},m(i,o){n&&n.m(i,o),w(i,l,o)},p(i,o){o&32&&(e=!isNaN(i[5](i[11]))),e?n?n.p(i,o):(n=ha(i),n.c(),n.m(l.parentNode,l)):n&&(n.d(1),n=null)},d(i){n&&n.d(i),i&&k(l)}}}function ka(t){let e,l,n=t[9].value!==void 0&&wa(t),i=t[9].value2>1e-4&&Ca(t);return{c(){e=Oe("g"),n&&n.c(),l=Oe("g"),i&&i.c()},m(o,r){w(o,e,r),n&&n.m(e,null),w(o,l,r),i&&i.m(l,null)},p(o,r){o[9].value!==void 0?n?n.p(o,r):(n=wa(o),n.c(),n.m(e,null)):n&&(n.d(1),n=null),o[9].value2>1e-4?i?i.p(o,r):(i=Ca(o),i.c(),i.m(l,null)):i&&(i.d(1),i=null)},d(o){o&&k(e),n&&n.d(),o&&k(l),i&&i.d()}}}function wa(t){let e,l,n,i,o,r,a,c=t[3]>15&&ya(t);return{c(){e=Oe("rect"),c&&c.c(),a=Ve(),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,p){w(f,e,p),c&&c.m(f,p),w(f,a,p)},p(f,p){p&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),p&65&&n!==(n=f[6](f[9].value))&&u(e,"y",n),p&8&&i!==(i=f[3]-4)&&u(e,"width",i),p&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),p&1&&r!==(r=f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,p):(c=ya(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&k(e),c&&c.d(f),f&&k(a)}}}function ya(t){let e,l=t[9].label+"",n,i,o,r,a,c,f=t[9].title&&$a(t);return{c(){e=Oe("text"),n=y(l),f&&f.c(),c=Ve(),u(e,"width",i=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor",o=t[3]t[6](0)-t[7]?t[9].color:"white"),u(e,"transform",a="translate("+(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)+10)+") rotate("+(t[3]p[6](0)-p[7]?p[9].color:"white")&&u(e,"fill",r),_&233&&a!==(a="translate("+(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)+10)+") rotate("+(p[3]15&&Ta(t);return{c(){e=Oe("rect"),c&&c.c(),a=Ve(),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].color2?t[9].color2:t[9].color)},m(f,p){w(f,e,p),c&&c.m(f,p),w(f,a,p)},p(f,p){p&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),p&64&&n!==(n=f[6](0))&&u(e,"y",n),p&8&&i!==(i=f[3]-4)&&u(e,"width",i),p&65&&o!==(o=f[6](f[0].y.min)-f[6](f[0].y.min+f[9].value2))&&u(e,"height",o),p&1&&r!==(r=f[9].color2?f[9].color2:f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,p):(c=Ta(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&k(e),c&&c.d(f),f&&k(a)}}}function Ta(t){let e,l=t[9].label2+"",n,i,o,r,a,c=t[9].title2&&Sa(t);return{c(){e=Oe("text"),n=y(l),c&&c.c(),a=Ve(),u(e,"width",i=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor","middle"),u(e,"fill",o=t[6](-t[9].value2)t[8].call(e))},m(i,o){w(i,e,o),n&&n.m(e,null),l=l1(e,t[8].bind(e))},p(i,[o]){i[0].x.ticks&&i[0].points&&i[4]?n?n.p(i,o):(n=pa(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},i:ne,o:ne,d(i){i&&k(e),n&&n.d(),l()}}}let cn=30;function ip(t,e,l){let{config:n}=e,i,o,r,a,c,f,p;function _(){i=this.clientWidth,o=this.clientHeight,l(1,i),l(2,o)}return t.$$set=b=>{"config"in b&&l(0,n=b.config)},t.$$.update=()=>{if(t.$$.dirty&31){l(4,f=o-(n.title?20:0));let b=i-(n.padding.left+n.padding.right);l(3,r=b/n.points.length),l(7,p=rn.y.max?g=n.padding.bottom:vf||g<0?0:g})}},[n,i,o,r,f,a,c,p,_]}class pn extends Me{constructor(e){super(),Se(this,e,ip,np,we,{config:0})}}function sp(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function op(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{ds:r}=e,a={};function c(f){return{label:me(f)+"V",title:f.toFixed(1)+" V",value:isNaN(f)?0:f,color:vm(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=[],p=[];n>0&&(f.push({label:r===1?"L1-L2":"L1"}),p.push(c(n))),i>0&&(f.push({label:r===1?"L1-L3":"L2"}),p.push(c(i))),o>0&&(f.push({label:r===1?"L2-L3":"L3"}),p.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:p})}},[a,n,i,o,r]}class up extends Me{constructor(e){super(),Se(this,e,op,sp,we,{u1:1,u2:2,u3:3,ds:4})}}function rp(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function ap(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,p={};function _(b){return{label:me(b)+"A",title:b.toFixed(1)+" A",value:isNaN(b)?0:b,color:Ac(b?b/f*100:0)}}return t.$$set=b=>{"u1"in b&&l(1,n=b.u1),"u2"in b&&l(2,i=b.u2),"u3"in b&&l(3,o=b.u3),"i1"in b&&l(4,r=b.i1),"i2"in b&&l(5,a=b.i2),"i3"in b&&l(6,c=b.i3),"max"in b&&l(7,f=b.max)},t.$$.update=()=>{if(t.$$.dirty&254){let b=[],d=[];n>0&&(b.push({label:"L1"}),d.push(_(r))),i>0&&(b.push({label:"L2"}),d.push(_(a))),o>0&&(b.push({label:"L3"}),d.push(_(c))),l(0,p={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:b},points:d})}},[p,n,i,o,r,a,c,f]}class fp extends Me{constructor(e){super(),Se(this,e,ap,rp,we,{u1:1,u2:2,u3:3,i1:4,i2:5,i3:6,max:7})}}function cp(t){let e,l,n,i,o,r,a,c=(typeof t[0]<"u"?t[0].toFixed(0):"-")+"",f,p,_,b,d,v,g=(typeof t[1]<"u"?t[1].toFixed(0):"-")+"",T,C,$,M,F,S,N,A=(typeof t[2]<"u"?t[2].toFixed(1):"-")+"",E,Y,R,U,H,z,q=(typeof t[3]<"u"?t[3].toFixed(1):"-")+"",L,B;return{c(){e=m("div"),l=m("strong"),l.textContent="Reactive",n=h(),i=m("div"),o=m("div"),o.textContent="Instant in",r=h(),a=m("div"),f=y(c),p=y(" VAr"),_=h(),b=m("div"),b.textContent="Instant out",d=h(),v=m("div"),T=y(g),C=y(" VAr"),$=h(),M=m("div"),F=m("div"),F.textContent="Total in",S=h(),N=m("div"),E=y(A),Y=y(" kVArh"),R=h(),U=m("div"),U.textContent="Total out",H=h(),z=m("div"),L=y(q),B=y(" kVArh"),u(a,"class","text-right"),u(v,"class","text-right"),u(i,"class","grid grid-cols-2 mt-4"),u(N,"class","text-right"),u(z,"class","text-right"),u(M,"class","grid grid-cols-2 mt-4"),u(e,"class","mx-2 text-sm")},m(O,j){w(O,e,j),s(e,l),s(e,n),s(e,i),s(i,o),s(i,r),s(i,a),s(a,f),s(a,p),s(i,_),s(i,b),s(i,d),s(i,v),s(v,T),s(v,C),s(e,$),s(e,M),s(M,F),s(M,S),s(M,N),s(N,E),s(N,Y),s(M,R),s(M,U),s(M,H),s(M,z),s(z,L),s(z,B)},p(O,[j]){j&1&&c!==(c=(typeof O[0]<"u"?O[0].toFixed(0):"-")+"")&&G(f,c),j&2&&g!==(g=(typeof O[1]<"u"?O[1].toFixed(0):"-")+"")&&G(T,g),j&4&&A!==(A=(typeof O[2]<"u"?O[2].toFixed(1):"-")+"")&&G(E,A),j&8&&q!==(q=(typeof O[3]<"u"?O[3].toFixed(1):"-")+"")&&G(L,q)},i:ne,o:ne,d(O){O&&k(e)}}}function mp(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 pp extends Me{constructor(e){super(),Se(this,e,mp,cp,we,{importInstant:0,exportInstant:1,importTotal:2,exportTotal:3})}}function Pa(t){let e;function l(o,r){return o[3]?dp:_p}let n=l(t),i=n(t);return{c(){i.c(),e=Ve()},m(o,r){i.m(o,r),w(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&&k(e)}}}function _p(t){let e,l,n,i,o,r,a=me(t[1].h.u,2)+"",c,f,p,_,b,d,v=me(t[1].d.u,1)+"",g,T,C,$,M,F,S=me(t[1].m.u)+"",N,A,E,Y,R,U,H=me(t[0].last_month.u)+"",z,q,L,B,O=t[4]&&Na(t);return{c(){e=m("strong"),e.textContent="Consumption",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=y(" kWh"),p=h(),_=m("div"),_.textContent="Day",b=h(),d=m("div"),g=y(v),T=y(" kWh"),C=h(),$=m("div"),$.textContent="Month",M=h(),F=m("div"),N=y(S),A=y(" kWh"),E=h(),Y=m("div"),Y.textContent="Last month",R=h(),U=m("div"),z=y(H),q=y(" kWh"),L=h(),O&&O.c(),B=Ve(),u(r,"class","text-right"),u(d,"class","text-right"),u(F,"class","text-right"),u(U,"class","text-right"),u(n,"class","grid grid-cols-2 mb-3")},m(j,W){w(j,e,W),w(j,l,W),w(j,n,W),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,p),s(n,_),s(n,b),s(n,d),s(d,g),s(d,T),s(n,C),s(n,$),s(n,M),s(n,F),s(F,N),s(F,A),s(n,E),s(n,Y),s(n,R),s(n,U),s(U,z),s(U,q),w(j,L,W),O&&O.m(j,W),w(j,B,W)},p(j,W){W&2&&a!==(a=me(j[1].h.u,2)+"")&&G(c,a),W&2&&v!==(v=me(j[1].d.u,1)+"")&&G(g,v),W&2&&S!==(S=me(j[1].m.u)+"")&&G(N,S),W&1&&H!==(H=me(j[0].last_month.u)+"")&&G(z,H),j[4]?O?O.p(j,W):(O=Na(j),O.c(),O.m(B.parentNode,B)):O&&(O.d(1),O=null)},d(j){j&&k(e),j&&k(l),j&&k(n),j&&k(L),O&&O.d(j),j&&k(B)}}}function dp(t){let e,l,n,i,o,r,a=me(t[1].h.u,2)+"",c,f,p,_,b,d,v,g=me(t[1].d.u,1)+"",T,C,$,M,F,S,N,A=me(t[1].m.u)+"",E,Y,R,U,H,z,q,L=me(t[0].last_month.u)+"",B,O,j,W,te,le,pe,ie,Pe,je,Ae,We=me(t[1].h.p,2)+"",be,ye,Re,ge,ae,$e,J,se=me(t[1].d.p,1)+"",Fe,Le,_e,Ce,Ne,de,Te,x=me(t[1].m.p)+"",oe,Ue,ue,ve,dt,Wl,tl,ct=me(t[0].last_month.p)+"",Ml,pl,Ht,vt,Qe=t[4]&&Aa(t),Xe=t[4]&&Da(t),Ze=t[4]&&Ea(t),He=t[4]&&Ia(t),Je=t[4]&&Fa(t),Ge=t[4]&&Ra(t),xe=t[4]&&La(t),et=t[4]&&Oa(t);return{c(){e=m("strong"),e.textContent="Import",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=y(" kWh"),p=h(),Qe&&Qe.c(),_=h(),b=m("div"),b.textContent="Day",d=h(),v=m("div"),T=y(g),C=y(" kWh"),$=h(),Xe&&Xe.c(),M=h(),F=m("div"),F.textContent="Month",S=h(),N=m("div"),E=y(A),Y=y(" kWh"),R=h(),Ze&&Ze.c(),U=h(),H=m("div"),H.textContent="Last mo.",z=h(),q=m("div"),B=y(L),O=y(" kWh"),j=h(),He&&He.c(),te=h(),le=m("strong"),le.textContent="Export",pe=h(),ie=m("div"),Pe=m("div"),Pe.textContent="Hour",je=h(),Ae=m("div"),be=y(We),ye=y(" kWh"),Re=h(),Je&&Je.c(),ge=h(),ae=m("div"),ae.textContent="Day",$e=h(),J=m("div"),Fe=y(se),Le=y(" kWh"),_e=h(),Ge&&Ge.c(),Ce=h(),Ne=m("div"),Ne.textContent="Month",de=h(),Te=m("div"),oe=y(x),Ue=y(" kWh"),ue=h(),xe&&xe.c(),ve=h(),dt=m("div"),dt.textContent="Last mo.",Wl=h(),tl=m("div"),Ml=y(ct),pl=y(" kWh"),Ht=h(),et&&et.c(),u(r,"class","text-right"),u(v,"class","text-right"),u(N,"class","text-right"),u(q,"class","text-right"),u(n,"class",W="grid grid-cols-"+t[5]+" mb-3"),u(Ae,"class","text-right"),u(J,"class","text-right"),u(Te,"class","text-right"),u(tl,"class","text-right"),u(ie,"class",vt="grid grid-cols-"+t[5])},m(re,he){w(re,e,he),w(re,l,he),w(re,n,he),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,p),Qe&&Qe.m(n,null),s(n,_),s(n,b),s(n,d),s(n,v),s(v,T),s(v,C),s(n,$),Xe&&Xe.m(n,null),s(n,M),s(n,F),s(n,S),s(n,N),s(N,E),s(N,Y),s(n,R),Ze&&Ze.m(n,null),s(n,U),s(n,H),s(n,z),s(n,q),s(q,B),s(q,O),s(n,j),He&&He.m(n,null),w(re,te,he),w(re,le,he),w(re,pe,he),w(re,ie,he),s(ie,Pe),s(ie,je),s(ie,Ae),s(Ae,be),s(Ae,ye),s(ie,Re),Je&&Je.m(ie,null),s(ie,ge),s(ie,ae),s(ie,$e),s(ie,J),s(J,Fe),s(J,Le),s(ie,_e),Ge&&Ge.m(ie,null),s(ie,Ce),s(ie,Ne),s(ie,de),s(ie,Te),s(Te,oe),s(Te,Ue),s(ie,ue),xe&&xe.m(ie,null),s(ie,ve),s(ie,dt),s(ie,Wl),s(ie,tl),s(tl,Ml),s(tl,pl),s(ie,Ht),et&&et.m(ie,null)},p(re,he){he&2&&a!==(a=me(re[1].h.u,2)+"")&&G(c,a),re[4]?Qe?Qe.p(re,he):(Qe=Aa(re),Qe.c(),Qe.m(n,_)):Qe&&(Qe.d(1),Qe=null),he&2&&g!==(g=me(re[1].d.u,1)+"")&&G(T,g),re[4]?Xe?Xe.p(re,he):(Xe=Da(re),Xe.c(),Xe.m(n,M)):Xe&&(Xe.d(1),Xe=null),he&2&&A!==(A=me(re[1].m.u)+"")&&G(E,A),re[4]?Ze?Ze.p(re,he):(Ze=Ea(re),Ze.c(),Ze.m(n,U)):Ze&&(Ze.d(1),Ze=null),he&1&&L!==(L=me(re[0].last_month.u)+"")&&G(B,L),re[4]?He?He.p(re,he):(He=Ia(re),He.c(),He.m(n,null)):He&&(He.d(1),He=null),he&32&&W!==(W="grid grid-cols-"+re[5]+" mb-3")&&u(n,"class",W),he&2&&We!==(We=me(re[1].h.p,2)+"")&&G(be,We),re[4]?Je?Je.p(re,he):(Je=Fa(re),Je.c(),Je.m(ie,ge)):Je&&(Je.d(1),Je=null),he&2&&se!==(se=me(re[1].d.p,1)+"")&&G(Fe,se),re[4]?Ge?Ge.p(re,he):(Ge=Ra(re),Ge.c(),Ge.m(ie,Ce)):Ge&&(Ge.d(1),Ge=null),he&2&&x!==(x=me(re[1].m.p)+"")&&G(oe,x),re[4]?xe?xe.p(re,he):(xe=La(re),xe.c(),xe.m(ie,ve)):xe&&(xe.d(1),xe=null),he&1&&ct!==(ct=me(re[0].last_month.p)+"")&&G(Ml,ct),re[4]?et?et.p(re,he):(et=Oa(re),et.c(),et.m(ie,null)):et&&(et.d(1),et=null),he&32&&vt!==(vt="grid grid-cols-"+re[5])&&u(ie,"class",vt)},d(re){re&&k(e),re&&k(l),re&&k(n),Qe&&Qe.d(),Xe&&Xe.d(),Ze&&Ze.d(),He&&He.d(),re&&k(te),re&&k(le),re&&k(pe),re&&k(ie),Je&&Je.d(),Ge&&Ge.d(),xe&&xe.d(),et&&et.d()}}}function Na(t){let e,l,n,i,o,r,a=me(t[1].h.c,2)+"",c,f,p,_,b,d,v,g=me(t[1].d.c,1)+"",T,C,$,M,F,S,N,A=me(t[1].m.c)+"",E,Y,R,U,H,z,q,L=me(t[0].last_month.c)+"",B,O,j;return{c(){e=m("strong"),e.textContent="Cost",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=h(),p=y(t[2]),_=h(),b=m("div"),b.textContent="Day",d=h(),v=m("div"),T=y(g),C=h(),$=y(t[2]),M=h(),F=m("div"),F.textContent="Month",S=h(),N=m("div"),E=y(A),Y=h(),R=y(t[2]),U=h(),H=m("div"),H.textContent="Last month",z=h(),q=m("div"),B=y(L),O=h(),j=y(t[2]),u(r,"class","text-right"),u(v,"class","text-right"),u(N,"class","text-right"),u(q,"class","text-right"),u(n,"class","grid grid-cols-2")},m(W,te){w(W,e,te),w(W,l,te),w(W,n,te),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(r,p),s(n,_),s(n,b),s(n,d),s(n,v),s(v,T),s(v,C),s(v,$),s(n,M),s(n,F),s(n,S),s(n,N),s(N,E),s(N,Y),s(N,R),s(n,U),s(n,H),s(n,z),s(n,q),s(q,B),s(q,O),s(q,j)},p(W,te){te&2&&a!==(a=me(W[1].h.c,2)+"")&&G(c,a),te&4&&G(p,W[2]),te&2&&g!==(g=me(W[1].d.c,1)+"")&&G(T,g),te&4&&G($,W[2]),te&2&&A!==(A=me(W[1].m.c)+"")&&G(E,A),te&4&&G(R,W[2]),te&1&&L!==(L=me(W[0].last_month.c)+"")&&G(B,L),te&4&&G(j,W[2])},d(W){W&&k(e),W&&k(l),W&&k(n)}}}function Aa(t){let e,l=me(t[1].h.c,2)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].h.c,2)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Da(t){let e,l=me(t[1].d.c,1)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].d.c,1)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Ea(t){let e,l=me(t[1].m.c)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].m.c)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Ia(t){let e,l=me(t[0].last_month.c)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=me(r[0].last_month.c)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Fa(t){let e,l=me(t[1].h.i,2)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].h.i,2)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Ra(t){let e,l=me(t[1].d.i,1)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].d.i,1)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function La(t){let e,l=me(t[1].m.i)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].m.i)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function Oa(t){let e,l=me(t[0].last_month.i)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=me(r[0].last_month.i)+"")&&G(n,l),a&4&&G(o,r[2])},d(r){r&&k(e)}}}function vp(t){let e,l,n,i,o,r,a=t[1]&&Pa(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Real time calculation",n=h(),i=m("br"),o=m("br"),r=h(),a&&a.c(),u(e,"class","mx-2 text-sm")},m(c,f){w(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[1]?a?a.p(c,f):(a=Pa(c),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},i:ne,o:ne,d(c){c&&k(e),a&&a.d()}}}function hp(t,e,l){let{sysinfo:n}=e,{data:i}=e,{currency:o}=e,{hasExport:r}=e,a=!1,c=3;return t.$$set=f=>{"sysinfo"in f&&l(0,n=f.sysinfo),"data"in f&&l(1,i=f.data),"currency"in f&&l(2,o=f.currency),"hasExport"in f&&l(3,r=f.hasExport)},t.$$.update=()=>{t.$$.dirty&18&&(l(4,a=i&&i.h&&(Math.abs(i.h.c)>.01||Math.abs(i.d.c)>.01||Math.abs(i.m.c)>.01||Math.abs(i.h.i)>.01||Math.abs(i.d.i)>.01||Math.abs(i.m.i)>.01)),l(5,c=a?3:2))},[n,i,o,r,a,c]}class bp extends Me{constructor(e){super(),Se(this,e,hp,vp,we,{sysinfo:0,data:1,currency:2,hasExport:3})}}function gp(t){let e,l,n,i;return n=new pn({props:{config:t[0]}}),{c(){e=m("a"),e.textContent="Provided by ENTSO-E",l=h(),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){w(o,e,r),w(o,l,r),Q(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&&k(e),o&&k(l),X(n,o)}}}function kp(t,e,l){let{json:n}=e,{sysinfo:i}=e,o={},r,a;return t.$$set=c=>{"json"in c&&l(1,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&30){let c=n.currency,f=new Date().getUTCHours(),p=0,_=0,b=0,d=[],v=[],g=[];l(4,a=l(3,r=0));let T=new Date;for(fl(T,i.clock_offset-(24+T.getHours()-T.getUTCHours())%24),p=f;p<24&&(_=n[Ie(b++)],_!=null);p++)v.push({label:Ie(T.getHours())}),g.push(_*100),l(4,a=Math.min(a,_*100)),l(3,r=Math.max(r,_*100)),fl(T,1);for(p=0;p<24&&(_=n[Ie(b++)],_!=null);p++)v.push({label:Ie(T.getHours())}),g.push(_*100),l(4,a=Math.min(a,_*100)),l(3,r=Math.max(r,_*100)),fl(T,1);if(a>-100&&r<100){switch(c){case"NOK":case"SEK":case"DKK":c="øre";break;case"EUR":c="cent";break;default:c=c+"/100"}for(l(4,a*=100),l(3,r*=100),p=0;p=0?S.toFixed(N):"",title:S>=0?S.toFixed(2)+" "+c:"",value:_>=0?Math.abs(_):0,label2:S<0?S.toFixed(N):"",title2:S<0?S.toFixed(2)+" "+c:"",value2:_<0?Math.abs(_):0,color:"#7c3aed"})}let $=Math.max(r,Math.abs(a));if(a<0){l(4,a=Math.min($/4*-1,a));let S=Math.ceil(Math.abs(a)/$*4),N=a/S;for(p=1;p{"json"in c&&l(1,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&30){let c=0,f=[],p=[],_=[];l(4,a=l(3,r=0));let b=fl(new Date,-24),d=new Date().getUTCHours();for(fl(b,i.clock_offset-(24+b.getHours()-b.getUTCHours())%24),c=d;c<24;c++){let C=n["i"+Ie(c)],$=n["e"+Ie(c)];C===void 0&&(C=0),$===void 0&&($=0),p.push({label:Ie(b.getHours())}),_.push({label:C.toFixed(1),title:C.toFixed(2)+" kWh",value:C*10,label2:$.toFixed(1),title2:$.toFixed(2)+" kWh",value2:$*10,color:"#7c3aed",color2:"#37829E"}),l(4,a=Math.max(a,$*10)),l(3,r=Math.max(r,C*10)),fl(b,1)}for(c=0;c{"json"in c&&l(1,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&30){let c=0,f=[],p=[],_=[];l(4,a=l(3,r=0));let b=new Date,d=new Date;for(fl(b,i.clock_offset-(24+b.getHours()-b.getUTCHours())%24),fl(d,i.clock_offset-(24+d.getHours()-d.getUTCHours())%24),d.setDate(0),c=b.getDate();c<=d.getDate();c++){let C=n["i"+Ie(c)],$=n["e"+Ie(c)];C===void 0&&(C=0),$===void 0&&($=0),p.push({label:Ie(c)}),_.push({label:C.toFixed(C<10?1:0),title:C.toFixed(2)+" kWh",value:C,label2:$.toFixed($<10?1:0),title2:$.toFixed(2)+" kWh",value2:$,color:"#7c3aed",color2:"#37829E"}),l(4,a=Math.max(a,$)),l(3,r=Math.max(r,C))}for(c=1;c{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,c=0,f=[],p=[],_=[];n.s&&n.s.forEach((v,g)=>{var T=v.n?v.n:v.a;c=v.v,c==-127&&(c=0),p.push({label:T.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 b=o;r<0&&(b+=Math.abs(r));let d=b/4;for(a=0;a<5;a++)c=r+d*a,f.push({value:c,label:c.toFixed(1)});l(0,i={title:"Temperature sensors (°C)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:f},x:{ticks:p},points:_})}},[i,n,o,r]}class Ap extends Me{constructor(e){super(),Se(this,e,Np,Pp,we,{json:1})}}function Dp(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}let Ep=0;function Ip(t,e,l){let n={},i=0,o;return qc.subscribe(r=>{l(2,o=r)}),Oc(),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?Ie(p.d)+"."+lo[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:Ep,max:i,ticks:a},x:{ticks:c},points:f})}},[n,i,o]}class Fp extends Me{constructor(e){super(),Se(this,e,Ip,Dp,we,{})}}function qa(t){let e,l,n,i,o,r,a=(t[0].mt?Cs(t[0].mt):"-")+"",c,f,p,_=(t[0].ic?t[0].ic.toFixed(1):"-")+"",b,d,v;return i=new Gc({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[0].pc,colorFn:Ac}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),c=y(a),f=h(),p=m("div"),b=y(_),d=y(" kWh"),u(n,"class","col-span-2"),u(p,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(g,T){w(g,e,T),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(r,c),s(l,f),s(l,p),s(p,b),s(p,d),v=!0},p(g,T){const C={};T&1&&(C.val=g[0].i?g[0].i:0),T&1&&(C.max=g[0].im?g[0].im:15e3),T&1&&(C.sub=g[0].p),T&1&&(C.subunit=g[0].pc),i.$set(C),(!v||T&1)&&a!==(a=(g[0].mt?Cs(g[0].mt):"-")+"")&&G(c,a),(!v||T&1)&&_!==(_=(g[0].ic?g[0].ic.toFixed(1):"-")+"")&&G(b,_)},i(g){v||(P(i.$$.fragment,g),v=!0)},o(g){I(i.$$.fragment,g),v=!1},d(g){g&&k(e),X(i)}}}function Ua(t){let e,l,n,i,o,r,a,c,f=(t[0].ec?t[0].ec.toFixed(1):"-")+"",p,_,b;return i=new Gc({props:{val:t[0].e?t[0].e:0,max:t[0].om?t[0].om*1e3:1e4,unit:"W",label:"Export",colorFn:hm}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),a=h(),c=m("div"),p=y(f),_=y(" kWh"),u(n,"class","col-span-2"),u(c,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(d,v){w(d,e,v),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(l,a),s(l,c),s(c,p),s(c,_),b=!0},p(d,v){const g={};v&1&&(g.val=d[0].e?d[0].e:0),v&1&&(g.max=d[0].om?d[0].om*1e3:1e4),i.$set(g),(!b||v&1)&&f!==(f=(d[0].ec?d[0].ec.toFixed(1):"-")+"")&&G(p,f)},i(d){b||(P(i.$$.fragment,d),b=!0)},o(d){I(i.$$.fragment,d),b=!1},d(d){d&&k(e),X(i)}}}function Ha(t){let e,l,n;return l=new up({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){w(i,e,o),Q(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&&k(e),X(l)}}}function ja(t){let e,l,n;return l=new fp({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){w(i,e,o),Q(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&&k(e),X(l)}}}function Wa(t){let e,l,n;return l=new pp({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){w(i,e,o),Q(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&&k(e),X(l)}}}function Ga(t){let e,l,n;return l=new bp({props:{sysinfo:t[1],data:t[0].ea,currency:t[0].pc,hasExport:t[0].om>0||t[0].e>0}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&2&&(r.sysinfo=i[1]),o&1&&(r.data=i[0].ea),o&1&&(r.currency=i[0].pc),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&&k(e),X(l)}}}function Ba(t){let e,l,n;return l=new Fp({}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt h-64")},m(i,o){w(i,e,o),Q(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&&k(e),X(l)}}}function za(t){let e,l,n;return l=new wp({props:{json:t[2],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&4&&(r.json=i[2]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Ya(t){let e,l,n;return l=new Cp({props:{json:t[3],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&8&&(r.json=i[3]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Va(t){let e,l,n;return l=new Mp({props:{json:t[4],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&16&&(r.json=i[4]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Ka(t){let e,l,n;return l=new Ap({props:{json:t[5]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(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&&k(e),X(l)}}}function Rp(t){let e,l=Ye(t[1].ui.i,t[0].i),n,i=Ye(t[1].ui.e,t[0].om||t[0].e>0),o,r=Ye(t[1].ui.v,t[0].u1>100||t[0].u2>100||t[0].u3>100),a,c=Ye(t[1].ui.a,t[0].i1>.01||t[0].i2>.01||t[0].i3>.01),f,p=Ye(t[1].ui.r,t[0].ri>0||t[0].re>0||t[0].ric>0||t[0].rec>0),_,b=Ye(t[1].ui.c,t[0].ea),d,v=Ye(t[1].ui.t,t[0].pr&&(t[0].pr.startsWith("10YNO")||t[0].pr=="10Y1001A1001A48H")),g,T=Ye(t[1].ui.p,t[0].pe&&!Number.isNaN(t[0].p)),C,$=Ye(t[1].ui.d,t[3]),M,F=Ye(t[1].ui.m,t[4]),S,N=Ye(t[1].ui.s,t[0].t&&t[0].t!=-127&&t[5].c>1),A,E=l&&qa(t),Y=i&&Ua(t),R=r&&Ha(t),U=c&&ja(t),H=p&&Wa(t),z=b&&Ga(t),q=v&&Ba(),L=T&&za(t),B=$&&Ya(t),O=F&&Va(t),j=N&&Ka(t);return{c(){e=m("div"),E&&E.c(),n=h(),Y&&Y.c(),o=h(),R&&R.c(),a=h(),U&&U.c(),f=h(),H&&H.c(),_=h(),z&&z.c(),d=h(),q&&q.c(),g=h(),L&&L.c(),C=h(),B&&B.c(),M=h(),O&&O.c(),S=h(),j&&j.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(W,te){w(W,e,te),E&&E.m(e,null),s(e,n),Y&&Y.m(e,null),s(e,o),R&&R.m(e,null),s(e,a),U&&U.m(e,null),s(e,f),H&&H.m(e,null),s(e,_),z&&z.m(e,null),s(e,d),q&&q.m(e,null),s(e,g),L&&L.m(e,null),s(e,C),B&&B.m(e,null),s(e,M),O&&O.m(e,null),s(e,S),j&&j.m(e,null),A=!0},p(W,[te]){te&3&&(l=Ye(W[1].ui.i,W[0].i)),l?E?(E.p(W,te),te&3&&P(E,1)):(E=qa(W),E.c(),P(E,1),E.m(e,n)):E&&(De(),I(E,1,1,()=>{E=null}),Ee()),te&3&&(i=Ye(W[1].ui.e,W[0].om||W[0].e>0)),i?Y?(Y.p(W,te),te&3&&P(Y,1)):(Y=Ua(W),Y.c(),P(Y,1),Y.m(e,o)):Y&&(De(),I(Y,1,1,()=>{Y=null}),Ee()),te&3&&(r=Ye(W[1].ui.v,W[0].u1>100||W[0].u2>100||W[0].u3>100)),r?R?(R.p(W,te),te&3&&P(R,1)):(R=Ha(W),R.c(),P(R,1),R.m(e,a)):R&&(De(),I(R,1,1,()=>{R=null}),Ee()),te&3&&(c=Ye(W[1].ui.a,W[0].i1>.01||W[0].i2>.01||W[0].i3>.01)),c?U?(U.p(W,te),te&3&&P(U,1)):(U=ja(W),U.c(),P(U,1),U.m(e,f)):U&&(De(),I(U,1,1,()=>{U=null}),Ee()),te&3&&(p=Ye(W[1].ui.r,W[0].ri>0||W[0].re>0||W[0].ric>0||W[0].rec>0)),p?H?(H.p(W,te),te&3&&P(H,1)):(H=Wa(W),H.c(),P(H,1),H.m(e,_)):H&&(De(),I(H,1,1,()=>{H=null}),Ee()),te&3&&(b=Ye(W[1].ui.c,W[0].ea)),b?z?(z.p(W,te),te&3&&P(z,1)):(z=Ga(W),z.c(),P(z,1),z.m(e,d)):z&&(De(),I(z,1,1,()=>{z=null}),Ee()),te&3&&(v=Ye(W[1].ui.t,W[0].pr&&(W[0].pr.startsWith("10YNO")||W[0].pr=="10Y1001A1001A48H"))),v?q?te&3&&P(q,1):(q=Ba(),q.c(),P(q,1),q.m(e,g)):q&&(De(),I(q,1,1,()=>{q=null}),Ee()),te&3&&(T=Ye(W[1].ui.p,W[0].pe&&!Number.isNaN(W[0].p))),T?L?(L.p(W,te),te&3&&P(L,1)):(L=za(W),L.c(),P(L,1),L.m(e,C)):L&&(De(),I(L,1,1,()=>{L=null}),Ee()),te&10&&($=Ye(W[1].ui.d,W[3])),$?B?(B.p(W,te),te&10&&P(B,1)):(B=Ya(W),B.c(),P(B,1),B.m(e,M)):B&&(De(),I(B,1,1,()=>{B=null}),Ee()),te&18&&(F=Ye(W[1].ui.m,W[4])),F?O?(O.p(W,te),te&18&&P(O,1)):(O=Va(W),O.c(),P(O,1),O.m(e,S)):O&&(De(),I(O,1,1,()=>{O=null}),Ee()),te&35&&(N=Ye(W[1].ui.s,W[0].t&&W[0].t!=-127&&W[5].c>1)),N?j?(j.p(W,te),te&35&&P(j,1)):(j=Ka(W),j.c(),P(j,1),j.m(e,null)):j&&(De(),I(j,1,1,()=>{j=null}),Ee())},i(W){A||(P(E),P(Y),P(R),P(U),P(H),P(z),P(q),P(L),P(B),P(O),P(j),A=!0)},o(W){I(E),I(Y),I(R),I(U),I(H),I(z),I(q),I(L),I(B),I(O),I(j),A=!1},d(W){W&&k(e),E&&E.d(),Y&&Y.d(),R&&R.d(),U&&U.d(),H&&H.d(),z&&z.d(),q&&q.d(),L&&L.d(),B&&B.d(),O&&O.d(),j&&j.d()}}}function Lp(t,e,l){let{data:n={}}=e,{sysinfo:i={}}=e,o={},r={},a={},c={};return yo.subscribe(f=>{l(2,o=f)}),Ic.subscribe(f=>{l(3,r=f)}),Fc.subscribe(f=>{l(4,a=f)}),Lc.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 Op extends Me{constructor(e){super(),Se(this,e,Lp,Rp,we,{data:0,sysinfo:1})}}let ao={};const $i=rt(ao);async function qp(){ao=await(await fetch("/configuration.json")).json(),$i.set(ao)}function Qa(t,e,l){const n=t.slice();return n[2]=e[l],n[4]=l,n}function Up(t){let e;return{c(){e=m("option"),e.textContent="UART0",e.__value=3,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function Hp(t){let e;return{c(){e=m("option"),e.textContent="UART0",e.__value=20,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function Xa(t){let e;return{c(){e=m("option"),e.textContent="UART2",e.__value=113,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function Za(t){let e,l,n;return{c(){e=m("option"),e.textContent="UART1",l=h(),n=m("option"),n.textContent="UART2",e.__value=9,e.value=e.__value,n.__value=16,n.value=n.__value},m(i,o){w(i,e,o),w(i,l,o),w(i,n,o)},d(i){i&&k(e),i&&k(l),i&&k(n)}}}function Ja(t){let e;return{c(){e=m("option"),e.textContent="UART1",e.__value=18,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function xa(t){let e,l,n;return{c(){e=m("option"),l=y("GPIO"),n=y(t[4]),e.__value=t[4],e.value=e.__value},m(i,o){w(i,e,o),s(e,l),s(e,n)},d(i){i&&k(e)}}}function ef(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))&&xa(t);return{c(){l&&l.c(),e=Ve()},m(n,i){l&&l.m(n,i),w(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=xa(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&k(e)}}}function jp(t){let e,l,n,i,o;function r(v,g){return v[0]=="esp32c3"?Hp:Up}let a=r(t),c=a(t),f=t[0]=="esp8266"&&Xa(),p=(t[0]=="esp32"||t[0]=="esp32solo")&&Za(),_=t[0]=="esp32s2"&&Ja(),b={length:t[1]+1},d=[];for(let v=0;v{"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 Bc extends Me{constructor(e){super(),Se(this,e,Wp,jp,we,{chip:0})}}function tf(t){let e,l,n=t[1]&&lf(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){w(i,e,o),s(e,l),n&&n.m(l,null)},p(i,o){i[1]?n?n.p(i,o):(n=lf(i),n.c(),n.m(l,null)):n&&(n.d(1),n=null)},d(i){i&&k(e),n&&n.d()}}}function lf(t){let e,l;return{c(){e=m("div"),l=y(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){w(n,e,i),s(e,l)},p(n,i){i&2&&G(l,n[1])},d(n){n&&k(e)}}}function Gp(t){let e,l=t[0]&&tf(t);return{c(){l&&l.c(),e=Ve()},m(n,i){l&&l.m(n,i),w(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=tf(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ne,o:ne,d(n){l&&l.d(n),n&&k(e)}}}function Bp(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 Dt extends Me{constructor(e){super(),Se(this,e,Bp,Gp,we,{active:0,message:1})}}function nf(t,e,l){const n=t.slice();return n[1]=e[l],n}function sf(t){let e,l,n=t[1]+"",i;return{c(){e=m("option"),l=y("Europe/"),i=y(n),e.__value="Europe/"+t[1],e.value=e.__value},m(o,r){w(o,e,r),s(e,l),s(e,i)},p:ne,d(o){o&&k(e)}}}function zp(t){let e,l,n,i=t[0],o=[];for(let r=0;r{g[Y]=null}),Ee(),i=g[n],i?i.p(A,E):(i=g[n]=v[n](A),i.c()),P(i,1),i.m(l,null));let R=a;a=M(A),a===R?$[a].p(A,E):(De(),I($[R],1,1,()=>{$[R]=null}),Ee(),c=$[a],c?c.p(A,E):(c=$[a]=C[a](A),c.c()),P(c,1),c.m(r,null));let U=_;_=N(A),_===U?S[_].p(A,E):(De(),I(S[U],1,1,()=>{S[U]=null}),Ee(),b=S[_],b?b.p(A,E):(b=S[_]=F[_](A),b.c()),P(b,1),b.m(p,null))},i(A){d||(P(i),P(c),P(b),d=!0)},o(A){I(i),I(c),I(b),d=!1},d(A){A&&k(e),g[n].d(),$[a].d(),S[_].d()}}}function e0(t){let e,l;return e=new el({props:{to:"/mqtt-ca",$$slots:{default:[l0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function t0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-ca",$$slots:{default:[n0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[V(i,"click",t[11]),V(i,"keypress",t[11])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function l0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload CA",title:"Click here to upload CA"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function n0(t){let e;return{c(){e=y("CA OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function i0(t){let e,l;return e=new el({props:{to:"/mqtt-cert",$$slots:{default:[o0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function s0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-cert",$$slots:{default:[u0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[V(i,"click",t[12]),V(i,"keypress",t[12])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function o0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload cert",title:"Click here to upload certificate"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function u0(t){let e;return{c(){e=y("Cert OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function r0(t){let e,l;return e=new el({props:{to:"/mqtt-key",$$slots:{default:[f0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function a0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-key",$$slots:{default:[c0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[V(i,"click",t[13]),V(i,"keypress",t[13])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function f0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload key",title:"Click here to upload key"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function c0(t){let e;return{c(){e=y("Key OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function vf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q,L,B;return o=new Ot({}),{c(){e=m("div"),l=m("strong"),l.textContent="Domoticz",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),a=m("input"),c=h(),f=m("div"),p=m("div"),_=y("Electricity IDX"),b=m("br"),d=h(),v=m("input"),g=h(),T=m("div"),C=y("Current IDX"),$=m("br"),M=h(),F=m("input"),S=h(),N=m("div"),A=y(`Voltage IDX: L1, L2 & L3 - `),E=m("div"),Y=m("input"),R=h(),U=m("input"),H=h(),z=m("input"),u(l,"class","text-sm"),u(i,"href",qt("MQTT-configuration#domoticz")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","o"),a.value="true",u(v,"name","oe"),u(v,"type","text"),u(v,"class","in-f tr w-full"),u(p,"class","w-1/2"),u(F,"name","oc"),u(F,"type","text"),u(F,"class","in-l tr w-full"),u(T,"class","w-1/2"),u(f,"class","my-1 flex"),u(Y,"name","ou1"),u(Y,"type","text"),u(Y,"class","in-f tr w-1/3"),u(U,"name","ou2"),u(U,"type","text"),u(U,"class","in-m tr w-1/3"),u(z,"name","ou3"),u(z,"type","text"),u(z,"class","in-l tr w-1/3"),u(E,"class","flex"),u(N,"class","my-1"),u(e,"class","cnt")},m(O,j){w(O,e,j),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),s(e,a),s(e,c),s(e,f),s(f,p),s(p,_),s(p,b),s(p,d),s(p,v),K(v,t[3].o.e),s(f,g),s(f,T),s(T,C),s(T,$),s(T,M),s(T,F),K(F,t[3].o.c),s(e,S),s(e,N),s(N,A),s(N,E),s(E,Y),K(Y,t[3].o.u1),s(E,R),s(E,U),K(U,t[3].o.u2),s(E,H),s(E,z),K(z,t[3].o.u3),q=!0,L||(B=[V(v,"input",t[64]),V(F,"input",t[65]),V(Y,"input",t[66]),V(U,"input",t[67]),V(z,"input",t[68])],L=!0)},p(O,j){j[0]&8&&v.value!==O[3].o.e&&K(v,O[3].o.e),j[0]&8&&F.value!==O[3].o.c&&K(F,O[3].o.c),j[0]&8&&Y.value!==O[3].o.u1&&K(Y,O[3].o.u1),j[0]&8&&U.value!==O[3].o.u2&&K(U,O[3].o.u2),j[0]&8&&z.value!==O[3].o.u3&&K(z,O[3].o.u3)},i(O){q||(P(o.$$.fragment,O),q=!0)},o(O){I(o.$$.fragment,O),q=!1},d(O){O&&k(e),X(o),L=!1,Be(B)}}}function hf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z;return o=new Ot({}),{c(){e=m("div"),l=m("strong"),l.textContent="Home-Assistant",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),a=m("input"),c=h(),f=m("div"),p=y("Discovery topic prefix"),_=m("br"),b=h(),d=m("input"),v=h(),g=m("div"),T=y("Hostname for URL"),C=m("br"),$=h(),M=m("input"),S=h(),N=m("div"),A=y("Name tag"),E=m("br"),Y=h(),R=m("input"),u(l,"class","text-sm"),u(i,"href",qt("MQTT-configuration#home-assistant")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","h"),a.value="true",u(d,"name","ht"),u(d,"type","text"),u(d,"class","in-s"),u(d,"placeholder","homeassistant"),u(f,"class","my-1"),u(M,"name","hh"),u(M,"type","text"),u(M,"class","in-s"),u(M,"placeholder",F=t[3].g.h+".local"),u(g,"class","my-1"),u(R,"name","hn"),u(R,"type","text"),u(R,"class","in-s"),u(N,"class","my-1"),u(e,"class","cnt")},m(q,L){w(q,e,L),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),s(e,a),s(e,c),s(e,f),s(f,p),s(f,_),s(f,b),s(f,d),K(d,t[3].h.t),s(e,v),s(e,g),s(g,T),s(g,C),s(g,$),s(g,M),K(M,t[3].h.h),s(e,S),s(e,N),s(N,A),s(N,E),s(N,Y),s(N,R),K(R,t[3].h.n),U=!0,H||(z=[V(d,"input",t[69]),V(M,"input",t[70]),V(R,"input",t[71])],H=!0)},p(q,L){L[0]&8&&d.value!==q[3].h.t&&K(d,q[3].h.t),(!U||L[0]&8&&F!==(F=q[3].g.h+".local"))&&u(M,"placeholder",F),L[0]&8&&M.value!==q[3].h.h&&K(M,q[3].h.h),L[0]&8&&R.value!==q[3].h.n&&K(R,q[3].h.n)},i(q){U||(P(o.$$.fragment,q),U=!0)},o(q){I(o.$$.fragment,q),U=!1},d(q){q&&k(e),X(o),H=!1,Be(z)}}}function bf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M;o=new Ot({});let F={length:9},S=[];for(let N=0;N20&&yf(t),p=t[0].chip=="esp8266"&&Tf(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Hardware",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),f&&f.c(),a=h(),p&&p.c(),u(l,"class","text-sm"),u(i,"href",qt("GPIO-configuration")),u(i,"target","_blank"),u(i,"class","float-right"),u(e,"class","cnt")},m(_,b){w(_,e,b),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),f&&f.m(e,null),s(e,a),p&&p.m(e,null),c=!0},p(_,b){_[0].board>20?f?(f.p(_,b),b[0]&1&&P(f,1)):(f=yf(_),f.c(),P(f,1),f.m(e,a)):f&&(De(),I(f,1,1,()=>{f=null}),Ee()),_[0].chip=="esp8266"?p?p.p(_,b):(p=Tf(_),p.c(),p.m(e,null)):p&&(p.d(1),p=null)},i(_){c||(P(o.$$.fragment,_),P(f),c=!0)},o(_){I(o.$$.fragment,_),I(f),c=!1},d(_){_&&k(e),X(o),f&&f.d(),p&&p.d()}}}function yf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q,L,B,O,j,W,te,le,pe,ie,Pe,je,Ae,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x;b=new Bc({props:{chip:t[0].chip}});let oe=t[0].chip!="esp8266"&&$f(t),Ue=t[3].i.v.p>0&&Cf(t);return{c(){e=m("input"),l=h(),n=m("div"),i=m("div"),o=y("HAN"),r=m("label"),a=m("input"),c=y(" pullup"),f=m("br"),p=h(),_=m("select"),Z(b.$$.fragment),d=h(),v=m("div"),g=y("AP button"),T=m("br"),C=h(),$=m("input"),M=h(),F=m("div"),S=y("LED"),N=m("label"),A=m("input"),E=y(" inv"),Y=m("br"),R=h(),U=m("div"),H=m("input"),z=h(),q=m("div"),L=y("RGB"),B=m("label"),O=m("input"),j=y(" inverted"),W=m("br"),te=h(),le=m("div"),pe=m("input"),ie=h(),Pe=m("input"),je=h(),Ae=m("input"),We=h(),be=m("div"),ye=y("Temperature"),Re=m("br"),ge=h(),ae=m("input"),$e=h(),J=m("div"),se=y("Analog temp"),Fe=m("br"),Le=h(),_e=m("input"),Ce=h(),oe&&oe.c(),Ne=h(),Ue&&Ue.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&&tt(()=>t[76].call(_)),u(i,"class","w-1/3"),u($,"name","ia"),u($,"type","number"),u($,"min","0"),u($,"max",t[6]),u($,"class","in-m tr w-full"),u(v,"class","w-1/3"),u(A,"name","ili"),A.__value="true",A.value=A.__value,u(A,"type","checkbox"),u(A,"class","rounded mb-1"),u(N,"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(U,"class","flex"),u(F,"class","w-1/3"),u(O,"name","iri"),O.__value="true",O.value=O.__value,u(O,"type","checkbox"),u(O,"class","rounded mb-1"),u(B,"class","ml-4"),u(pe,"name","irr"),u(pe,"type","number"),u(pe,"min","0"),u(pe,"max",t[6]),u(pe,"class","in-f tr w-1/3"),u(Pe,"name","irg"),u(Pe,"type","number"),u(Pe,"min","0"),u(Pe,"max",t[6]),u(Pe,"class","in-m tr w-1/3"),u(Ae,"name","irb"),u(Ae,"type","number"),u(Ae,"min","0"),u(Ae,"max",t[6]),u(Ae,"class","in-l tr w-1/3"),u(le,"class","flex"),u(q,"class","w-full"),u(ae,"name","itd"),u(ae,"type","number"),u(ae,"min","0"),u(ae,"max",t[6]),u(ae,"class","in-f tr w-full"),u(be,"class","my-1 w-1/3"),u(_e,"name","ita"),u(_e,"type","number"),u(_e,"min","0"),u(_e,"max",t[6]),u(_e,"class","in-l tr w-full"),u(J,"class","my-1 pr-1 w-1/3"),u(n,"class","flex flex-wrap")},m(ue,ve){w(ue,e,ve),w(ue,l,ve),w(ue,n,ve),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,p),s(i,_),Q(b,_,null),qe(_,t[3].i.h.p,!0),s(n,d),s(n,v),s(v,g),s(v,T),s(v,C),s(v,$),K($,t[3].i.a),s(n,M),s(n,F),s(F,S),s(F,N),s(N,A),A.checked=t[3].i.l.i,s(N,E),s(F,Y),s(F,R),s(F,U),s(U,H),K(H,t[3].i.l.p),s(n,z),s(n,q),s(q,L),s(q,B),s(B,O),O.checked=t[3].i.r.i,s(B,j),s(q,W),s(q,te),s(q,le),s(le,pe),K(pe,t[3].i.r.r),s(le,ie),s(le,Pe),K(Pe,t[3].i.r.g),s(le,je),s(le,Ae),K(Ae,t[3].i.r.b),s(n,We),s(n,be),s(be,ye),s(be,Re),s(be,ge),s(be,ae),K(ae,t[3].i.t.d),s(n,$e),s(n,J),s(J,se),s(J,Fe),s(J,Le),s(J,_e),K(_e,t[3].i.t.a),s(n,Ce),oe&&oe.m(n,null),s(n,Ne),Ue&&Ue.m(n,null),de=!0,Te||(x=[V(a,"change",t[75]),V(_,"change",t[76]),V($,"input",t[77]),V(A,"change",t[78]),V(H,"input",t[79]),V(O,"change",t[80]),V(pe,"input",t[81]),V(Pe,"input",t[82]),V(Ae,"input",t[83]),V(ae,"input",t[84]),V(_e,"input",t[85])],Te=!0)},p(ue,ve){ve[0]&8&&(a.checked=ue[3].i.h.u);const dt={};ve[0]&1&&(dt.chip=ue[0].chip),b.$set(dt),ve[0]&8&&qe(_,ue[3].i.h.p),(!de||ve[0]&64)&&u($,"max",ue[6]),ve[0]&8&&fe($.value)!==ue[3].i.a&&K($,ue[3].i.a),ve[0]&8&&(A.checked=ue[3].i.l.i),(!de||ve[0]&64)&&u(H,"max",ue[6]),ve[0]&8&&fe(H.value)!==ue[3].i.l.p&&K(H,ue[3].i.l.p),ve[0]&8&&(O.checked=ue[3].i.r.i),(!de||ve[0]&64)&&u(pe,"max",ue[6]),ve[0]&8&&fe(pe.value)!==ue[3].i.r.r&&K(pe,ue[3].i.r.r),(!de||ve[0]&64)&&u(Pe,"max",ue[6]),ve[0]&8&&fe(Pe.value)!==ue[3].i.r.g&&K(Pe,ue[3].i.r.g),(!de||ve[0]&64)&&u(Ae,"max",ue[6]),ve[0]&8&&fe(Ae.value)!==ue[3].i.r.b&&K(Ae,ue[3].i.r.b),(!de||ve[0]&64)&&u(ae,"max",ue[6]),ve[0]&8&&fe(ae.value)!==ue[3].i.t.d&&K(ae,ue[3].i.t.d),(!de||ve[0]&64)&&u(_e,"max",ue[6]),ve[0]&8&&fe(_e.value)!==ue[3].i.t.a&&K(_e,ue[3].i.t.a),ue[0].chip!="esp8266"?oe?oe.p(ue,ve):(oe=$f(ue),oe.c(),oe.m(n,Ne)):oe&&(oe.d(1),oe=null),ue[3].i.v.p>0?Ue?Ue.p(ue,ve):(Ue=Cf(ue),Ue.c(),Ue.m(n,null)):Ue&&(Ue.d(1),Ue=null)},i(ue){de||(P(b.$$.fragment,ue),de=!0)},o(ue){I(b.$$.fragment,ue),de=!1},d(ue){ue&&k(e),ue&&k(l),ue&&k(n),X(b),oe&&oe.d(),Ue&&Ue.d(),Te=!1,Be(x)}}}function $f(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=y("Vcc"),n=m("br"),i=h(),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(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),K(o,t[3].i.v.p),r||(a=V(o,"input",t[86]),r=!0)},p(c,f){f[0]&64&&u(o,"max",c[6]),f[0]&8&&fe(o.value)!==c[3].i.v.p&&K(o,c[3].i.v.p)},d(c){c&&k(e),r=!1,a()}}}function Cf(t){let e,l,n,i,o,r,a,c,f,p;return{c(){e=m("div"),l=y("Voltage divider"),n=m("br"),i=h(),o=m("div"),r=m("input"),a=h(),c=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(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(_,b){w(_,e,b),s(e,l),s(e,n),s(e,i),s(e,o),s(o,r),K(r,t[3].i.v.d.v),s(o,a),s(o,c),K(c,t[3].i.v.d.g),f||(p=[V(r,"input",t[87]),V(c,"input",t[88])],f=!0)},p(_,b){b[0]&8&&fe(r.value)!==_[3].i.v.d.v&&K(r,_[3].i.v.d.v),b[0]&8&&fe(c.value)!==_[3].i.v.d.g&&K(c,_[3].i.v.d.g)},d(_){_&&k(e),f=!1,Be(p)}}}function Tf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$=(t[0].board==2||t[0].board==100)&&Sf(t);return{c(){e=m("input"),l=h(),n=m("div"),i=m("div"),o=y("Vcc offset"),r=m("br"),a=h(),c=m("input"),f=h(),p=m("div"),_=y("Multiplier"),b=m("br"),d=h(),v=m("input"),g=h(),$&&$.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(v,"name","ivm"),u(v,"type","number"),u(v,"min","0.1"),u(v,"max","10"),u(v,"step","0.01"),u(v,"class","in-l tr w-full"),u(p,"class","w-1/3 pr-1"),u(n,"class","my-1 flex flex-wrap")},m(M,F){w(M,e,F),w(M,l,F),w(M,n,F),s(n,i),s(i,o),s(i,r),s(i,a),s(i,c),K(c,t[3].i.v.o),s(n,f),s(n,p),s(p,_),s(p,b),s(p,d),s(p,v),K(v,t[3].i.v.m),s(n,g),$&&$.m(n,null),T||(C=[V(c,"input",t[89]),V(v,"input",t[90])],T=!0)},p(M,F){F[0]&8&&fe(c.value)!==M[3].i.v.o&&K(c,M[3].i.v.o),F[0]&8&&fe(v.value)!==M[3].i.v.m&&K(v,M[3].i.v.m),M[0].board==2||M[0].board==100?$?$.p(M,F):($=Sf(M),$.c(),$.m(n,null)):$&&($.d(1),$=null)},d(M){M&&k(e),M&&k(l),M&&k(n),$&&$.d(),T=!1,Be(C)}}}function Sf(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=y("Boot limit"),n=m("br"),i=h(),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(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),K(o,t[3].i.v.b),r||(a=V(o,"input",t[91]),r=!0)},p(c,f){f[0]&8&&fe(o.value)!==c[3].i.v.b&&K(o,c[3].i.v.b)},d(c){c&&k(e),r=!1,a()}}}function Mf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C=t[3].d.t&&Pf();return{c(){e=m("div"),e.textContent="Debug can cause sudden reboots. Do not leave on!",l=h(),n=m("div"),i=m("label"),o=m("input"),r=y(" Enable telnet"),a=h(),C&&C.c(),c=h(),f=m("div"),p=m("select"),_=m("option"),_.textContent="Verbose",b=m("option"),b.textContent="Debug",d=m("option"),d.textContent="Info",v=m("option"),v.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,b.__value=2,b.value=b.__value,d.__value=3,d.value=d.__value,v.__value=4,v.value=v.__value,u(p,"name","dl"),u(p,"class","in-s"),t[3].d.l===void 0&&tt(()=>t[94].call(p)),u(f,"class","my-1")},m($,M){w($,e,M),w($,l,M),w($,n,M),s(n,i),s(i,o),o.checked=t[3].d.t,s(i,r),w($,a,M),C&&C.m($,M),w($,c,M),w($,f,M),s(f,p),s(p,_),s(p,b),s(p,d),s(p,v),qe(p,t[3].d.l,!0),g||(T=[V(o,"change",t[93]),V(p,"change",t[94])],g=!0)},p($,M){M[0]&8&&(o.checked=$[3].d.t),$[3].d.t?C||(C=Pf(),C.c(),C.m(c.parentNode,c)):C&&(C.d(1),C=null),M[0]&8&&qe(p,$[3].d.l)},d($){$&&k(e),$&&k(l),$&&k(n),$&&k(a),C&&C.d($),$&&k(c),$&&k(f),g=!1,Be(T)}}}function Pf(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){w(l,e,n)},d(l){l&&k(e)}}}function m0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q,L,B,O,j,W,te,le,pe,ie,Pe,je,Ae,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x,oe,Ue,ue,ve,dt,Wl,tl,ct,Ml,pl,Ht,vt,Qe,Xe,Ze,He,Je,Ge,xe,et,re,he,Di,_l,_n,St,Ei,Ii,Fi,dl,Ri,Li,Oi,Mt,Pl,Nl,Al,qi,ze,ke,vl,Ps,Dl,Et,Ui,Gl,Po,ll,Hi,No,Ns,Ao,ci,jt,Do,Eo,El,nl,Il,Io,ji,Fo,mt,Fl,Ro,Wi,dn,vn,hn,bn,Gi,Lo,It,Oo,Bl,qo,Uo,Ho,il,gn,kn,jo,wn,zl,Wo,Go,Bo,yn,Wt,zo,Bi,Yo,Yl,Vo,Ko,Qo,$n,Gt,Xo,zi,Zo,As,Jo,Vl,Yi,Bt,xo,eu,tu,Ds,Vi,zt,lu,nu,iu,lt,Ki,su,Cn,Tn,ou,mi,uu,Kl,ru,au,fu,hl,cu,Ql,mu,pu,_u,bl,du,Sn,Xl,vu,hu,bu,Ft,Mn,Pn,Nn,An,gu,Zl,ku,wu,yu,Dn,Rt,$u,Qi,Cu,Xi,Zi,Yt,Tu,Su,Ji,xi,Vt,Mu,Pu,at,es,Nu,En,In,Au,Jl,Du,Eu,Iu,Rl,sl,Fn,Rn,Fu,Pt,ts,ls,Ru,Nt,Ln,ns,is,Lu,Es,ss,os,Kt,Ou,qu,pi,Uu,Ll,Hu,_i,Qt,ju,Wu,Gu,us,gl,Bu,Ke,rs,zu,On,qn,Yu,di,Vu,ol,Ku,Is,Qu,Xu,Un,kl,Zu,Xt,Ju,Fs,xl,xu,er,tr,wl,lr,en,nr,ir,sr,yl,or,Hn,jn,ur,rr,ar,$l,fr,Wn,cr,mr,pr,ht,Gn,Bn,zn,Yn,Vn,Kn,_r,tn,dr,vr,hr,Cl,br,Rs,Ls,Os=t[3].p.r.startsWith("10YNO")||t[3].p.r=="10Y1001A1001A48H",qs,ul,as,gr,Qn,Xn,kr,vi,wr,hi,yr,Us,At,fs,$r,Zn,Jn,Cr,bi,Tr,cs,ms,Zt,Sr,Mr,Pr,Ol,Hs,xn,Nr,ps,ei,Ar,_s,js,ln,Ws,nn,Gs,sn,Bs,on,Jt,zs,Dr;a=new Ot({}),E=new Vp({});let Yc=["NOK","SEK","DKK","EUR"],gi=[];for(let D=0;D<4;D+=1)gi[D]=Jp(Zp(t,Yc,D));let bt=t[3].p.e&&t[0].chip!="esp8266"&&rf(t),gt=t[3].g.s>0&&af(t);Et=new Ot({});let Vc=[24,48,96,192,384,576,1152],ki=[];for(let D=0;D<7;D+=1)ki[D]=xp(Xp(t,Vc,D));let kt=t[3].m.e.e&&ff(t),wt=t[3].m.e.e&&cf(t),yt=t[3].m.m.e&&mf(t);Tn=new Ot({}),In=new Ot({}),Ln=new zc({});let $t=t[3].n.m=="static"&&pf(t);qn=new Ot({});let Ct=t[0].chip!="esp8266"&&_f(t),nt=t[3].q.s.e&&df(t),it=t[3].q.m==3&&vf(t),st=t[3].q.m==4&&hf(t),ot=Os&&bf(t);Xn=new Ot({});let ti=t[7],pt=[];for(let D=0;D20||t[0].chip=="esp8266")&&wf(t);Jn=new Ot({});let Tt=t[3].d.s&&Mf(t);return ln=new Dt({props:{active:t[1],message:"Loading configuration"}}),nn=new Dt({props:{active:t[2],message:"Saving configuration"}}),sn=new Dt({props:{active:t[4],message:"Performing factory reset"}}),on=new Dt({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=h(),r=m("a"),Z(a.$$.fragment),c=h(),f=m("input"),p=h(),_=m("div"),b=m("div"),d=m("div"),v=y("Hostname"),g=m("br"),T=h(),C=m("input"),$=h(),M=m("div"),F=y("Time zone"),S=m("br"),N=h(),A=m("select"),Z(E.$$.fragment),Y=h(),R=m("input"),U=h(),H=m("div"),z=m("div"),q=m("div"),L=y("Price region"),B=m("br"),O=h(),j=m("select"),W=m("optgroup"),te=m("option"),te.textContent="NO1",le=m("option"),le.textContent="NO2",pe=m("option"),pe.textContent="NO3",ie=m("option"),ie.textContent="NO4",Pe=m("option"),Pe.textContent="NO5",je=m("optgroup"),Ae=m("option"),Ae.textContent="SE1",We=m("option"),We.textContent="SE2",be=m("option"),be.textContent="SE3",ye=m("option"),ye.textContent="SE4",Re=m("optgroup"),ge=m("option"),ge.textContent="DK1",ae=m("option"),ae.textContent="DK2",$e=m("option"),$e.textContent="Austria",J=m("option"),J.textContent="Belgium",se=m("option"),se.textContent="Czech Republic",Fe=m("option"),Fe.textContent="Estonia",Le=m("option"),Le.textContent="Finland",_e=m("option"),_e.textContent="France",Ce=m("option"),Ce.textContent="Germany",Ne=m("option"),Ne.textContent="Great Britain",de=m("option"),de.textContent="Latvia",Te=m("option"),Te.textContent="Lithuania",x=m("option"),x.textContent="Netherland",oe=m("option"),oe.textContent="Poland",Ue=m("option"),Ue.textContent="Switzerland",ue=h(),ve=m("div"),dt=y("Currency"),Wl=m("br"),tl=h(),ct=m("select");for(let D=0;D<4;D+=1)gi[D].c();Ml=h(),pl=m("div"),Ht=m("div"),vt=m("div"),Qe=y("Fixed price"),Xe=m("br"),Ze=h(),He=m("input"),Je=h(),Ge=m("div"),xe=y("Multiplier"),et=m("br"),re=h(),he=m("input"),Di=h(),_l=m("div"),_n=m("label"),St=m("input"),Ei=y(" Enable price fetch from remote server"),Ii=h(),bt&&bt.c(),Fi=h(),dl=m("div"),Ri=y("Security"),Li=m("br"),Oi=h(),Mt=m("select"),Pl=m("option"),Pl.textContent="None",Nl=m("option"),Nl.textContent="Only configuration",Al=m("option"),Al.textContent="Everything",qi=h(),gt&>.c(),ze=h(),ke=m("div"),vl=m("strong"),vl.textContent="Meter",Ps=h(),Dl=m("a"),Z(Et.$$.fragment),Ui=h(),Gl=m("input"),Po=h(),ll=m("div"),Hi=m("span"),Hi.textContent="Buffer size",No=h(),Ns=m("span"),Ns.textContent="Serial conf.",Ao=h(),ci=m("label"),jt=m("input"),Do=y(" inverted"),Eo=h(),El=m("div"),nl=m("select"),Il=m("option"),Io=y("Autodetect");for(let D=0;D<7;D+=1)ki[D].c();Fo=h(),mt=m("select"),Fl=m("option"),Ro=y("-"),dn=m("option"),dn.textContent="7N1",vn=m("option"),vn.textContent="8N1",hn=m("option"),hn.textContent="7E1",bn=m("option"),bn.textContent="8E1",Lo=h(),It=m("input"),Oo=h(),Bl=m("div"),qo=y("Voltage"),Uo=m("br"),Ho=h(),il=m("select"),gn=m("option"),gn.textContent="400V (TN)",kn=m("option"),kn.textContent="230V (IT/TT)",jo=h(),wn=m("div"),zl=m("div"),Wo=y("Main fuse"),Go=m("br"),Bo=h(),yn=m("label"),Wt=m("input"),zo=h(),Bi=m("span"),Bi.textContent="A",Yo=h(),Yl=m("div"),Vo=y("Production"),Ko=m("br"),Qo=h(),$n=m("label"),Gt=m("input"),Xo=h(),zi=m("span"),zi.textContent="kWp",Zo=h(),As=m("div"),Jo=h(),Vl=m("div"),Yi=m("label"),Bt=m("input"),xo=y(" Meter is encrypted"),eu=h(),kt&&kt.c(),tu=h(),wt&&wt.c(),Ds=h(),Vi=m("label"),zt=m("input"),lu=y(" Multipliers"),nu=h(),yt&&yt.c(),iu=h(),lt=m("div"),Ki=m("strong"),Ki.textContent="WiFi",su=h(),Cn=m("a"),Z(Tn.$$.fragment),ou=h(),mi=m("input"),uu=h(),Kl=m("div"),ru=y("SSID"),au=m("br"),fu=h(),hl=m("input"),cu=h(),Ql=m("div"),mu=y("Password"),pu=m("br"),_u=h(),bl=m("input"),du=h(),Sn=m("div"),Xl=m("div"),vu=y("Power saving"),hu=m("br"),bu=h(),Ft=m("select"),Mn=m("option"),Mn.textContent="Default",Pn=m("option"),Pn.textContent="Off",Nn=m("option"),Nn.textContent="Minimum",An=m("option"),An.textContent="Maximum",gu=h(),Zl=m("div"),ku=y("Power"),wu=m("br"),yu=h(),Dn=m("div"),Rt=m("input"),$u=h(),Qi=m("span"),Qi.textContent="dBm",Cu=h(),Xi=m("div"),Zi=m("label"),Yt=m("input"),Tu=y(" Auto reboot on connection problem"),Su=h(),Ji=m("div"),xi=m("label"),Vt=m("input"),Mu=y(" Allow 802.11b legacy rates"),Pu=h(),at=m("div"),es=m("strong"),es.textContent="Network",Nu=h(),En=m("a"),Z(In.$$.fragment),Au=h(),Jl=m("div"),Du=y("IP"),Eu=m("br"),Iu=h(),Rl=m("div"),sl=m("select"),Fn=m("option"),Fn.textContent="DHCP",Rn=m("option"),Rn.textContent="Static",Fu=h(),Pt=m("input"),Ru=h(),Nt=m("select"),Z(Ln.$$.fragment),Lu=h(),$t&&$t.c(),Es=h(),ss=m("div"),os=m("label"),Kt=m("input"),Ou=y(" enable mDNS"),qu=h(),pi=m("input"),Uu=h(),Ll=m("div"),Hu=y("NTP "),_i=m("label"),Qt=m("input"),ju=y(" obtain from DHCP"),Wu=m("br"),Gu=h(),us=m("div"),gl=m("input"),Bu=h(),Ke=m("div"),rs=m("strong"),rs.textContent="MQTT",zu=h(),On=m("a"),Z(qn.$$.fragment),Yu=h(),di=m("input"),Vu=h(),ol=m("div"),Ku=y(`Server - `),Ct&&Ct.c(),Is=h(),Qu=m("br"),Xu=h(),Un=m("div"),kl=m("input"),Zu=h(),Xt=m("input"),Ju=h(),nt&&nt.c(),Fs=h(),xl=m("div"),xu=y("Username"),er=m("br"),tr=h(),wl=m("input"),lr=h(),en=m("div"),nr=y("Password"),ir=m("br"),sr=h(),yl=m("input"),or=h(),Hn=m("div"),jn=m("div"),ur=y("Client ID"),rr=m("br"),ar=h(),$l=m("input"),fr=h(),Wn=m("div"),cr=y("Payload"),mr=m("br"),pr=h(),ht=m("select"),Gn=m("option"),Gn.textContent="JSON",Bn=m("option"),Bn.textContent="Raw (minimal)",zn=m("option"),zn.textContent="Raw (full)",Yn=m("option"),Yn.textContent="Domoticz",Vn=m("option"),Vn.textContent="HomeAssistant",Kn=m("option"),Kn.textContent="HEX dump",_r=h(),tn=m("div"),dr=y("Publish topic"),vr=m("br"),hr=h(),Cl=m("input"),br=h(),it&&it.c(),Rs=h(),st&&st.c(),Ls=h(),ot&&ot.c(),qs=h(),ul=m("div"),as=m("strong"),as.textContent="User interface",gr=h(),Qn=m("a"),Z(Xn.$$.fragment),kr=h(),vi=m("input"),wr=h(),hi=m("div");for(let D=0;DSave',js=h(),Z(ln.$$.fragment),Ws=h(),Z(nn.$$.fragment),Gs=h(),Z(sn.$$.fragment),Bs=h(),Z(on.$$.fragment),u(i,"class","text-sm"),u(r,"href",qt("General-configuration")),u(r,"target","_blank"),u(r,"class","float-right"),u(f,"type","hidden"),u(f,"name","g"),f.value="true",u(C,"name","gh"),u(C,"type","text"),u(C,"class","in-f w-full"),u(C,"pattern","[A-Za-z0-9-]+"),u(A,"name","gt"),u(A,"class","in-l w-full"),t[3].g.t===void 0&&tt(()=>t[16].call(A)),u(b,"class","flex"),u(_,"class","my-1"),u(R,"type","hidden"),u(R,"name","p"),R.value="true",te.__value="10YNO-1--------2",te.value=te.__value,le.__value="10YNO-2--------T",le.value=le.__value,pe.__value="10YNO-3--------J",pe.value=pe.__value,ie.__value="10YNO-4--------9",ie.value=ie.__value,Pe.__value="10Y1001A1001A48H",Pe.value=Pe.__value,u(W,"label","Norway"),Ae.__value="10Y1001A1001A44P",Ae.value=Ae.__value,We.__value="10Y1001A1001A45N",We.value=We.__value,be.__value="10Y1001A1001A46L",be.value=be.__value,ye.__value="10Y1001A1001A47J",ye.value=ye.__value,u(je,"label","Sweden"),ge.__value="10YDK-1--------W",ge.value=ge.__value,ae.__value="10YDK-2--------M",ae.value=ae.__value,u(Re,"label","Denmark"),$e.__value="10YAT-APG------L",$e.value=$e.__value,J.__value="10YBE----------2",J.value=J.__value,se.__value="10YCZ-CEPS-----N",se.value=se.__value,Fe.__value="10Y1001A1001A39I",Fe.value=Fe.__value,Le.__value="10YFI-1--------U",Le.value=Le.__value,_e.__value="10YFR-RTE------C",_e.value=_e.__value,Ce.__value="10Y1001A1001A83F",Ce.value=Ce.__value,Ne.__value="10YGB----------A",Ne.value=Ne.__value,de.__value="10YLV-1001A00074",de.value=de.__value,Te.__value="10YLT-1001A0008Q",Te.value=Te.__value,x.__value="10YNL----------L",x.value=x.__value,oe.__value="10YPL-AREA-----S",oe.value=oe.__value,Ue.__value="10YCH-SWISSGRIDZ",Ue.value=Ue.__value,u(j,"name","pr"),u(j,"class","in-f w-full"),t[3].p.r===void 0&&tt(()=>t[17].call(j)),u(q,"class","w-full"),u(ct,"name","pc"),u(ct,"class","in-l"),t[3].p.c===void 0&&tt(()=>t[18].call(ct)),u(z,"class","flex"),u(H,"class","my-1"),u(He,"name","pf"),u(He,"type","number"),u(He,"min","0.001"),u(He,"max","65"),u(He,"step","0.001"),u(He,"class","in-f tr w-full"),u(vt,"class","w-1/2"),u(he,"name","pm"),u(he,"type","number"),u(he,"min","0.001"),u(he,"max","1000"),u(he,"step","0.001"),u(he,"class","in-l tr w-full"),u(Ge,"class","w-1/2"),u(Ht,"class","flex"),u(pl,"class","my-1"),u(St,"type","checkbox"),u(St,"name","pe"),St.__value="true",St.value=St.__value,u(St,"class","rounded mb-1"),u(_l,"class","my-1"),Pl.__value=0,Pl.value=Pl.__value,Nl.__value=1,Nl.value=Nl.__value,Al.__value=2,Al.value=Al.__value,u(Mt,"name","gs"),u(Mt,"class","in-s"),t[3].g.s===void 0&&tt(()=>t[23].call(Mt)),u(dl,"class","my-1"),u(n,"class","cnt"),u(vl,"class","text-sm"),u(Dl,"href",qt("Meter-configuration")),u(Dl,"target","_blank"),u(Dl,"class","float-right"),u(Gl,"type","hidden"),u(Gl,"name","m"),Gl.value="true",u(Hi,"class","float-right"),u(jt,"name","mi"),jt.__value="true",jt.value=jt.__value,u(jt,"type","checkbox"),u(jt,"class","rounded mb-1"),u(ci,"class","mt-2 ml-3 whitespace-nowrap"),Il.__value=0,Il.value=Il.__value,Il.disabled=ji=t[3].m.b!=0,u(nl,"name","mb"),u(nl,"class","in-f tr w-1/2"),t[3].m.b===void 0&&tt(()=>t[27].call(nl)),Fl.__value=0,Fl.value=Fl.__value,Fl.disabled=Wi=t[3].m.b!=0,dn.__value=2,dn.value=dn.__value,vn.__value=3,vn.value=vn.__value,hn.__value=10,hn.value=hn.__value,bn.__value=11,bn.value=bn.__value,u(mt,"name","mp"),u(mt,"class","in-m"),mt.disabled=Gi=t[3].m.b==0,t[3].m.p===void 0&&tt(()=>t[28].call(mt)),u(It,"name","ms"),u(It,"type","number"),u(It,"min",64),u(It,"max",4096),u(It,"step",64),u(It,"class","in-l tr w-1/2"),u(El,"class","flex w-full"),u(ll,"class","my-1"),gn.__value=2,gn.value=gn.__value,kn.__value=1,kn.value=kn.__value,u(il,"name","md"),u(il,"class","in-s"),t[3].m.d===void 0&&tt(()=>t[30].call(il)),u(Bl,"class","my-1"),u(Wt,"name","mf"),u(Wt,"type","number"),u(Wt,"min","5"),u(Wt,"max","65535"),u(Wt,"class","in-f tr w-full"),u(Bi,"class","in-post"),u(yn,"class","flex"),u(zl,"class","mx-1"),u(Gt,"name","mr"),u(Gt,"type","number"),u(Gt,"min","0"),u(Gt,"max","65535"),u(Gt,"class","in-f tr w-full"),u(zi,"class","in-post"),u($n,"class","flex"),u(Yl,"class","mx-1"),u(wn,"class","my-1 flex"),u(As,"class","my-1"),u(Bt,"type","checkbox"),u(Bt,"name","me"),Bt.__value="true",Bt.value=Bt.__value,u(Bt,"class","rounded mb-1"),u(Vl,"class","my-1"),u(zt,"type","checkbox"),u(zt,"name","mm"),zt.__value="true",zt.value=zt.__value,u(zt,"class","rounded mb-1"),u(ke,"class","cnt"),u(Ki,"class","text-sm"),u(Cn,"href",qt("WiFi-configuration")),u(Cn,"target","_blank"),u(Cn,"class","float-right"),u(mi,"type","hidden"),u(mi,"name","w"),mi.value="true",u(hl,"name","ws"),u(hl,"type","text"),u(hl,"class","in-s"),u(Kl,"class","my-1"),u(bl,"name","wp"),u(bl,"type","password"),u(bl,"class","in-s"),u(Ql,"class","my-1"),Mn.__value=255,Mn.value=Mn.__value,Pn.__value=0,Pn.value=Pn.__value,Nn.__value=1,Nn.value=Nn.__value,An.__value=2,An.value=An.__value,u(Ft,"name","wz"),u(Ft,"class","in-s"),t[3].w.z===void 0&&tt(()=>t[43].call(Ft)),u(Xl,"class","w-1/2"),u(Rt,"name","ww"),u(Rt,"type","number"),u(Rt,"min","0"),u(Rt,"max","20.5"),u(Rt,"step","0.5"),u(Rt,"class","in-f tr w-full"),u(Qi,"class","in-post"),u(Dn,"class","flex"),u(Zl,"class","ml-2 w-1/2"),u(Sn,"class","my-1 flex"),u(Yt,"type","checkbox"),u(Yt,"name","wa"),Yt.__value="true",Yt.value=Yt.__value,u(Yt,"class","rounded mb-1"),u(Xi,"class","my-3"),u(Vt,"type","checkbox"),u(Vt,"name","wb"),Vt.__value="true",Vt.value=Vt.__value,u(Vt,"class","rounded mb-1"),u(Ji,"class","my-3"),u(lt,"class","cnt"),u(es,"class","text-sm"),u(En,"href",qt("Network-configuration")),u(En,"target","_blank"),u(En,"class","float-right"),Fn.__value="dhcp",Fn.value=Fn.__value,Rn.__value="static",Rn.value=Rn.__value,u(sl,"name","nm"),u(sl,"class","in-f"),t[3].n.m===void 0&&tt(()=>t[47].call(sl)),u(Pt,"name","ni"),u(Pt,"type","text"),u(Pt,"class","in-m w-full"),Pt.disabled=ts=t[3].n.m=="dhcp",Pt.required=ls=t[3].n.m=="static",u(Nt,"name","ns"),u(Nt,"class","in-l"),Nt.disabled=ns=t[3].n.m=="dhcp",Nt.required=is=t[3].n.m=="static",t[3].n.s===void 0&&tt(()=>t[49].call(Nt)),u(Rl,"class","flex"),u(Jl,"class","my-1"),u(Kt,"name","nd"),Kt.__value="true",Kt.value=Kt.__value,u(Kt,"type","checkbox"),u(Kt,"class","rounded mb-1"),u(ss,"class","my-1"),u(pi,"type","hidden"),u(pi,"name","ntp"),pi.value="true",u(Qt,"name","ntpd"),Qt.__value="true",Qt.value=Qt.__value,u(Qt,"type","checkbox"),u(Qt,"class","rounded mb-1"),u(_i,"class","ml-4"),u(gl,"name","ntph"),u(gl,"type","text"),u(gl,"class","in-s"),u(us,"class","flex"),u(Ll,"class","my-1"),u(at,"class","cnt"),u(rs,"class","text-sm"),u(On,"href",qt("MQTT-configuration")),u(On,"target","_blank"),u(On,"class","float-right"),u(di,"type","hidden"),u(di,"name","q"),di.value="true",u(kl,"name","qh"),u(kl,"type","text"),u(kl,"class","in-f w-3/4"),u(Xt,"name","qp"),u(Xt,"type","number"),u(Xt,"min","1024"),u(Xt,"max","65535"),u(Xt,"class","in-l tr w-1/4"),u(Un,"class","flex"),u(ol,"class","my-1"),u(wl,"name","qu"),u(wl,"type","text"),u(wl,"class","in-s"),u(xl,"class","my-1"),u(yl,"name","qa"),u(yl,"type","password"),u(yl,"class","in-s"),u(en,"class","my-1"),u($l,"name","qc"),u($l,"type","text"),u($l,"class","in-f w-full"),Gn.__value=0,Gn.value=Gn.__value,Bn.__value=1,Bn.value=Bn.__value,zn.__value=2,zn.value=zn.__value,Yn.__value=3,Yn.value=Yn.__value,Vn.__value=4,Vn.value=Vn.__value,Kn.__value=255,Kn.value=Kn.__value,u(ht,"name","qm"),u(ht,"class","in-l"),t[3].q.m===void 0&&tt(()=>t[62].call(ht)),u(Hn,"class","my-1 flex"),u(Cl,"name","qb"),u(Cl,"type","text"),u(Cl,"class","in-s"),u(tn,"class","my-1"),u(Ke,"class","cnt"),u(as,"class","text-sm"),u(Qn,"href",qt("User-interface")),u(Qn,"target","_blank"),u(Qn,"class","float-right"),u(vi,"type","hidden"),u(vi,"name","u"),vi.value="true",u(hi,"class","flex flex-wrap"),u(ul,"class","cnt"),u(fs,"class","text-sm"),u(Zn,"href","https://amsleser.no/blog/post/24-telnet-debug"),u(Zn,"target","_blank"),u(Zn,"class","float-right"),u(bi,"type","hidden"),u(bi,"name","d"),bi.value="true",u(Zt,"type","checkbox"),u(Zt,"name","ds"),Zt.__value="true",Zt.value=Zt.__value,u(Zt,"class","rounded mb-1"),u(cs,"class","mt-3"),u(At,"class","cnt"),u(l,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2"),u(xn,"type","button"),u(xn,"class","py-2 px-4 rounded bg-red-500 text-white ml-2"),u(ei,"type","button"),u(ei,"class","py-2 px-4 rounded bg-yellow-500 text-white"),u(ps,"class","text-center"),u(_s,"class","text-right"),u(Ol,"class","grid grid-cols-3"),u(e,"autocomplete","off")},m(D,ee){w(D,e,ee),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),Q(a,r,null),s(n,c),s(n,f),s(n,p),s(n,_),s(_,b),s(b,d),s(d,v),s(d,g),s(d,T),s(d,C),K(C,t[3].g.h),s(b,$),s(b,M),s(M,F),s(M,S),s(M,N),s(M,A),Q(E,A,null),qe(A,t[3].g.t,!0),s(n,Y),s(n,R),s(n,U),s(n,H),s(H,z),s(z,q),s(q,L),s(q,B),s(q,O),s(q,j),s(j,W),s(W,te),s(W,le),s(W,pe),s(W,ie),s(W,Pe),s(j,je),s(je,Ae),s(je,We),s(je,be),s(je,ye),s(j,Re),s(Re,ge),s(Re,ae),s(j,$e),s(j,J),s(j,se),s(j,Fe),s(j,Le),s(j,_e),s(j,Ce),s(j,Ne),s(j,de),s(j,Te),s(j,x),s(j,oe),s(j,Ue),qe(j,t[3].p.r,!0),s(z,ue),s(z,ve),s(ve,dt),s(ve,Wl),s(ve,tl),s(ve,ct);for(let ft=0;ft<4;ft+=1)gi[ft]&&gi[ft].m(ct,null);qe(ct,t[3].p.c,!0),s(n,Ml),s(n,pl),s(pl,Ht),s(Ht,vt),s(vt,Qe),s(vt,Xe),s(vt,Ze),s(vt,He),K(He,t[3].p.f),s(Ht,Je),s(Ht,Ge),s(Ge,xe),s(Ge,et),s(Ge,re),s(Ge,he),K(he,t[3].p.m),s(n,Di),s(n,_l),s(_l,_n),s(_n,St),St.checked=t[3].p.e,s(_n,Ei),s(_l,Ii),bt&&bt.m(_l,null),s(n,Fi),s(n,dl),s(dl,Ri),s(dl,Li),s(dl,Oi),s(dl,Mt),s(Mt,Pl),s(Mt,Nl),s(Mt,Al),qe(Mt,t[3].g.s,!0),s(n,qi),gt&>.m(n,null),s(l,ze),s(l,ke),s(ke,vl),s(ke,Ps),s(ke,Dl),Q(Et,Dl,null),s(ke,Ui),s(ke,Gl),s(ke,Po),s(ke,ll),s(ll,Hi),s(ll,No),s(ll,Ns),s(ll,Ao),s(ll,ci),s(ci,jt),jt.checked=t[3].m.i,s(ci,Do),s(ll,Eo),s(ll,El),s(El,nl),s(nl,Il),s(Il,Io);for(let ft=0;ft<7;ft+=1)ki[ft]&&ki[ft].m(nl,null);qe(nl,t[3].m.b,!0),s(El,Fo),s(El,mt),s(mt,Fl),s(Fl,Ro),s(mt,dn),s(mt,vn),s(mt,hn),s(mt,bn),qe(mt,t[3].m.p,!0),s(El,Lo),s(El,It),K(It,t[3].m.s),s(ke,Oo),s(ke,Bl),s(Bl,qo),s(Bl,Uo),s(Bl,Ho),s(Bl,il),s(il,gn),s(il,kn),qe(il,t[3].m.d,!0),s(ke,jo),s(ke,wn),s(wn,zl),s(zl,Wo),s(zl,Go),s(zl,Bo),s(zl,yn),s(yn,Wt),K(Wt,t[3].m.f),s(yn,zo),s(yn,Bi),s(wn,Yo),s(wn,Yl),s(Yl,Vo),s(Yl,Ko),s(Yl,Qo),s(Yl,$n),s($n,Gt),K(Gt,t[3].m.r),s($n,Xo),s($n,zi),s(ke,Zo),s(ke,As),s(ke,Jo),s(ke,Vl),s(Vl,Yi),s(Yi,Bt),Bt.checked=t[3].m.e.e,s(Yi,xo),s(Vl,eu),kt&&kt.m(Vl,null),s(ke,tu),wt&&wt.m(ke,null),s(ke,Ds),s(ke,Vi),s(Vi,zt),zt.checked=t[3].m.m.e,s(Vi,lu),s(ke,nu),yt&&yt.m(ke,null),s(l,iu),s(l,lt),s(lt,Ki),s(lt,su),s(lt,Cn),Q(Tn,Cn,null),s(lt,ou),s(lt,mi),s(lt,uu),s(lt,Kl),s(Kl,ru),s(Kl,au),s(Kl,fu),s(Kl,hl),K(hl,t[3].w.s),s(lt,cu),s(lt,Ql),s(Ql,mu),s(Ql,pu),s(Ql,_u),s(Ql,bl),K(bl,t[3].w.p),s(lt,du),s(lt,Sn),s(Sn,Xl),s(Xl,vu),s(Xl,hu),s(Xl,bu),s(Xl,Ft),s(Ft,Mn),s(Ft,Pn),s(Ft,Nn),s(Ft,An),qe(Ft,t[3].w.z,!0),s(Sn,gu),s(Sn,Zl),s(Zl,ku),s(Zl,wu),s(Zl,yu),s(Zl,Dn),s(Dn,Rt),K(Rt,t[3].w.w),s(Dn,$u),s(Dn,Qi),s(lt,Cu),s(lt,Xi),s(Xi,Zi),s(Zi,Yt),Yt.checked=t[3].w.a,s(Zi,Tu),s(lt,Su),s(lt,Ji),s(Ji,xi),s(xi,Vt),Vt.checked=t[3].w.b,s(xi,Mu),s(l,Pu),s(l,at),s(at,es),s(at,Nu),s(at,En),Q(In,En,null),s(at,Au),s(at,Jl),s(Jl,Du),s(Jl,Eu),s(Jl,Iu),s(Jl,Rl),s(Rl,sl),s(sl,Fn),s(sl,Rn),qe(sl,t[3].n.m,!0),s(Rl,Fu),s(Rl,Pt),K(Pt,t[3].n.i),s(Rl,Ru),s(Rl,Nt),Q(Ln,Nt,null),qe(Nt,t[3].n.s,!0),s(at,Lu),$t&&$t.m(at,null),s(at,Es),s(at,ss),s(ss,os),s(os,Kt),Kt.checked=t[3].n.d,s(os,Ou),s(at,qu),s(at,pi),s(at,Uu),s(at,Ll),s(Ll,Hu),s(Ll,_i),s(_i,Qt),Qt.checked=t[3].n.h,s(_i,ju),s(Ll,Wu),s(Ll,Gu),s(Ll,us),s(us,gl),K(gl,t[3].n.n1),s(l,Bu),s(l,Ke),s(Ke,rs),s(Ke,zu),s(Ke,On),Q(qn,On,null),s(Ke,Yu),s(Ke,di),s(Ke,Vu),s(Ke,ol),s(ol,Ku),Ct&&Ct.m(ol,null),s(ol,Is),s(ol,Qu),s(ol,Xu),s(ol,Un),s(Un,kl),K(kl,t[3].q.h),s(Un,Zu),s(Un,Xt),K(Xt,t[3].q.p),s(Ke,Ju),nt&&nt.m(Ke,null),s(Ke,Fs),s(Ke,xl),s(xl,xu),s(xl,er),s(xl,tr),s(xl,wl),K(wl,t[3].q.u),s(Ke,lr),s(Ke,en),s(en,nr),s(en,ir),s(en,sr),s(en,yl),K(yl,t[3].q.a),s(Ke,or),s(Ke,Hn),s(Hn,jn),s(jn,ur),s(jn,rr),s(jn,ar),s(jn,$l),K($l,t[3].q.c),s(Hn,fr),s(Hn,Wn),s(Wn,cr),s(Wn,mr),s(Wn,pr),s(Wn,ht),s(ht,Gn),s(ht,Bn),s(ht,zn),s(ht,Yn),s(ht,Vn),s(ht,Kn),qe(ht,t[3].q.m,!0),s(Ke,_r),s(Ke,tn),s(tn,dr),s(tn,vr),s(tn,hr),s(tn,Cl),K(Cl,t[3].q.b),s(l,br),it&&it.m(l,null),s(l,Rs),st&&st.m(l,null),s(l,Ls),ot&&ot.m(l,null),s(l,qs),s(l,ul),s(ul,as),s(ul,gr),s(ul,Qn),Q(Xn,Qn,null),s(ul,kr),s(ul,vi),s(ul,wr),s(ul,hi);for(let ft=0;ft0?gt?gt.p(D,ee):(gt=af(D),gt.c(),gt.m(n,null)):gt&&(gt.d(1),gt=null),ee[0]&8&&(jt.checked=D[3].m.i),(!Jt||ee[0]&8&&ji!==(ji=D[3].m.b!=0))&&(Il.disabled=ji),ee[0]&8&&qe(nl,D[3].m.b),(!Jt||ee[0]&8&&Wi!==(Wi=D[3].m.b!=0))&&(Fl.disabled=Wi),(!Jt||ee[0]&8&&Gi!==(Gi=D[3].m.b==0))&&(mt.disabled=Gi),ee[0]&8&&qe(mt,D[3].m.p),ee[0]&8&&fe(It.value)!==D[3].m.s&&K(It,D[3].m.s),ee[0]&8&&qe(il,D[3].m.d),ee[0]&8&&fe(Wt.value)!==D[3].m.f&&K(Wt,D[3].m.f),ee[0]&8&&fe(Gt.value)!==D[3].m.r&&K(Gt,D[3].m.r),ee[0]&8&&(Bt.checked=D[3].m.e.e),D[3].m.e.e?kt?kt.p(D,ee):(kt=ff(D),kt.c(),kt.m(Vl,null)):kt&&(kt.d(1),kt=null),D[3].m.e.e?wt?wt.p(D,ee):(wt=cf(D),wt.c(),wt.m(ke,Ds)):wt&&(wt.d(1),wt=null),ee[0]&8&&(zt.checked=D[3].m.m.e),D[3].m.m.e?yt?yt.p(D,ee):(yt=mf(D),yt.c(),yt.m(ke,null)):yt&&(yt.d(1),yt=null),ee[0]&8&&hl.value!==D[3].w.s&&K(hl,D[3].w.s),ee[0]&8&&bl.value!==D[3].w.p&&K(bl,D[3].w.p),ee[0]&8&&qe(Ft,D[3].w.z),ee[0]&8&&fe(Rt.value)!==D[3].w.w&&K(Rt,D[3].w.w),ee[0]&8&&(Yt.checked=D[3].w.a),ee[0]&8&&(Vt.checked=D[3].w.b),ee[0]&8&&qe(sl,D[3].n.m),(!Jt||ee[0]&8&&ts!==(ts=D[3].n.m=="dhcp"))&&(Pt.disabled=ts),(!Jt||ee[0]&8&&ls!==(ls=D[3].n.m=="static"))&&(Pt.required=ls),ee[0]&8&&Pt.value!==D[3].n.i&&K(Pt,D[3].n.i),(!Jt||ee[0]&8&&ns!==(ns=D[3].n.m=="dhcp"))&&(Nt.disabled=ns),(!Jt||ee[0]&8&&is!==(is=D[3].n.m=="static"))&&(Nt.required=is),ee[0]&8&&qe(Nt,D[3].n.s),D[3].n.m=="static"?$t?$t.p(D,ee):($t=pf(D),$t.c(),$t.m(at,Es)):$t&&($t.d(1),$t=null),ee[0]&8&&(Kt.checked=D[3].n.d),ee[0]&8&&(Qt.checked=D[3].n.h),ee[0]&8&&gl.value!==D[3].n.n1&&K(gl,D[3].n.n1),D[0].chip!="esp8266"?Ct?Ct.p(D,ee):(Ct=_f(D),Ct.c(),Ct.m(ol,Is)):Ct&&(Ct.d(1),Ct=null),ee[0]&8&&kl.value!==D[3].q.h&&K(kl,D[3].q.h),ee[0]&8&&fe(Xt.value)!==D[3].q.p&&K(Xt,D[3].q.p),D[3].q.s.e?nt?(nt.p(D,ee),ee[0]&8&&P(nt,1)):(nt=df(D),nt.c(),P(nt,1),nt.m(Ke,Fs)):nt&&(De(),I(nt,1,1,()=>{nt=null}),Ee()),ee[0]&8&&wl.value!==D[3].q.u&&K(wl,D[3].q.u),ee[0]&8&&yl.value!==D[3].q.a&&K(yl,D[3].q.a),ee[0]&8&&$l.value!==D[3].q.c&&K($l,D[3].q.c),ee[0]&8&&qe(ht,D[3].q.m),ee[0]&8&&Cl.value!==D[3].q.b&&K(Cl,D[3].q.b),D[3].q.m==3?it?(it.p(D,ee),ee[0]&8&&P(it,1)):(it=vf(D),it.c(),P(it,1),it.m(l,Rs)):it&&(De(),I(it,1,1,()=>{it=null}),Ee()),D[3].q.m==4?st?(st.p(D,ee),ee[0]&8&&P(st,1)):(st=hf(D),st.c(),P(st,1),st.m(l,Ls)):st&&(De(),I(st,1,1,()=>{st=null}),Ee()),ee[0]&8&&(Os=D[3].p.r.startsWith("10YNO")||D[3].p.r=="10Y1001A1001A48H"),Os?ot?(ot.p(D,ee),ee[0]&8&&P(ot,1)):(ot=bf(D),ot.c(),P(ot,1),ot.m(l,qs)):ot&&(De(),I(ot,1,1,()=>{ot=null}),Ee()),ee[0]&136){ti=D[7];let Lt;for(Lt=0;Lt20||D[0].chip=="esp8266"?ut?(ut.p(D,ee),ee[0]&1&&P(ut,1)):(ut=wf(D),ut.c(),P(ut,1),ut.m(l,Us)):ut&&(De(),I(ut,1,1,()=>{ut=null}),Ee()),ee[0]&8&&(Zt.checked=D[3].d.s),D[3].d.s?Tt?Tt.p(D,ee):(Tt=Mf(D),Tt.c(),Tt.m(At,null)):Tt&&(Tt.d(1),Tt=null);const ft={};ee[0]&2&&(ft.active=D[1]),ln.$set(ft);const Er={};ee[0]&4&&(Er.active=D[2]),nn.$set(Er);const Ir={};ee[0]&16&&(Ir.active=D[4]),sn.$set(Ir);const Fr={};ee[0]&32&&(Fr.active=D[5]),on.$set(Fr)},i(D){Jt||(P(a.$$.fragment,D),P(E.$$.fragment,D),P(Et.$$.fragment,D),P(Tn.$$.fragment,D),P(In.$$.fragment,D),P(Ln.$$.fragment,D),P(qn.$$.fragment,D),P(nt),P(it),P(st),P(ot),P(Xn.$$.fragment,D),P(ut),P(Jn.$$.fragment,D),P(ln.$$.fragment,D),P(nn.$$.fragment,D),P(sn.$$.fragment,D),P(on.$$.fragment,D),Jt=!0)},o(D){I(a.$$.fragment,D),I(E.$$.fragment,D),I(Et.$$.fragment,D),I(Tn.$$.fragment,D),I(In.$$.fragment,D),I(Ln.$$.fragment,D),I(qn.$$.fragment,D),I(nt),I(it),I(st),I(ot),I(Xn.$$.fragment,D),I(ut),I(Jn.$$.fragment,D),I(ln.$$.fragment,D),I(nn.$$.fragment,D),I(sn.$$.fragment,D),I(on.$$.fragment,D),Jt=!1},d(D){D&&k(e),X(a),X(E),cl(gi,D),bt&&bt.d(),gt&>.d(),X(Et),cl(ki,D),kt&&kt.d(),wt&&wt.d(),yt&&yt.d(),X(Tn),X(In),X(Ln),$t&&$t.d(),X(qn),Ct&&Ct.d(),nt&&nt.d(),it&&it.d(),st&&st.d(),ot&&ot.d(),X(Xn),cl(pt,D),ut&&ut.d(),X(Jn),Tt&&Tt.d(),D&&k(js),X(ln,D),D&&k(Ws),X(nn,D),D&&k(Gs),X(sn,D),D&&k(Bs),X(on,D),zs=!1,Be(Dr)}}}async function p0(){await(await fetch("/reboot",{method:"POST"})).json()}function _0(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,b:!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,f:null},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}},h:{t:"",h:"",n:""}};$i.subscribe(ze=>{ze.version&&(l(3,a=ze),l(1,o=!1))}),qp();let c=!1,f=!1;async function p(){if(confirm("Are you sure you want to factory reset the device?")){l(4,c=!0);const ze=new URLSearchParams;ze.append("perform","true");let vl=await(await fetch("/reset",{method:"POST",body:ze})).json();l(4,c=!1),l(5,f=vl.success)}}async function _(ze){l(2,r=!0);const ke=new FormData(ze.target),vl=new URLSearchParams;for(let Et of ke){const[Ui,Gl]=Et;vl.append(Ui,Gl)}let Dl=await(await fetch("/save",{method:"POST",body:vl})).json();Ut.update(Et=>(Et.booting=Dl.reboot,Et.ui=a.u,Et)),l(2,r=!1),oi("/")}const b=function(){confirm("Are you sure you want to reboot the device?")&&(Ut.update(ze=>(ze.booting=!0,ze)),p0())};async function d(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("/mqtt-ca",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.c=!1,ke)))}async function v(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("/mqtt-cert",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.r=!1,ke)))}async function g(){confirm("Are you sure you want to delete key?")&&(await(await fetch("/mqtt-key",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.k=!1,ke)))}const T=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 C=44;function $(){a.g.h=this.value,l(3,a)}function M(){a.g.t=_t(this),l(3,a)}function F(){a.p.r=_t(this),l(3,a)}function S(){a.p.c=_t(this),l(3,a)}function N(){a.p.f=fe(this.value),l(3,a)}function A(){a.p.m=fe(this.value),l(3,a)}function E(){a.p.e=this.checked,l(3,a)}function Y(){a.p.t=this.value,l(3,a)}function R(){a.g.s=_t(this),l(3,a)}function U(){a.g.u=this.value,l(3,a)}function H(){a.g.p=this.value,l(3,a)}function z(){a.m.i=this.checked,l(3,a)}function q(){a.m.b=_t(this),l(3,a)}function L(){a.m.p=_t(this),l(3,a)}function B(){a.m.s=fe(this.value),l(3,a)}function O(){a.m.d=_t(this),l(3,a)}function j(){a.m.f=fe(this.value),l(3,a)}function W(){a.m.r=fe(this.value),l(3,a)}function te(){a.m.e.e=this.checked,l(3,a)}function le(){a.m.e.k=this.value,l(3,a)}function pe(){a.m.e.a=this.value,l(3,a)}function ie(){a.m.m.e=this.checked,l(3,a)}function Pe(){a.m.m.w=fe(this.value),l(3,a)}function je(){a.m.m.v=fe(this.value),l(3,a)}function Ae(){a.m.m.a=fe(this.value),l(3,a)}function We(){a.m.m.c=fe(this.value),l(3,a)}function be(){a.w.s=this.value,l(3,a)}function ye(){a.w.p=this.value,l(3,a)}function Re(){a.w.z=_t(this),l(3,a)}function ge(){a.w.w=fe(this.value),l(3,a)}function ae(){a.w.a=this.checked,l(3,a)}function $e(){a.w.b=this.checked,l(3,a)}function J(){a.n.m=_t(this),l(3,a)}function se(){a.n.i=this.value,l(3,a)}function Fe(){a.n.s=_t(this),l(3,a)}function Le(){a.n.g=this.value,l(3,a)}function _e(){a.n.d1=this.value,l(3,a)}function Ce(){a.n.d2=this.value,l(3,a)}function Ne(){a.n.d=this.checked,l(3,a)}function de(){a.n.h=this.checked,l(3,a)}function Te(){a.n.n1=this.value,l(3,a)}function x(){a.q.s.e=this.checked,l(3,a)}function oe(){a.q.h=this.value,l(3,a)}function Ue(){a.q.p=fe(this.value),l(3,a)}function ue(){a.q.u=this.value,l(3,a)}function ve(){a.q.a=this.value,l(3,a)}function dt(){a.q.c=this.value,l(3,a)}function Wl(){a.q.m=_t(this),l(3,a)}function tl(){a.q.b=this.value,l(3,a)}function ct(){a.o.e=this.value,l(3,a)}function Ml(){a.o.c=this.value,l(3,a)}function pl(){a.o.u1=this.value,l(3,a)}function Ht(){a.o.u2=this.value,l(3,a)}function vt(){a.o.u3=this.value,l(3,a)}function Qe(){a.h.t=this.value,l(3,a)}function Xe(){a.h.h=this.value,l(3,a)}function Ze(){a.h.n=this.value,l(3,a)}function He(ze){a.t.t[ze]=fe(this.value),l(3,a)}function Je(){a.t.h=fe(this.value),l(3,a)}function Ge(ze){a.u[ze.key]=_t(this),l(3,a)}function xe(){a.i.h.u=this.checked,l(3,a)}function et(){a.i.h.p=_t(this),l(3,a)}function re(){a.i.a=fe(this.value),l(3,a)}function he(){a.i.l.i=this.checked,l(3,a)}function Di(){a.i.l.p=fe(this.value),l(3,a)}function _l(){a.i.r.i=this.checked,l(3,a)}function _n(){a.i.r.r=fe(this.value),l(3,a)}function St(){a.i.r.g=fe(this.value),l(3,a)}function Ei(){a.i.r.b=fe(this.value),l(3,a)}function Ii(){a.i.t.d=fe(this.value),l(3,a)}function Fi(){a.i.t.a=fe(this.value),l(3,a)}function dl(){a.i.v.p=fe(this.value),l(3,a)}function Ri(){a.i.v.d.v=fe(this.value),l(3,a)}function Li(){a.i.v.d.g=fe(this.value),l(3,a)}function Oi(){a.i.v.o=fe(this.value),l(3,a)}function Mt(){a.i.v.m=fe(this.value),l(3,a)}function Pl(){a.i.v.b=fe(this.value),l(3,a)}function Nl(){a.d.s=this.checked,l(3,a)}function Al(){a.d.t=this.checked,l(3,a)}function qi(){a.d.l=_t(this),l(3,a)}return t.$$set=ze=>{"sysinfo"in ze&&l(0,n=ze.sysinfo)},t.$$.update=()=>{t.$$.dirty[0]&1&&l(6,C=n.chip=="esp8266"?16:n.chip=="esp32s2"?44:39)},[n,o,r,a,c,f,C,i,p,_,b,d,v,g,T,$,M,F,S,N,A,E,Y,R,U,H,z,q,L,B,O,j,W,te,le,pe,ie,Pe,je,Ae,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x,oe,Ue,ue,ve,dt,Wl,tl,ct,Ml,pl,Ht,vt,Qe,Xe,Ze,He,Je,Ge,xe,et,re,he,Di,_l,_n,St,Ei,Ii,Fi,dl,Ri,Li,Oi,Mt,Pl,Nl,Al,qi]}class d0 extends Me{constructor(e){super(),Se(this,e,_0,m0,we,{sysinfo:0},null,[-1,-1,-1,-1])}}function Nf(t,e,l){const n=t.slice();return n[20]=e[l],n}function v0(t){let e=ce(t[1].chip,t[1].board)+"",l;return{c(){l=y(e)},m(n,i){w(n,l,i)},p(n,i){i&2&&e!==(e=ce(n[1].chip,n[1].board)+"")&&G(l,e)},d(n){n&&k(l)}}}function Af(t){let e,l,n=t[1].apmac+"",i,o,r,a,c,f,p,_,b,d=Jr(t[1])+"",v,g,T=t[1].boot_reason+"",C,$,M=t[1].ex_cause+"",F,S,N;const A=[b0,h0],E=[];function Y(R,U){return R[0].u>0?0:1}return c=Y(t),f=E[c]=A[c](t),{c(){e=m("div"),l=y("AP MAC: "),i=y(n),o=h(),r=m("div"),a=y(`Last boot: - `),f.c(),p=h(),_=m("div"),b=y("Reason: "),v=y(d),g=y(" ("),C=y(T),$=y("/"),F=y(M),S=y(")"),u(e,"class","my-2"),u(r,"class","my-2"),u(_,"class","my-2")},m(R,U){w(R,e,U),s(e,l),s(e,i),w(R,o,U),w(R,r,U),s(r,a),E[c].m(r,null),w(R,p,U),w(R,_,U),s(_,b),s(_,v),s(_,g),s(_,C),s(_,$),s(_,F),s(_,S),N=!0},p(R,U){(!N||U&2)&&n!==(n=R[1].apmac+"")&&G(i,n);let H=c;c=Y(R),c===H?E[c].p(R,U):(De(),I(E[H],1,1,()=>{E[H]=null}),Ee(),f=E[c],f?f.p(R,U):(f=E[c]=A[c](R),f.c()),P(f,1),f.m(r,null)),(!N||U&2)&&d!==(d=Jr(R[1])+"")&&G(v,d),(!N||U&2)&&T!==(T=R[1].boot_reason+"")&&G(C,T),(!N||U&2)&&M!==(M=R[1].ex_cause+"")&&G(F,M)},i(R){N||(P(f),N=!0)},o(R){I(f),N=!1},d(R){R&&k(e),R&&k(o),R&&k(r),E[c].d(),R&&k(p),R&&k(_)}}}function h0(t){let e;return{c(){e=y("-")},m(l,n){w(l,e,n)},p:ne,i:ne,o:ne,d(l){l&&k(e)}}}function b0(t){let e,l;return e=new jc({props:{timestamp:new Date(new Date().getTime()-t[0].u*1e3),fullTimeColor:""}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.timestamp=new Date(new Date().getTime()-n[0].u*1e3)),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function g0(t){let e;return{c(){e=m("span"),e.textContent="Update consents",u(e,"class","btn-pri-sm")},m(l,n){w(l,e,n)},p:ne,d(l){l&&k(e)}}}function Df(t){let e,l,n,i,o,r=Cs(t[1].meter.mfg)+"",a,c,f,p,_=t[1].meter.model+"",b,d,v,g,T=t[1].meter.id+"",C;return{c(){e=m("div"),l=m("strong"),l.textContent="Meter",n=h(),i=m("div"),o=y("Manufacturer: "),a=y(r),c=h(),f=m("div"),p=y("Model: "),b=y(_),d=h(),v=m("div"),g=y("ID: "),C=y(T),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(v,"class","my-2"),u(e,"class","cnt")},m($,M){w($,e,M),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,p),s(f,b),s(e,d),s(e,v),s(v,g),s(v,C)},p($,M){M&2&&r!==(r=Cs($[1].meter.mfg)+"")&&G(a,r),M&2&&_!==(_=$[1].meter.model+"")&&G(b,_),M&2&&T!==(T=$[1].meter.id+"")&&G(C,T)},d($){$&&k(e)}}}function Ef(t){let e,l,n,i,o,r=t[1].net.ip+"",a,c,f,p,_=t[1].net.mask+"",b,d,v,g,T=t[1].net.gw+"",C,$,M,F,S=t[1].net.dns1+"",N,A,E=t[1].net.dns2&&If(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Network",n=h(),i=m("div"),o=y("IP: "),a=y(r),c=h(),f=m("div"),p=y("Mask: "),b=y(_),d=h(),v=m("div"),g=y("Gateway: "),C=y(T),$=h(),M=m("div"),F=y("DNS: "),N=y(S),A=h(),E&&E.c(),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(v,"class","my-2"),u(M,"class","my-2"),u(e,"class","cnt")},m(Y,R){w(Y,e,R),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,p),s(f,b),s(e,d),s(e,v),s(v,g),s(v,C),s(e,$),s(e,M),s(M,F),s(M,N),s(M,A),E&&E.m(M,null)},p(Y,R){R&2&&r!==(r=Y[1].net.ip+"")&&G(a,r),R&2&&_!==(_=Y[1].net.mask+"")&&G(b,_),R&2&&T!==(T=Y[1].net.gw+"")&&G(C,T),R&2&&S!==(S=Y[1].net.dns1+"")&&G(N,S),Y[1].net.dns2?E?E.p(Y,R):(E=If(Y),E.c(),E.m(M,null)):E&&(E.d(1),E=null)},d(Y){Y&&k(e),E&&E.d()}}}function If(t){let e,l=t[1].net.dns2+"",n;return{c(){e=y("/ "),n=y(l)},m(i,o){w(i,e,o),w(i,n,o)},p(i,o){o&2&&l!==(l=i[1].net.dns2+"")&&G(n,l)},d(i){i&&k(e),i&&k(n)}}}function Ff(t){let e,l,n,i=t[1].upgrade.t+"",o,r,a=t[1].version+"",c,f,p=t[1].upgrade.x+"",_,b,d=t[1].upgrade.e+"",v,g;return{c(){e=m("div"),l=m("div"),n=y("Previous upgrade attempt ("),o=y(i),r=y(") does not match current version ("),c=y(a),f=y(") ["),_=y(p),b=y("/"),v=y(d),g=y("]"),u(l,"class","bd-yellow"),u(e,"class","my-2")},m(T,C){w(T,e,C),s(e,l),s(l,n),s(l,o),s(l,r),s(l,c),s(l,f),s(l,_),s(l,b),s(l,v),s(l,g)},p(T,C){C&2&&i!==(i=T[1].upgrade.t+"")&&G(o,i),C&2&&a!==(a=T[1].version+"")&&G(c,a),C&2&&p!==(p=T[1].upgrade.x+"")&&G(_,p),C&2&&d!==(d=T[1].upgrade.e+"")&&G(v,d)},d(T){T&&k(e)}}}function Rf(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,p,_=(t[1].security==0||t[0].a)&&t[1].fwconsent===1&&t[2]&&t[2].tag_name!=t[1].version&&Lf(t),b=t[1].fwconsent===2&&Of();return{c(){e=m("div"),l=y(`Latest version: - `),n=m("a"),o=y(i),a=h(),_&&_.c(),c=h(),b&&b.c(),f=Ve(),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(d,v){w(d,e,v),s(e,l),s(e,n),s(n,o),s(e,a),_&&_.m(e,null),w(d,c,v),b&&b.m(d,v),w(d,f,v),p=!0},p(d,v){(!p||v&4)&&i!==(i=d[2].tag_name+"")&&G(o,i),(!p||v&4&&r!==(r=d[2].html_url))&&u(n,"href",r),(d[1].security==0||d[0].a)&&d[1].fwconsent===1&&d[2]&&d[2].tag_name!=d[1].version?_?(_.p(d,v),v&7&&P(_,1)):(_=Lf(d),_.c(),P(_,1),_.m(e,null)):_&&(De(),I(_,1,1,()=>{_=null}),Ee()),d[1].fwconsent===2?b||(b=Of(),b.c(),b.m(f.parentNode,f)):b&&(b.d(1),b=null)},i(d){p||(P(_),p=!0)},o(d){I(_),p=!1},d(d){d&&k(e),_&&_.d(),d&&k(c),b&&b.d(d),d&&k(f)}}}function Lf(t){let e,l,n,i,o,r;return n=new Wc({}),{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,c){w(a,e,c),s(e,l),Q(n,l,null),i=!0,o||(r=V(l,"click",t[10]),o=!0)},p:ne,i(a){i||(P(n.$$.fragment,a),i=!0)},o(a){I(n.$$.fragment,a),i=!1},d(a){a&&k(e),X(n),o=!1,r()}}}function Of(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){w(l,e,n)},d(l){l&&k(e)}}}function qf(t){let e,l=Ts(ce(t[1].chip,t[1].board))+"",n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&2&&l!==(l=Ts(ce(i[1].chip,i[1].board))+"")&&G(n,l)},d(i){i&&k(e)}}}function Uf(t){let e,l,n,i,o,r;function a(p,_){return p[4].length==0?w0:k0}let c=a(t),f=c(t);return{c(){e=m("div"),l=m("form"),n=m("input"),i=h(),f.c(),ec(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,_){w(p,e,_),s(e,l),s(l,n),t[12](n),s(l,i),f.m(l,null),o||(r=[V(n,"change",t[13]),V(l,"submit",t[15])],o=!0)},p(p,_){c===(c=a(p))&&f?f.p(p,_):(f.d(1),f=c(p),f&&(f.c(),f.m(l,null)))},d(p){p&&k(e),t[12](null),f.d(),o=!1,Be(r)}}}function k0(t){let e=t[4][0].name+"",l,n,i;return{c(){l=y(e),n=h(),i=m("button"),i.textContent="Upload",u(i,"type","submit"),u(i,"class","btn-pri-sm float-right")},m(o,r){w(o,l,r),w(o,n,r),w(o,i,r)},p(o,r){r&16&&e!==(e=o[4][0].name+"")&&G(l,e)},d(o){o&&k(l),o&&k(n),o&&k(i)}}}function w0(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){w(i,e,o),l||(n=V(e,"click",t[14]),l=!0)},p:ne,d(i){i&&k(e),l=!1,n()}}}function Hf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g=t[9],T=[];for(let S=0;S Include Secrets
(SSID, PSK, passwords and tokens)',c=h(),C&&C.c(),f=h(),p=m("form"),_=m("input"),b=h(),F.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"),ec(_,"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(S,N){w(S,e,N),s(e,l),s(e,n),s(e,i),s(i,o);for(let A=0;A{se=null}),Ee());const ue={};oe&8388608&&(ue.$$scope={dirty:oe,ctx:x}),Y.$set(ue),x[1].meter?Fe?Fe.p(x,oe):(Fe=Df(x),Fe.c(),Fe.m(e,z)):Fe&&(Fe.d(1),Fe=null),x[1].net?Le?Le.p(x,oe):(Le=Ef(x),Le.c(),Le.m(e,q)):Le&&(Le.d(1),Le=null),(!ae||oe&2)&&te!==(te=x[1].version+"")&&G(le,te),x[1].upgrade.t&&x[1].upgrade.t!=x[1].version?_e?_e.p(x,oe):(_e=Ff(x),_e.c(),_e.m(L,ie)):_e&&(_e.d(1),_e=null),x[2]?Ce?(Ce.p(x,oe),oe&4&&P(Ce,1)):(Ce=Rf(x),Ce.c(),P(Ce,1),Ce.m(L,Pe)):Ce&&(De(),I(Ce,1,1,()=>{Ce=null}),Ee()),oe&3&&(je=(x[1].security==0||x[0].a)&&ui(x[1].board)),je?Ne?Ne.p(x,oe):(Ne=qf(x),Ne.c(),Ne.m(L,Ae)):Ne&&(Ne.d(1),Ne=null),x[1].security==0||x[0].a?de?de.p(x,oe):(de=Uf(x),de.c(),de.m(L,null)):de&&(de.d(1),de=null),x[1].security==0||x[0].a?Te?Te.p(x,oe):(Te=Hf(x),Te.c(),Te.m(e,null)):Te&&(Te.d(1),Te=null);const ve={};oe&32&&(ve.active=x[5]),ye.$set(ve);const dt={};oe&256&&(dt.active=x[8]),ge.$set(dt)},i(x){ae||(P(T.$$.fragment,x),P(se),P(Y.$$.fragment,x),P(Ce),P(ye.$$.fragment,x),P(ge.$$.fragment,x),ae=!0)},o(x){I(T.$$.fragment,x),I(se),I(Y.$$.fragment,x),I(Ce),I(ye.$$.fragment,x),I(ge.$$.fragment,x),ae=!1},d(x){x&&k(e),X(T),se&&se.d(),X(Y),Fe&&Fe.d(),Le&&Le.d(),_e&&_e.d(),Ce&&Ce.d(),Ne&&Ne.d(),de&&de.d(),Te&&Te.d(),x&&k(be),X(ye,x),x&&k(Re),X(ge,x),$e=!1,J()}}}async function T0(){await(await fetch("/reboot",{method:"POST"})).json()}function S0(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:"NTP",key:"in"},{name:"Price API",key:"is"}],r={};To.subscribe(A=>{l(2,r=Hc(i.version,A)),r||l(2,r=A[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(Ts(ce(i.chip,i.board))))&&(Ut.update(A=>(A.upgrading=!0,A)),Uc(r.tag_name))}const c=function(){confirm("Are you sure you want to reboot the device?")&&(Ut.update(A=>(A.booting=!0,A)),T0())};let f,p=[],_=!1,b,d=[],v=!1;wo();function g(A){ys[A?"unshift":"push"](()=>{f=A,l(3,f)})}function T(){p=this.files,l(4,p)}const C=()=>{f.click()},$=()=>l(5,_=!0);function M(A){ys[A?"unshift":"push"](()=>{b=A,l(6,b)})}function F(){d=this.files,l(7,d)}const S=()=>{b.click()},N=()=>l(8,v=!0);return t.$$set=A=>{"data"in A&&l(0,n=A.data),"sysinfo"in A&&l(1,i=A.sysinfo)},[n,i,r,f,p,_,b,d,v,o,a,c,g,T,C,$,M,F,S,N]}class M0 extends Me{constructor(e){super(),Se(this,e,S0,C0,we,{data:0,sysinfo:1})}}function Gf(t){let e,l,n=ce(t[0],7)+"",i,o,r=ce(t[0],5)+"",a,c,f=ce(t[0],4)+"",p,_,b=ce(t[0],3)+"",d,v,g,T,C=ce(t[0],2)+"",$,M,F=ce(t[0],1)+"",S,N,A=ce(t[0],0)+"",E,Y,R,U,H=ce(t[0],101)+"",z,q,L=ce(t[0],100)+"",B;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=m("option"),d=y(b),v=h(),g=m("optgroup"),T=m("option"),$=y(C),M=m("option"),S=y(F),N=m("option"),E=y(A),Y=h(),R=m("optgroup"),U=m("option"),z=y(H),q=m("option"),B=y(L),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"),T.__value=2,T.value=T.__value,M.__value=1,M.value=M.__value,N.__value=0,N.value=N.__value,u(g,"label","Custom hardware"),U.__value=101,U.value=U.__value,q.__value=100,q.value=q.__value,u(R,"label","Generic hardware")},m(O,j){w(O,e,j),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),s(e,_),s(_,d),w(O,v,j),w(O,g,j),s(g,T),s(T,$),s(g,M),s(M,S),s(g,N),s(N,E),w(O,Y,j),w(O,R,j),s(R,U),s(U,z),s(R,q),s(q,B)},p(O,j){j&1&&n!==(n=ce(O[0],7)+"")&&G(i,n),j&1&&r!==(r=ce(O[0],5)+"")&&G(a,r),j&1&&f!==(f=ce(O[0],4)+"")&&G(p,f),j&1&&b!==(b=ce(O[0],3)+"")&&G(d,b),j&1&&C!==(C=ce(O[0],2)+"")&&G($,C),j&1&&F!==(F=ce(O[0],1)+"")&&G(S,F),j&1&&A!==(A=ce(O[0],0)+"")&&G(E,A),j&1&&H!==(H=ce(O[0],101)+"")&&G(z,H),j&1&&L!==(L=ce(O[0],100)+"")&&G(B,L)},d(O){O&&k(e),O&&k(v),O&&k(g),O&&k(Y),O&&k(R)}}}function Bf(t){let e,l,n=ce(t[0],201)+"",i,o,r=ce(t[0],202)+"",a,c,f=ce(t[0],203)+"",p,_,b=ce(t[0],200)+"",d;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=m("option"),d=y(b),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(v,g){w(v,e,g),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),s(e,_),s(_,d)},p(v,g){g&1&&n!==(n=ce(v[0],201)+"")&&G(i,n),g&1&&r!==(r=ce(v[0],202)+"")&&G(a,r),g&1&&f!==(f=ce(v[0],203)+"")&&G(p,f),g&1&&b!==(b=ce(v[0],200)+"")&&G(d,b)},d(v){v&&k(e)}}}function zf(t){let e,l,n=ce(t[0],7)+"",i,o,r=ce(t[0],6)+"",a,c,f=ce(t[0],5)+"",p,_,b,d,v=ce(t[0],51)+"",g,T,C=ce(t[0],50)+"",$;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=h(),b=m("optgroup"),d=m("option"),g=y(v),T=m("option"),$=y(C),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"),d.__value=51,d.value=d.__value,T.__value=50,T.value=T.__value,u(b,"label","Generic hardware")},m(M,F){w(M,e,F),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),w(M,_,F),w(M,b,F),s(b,d),s(d,g),s(b,T),s(T,$)},p(M,F){F&1&&n!==(n=ce(M[0],7)+"")&&G(i,n),F&1&&r!==(r=ce(M[0],6)+"")&&G(a,r),F&1&&f!==(f=ce(M[0],5)+"")&&G(p,f),F&1&&v!==(v=ce(M[0],51)+"")&&G(g,v),F&1&&C!==(C=ce(M[0],50)+"")&&G($,C)},d(M){M&&k(e),M&&k(_),M&&k(b)}}}function Yf(t){let e,l,n=ce(t[0],8)+"",i,o,r,a,c=ce(t[0],71)+"",f,p,_=ce(t[0],70)+"",b;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=h(),r=m("optgroup"),a=m("option"),f=y(c),p=m("option"),b=y(_),l.__value=8,l.value=l.__value,u(e,"label","Custom hardware"),a.__value=71,a.value=a.__value,p.__value=70,p.value=p.__value,u(r,"label","Generic hardware")},m(d,v){w(d,e,v),s(e,l),s(l,i),w(d,o,v),w(d,r,v),s(r,a),s(a,f),s(r,p),s(p,b)},p(d,v){v&1&&n!==(n=ce(d[0],8)+"")&&G(i,n),v&1&&c!==(c=ce(d[0],71)+"")&&G(f,c),v&1&&_!==(_=ce(d[0],70)+"")&&G(b,_)},d(d){d&&k(e),d&&k(o),d&&k(r)}}}function Vf(t){let e,l,n=ce(t[0],200)+"",i;return{c(){e=m("optgroup"),l=m("option"),i=y(n),l.__value=200,l.value=l.__value,u(e,"label","Generic hardware")},m(o,r){w(o,e,r),s(e,l),s(l,i)},p(o,r){r&1&&n!==(n=ce(o[0],200)+"")&&G(i,n)},d(o){o&&k(e)}}}function P0(t){let e,l,n,i,o,r,a,c=t[0]=="esp8266"&&Gf(t),f=t[0]=="esp32"&&Bf(t),p=t[0]=="esp32s2"&&zf(t),_=t[0]=="esp32c3"&&Yf(t),b=t[0]=="esp32solo"&&Vf(t);return{c(){e=m("option"),l=h(),c&&c.c(),n=h(),f&&f.c(),i=h(),p&&p.c(),o=h(),_&&_.c(),r=h(),b&&b.c(),a=Ve(),e.__value=-1,e.value=e.__value},m(d,v){w(d,e,v),w(d,l,v),c&&c.m(d,v),w(d,n,v),f&&f.m(d,v),w(d,i,v),p&&p.m(d,v),w(d,o,v),_&&_.m(d,v),w(d,r,v),b&&b.m(d,v),w(d,a,v)},p(d,[v]){d[0]=="esp8266"?c?c.p(d,v):(c=Gf(d),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null),d[0]=="esp32"?f?f.p(d,v):(f=Bf(d),f.c(),f.m(i.parentNode,i)):f&&(f.d(1),f=null),d[0]=="esp32s2"?p?p.p(d,v):(p=zf(d),p.c(),p.m(o.parentNode,o)):p&&(p.d(1),p=null),d[0]=="esp32c3"?_?_.p(d,v):(_=Yf(d),_.c(),_.m(r.parentNode,r)):_&&(_.d(1),_=null),d[0]=="esp32solo"?b?b.p(d,v):(b=Vf(d),b.c(),b.m(a.parentNode,a)):b&&(b.d(1),b=null)},i:ne,o:ne,d(d){d&&k(e),d&&k(l),c&&c.d(d),d&&k(n),f&&f.d(d),d&&k(i),p&&p.d(d),d&&k(o),_&&_.d(d),d&&k(r),b&&b.d(d),d&&k(a)}}}function N0(t,e,l){let{chip:n}=e;return t.$$set=i=>{"chip"in i&&l(0,n=i.chip)},[n]}class A0 extends Me{constructor(e){super(),Se(this,e,N0,P0,we,{chip:0})}}function Kf(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){w(l,e,n)},d(l){l&&k(e)}}}function Qf(t){let e,l,n,i,o,r,a;return r=new Bc({props:{chip:t[0].chip}}),{c(){e=m("div"),l=y("HAN GPIO"),n=m("br"),i=h(),o=m("select"),Z(r.$$.fragment),u(o,"name","vh"),u(o,"class","in-s"),u(e,"class","my-3")},m(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),Q(r,o,null),a=!0},p(c,f){const p={};f&1&&(p.chip=c[0].chip),r.$set(p)},i(c){a||(P(r.$$.fragment,c),a=!0)},o(c){I(r.$$.fragment,c),a=!1},d(c){c&&k(e),X(r)}}}function D0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q=t[0].usrcfg&&Kf();v=new A0({props:{chip:t[0].chip}});let L=t[0].board&&t[0].board>20&&Qf(t);return R=new Dt({props:{active:t[1],message:"Saving device configuration"}}),{c(){e=m("div"),l=m("div"),n=m("form"),i=m("input"),o=h(),r=m("strong"),r.textContent="Initial configuration",a=h(),q&&q.c(),c=h(),f=m("div"),p=y("Board type"),_=m("br"),b=h(),d=m("select"),Z(v.$$.fragment),g=h(),L&&L.c(),T=h(),C=m("div"),$=m("label"),M=m("input"),F=y(" Clear all other configuration"),S=h(),N=m("div"),N.innerHTML='',A=h(),E=m("span"),E.textContent=" ",Y=h(),Z(R.$$.fragment),u(i,"type","hidden"),u(i,"name","v"),i.value="true",u(r,"class","text-sm"),u(d,"name","vb"),u(d,"class","in-s"),t[0].board===void 0&&tt(()=>t[4].call(d)),u(f,"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(C,"class","my-3"),u(N,"class","my-3"),u(E,"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(B,O){w(B,e,O),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),q&&q.m(n,null),s(n,c),s(n,f),s(f,p),s(f,_),s(f,b),s(f,d),Q(v,d,null),qe(d,t[0].board,!0),s(n,g),L&&L.m(n,null),s(n,T),s(n,C),s(C,$),s($,M),M.checked=t[2],s($,F),s(n,S),s(n,N),s(n,A),s(n,E),w(B,Y,O),Q(R,B,O),U=!0,H||(z=[V(d,"change",t[4]),V(M,"change",t[5]),V(n,"submit",Ss(t[3]))],H=!0)},p(B,[O]){B[0].usrcfg?q||(q=Kf(),q.c(),q.m(n,c)):q&&(q.d(1),q=null);const j={};O&1&&(j.chip=B[0].chip),v.$set(j),O&1&&qe(d,B[0].board),B[0].board&&B[0].board>20?L?(L.p(B,O),O&1&&P(L,1)):(L=Qf(B),L.c(),P(L,1),L.m(n,T)):L&&(De(),I(L,1,1,()=>{L=null}),Ee()),O&4&&(M.checked=B[2]);const W={};O&2&&(W.active=B[1]),R.$set(W)},i(B){U||(P(v.$$.fragment,B),P(L),P(R.$$.fragment,B),U=!0)},o(B){I(v.$$.fragment,B),I(L),I(R.$$.fragment,B),U=!1},d(B){B&&k(e),q&&q.d(),X(v),L&&L.d(),B&&k(Y),X(R,B),H=!1,Be(z)}}}function E0(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(f){l(1,i=!0);const p=new FormData(f.target),_=new URLSearchParams;for(let v of p){const[g,T]=v;_.append(g,T)}let d=await(await fetch("/save",{method:"POST",body:_})).json();l(1,i=!1),Ut.update(v=>(v.vndcfg=d.success,v.booting=d.reboot,v)),oi(n.usrcfg?"/":"/setup")}let r=!1;function a(){n.board=_t(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 I0 extends Me{constructor(e){super(),Se(this,e,E0,D0,we,{sysinfo:0})}}function Xf(t){let e,l,n,i,o,r,a,c;return a=new zc({}),{c(){e=m("br"),l=h(),n=m("div"),i=m("input"),o=h(),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(f,p){w(f,e,p),w(f,l,p),w(f,n,p),s(n,i),s(n,o),s(n,r),Q(a,r,null),c=!0},p(f,p){(!c||p&2)&&(i.required=f[1]),(!c||p&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&&k(e),f&&k(l),f&&k(n),X(a)}}}function Zf(t){let e;return{c(){e=m("div"),e.innerHTML=`
Gateway
+Occurred in: ${i}`:"",r=go(t),a=oc(e)?e(r):e;return`<${r}> ${a}${o}`}const kc=t=>(...e)=>t(S1(...e)),wc=kc(t=>{throw new Error(t)}),$s=kc(console.warn),jr=4,M1=3,P1=2,N1=1,D1=1;function A1(t,e){const l=t.default?0:ml(t.fullPath).reduce((n,i)=>{let o=n;return o+=jr,h1(i)?o+=D1:b1(i)?o+=P1:_c(i)?o-=jr+N1:o+=M1,o},0);return{route:t,score:l,index:e}}function E1(t){return t.map(A1).sort((e,l)=>e.scorel.score?-1:e.index-l.index)}function yc(t,e){let l,n;const[i]=e.split("?"),o=ml(i),r=o[0]==="",a=E1(t);for(let c=0,f=a.length;c({...p,params:b,uri:C});if(p.default){n=d(e);continue}const v=ml(p.fullPath),g=Math.max(o.length,v.length);let T=0;for(;T{f===".."?c.pop():f!=="."&&c.push(f)}),Ks(`/${c.join("/")}`,n)}function Wr(t,e){const{pathname:l,hash:n="",search:i="",state:o}=t,r=ml(e,!0),a=ml(l,!0);for(;r.length;)r[0]!==a[0]&&wc(mn,`Invalid state: All locations must begin with the basepath "${e}", found "${l}"`),r.shift(),a.shift();return{pathname:Ni(...a),hash:n,search:i,state:o}}const Gr=t=>t.length===1?"":t,ko=t=>{const e=t.indexOf("?"),l=t.indexOf("#"),n=e!==-1,i=l!==-1,o=i?Gr(wi(t,l)):"",r=i?wi(t,0,l):t,a=n?Gr(wi(r,e)):"";return{pathname:(n?wi(r,0,e):r)||"/",search:a,hash:o}},F1=t=>{const{pathname:e,search:l,hash:n}=t;return e+l+n};function R1(t,e,l){return Ni(l,I1(t,e))}function L1(t,e){const l=ho(g1(t)),n=ml(l,!0),i=ml(e,!0).slice(0,n.length),o=$c({fullPath:l},Ni(...i));return o&&o.uri}const Vs="POP",O1="PUSH",q1="REPLACE";function Qs(t){return{...t.location,pathname:encodeURI(decodeURI(t.location.pathname)),state:t.history.state,_key:t.history.state&&t.history.state._key||"initial"}}function U1(t){let e=[],l=Qs(t),n=Vs;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=Qs(t),n=Vs,i([o])};i([o]);const a=ac(t,"popstate",r);return()=>{a(),e=e.filter(c=>c!==o)}},navigate(o,r){const{state:a={},replace:c=!1}=r||{};if(n=c?q1:O1,uc(o))r&&$s(gc,"Navigation options (state or replace) are not supported, when passing a number as the first argument to navigate. They are ignored."),n=Vs,t.history.go(o);else{const f={...a,_key:p1()};try{t.history[c?"replaceState":"pushState"](f,"",o)}catch{t.location[c?"replace":"assign"](o)}}l=Qs(t),i()}}}function Xs(t,e){return{...ko(e),state:t}}function H1(t="/"){let e=0,l=[Xs(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(Xs(n,o))},replaceState(n,i,o){l[e]=Xs(n,o)},go(n){const i=e+n;i<0||i>l.length-1||(e=i)}}}}const j1=!!(!Hl&&window.document&&window.document.createElement),W1=!Hl&&window.location.origin==="null",Cc=U1(j1&&!W1?window:H1()),{navigate:oi}=Cc;let Sl=null,Tc=!0;function G1(t,e){const l=document.querySelectorAll("[data-svnav-router]");for(let n=0;nSl.level||t.level===Sl.level&&G1(t.routerId,Sl.routerId))&&(Sl=t)}function z1(){Sl=null}function Y1(){Tc=!1}function Br(t){if(!t)return!1;const e="tabindex";try{if(!t.hasAttribute(e)){t.setAttribute(e,"-1");let l;l=ac(t,"blur",()=>{t.removeAttribute(e),l()})}return t.focus(),document.activeElement===t}catch{return!1}}function K1(t,e){return Number(t.dataset.svnavRouteEnd)===e}function V1(t){return/^H[1-6]$/i.test(t.tagName)}function zr(t,e=document){return e.querySelector(t)}function Q1(t){let l=zr(`[data-svnav-route-start="${t}"]`).nextElementSibling;for(;!K1(l,t);){if(V1(l))return l;const n=zr("h1,h2,h3,h4,h5,h6",l);if(n)return n;l=l.nextElementSibling}return null}function X1(t){Promise.resolve(ri(t.focusElement)).then(e=>{const l=e||Q1(t.id);l||$s(mn,`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,Ms),!Br(l)&&Br(document.documentElement)})}const Z1=(t,e,l)=>(n,i)=>r1().then(()=>{if(!Sl||Tc){Y1();return}if(n&&X1(Sl.route),t.announcements&&i){const{path:o,fullPath:r,meta:a,params:c,uri:f}=Sl.route,p=t.createAnnouncement({path:o,fullPath:r,meta:a,params:c,uri:f},ri(l));Promise.resolve(p).then(_=>{e.set(_)})}z1()}),J1="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 x1(t){let e,l,n=[{role:"status"},{"aria-atomic":"true"},{"aria-live":"polite"},{"data-svnav-announcer":""},fc(t[6],J1)],i={};for(let o=0;o`Navigated to ${le.uri}`,announcements:!0,...v},C=p,$=ho(p),M=Ul(eo),F=Ul(fi),S=!M,N=tm(),D=d&&!(F&&!F.manageFocus),E=rt("");al(t,E,le=>l(0,a=le));const Y=F?F.disableInlineStyles:g,R=rt([]);al(t,R,le=>l(20,r=le));const U=rt(null);al(t,U,le=>l(18,i=le));let H=!1;const z=S?0:F.level+1,L=S?rt((()=>Wr(Hl?ko(_):b.location,$))()):M;al(t,L,le=>l(17,n=le));const B=rt(n);al(t,B,le=>l(19,o=le));const O=Z1(T,E,L),j=le=>pe=>pe.filter(ie=>ie.id!==le);function G(le){if(Hl){if(H)return;const pe=$c(le,n.pathname);if(pe)return H=!0,pe}else R.update(pe=>{const ie=j(le.id)(pe);return ie.push(le),ie})}function te(le){R.update(j(le))}return!S&&p!==Yr&&$s(mn,'Only top-level Routers can have a "basepath" prop. It is ignored.',{basepath:p}),S&&(s1(()=>b.listen(pe=>{const ie=Wr(pe.location,$);B.set(n),L.set(ie)})),Ti(eo,L)),Ti(fi,{activeRoute:U,registerRoute:G,unregisterRoute:te,manageFocus:D,level:z,id:N,history:S?b:F.history,basepath:S?$:F.basepath,disableInlineStyles:Y}),t.$$set=le=>{"basepath"in le&&l(11,p=le.basepath),"url"in le&&l(12,_=le.url),"history"in le&&l(13,b=le.history),"primary"in le&&l(14,d=le.primary),"a11y"in le&&l(15,v=le.a11y),"disableInlineStyles"in le&&l(16,g=le.disableInlineStyles),"$$scope"in le&&l(21,f=le.$$scope)},t.$$.update=()=>{if(t.$$.dirty[0]&2048&&p!==C&&$s(mn,'You cannot change the "basepath" prop. It is ignored.'),t.$$.dirty[0]&1179648){const le=yc(r,n.pathname);U.set(le)}if(t.$$.dirty[0]&655360&&S){const le=!!n.hash,pe=!le&&D,ie=!le||n.pathname!==o.pathname;O(pe,ie)}t.$$.dirty[0]&262144&&D&&i&&i.primary&&B1({level:z,routerId:N,route:i})},[a,T,S,N,D,E,Y,R,U,L,B,p,_,b,d,v,g,n,i,o,r,f,c]}class nm extends Me{constructor(e){super(),Se(this,e,lm,em,we,{basepath:11,url:12,history:13,primary:14,a11y:15,disableInlineStyles:16},null,[-1,-1])}}const Sc=nm;function Di(t,e,l=fi,n=mn){Ul(l)||wc(t,o=>`You cannot use ${o} outside of a ${go(n)}.`,e)}const im=t=>{const{subscribe:e}=Ul(t);return{subscribe:e}};function Mc(){return Di(vc),im(eo)}function Pc(){const{history:t}=Ul(fi);return t}function Nc(){const t=Ul(mc);return t?_1(t,e=>e.base):rt("/")}function Dc(){Di(bc);const t=Nc(),{basepath:e}=Ul(fi);return n=>R1(n,ri(t),e)}function sm(){Di(hc);const t=Dc(),{navigate:e}=Pc();return(n,i)=>{const o=uc(n)?n:t(n);return e(o,i)}}const om=t=>({params:t&16,location:t&8}),Kr=t=>({params:Hl?ri(t[10]):t[4],location:t[3],navigate:t[11]});function Vr(t){let e,l;return e=new Sc({props:{primary:t[1],$$slots:{default:[am]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function um(t){let e;const l=t[18].default,n=mo(l,t,t[19],Kr);return{c(){n&&n.c()},m(i,o){n&&n.m(i,o),e=!0},p(i,o){n&&n.p&&(!e||o&524312)&&_o(n,l,i,i[19],e?po(l,i[19],o,om):vo(i[19]),Kr)},i(i){e||(P(n,i),e=!0)},o(i){I(n,i),e=!1},d(i){n&&n.d(i)}}}function rm(t){let e,l,n;const i=[{location:t[3]},{navigate:t[11]},Hl?ri(t[10]):t[4],t[12]];var o=t[0];function r(a){let c={};for(let f=0;f{X(p,1)}),Ee()}o?(e=Or(o,r()),Z(e.$$.fragment),P(e.$$.fragment,1),Q(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&&k(l),e&&X(e,a)}}}function am(t){let e,l,n,i;const o=[rm,um],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=Ke()},m(c,f){r[e].m(c,f),w(c,n,f),i=!0},p(c,f){let p=e;e=a(c),e===p?r[e].p(c,f):(Ae(),I(r[p],1,1,()=>{r[p]=null}),Ee(),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&&k(n)}}}function fm(t){let e,l,n,i,o,r=[xs(t[7]),{"data-svnav-route-start":t[5]}],a={};for(let _=0;_{c=null}),Ee())},i(_){o||(P(c),o=!0)},o(_){I(c),o=!1},d(_){_&&k(e),_&&k(l),c&&c.d(_),_&&k(n),_&&k(i)}}}const cm=rc();function mm(t,e,l){let n;const i=["path","component","meta","primary"];let o=ws(e,i),r,a,c,f,{$$slots:p={},$$scope:_}=e,{path:b=""}=e,{component:d=null}=e,{meta:v={}}=e,{primary:g=!0}=e;Di(Ms,e);const T=cm(),{registerRoute:C,unregisterRoute:$,activeRoute:M,disableInlineStyles:F}=Ul(fi);al(t,M,H=>l(16,r=H));const S=Nc();al(t,S,H=>l(17,c=H));const N=Mc();al(t,N,H=>l(3,a=H));const D=rt(null);let E;const Y=rt(),R=rt({});al(t,R,H=>l(4,f=H)),Ti(mc,Y),Ti(d1,R),Ti(v1,D);const U=sm();return Hl||o1(()=>$(T)),t.$$set=H=>{l(24,e=xt(xt({},e),ks(H))),l(12,o=ws(e,i)),"path"in H&&l(13,b=H.path),"component"in H&&l(0,d=H.component),"meta"in H&&l(14,v=H.meta),"primary"in H&&l(1,g=H.primary),"$$scope"in H&&l(19,_=H.$$scope)},t.$$.update=()=>{if(t.$$.dirty&155658){const H=b==="",z=Ni(c,b),q={id:T,path:b,meta:v,default:H,fullPath:H?"":z,base:H?c:L1(z,a.pathname),primary:g,focusElement:D};Y.set(q),l(15,E=C(q))}if(t.$$.dirty&98304&&l(2,n=!!(E||r&&r.id===T)),t.$$.dirty&98308&&n){const{params:H}=E||r;R.set(H)}},e=ks(e),[d,g,n,a,f,T,M,F,S,N,R,U,o,b,v,E,r,c,p,_]}class pm extends Me{constructor(e){super(),Se(this,e,mm,fm,we,{path:13,component:0,meta:14,primary:1})}}const Tl=pm;function _m(t){let e,l,n,i;const o=t[13].default,r=mo(o,t,t[12],null);let a=[{href:t[0]},t[2],t[1]],c={};for(let f=0;fl(11,_=D));const M=u1(),F=Dc(),{navigate:S}=Pc();function N(D){M("click",D),m1(D)&&(D.preventDefault(),S(n,{state:T,replace:r||g}))}return t.$$set=D=>{l(19,e=xt(xt({},e),ks(D))),l(18,p=ws(e,f)),"to"in D&&l(5,v=D.to),"replace"in D&&l(6,g=D.replace),"state"in D&&l(7,T=D.state),"getProps"in D&&l(8,C=D.getProps),"$$scope"in D&&l(12,d=D.$$scope)},t.$$.update=()=>{t.$$.dirty&2080&&l(0,n=F(v,_)),t.$$.dirty&2049&&l(10,i=to(_.pathname,n)),t.$$.dirty&2049&&l(9,o=n===_.pathname),t.$$.dirty&2049&&(r=ko(n)===F1(_)),t.$$.dirty&512&&l(2,a=o?{"aria-current":"page"}:{}),l(1,c=(()=>{if(oc(C)){const D=C({location:_,href:n,isPartiallyCurrent:i,isCurrent:o});return{...p,...D}}return p})())},e=ks(e),[n,c,a,$,N,v,g,T,C,o,i,_,d,b]}class vm extends Me{constructor(e){super(),Se(this,e,dm,_m,we,{to:5,replace:6,state:7,getProps:8})}}const el=vm;let lo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ql(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function hm(t){return t>218&&t<242?"#32d900":t>212&&t<248?"#b1d900":t>208&&t<252?"#ffb800":"#d90000"}function Ac(t){return t>90?"#d90000":t>85?"#e32100":t>80?"#ffb800":t>75?"#dcd800":"#32d900"}function bm(t){return t>75?"#32d900":t>50?"#77d900":t>25?"#94d900":"#dcd800"}function Cs(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 Ie(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function ce(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"µHAN 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 Qr(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 for at least 30s";case 91:return"Serial break";case 92:return"Serial buffer full";case 93:return"Serial FIFO overflow";case 94:return"Serial frame error";case 95:return"Serial parity error";case 96:return"RX error";case 98:return"Exception in code, debugging necessary";case 99:return"Autodetection failed"}return t<0?"Unspecified error "+t:""}function Xr(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 Zr(t){switch(t){case 400:return"Unrecognized data in request";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 429:return"Exceeded API rate limit";case 500:return"Internal server error";case-1:return"Connection 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 ui(t){switch(t){case 2:case 4:case 7:return!0}return!1}function Ye(t,e){return t==1||t==2&&e}function qt(t){return"https://github.com/UtilitechAS/amsreader-firmware/wiki/"+t}function me(t,e){return isNaN(t)?"-":(isNaN(e)&&(e=t<10?1:0),t.toFixed(e))}function fl(t,e){return t.setTime(t.getTime()+e*36e5),t}function Jr(t){if(t.chip=="esp8266")switch(t.boot_reason){case 0:return"Normal";case 1:return"WDT reset";case 2:return"Exception reset";case 3:return"Soft WDT reset";case 4:return"Software restart";case 5:return"Deep sleep";case 6:return"External reset";default:return"Unknown (8266)"}else switch(t.boot_reason){case 1:return"Vbat power on reset";case 3:return"Software reset";case 4:return"WDT reset";case 5:return"Deep sleep";case 6:return"SLC reset";case 7:return"Timer Group0 WDT reset";case 8:return"Timer Group1 WDT reset";case 9:return"RTC WDT reset";case 10:return"Instrusion test reset CPU";case 11:return"Time Group reset CPU";case 12:return"Software reset CPU";case 13:return"RTC WTD reset CPU";case 14:return"PRO CPU";case 15:return"Brownout";case 16:return"RTC reset";default:return"Unknown"}}function xr(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energy Data Service":t=="MIX"?"Mixed sources":"Unknown ("+t+")"}async function jl(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 rl={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null};const Ut=rt(rl);async function wo(){rl=await(await jl("/sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),Ut.set(rl)}let hs=0,ea=-127,ta=null,gm={};const km=cc(gm,t=>{let e;async function l(){jl("/data.json").then(n=>n.json()).then(n=>{t(n),ea!=n.t&&(ea=n.t,setTimeout(Lc,2e3)),ta==null&&n.pe&&n.p!=null&&(ta=n.p,Ic()),rl.upgrading?window.location.reload():(!rl||!rl.chip||rl.booting||hs>1&&!ui(rl.board))&&(wo(),rn&&clearTimeout(rn),rn=setTimeout($o,2e3),an&&clearTimeout(an),an=setTimeout(Co,3e3));let i=5e3;if(ui(rl.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),hs=0}).catch(n=>{hs++,hs>3?(t({em:3,hm:0,wm:0,mm:0}),e=setTimeout(l,15e3)):e=setTimeout(l,ui(rl.board)?1e4:5e3)})}return l(),function(){clearTimeout(e)}});let no={},yi;const yo=rt(no);async function Ec(){let t=!1;yo.update(e=>{for(var l=0;l<36;l++){if(e[Ie(l)]==null){t=l<12;break}e[Ie(l)]=e[Ie(l+1)]}return e}),t?Ic():yi=setTimeout(Ec,(60-new Date().getMinutes())*6e4)}async function Ic(){yi&&(clearTimeout(yi),yi=0),no=await(await jl("/energyprice.json")).json(),yo.set(no),yi=setTimeout(Ec,(60-new Date().getMinutes())*6e4)}let io={},rn;async function $o(){rn&&(clearTimeout(rn),rn=0),io=await(await jl("/dayplot.json")).json(),Fc.set(io),rn=setTimeout($o,(60-new Date().getMinutes())*6e4+20)}const Fc=rt(io,t=>($o(),function(){}));let so={},an;async function Co(){an&&(clearTimeout(an),an=0),so=await(await jl("/monthplot.json")).json(),Rc.set(so),an=setTimeout(Co,(24-new Date().getHours())*36e5+40)}const Rc=rt(so,t=>(Co(),function(){}));let oo={};async function Lc(){oo=await(await jl("/temperature.json")).json(),Oc.set(oo)}const Oc=rt(oo,t=>(Lc(),function(){}));let uo={},bs;async function qc(){bs&&(clearTimeout(bs),bs=0),uo=await(await jl("/tariff.json")).json(),Uc.set(uo),bs=setTimeout(qc,(60-new Date().getMinutes())*6e4+30)}const Uc=rt(uo,t=>function(){});let ro=[];const To=rt(ro);async function wm(){ro=await(await jl("https://api.github.com/repos/UtilitechAS/amsreader-firmware/releases")).json(),To.set(ro)}function Ts(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 Hc(t){await(await fetch("/upgrade?expected_version="+t,{method:"POST"})).json()}function jc(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 p=0;po&&(a=_):g==i+1&&(c=_);else if(v==n+1)if(f){let C=f.tag_name.substring(1).split(".");parseInt(C[0]);let $=parseInt(C[1]);parseInt(C[2]),g==$&&(f=_)}else f=_}return c||f||a||!1}else return e[0]}const ym="/github.svg";function la(t){let e,l;function n(r,a){return r[1]>1?Nm:r[1]>0?Pm:r[2]>1?Mm:r[2]>0?Sm:r[3]>1?Tm:r[3]>0?Cm:$m}let i=n(t),o=i(t);return{c(){e=y(`Up + `),o.c(),l=Ke()},m(r,a){w(r,e,a),o.m(r,a),w(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&&k(e),o.d(r),r&&k(l)}}}function $m(t){let e,l;return{c(){e=y(t[0]),l=y(" seconds")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&1&&W(e,n[0])},d(n){n&&k(e),n&&k(l)}}}function Cm(t){let e,l;return{c(){e=y(t[3]),l=y(" minute")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&8&&W(e,n[3])},d(n){n&&k(e),n&&k(l)}}}function Tm(t){let e,l;return{c(){e=y(t[3]),l=y(" minutes")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&8&&W(e,n[3])},d(n){n&&k(e),n&&k(l)}}}function Sm(t){let e,l;return{c(){e=y(t[2]),l=y(" hour")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&4&&W(e,n[2])},d(n){n&&k(e),n&&k(l)}}}function Mm(t){let e,l;return{c(){e=y(t[2]),l=y(" hours")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&4&&W(e,n[2])},d(n){n&&k(e),n&&k(l)}}}function Pm(t){let e,l;return{c(){e=y(t[1]),l=y(" day")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&2&&W(e,n[1])},d(n){n&&k(e),n&&k(l)}}}function Nm(t){let e,l;return{c(){e=y(t[1]),l=y(" days")},m(n,i){w(n,e,i),w(n,l,i)},p(n,i){i&2&&W(e,n[1])},d(n){n&&k(e),n&&k(l)}}}function Dm(t){let e,l=t[0]&&la(t);return{c(){l&&l.c(),e=Ke()},m(n,i){l&&l.m(n,i),w(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=la(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ne,o:ne,d(n){l&&l.d(n),n&&k(e)}}}function Am(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 Em extends Me{constructor(e){super(),Se(this,e,Am,Dm,we,{epoch:0})}}function Im(t){let e,l,n;return{c(){e=m("span"),l=y(t[2]),u(e,"title",t[1]),u(e,"class",n="bd-"+t[0])},m(i,o){w(i,e,o),s(e,l)},p(i,[o]){o&4&&W(l,i[2]),o&2&&u(e,"title",i[1]),o&1&&n!==(n="bd-"+i[0])&&u(e,"class",n)},i:ne,o:ne,d(i){i&&k(e)}}}function Fm(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 fn extends Me{constructor(e){super(),Se(this,e,Fm,Im,we,{color:0,title:1,text:2})}}function Rm(t){let e,l=`${Ie(t[0].getDate())}.${Ie(t[0].getMonth()+1)}.${t[0].getFullYear()} ${Ie(t[0].getHours())}:${Ie(t[0].getMinutes())}`,n;return{c(){e=m("span"),n=y(l),u(e,"class",t[1])},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l=`${Ie(i[0].getDate())}.${Ie(i[0].getMonth()+1)}.${i[0].getFullYear()} ${Ie(i[0].getHours())}:${Ie(i[0].getMinutes())}`)&&W(n,l),o&2&&u(e,"class",i[1])},d(i){i&&k(e)}}}function Lm(t){let e=`${Ie(t[0].getDate())}. ${lo[t[0].getMonth()]} ${Ie(t[0].getHours())}:${Ie(t[0].getMinutes())}`,l;return{c(){l=y(e)},m(n,i){w(n,l,i)},p(n,i){i&1&&e!==(e=`${Ie(n[0].getDate())}. ${lo[n[0].getMonth()]} ${Ie(n[0].getHours())}:${Ie(n[0].getMinutes())}`)&&W(l,e)},d(n){n&&k(l)}}}function Om(t){let e;function l(o,r){return o[2]?Lm:Rm}let n=l(t),i=n(t);return{c(){i.c(),e=Ke()},m(o,r){i.m(o,r),w(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)))},i:ne,o:ne,d(o){i.d(o),o&&k(e)}}}function qm(t,e,l){let{timestamp:n}=e,{fullTimeColor:i}=e,{offset:o}=e,r;return t.$$set=a=>{"timestamp"in a&&l(0,n=a.timestamp),"fullTimeColor"in a&&l(1,i=a.fullTimeColor),"offset"in a&&l(3,o=a.offset)},t.$$.update=()=>{t.$$.dirty&9&&(l(2,r=Math.abs(new Date().getTime()-n.getTime())<3e5),isNaN(o)||fl(n,o-(24+n.getHours()-n.getUTCHours())%24))},[n,i,r,o]}class Wc extends Me{constructor(e){super(),Se(this,e,qm,Om,we,{timestamp:0,fullTimeColor:1,offset:3})}}function Um(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){w(i,e,o),s(e,l),s(e,n)},p:ne,i:ne,o:ne,d(i){i&&k(e)}}}class Hm extends Me{constructor(e){super(),Se(this,e,null,Um,we,{})}}function jm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class Wm extends Me{constructor(e){super(),Se(this,e,null,jm,we,{})}}function Gm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class Ot extends Me{constructor(e){super(),Se(this,e,null,Gm,we,{})}}function Bm(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){w(n,e,i),s(e,l)},p:ne,i:ne,o:ne,d(n){n&&k(e)}}}class Gc extends Me{constructor(e){super(),Se(this,e,null,Bm,we,{})}}function zm(t){let e,l,n=t[1].version+"",i;return{c(){e=y("AMS reader "),l=m("span"),i=y(n)},m(o,r){w(o,e,r),w(o,l,r),s(l,i)},p(o,r){r&2&&n!==(n=o[1].version+"")&&W(i,n)},d(o){o&&k(e),o&&k(l)}}}function na(t){let e,l=(t[0].t>-50?t[0].t.toFixed(1):"-")+"",n,i;return{c(){e=m("div"),n=y(l),i=y("°C"),u(e,"class","flex-none my-auto")},m(o,r){w(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):"-")+"")&&W(n,l)},d(o){o&&k(e)}}}function ia(t){let e,l="HAN: "+Qr(t[0].he),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="HAN: "+Qr(i[0].he))&&W(n,l)},d(i){i&&k(e)}}}function sa(t){let e,l="MQTT: "+Xr(t[0].me),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="MQTT: "+Xr(i[0].me))&&W(n,l)},d(i){i&&k(e)}}}function oa(t){let e,l="PriceAPI: "+Zr(t[0].ee),n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&1&&l!==(l="PriceAPI: "+Zr(i[0].ee))&&W(n,l)},d(i){i&&k(e)}}}function ua(t){let e,l,n,i,o,r;return l=new el({props:{to:"/configuration",$$slots:{default:[Ym]},$$scope:{ctx:t}}}),o=new el({props:{to:"/status",$$slots:{default:[Km]},$$scope:{ctx:t}}}),{c(){e=m("div"),Z(l.$$.fragment),n=h(),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,c){w(a,e,c),Q(l,e,null),w(a,n,c),w(a,i,c),Q(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&&k(e),X(l),a&&k(n),a&&k(i),X(o)}}}function Ym(t){let e,l;return e=new Hm({}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function Km(t){let e,l;return e=new Wm({}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function ra(t){let e,l,n,i,o;const r=[Qm,Vm],a=[];function c(f,p){return f[1].security==0||f[0].a?0:1}return l=c(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(f,p){w(f,e,p),a[l].m(e,null),o=!0},p(f,p){let _=l;l=c(f),l===_?a[l].p(f,p):(Ae(),I(a[_],1,1,()=>{a[_]=null}),Ee(),n=a[l],n?n.p(f,p):(n=a[l]=r[l](f),n.c()),P(n,1),n.m(e,null)),(!o||p&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&&k(e),a[l].d()}}}function Vm(t){let e,l,n=t[2].tag_name+"",i;return{c(){e=m("span"),l=y("New version: "),i=y(n)},m(o,r){w(o,e,r),s(e,l),s(e,i)},p(o,r){r&4&&n!==(n=o[2].tag_name+"")&&W(i,n)},i:ne,o:ne,d(o){o&&k(e)}}}function Qm(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,p;return a=new Gc({}),{c(){e=m("button"),l=m("span"),n=y("New version: "),o=y(i),r=h(),Z(a.$$.fragment),u(l,"class","mt-1"),u(e,"class","flex")},m(_,b){w(_,e,b),s(e,l),s(l,n),s(l,o),s(e,r),Q(a,e,null),c=!0,f||(p=K(e,"click",t[3]),f=!0)},p(_,b){(!c||b&4)&&i!==(i=_[2].tag_name+"")&&W(o,i)},i(_){c||(P(a.$$.fragment,_),c=!0)},o(_){I(a.$$.fragment,_),c=!1},d(_){_&&k(e),X(a),f=!1,p()}}}function Xm(t){let e,l,n,i,o,r,a,c,f,p,_,b,d=(t[0].m?(t[0].m/1e3).toFixed(1):"-")+"",v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q,L,B,O,j,G,te,le,pe,ie,Pe,je,De,We;i=new el({props:{to:"/",$$slots:{default:[zm]},$$scope:{ctx:t}}}),c=new Em({props:{epoch:t[0].u}});let be=t[0].t>-50&&na(t);$=new fn({props:{title:"ESP",text:t[1].booting?"Booting":t[0].v>2?t[0].v.toFixed(2)+"V":"ESP",color:ql(t[1].booting?2:t[0].em)}}),F=new fn({props:{title:"HAN",text:"HAN",color:ql(t[1].booting?9:t[0].hm)}}),N=new fn({props:{title:"WiFi",text:t[0].r?t[0].r.toFixed(0)+"dBm":"WiFi",color:ql(t[1].booting?9:t[0].wm)}}),E=new fn({props:{title:"MQTT",text:"MQTT",color:ql(t[1].booting?9:t[0].mm)}});let ye=(t[0].he<0||t[0].he>0)&&ia(t),Re=t[0].me<0&&sa(t),ge=(t[0].ee>0||t[0].ee<0)&&oa(t);te=new Wc({props:{timestamp:t[0].c?new Date(t[0].c*1e3):new Date(0),offset:t[1].clock_offset,fullTimeColor:"text-red-500"}});let ae=t[1].vndcfg&&t[1].usrcfg&&ua(t);je=new Ot({});let $e=t[1].fwconsent===1&&t[2]&&ra(t);return{c(){e=m("nav"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),a=m("div"),Z(c.$$.fragment),f=h(),be&&be.c(),p=h(),_=m("div"),b=y("Free mem: "),v=y(d),g=y("kb"),T=h(),C=m("div"),Z($.$$.fragment),M=h(),Z(F.$$.fragment),S=h(),Z(N.$$.fragment),D=h(),Z(E.$$.fragment),Y=h(),ye&&ye.c(),R=h(),Re&&Re.c(),U=h(),ge&&ge.c(),H=h(),z=m("div"),q=m("div"),L=m("a"),B=m("img"),j=h(),G=m("div"),Z(te.$$.fragment),le=h(),ae&&ae.c(),pe=h(),ie=m("div"),Pe=m("a"),Z(je.$$.fragment),De=h(),$e&&$e.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(C,"class","flex-auto flex-wrap my-auto justify-center p-2"),u(B,"class","gh-logo"),Qc(B.src,O=ym)||u(B,"src",O),u(B,"alt","GitHub repo"),u(L,"class","float-right"),u(L,"href","https://github.com/UtilitechAS/amsreader-firmware"),u(L,"target","_blank"),u(L,"rel","noreferrer"),u(L,"aria-label","GitHub"),u(q,"class","flex-none"),u(G,"class","flex-none my-auto px-2"),u(Pe,"href",qt("")),u(Pe,"target","_blank"),u(Pe,"rel","noreferrer"),u(ie,"class","flex-none px-1 mt-1"),u(ie,"title","Documentation"),u(z,"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,se){w(J,e,se),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(r,a),Q(c,a,null),s(r,f),be&&be.m(r,null),s(r,p),s(r,_),s(_,b),s(_,v),s(_,g),s(l,T),s(l,C),Q($,C,null),s(C,M),Q(F,C,null),s(C,S),Q(N,C,null),s(C,D),Q(E,C,null),s(l,Y),ye&&ye.m(l,null),s(l,R),Re&&Re.m(l,null),s(l,U),ge&&ge.m(l,null),s(l,H),s(l,z),s(z,q),s(q,L),s(L,B),s(z,j),s(z,G),Q(te,G,null),s(z,le),ae&&ae.m(z,null),s(z,pe),s(z,ie),s(ie,Pe),Q(je,Pe,null),s(z,De),$e&&$e.m(z,null),We=!0},p(J,[se]){const Fe={};se&18&&(Fe.$$scope={dirty:se,ctx:J}),i.$set(Fe);const Le={};se&1&&(Le.epoch=J[0].u),c.$set(Le),J[0].t>-50?be?be.p(J,se):(be=na(J),be.c(),be.m(r,p)):be&&(be.d(1),be=null),(!We||se&1)&&d!==(d=(J[0].m?(J[0].m/1e3).toFixed(1):"-")+"")&&W(v,d);const _e={};se&3&&(_e.text=J[1].booting?"Booting":J[0].v>2?J[0].v.toFixed(2)+"V":"ESP"),se&3&&(_e.color=ql(J[1].booting?2:J[0].em)),$.$set(_e);const Ce={};se&3&&(Ce.color=ql(J[1].booting?9:J[0].hm)),F.$set(Ce);const Ne={};se&1&&(Ne.text=J[0].r?J[0].r.toFixed(0)+"dBm":"WiFi"),se&3&&(Ne.color=ql(J[1].booting?9:J[0].wm)),N.$set(Ne);const de={};se&3&&(de.color=ql(J[1].booting?9:J[0].mm)),E.$set(de),J[0].he<0||J[0].he>0?ye?ye.p(J,se):(ye=ia(J),ye.c(),ye.m(l,R)):ye&&(ye.d(1),ye=null),J[0].me<0?Re?Re.p(J,se):(Re=sa(J),Re.c(),Re.m(l,U)):Re&&(Re.d(1),Re=null),J[0].ee>0||J[0].ee<0?ge?ge.p(J,se):(ge=oa(J),ge.c(),ge.m(l,H)):ge&&(ge.d(1),ge=null);const Te={};se&1&&(Te.timestamp=J[0].c?new Date(J[0].c*1e3):new Date(0)),se&2&&(Te.offset=J[1].clock_offset),te.$set(Te),J[1].vndcfg&&J[1].usrcfg?ae?se&2&&P(ae,1):(ae=ua(J),ae.c(),P(ae,1),ae.m(z,pe)):ae&&(Ae(),I(ae,1,1,()=>{ae=null}),Ee()),J[1].fwconsent===1&&J[2]?$e?($e.p(J,se),se&6&&P($e,1)):($e=ra(J),$e.c(),P($e,1),$e.m(z,null)):$e&&(Ae(),I($e,1,1,()=>{$e=null}),Ee())},i(J){We||(P(i.$$.fragment,J),P(c.$$.fragment,J),P($.$$.fragment,J),P(F.$$.fragment,J),P(N.$$.fragment,J),P(E.$$.fragment,J),P(te.$$.fragment,J),P(ae),P(je.$$.fragment,J),P($e),We=!0)},o(J){I(i.$$.fragment,J),I(c.$$.fragment,J),I($.$$.fragment,J),I(F.$$.fragment,J),I(N.$$.fragment,J),I(E.$$.fragment,J),I(te.$$.fragment,J),I(ae),I(je.$$.fragment,J),I($e),We=!1},d(J){J&&k(e),X(i),X(c),be&&be.d(),X($),X(F),X(N),X(E),ye&&ye.d(),Re&&Re.d(),ge&&ge.d(),X(te),ae&&ae.d(),X(je),$e&&$e.d()}}}function Zm(t,e,l){let{data:n={}}=e,i={},o={};function r(){confirm("Do you want to upgrade this device to "+o.tag_name+"?")&&(!ui(i.board)||confirm(Ts(ce(i.chip,i.board))))&&(Ut.update(a=>(a.upgrading=!0,a)),Hc(o.tag_name))}return Ut.subscribe(a=>{l(1,i=a),a.fwconsent===1&&wm()}),To.subscribe(a=>{l(2,o=jc(i.version,a))}),t.$$set=a=>{"data"in a&&l(0,n=a.data)},[n,i,o,r]}class Jm extends Me{constructor(e){super(),Se(this,e,Zm,Xm,we,{data:0})}}function xm(t){let e,l,n,i;return{c(){e=Oe("svg"),l=Oe("path"),n=Oe("path"),u(l,"d",Zs(150,150,115,210,510)),u(l,"stroke","#eee"),u(l,"fill","none"),u(l,"stroke-width","55"),u(n,"d",i=Zs(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){w(o,e,r),s(e,l),s(e,n)},p(o,[r]){r&1&&i!==(i=Zs(150,150,115,210,210+300*o[0]/100))&&u(n,"d",i),r&2&&u(n,"stroke",o[1])},i:ne,o:ne,d(o){o&&k(e)}}}function aa(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 Zs(t,e,l,n,i){var o=aa(t,e,l,i),r=aa(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 ep(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 tp extends Me{constructor(e){super(),Se(this,e,ep,xm,we,{pct:0,color:1})}}function fa(t){let e,l,n,i,o,r,a,c;return{c(){e=m("br"),l=h(),n=m("span"),i=y(t[3]),o=h(),r=m("span"),a=y(t[4]),c=y("/kWh"),u(n,"class","pl-sub"),u(r,"class","pl-snt")},m(f,p){w(f,e,p),w(f,l,p),w(f,n,p),s(n,i),w(f,o,p),w(f,r,p),s(r,a),s(r,c)},p(f,p){p&8&&W(i,f[3]),p&16&&W(a,f[4])},d(f){f&&k(e),f&&k(l),f&&k(n),f&&k(o),f&&k(r)}}}function lp(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T;l=new tp({props:{pct:t[6],color:t[5](t[6])}});let C=t[3]&&fa(t);return{c(){e=m("div"),Z(l.$$.fragment),n=h(),i=m("span"),o=m("span"),r=y(t[2]),a=h(),c=m("br"),f=h(),p=m("span"),_=y(t[0]),b=h(),d=m("span"),v=y(t[1]),g=h(),C&&C.c(),u(o,"class","pl-lab"),u(p,"class","pl-val"),u(d,"class","pl-unt"),u(i,"class","pl-ov"),u(e,"class","pl-root")},m($,M){w($,e,M),Q(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,p),s(p,_),s(i,b),s(i,d),s(d,v),s(i,g),C&&C.m(i,null),T=!0},p($,[M]){const F={};M&64&&(F.pct=$[6]),M&96&&(F.color=$[5]($[6])),l.$set(F),(!T||M&4)&&W(r,$[2]),(!T||M&1)&&W(_,$[0]),(!T||M&2)&&W(v,$[1]),$[3]?C?C.p($,M):(C=fa($),C.c(),C.m(i,null)):C&&(C.d(1),C=null)},i($){T||(P(l.$$.fragment,$),T=!0)},o($){I(l.$$.fragment,$),T=!1},d($){$&&k(e),X(l),C&&C.d()}}}function np(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,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,c=_.subunit),"colorFn"in _&&l(5,f=_.colorFn)},t.$$.update=()=>{t.$$.dirty&129&&l(6,p=Math.min(n,i)/i*100)},[n,o,r,a,c,f,p,i]}class Bc extends Me{constructor(e){super(),Se(this,e,np,lp,we,{val:0,max:7,unit:1,label:2,sub:3,subunit:4,colorFn:5})}}function ca(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function ma(t,e,l){const n=t.slice();return n[9]=e[l],n[11]=l,n}function pa(t,e,l){const n=t.slice();return n[13]=e[l],n}function _a(t){let e,l,n,i,o,r=t[0].title&&da(t),a=t[0].y.ticks,c=[];for(let d=0;d20||t[11]%2==0)&&ga(t);return{c(){e=Oe("g"),n&&n.c(),u(e,"class","tick"),u(e,"transform",l="translate("+t[5](t[11])+","+t[4]+")")},m(i,o){w(i,e,o),n&&n.m(e,null)},p(i,o){i[3]>20||i[11]%2==0?n?n.p(i,o):(n=ga(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null),o&48&&l!==(l="translate("+i[5](i[11])+","+i[4]+")")&&u(e,"transform",l)},d(i){i&&k(e),n&&n.d()}}}function ga(t){let e,l=t[9].label+"",n,i;return{c(){e=Oe("text"),n=y(l),u(e,"x",i=t[3]/2),u(e,"y","-4")},m(o,r){w(o,e,r),s(e,n)},p(o,r){r&1&&l!==(l=o[9].label+"")&&W(n,l),r&8&&i!==(i=o[3]/2)&&u(e,"x",i)},d(o){o&&k(e)}}}function ka(t){let e=!isNaN(t[5](t[11])),l,n=e&&ba(t);return{c(){n&&n.c(),l=Ke()},m(i,o){n&&n.m(i,o),w(i,l,o)},p(i,o){o&32&&(e=!isNaN(i[5](i[11]))),e?n?n.p(i,o):(n=ba(i),n.c(),n.m(l.parentNode,l)):n&&(n.d(1),n=null)},d(i){n&&n.d(i),i&&k(l)}}}function wa(t){let e,l,n=t[9].value!==void 0&&ya(t),i=t[9].value2>1e-4&&Ta(t);return{c(){e=Oe("g"),n&&n.c(),l=Oe("g"),i&&i.c()},m(o,r){w(o,e,r),n&&n.m(e,null),w(o,l,r),i&&i.m(l,null)},p(o,r){o[9].value!==void 0?n?n.p(o,r):(n=ya(o),n.c(),n.m(e,null)):n&&(n.d(1),n=null),o[9].value2>1e-4?i?i.p(o,r):(i=Ta(o),i.c(),i.m(l,null)):i&&(i.d(1),i=null)},d(o){o&&k(e),n&&n.d(),o&&k(l),i&&i.d()}}}function ya(t){let e,l,n,i,o,r,a,c=t[3]>15&&$a(t);return{c(){e=Oe("rect"),c&&c.c(),a=Ke(),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,p){w(f,e,p),c&&c.m(f,p),w(f,a,p)},p(f,p){p&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),p&65&&n!==(n=f[6](f[9].value))&&u(e,"y",n),p&8&&i!==(i=f[3]-4)&&u(e,"width",i),p&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),p&1&&r!==(r=f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,p):(c=$a(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&k(e),c&&c.d(f),f&&k(a)}}}function $a(t){let e,l=t[9].label+"",n,i,o,r,a,c,f=t[9].title&&Ca(t);return{c(){e=Oe("text"),n=y(l),f&&f.c(),c=Ke(),u(e,"width",i=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor",o=t[3]t[6](0)-t[7]?t[9].color:"white"),u(e,"transform",a="translate("+(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)+10)+") rotate("+(t[3]p[6](0)-p[7]?p[9].color:"white")&&u(e,"fill",r),_&233&&a!==(a="translate("+(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)+10)+") rotate("+(p[3]15&&Sa(t);return{c(){e=Oe("rect"),c&&c.c(),a=Ke(),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].color2?t[9].color2:t[9].color)},m(f,p){w(f,e,p),c&&c.m(f,p),w(f,a,p)},p(f,p){p&32&&l!==(l=f[5](f[11])+2)&&u(e,"x",l),p&64&&n!==(n=f[6](0))&&u(e,"y",n),p&8&&i!==(i=f[3]-4)&&u(e,"width",i),p&65&&o!==(o=f[6](f[0].y.min)-f[6](f[0].y.min+f[9].value2))&&u(e,"height",o),p&1&&r!==(r=f[9].color2?f[9].color2:f[9].color)&&u(e,"fill",r),f[3]>15?c?c.p(f,p):(c=Sa(f),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(f){f&&k(e),c&&c.d(f),f&&k(a)}}}function Sa(t){let e,l=t[9].label2+"",n,i,o,r,a,c=t[9].title2&&Ma(t);return{c(){e=Oe("text"),n=y(l),c&&c.c(),a=Ke(),u(e,"width",i=t[3]-4),u(e,"dominant-baseline","middle"),u(e,"text-anchor","middle"),u(e,"fill",o=t[6](-t[9].value2)t[8].call(e))},m(i,o){w(i,e,o),n&&n.m(e,null),l=n1(e,t[8].bind(e))},p(i,[o]){i[0].x.ticks&&i[0].points&&i[4]?n?n.p(i,o):(n=_a(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},i:ne,o:ne,d(i){i&&k(e),n&&n.d(),l()}}}let cn=30;function sp(t,e,l){let{config:n}=e,i,o,r,a,c,f,p;function _(){i=this.clientWidth,o=this.clientHeight,l(1,i),l(2,o)}return t.$$set=b=>{"config"in b&&l(0,n=b.config)},t.$$.update=()=>{if(t.$$.dirty&31){l(4,f=o-(n.title?20:0));let b=i-(n.padding.left+n.padding.right);l(3,r=b/n.points.length),l(7,p=rn.y.max?g=n.padding.bottom:vf||g<0?0:g})}},[n,i,o,r,f,a,c,p,_]}class pn extends Me{constructor(e){super(),Se(this,e,sp,ip,we,{config:0})}}function op(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function up(t,e,l){let{u1:n}=e,{u2:i}=e,{u3:o}=e,{ds:r}=e,a={};function c(f){return{label:me(f)+"V",title:f.toFixed(1)+" V",value:isNaN(f)?0:f,color:hm(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=[],p=[];n>0&&(f.push({label:r===1?"L1-L2":"L1"}),p.push(c(n))),i>0&&(f.push({label:r===1?"L1-L3":"L2"}),p.push(c(i))),o>0&&(f.push({label:r===1?"L2-L3":"L3"}),p.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:p})}},[a,n,i,o,r]}class rp extends Me{constructor(e){super(),Se(this,e,up,op,we,{u1:1,u2:2,u3:3,ds:4})}}function ap(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function fp(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,p={};function _(b){return{label:me(b)+"A",title:b.toFixed(1)+" A",value:isNaN(b)?0:b,color:Ac(b?b/f*100:0)}}return t.$$set=b=>{"u1"in b&&l(1,n=b.u1),"u2"in b&&l(2,i=b.u2),"u3"in b&&l(3,o=b.u3),"i1"in b&&l(4,r=b.i1),"i2"in b&&l(5,a=b.i2),"i3"in b&&l(6,c=b.i3),"max"in b&&l(7,f=b.max)},t.$$.update=()=>{if(t.$$.dirty&254){let b=[],d=[];n>0&&(b.push({label:"L1"}),d.push(_(r))),i>0&&(b.push({label:"L2"}),d.push(_(a))),o>0&&(b.push({label:"L3"}),d.push(_(c))),l(0,p={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:b},points:d})}},[p,n,i,o,r,a,c,f]}class cp extends Me{constructor(e){super(),Se(this,e,fp,ap,we,{u1:1,u2:2,u3:3,i1:4,i2:5,i3:6,max:7})}}function mp(t){let e,l,n,i,o,r,a,c=(typeof t[0]<"u"?t[0].toFixed(0):"-")+"",f,p,_,b,d,v,g=(typeof t[1]<"u"?t[1].toFixed(0):"-")+"",T,C,$,M,F,S,N,D=(typeof t[2]<"u"?t[2].toFixed(1):"-")+"",E,Y,R,U,H,z,q=(typeof t[3]<"u"?t[3].toFixed(1):"-")+"",L,B;return{c(){e=m("div"),l=m("strong"),l.textContent="Reactive",n=h(),i=m("div"),o=m("div"),o.textContent="Instant in",r=h(),a=m("div"),f=y(c),p=y(" VAr"),_=h(),b=m("div"),b.textContent="Instant out",d=h(),v=m("div"),T=y(g),C=y(" VAr"),$=h(),M=m("div"),F=m("div"),F.textContent="Total in",S=h(),N=m("div"),E=y(D),Y=y(" kVArh"),R=h(),U=m("div"),U.textContent="Total out",H=h(),z=m("div"),L=y(q),B=y(" kVArh"),u(a,"class","text-right"),u(v,"class","text-right"),u(i,"class","grid grid-cols-2 mt-4"),u(N,"class","text-right"),u(z,"class","text-right"),u(M,"class","grid grid-cols-2 mt-4"),u(e,"class","mx-2 text-sm")},m(O,j){w(O,e,j),s(e,l),s(e,n),s(e,i),s(i,o),s(i,r),s(i,a),s(a,f),s(a,p),s(i,_),s(i,b),s(i,d),s(i,v),s(v,T),s(v,C),s(e,$),s(e,M),s(M,F),s(M,S),s(M,N),s(N,E),s(N,Y),s(M,R),s(M,U),s(M,H),s(M,z),s(z,L),s(z,B)},p(O,[j]){j&1&&c!==(c=(typeof O[0]<"u"?O[0].toFixed(0):"-")+"")&&W(f,c),j&2&&g!==(g=(typeof O[1]<"u"?O[1].toFixed(0):"-")+"")&&W(T,g),j&4&&D!==(D=(typeof O[2]<"u"?O[2].toFixed(1):"-")+"")&&W(E,D),j&8&&q!==(q=(typeof O[3]<"u"?O[3].toFixed(1):"-")+"")&&W(L,q)},i:ne,o:ne,d(O){O&&k(e)}}}function pp(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 _p extends Me{constructor(e){super(),Se(this,e,pp,mp,we,{importInstant:0,exportInstant:1,importTotal:2,exportTotal:3})}}function Na(t){let e;function l(o,r){return o[3]?vp:dp}let n=l(t),i=n(t);return{c(){i.c(),e=Ke()},m(o,r){i.m(o,r),w(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&&k(e)}}}function dp(t){let e,l,n,i,o,r,a=me(t[1].h.u,2)+"",c,f,p,_,b,d,v=me(t[1].d.u,1)+"",g,T,C,$,M,F,S=me(t[1].m.u)+"",N,D,E,Y,R,U,H=me(t[0].last_month.u)+"",z,q,L,B,O=t[4]&&Da(t);return{c(){e=m("strong"),e.textContent="Consumption",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=y(" kWh"),p=h(),_=m("div"),_.textContent="Day",b=h(),d=m("div"),g=y(v),T=y(" kWh"),C=h(),$=m("div"),$.textContent="Month",M=h(),F=m("div"),N=y(S),D=y(" kWh"),E=h(),Y=m("div"),Y.textContent="Last month",R=h(),U=m("div"),z=y(H),q=y(" kWh"),L=h(),O&&O.c(),B=Ke(),u(r,"class","text-right"),u(d,"class","text-right"),u(F,"class","text-right"),u(U,"class","text-right"),u(n,"class","grid grid-cols-2 mb-3")},m(j,G){w(j,e,G),w(j,l,G),w(j,n,G),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,p),s(n,_),s(n,b),s(n,d),s(d,g),s(d,T),s(n,C),s(n,$),s(n,M),s(n,F),s(F,N),s(F,D),s(n,E),s(n,Y),s(n,R),s(n,U),s(U,z),s(U,q),w(j,L,G),O&&O.m(j,G),w(j,B,G)},p(j,G){G&2&&a!==(a=me(j[1].h.u,2)+"")&&W(c,a),G&2&&v!==(v=me(j[1].d.u,1)+"")&&W(g,v),G&2&&S!==(S=me(j[1].m.u)+"")&&W(N,S),G&1&&H!==(H=me(j[0].last_month.u)+"")&&W(z,H),j[4]?O?O.p(j,G):(O=Da(j),O.c(),O.m(B.parentNode,B)):O&&(O.d(1),O=null)},d(j){j&&k(e),j&&k(l),j&&k(n),j&&k(L),O&&O.d(j),j&&k(B)}}}function vp(t){let e,l,n,i,o,r,a=me(t[1].h.u,2)+"",c,f,p,_,b,d,v,g=me(t[1].d.u,1)+"",T,C,$,M,F,S,N,D=me(t[1].m.u)+"",E,Y,R,U,H,z,q,L=me(t[0].last_month.u)+"",B,O,j,G,te,le,pe,ie,Pe,je,De,We=me(t[1].h.p,2)+"",be,ye,Re,ge,ae,$e,J,se=me(t[1].d.p,1)+"",Fe,Le,_e,Ce,Ne,de,Te,x=me(t[1].m.p)+"",oe,Ue,ue,ve,dt,Wl,tl,ct=me(t[0].last_month.p)+"",Ml,pl,Ht,vt,Qe=t[4]&&Aa(t),Xe=t[4]&&Ea(t),Ze=t[4]&&Ia(t),He=t[4]&&Fa(t),Je=t[4]&&Ra(t),Ge=t[4]&&La(t),xe=t[4]&&Oa(t),et=t[4]&&qa(t);return{c(){e=m("strong"),e.textContent="Import",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=y(" kWh"),p=h(),Qe&&Qe.c(),_=h(),b=m("div"),b.textContent="Day",d=h(),v=m("div"),T=y(g),C=y(" kWh"),$=h(),Xe&&Xe.c(),M=h(),F=m("div"),F.textContent="Month",S=h(),N=m("div"),E=y(D),Y=y(" kWh"),R=h(),Ze&&Ze.c(),U=h(),H=m("div"),H.textContent="Last mo.",z=h(),q=m("div"),B=y(L),O=y(" kWh"),j=h(),He&&He.c(),te=h(),le=m("strong"),le.textContent="Export",pe=h(),ie=m("div"),Pe=m("div"),Pe.textContent="Hour",je=h(),De=m("div"),be=y(We),ye=y(" kWh"),Re=h(),Je&&Je.c(),ge=h(),ae=m("div"),ae.textContent="Day",$e=h(),J=m("div"),Fe=y(se),Le=y(" kWh"),_e=h(),Ge&&Ge.c(),Ce=h(),Ne=m("div"),Ne.textContent="Month",de=h(),Te=m("div"),oe=y(x),Ue=y(" kWh"),ue=h(),xe&&xe.c(),ve=h(),dt=m("div"),dt.textContent="Last mo.",Wl=h(),tl=m("div"),Ml=y(ct),pl=y(" kWh"),Ht=h(),et&&et.c(),u(r,"class","text-right"),u(v,"class","text-right"),u(N,"class","text-right"),u(q,"class","text-right"),u(n,"class",G="grid grid-cols-"+t[5]+" mb-3"),u(De,"class","text-right"),u(J,"class","text-right"),u(Te,"class","text-right"),u(tl,"class","text-right"),u(ie,"class",vt="grid grid-cols-"+t[5])},m(re,he){w(re,e,he),w(re,l,he),w(re,n,he),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(n,p),Qe&&Qe.m(n,null),s(n,_),s(n,b),s(n,d),s(n,v),s(v,T),s(v,C),s(n,$),Xe&&Xe.m(n,null),s(n,M),s(n,F),s(n,S),s(n,N),s(N,E),s(N,Y),s(n,R),Ze&&Ze.m(n,null),s(n,U),s(n,H),s(n,z),s(n,q),s(q,B),s(q,O),s(n,j),He&&He.m(n,null),w(re,te,he),w(re,le,he),w(re,pe,he),w(re,ie,he),s(ie,Pe),s(ie,je),s(ie,De),s(De,be),s(De,ye),s(ie,Re),Je&&Je.m(ie,null),s(ie,ge),s(ie,ae),s(ie,$e),s(ie,J),s(J,Fe),s(J,Le),s(ie,_e),Ge&&Ge.m(ie,null),s(ie,Ce),s(ie,Ne),s(ie,de),s(ie,Te),s(Te,oe),s(Te,Ue),s(ie,ue),xe&&xe.m(ie,null),s(ie,ve),s(ie,dt),s(ie,Wl),s(ie,tl),s(tl,Ml),s(tl,pl),s(ie,Ht),et&&et.m(ie,null)},p(re,he){he&2&&a!==(a=me(re[1].h.u,2)+"")&&W(c,a),re[4]?Qe?Qe.p(re,he):(Qe=Aa(re),Qe.c(),Qe.m(n,_)):Qe&&(Qe.d(1),Qe=null),he&2&&g!==(g=me(re[1].d.u,1)+"")&&W(T,g),re[4]?Xe?Xe.p(re,he):(Xe=Ea(re),Xe.c(),Xe.m(n,M)):Xe&&(Xe.d(1),Xe=null),he&2&&D!==(D=me(re[1].m.u)+"")&&W(E,D),re[4]?Ze?Ze.p(re,he):(Ze=Ia(re),Ze.c(),Ze.m(n,U)):Ze&&(Ze.d(1),Ze=null),he&1&&L!==(L=me(re[0].last_month.u)+"")&&W(B,L),re[4]?He?He.p(re,he):(He=Fa(re),He.c(),He.m(n,null)):He&&(He.d(1),He=null),he&32&&G!==(G="grid grid-cols-"+re[5]+" mb-3")&&u(n,"class",G),he&2&&We!==(We=me(re[1].h.p,2)+"")&&W(be,We),re[4]?Je?Je.p(re,he):(Je=Ra(re),Je.c(),Je.m(ie,ge)):Je&&(Je.d(1),Je=null),he&2&&se!==(se=me(re[1].d.p,1)+"")&&W(Fe,se),re[4]?Ge?Ge.p(re,he):(Ge=La(re),Ge.c(),Ge.m(ie,Ce)):Ge&&(Ge.d(1),Ge=null),he&2&&x!==(x=me(re[1].m.p)+"")&&W(oe,x),re[4]?xe?xe.p(re,he):(xe=Oa(re),xe.c(),xe.m(ie,ve)):xe&&(xe.d(1),xe=null),he&1&&ct!==(ct=me(re[0].last_month.p)+"")&&W(Ml,ct),re[4]?et?et.p(re,he):(et=qa(re),et.c(),et.m(ie,null)):et&&(et.d(1),et=null),he&32&&vt!==(vt="grid grid-cols-"+re[5])&&u(ie,"class",vt)},d(re){re&&k(e),re&&k(l),re&&k(n),Qe&&Qe.d(),Xe&&Xe.d(),Ze&&Ze.d(),He&&He.d(),re&&k(te),re&&k(le),re&&k(pe),re&&k(ie),Je&&Je.d(),Ge&&Ge.d(),xe&&xe.d(),et&&et.d()}}}function Da(t){let e,l,n,i,o,r,a=me(t[1].h.c,2)+"",c,f,p,_,b,d,v,g=me(t[1].d.c,1)+"",T,C,$,M,F,S,N,D=me(t[1].m.c)+"",E,Y,R,U,H,z,q,L=me(t[0].last_month.c)+"",B,O,j;return{c(){e=m("strong"),e.textContent="Cost",l=h(),n=m("div"),i=m("div"),i.textContent="Hour",o=h(),r=m("div"),c=y(a),f=h(),p=y(t[2]),_=h(),b=m("div"),b.textContent="Day",d=h(),v=m("div"),T=y(g),C=h(),$=y(t[2]),M=h(),F=m("div"),F.textContent="Month",S=h(),N=m("div"),E=y(D),Y=h(),R=y(t[2]),U=h(),H=m("div"),H.textContent="Last month",z=h(),q=m("div"),B=y(L),O=h(),j=y(t[2]),u(r,"class","text-right"),u(v,"class","text-right"),u(N,"class","text-right"),u(q,"class","text-right"),u(n,"class","grid grid-cols-2")},m(G,te){w(G,e,te),w(G,l,te),w(G,n,te),s(n,i),s(n,o),s(n,r),s(r,c),s(r,f),s(r,p),s(n,_),s(n,b),s(n,d),s(n,v),s(v,T),s(v,C),s(v,$),s(n,M),s(n,F),s(n,S),s(n,N),s(N,E),s(N,Y),s(N,R),s(n,U),s(n,H),s(n,z),s(n,q),s(q,B),s(q,O),s(q,j)},p(G,te){te&2&&a!==(a=me(G[1].h.c,2)+"")&&W(c,a),te&4&&W(p,G[2]),te&2&&g!==(g=me(G[1].d.c,1)+"")&&W(T,g),te&4&&W($,G[2]),te&2&&D!==(D=me(G[1].m.c)+"")&&W(E,D),te&4&&W(R,G[2]),te&1&&L!==(L=me(G[0].last_month.c)+"")&&W(B,L),te&4&&W(j,G[2])},d(G){G&&k(e),G&&k(l),G&&k(n)}}}function Aa(t){let e,l=me(t[1].h.c,2)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].h.c,2)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function Ea(t){let e,l=me(t[1].d.c,1)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].d.c,1)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function Ia(t){let e,l=me(t[1].m.c)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].m.c)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function Fa(t){let e,l=me(t[0].last_month.c)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=me(r[0].last_month.c)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function Ra(t){let e,l=me(t[1].h.i,2)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].h.i,2)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function La(t){let e,l=me(t[1].d.i,1)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].d.i,1)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function Oa(t){let e,l=me(t[1].m.i)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&2&&l!==(l=me(r[1].m.i)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function qa(t){let e,l=me(t[0].last_month.i)+"",n,i,o;return{c(){e=m("div"),n=y(l),i=h(),o=y(t[2]),u(e,"class","text-right")},m(r,a){w(r,e,a),s(e,n),s(e,i),s(e,o)},p(r,a){a&1&&l!==(l=me(r[0].last_month.i)+"")&&W(n,l),a&4&&W(o,r[2])},d(r){r&&k(e)}}}function hp(t){let e,l,n,i,o,r,a=t[1]&&Na(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Real time calculation",n=h(),i=m("br"),o=m("br"),r=h(),a&&a.c(),u(e,"class","mx-2 text-sm")},m(c,f){w(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[1]?a?a.p(c,f):(a=Na(c),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},i:ne,o:ne,d(c){c&&k(e),a&&a.d()}}}function bp(t,e,l){let{sysinfo:n}=e,{data:i}=e,{currency:o}=e,{hasExport:r}=e,a=!1,c=3;return t.$$set=f=>{"sysinfo"in f&&l(0,n=f.sysinfo),"data"in f&&l(1,i=f.data),"currency"in f&&l(2,o=f.currency),"hasExport"in f&&l(3,r=f.hasExport)},t.$$.update=()=>{t.$$.dirty&18&&(l(4,a=i&&i.h&&(Math.abs(i.h.c)>.01||Math.abs(i.d.c)>.01||Math.abs(i.m.c)>.01||Math.abs(i.h.i)>.01||Math.abs(i.d.i)>.01||Math.abs(i.m.i)>.01)),l(5,c=a?3:2))},[n,i,o,r,a,c]}class gp extends Me{constructor(e){super(),Se(this,e,bp,hp,we,{sysinfo:0,data:1,currency:2,hasExport:3})}}function kp(t){let e,l,n=xr(t[0].source)+"",i,o,r,a;return r=new pn({props:{config:t[1]}}),{c(){e=m("a"),l=y("Provided by: "),i=y(n),o=h(),Z(r.$$.fragment),u(e,"href","https://transparency.entsoe.eu/"),u(e,"target","_blank"),u(e,"class","text-xs float-right z-40")},m(c,f){w(c,e,f),s(e,l),s(e,i),w(c,o,f),Q(r,c,f),a=!0},p(c,[f]){(!a||f&1)&&n!==(n=xr(c[0].source)+"")&&W(i,n);const p={};f&2&&(p.config=c[1]),r.$set(p)},i(c){a||(P(r.$$.fragment,c),a=!0)},o(c){I(r.$$.fragment,c),a=!1},d(c){c&&k(e),c&&k(o),X(r,c)}}}function wp(t,e,l){let{json:n}=e,{sysinfo:i}=e,o={},r,a;return t.$$set=c=>{"json"in c&&l(0,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&29){let c=n.currency,f=new Date().getUTCHours(),p=0,_=0,b=0,d=[],v=[],g=[];l(4,a=l(3,r=0));let T=new Date;for(fl(T,i.clock_offset-(24+T.getHours()-T.getUTCHours())%24),p=f;p<24&&(_=n[Ie(b++)],_!=null);p++)v.push({label:Ie(T.getHours())}),g.push(_*100),l(4,a=Math.min(a,_*100)),l(3,r=Math.max(r,_*100)),fl(T,1);for(p=0;p<24&&(_=n[Ie(b++)],_!=null);p++)v.push({label:Ie(T.getHours())}),g.push(_*100),l(4,a=Math.min(a,_*100)),l(3,r=Math.max(r,_*100)),fl(T,1);if(a>-100&&r<100){switch(c){case"NOK":case"SEK":case"DKK":c="øre";break;case"EUR":c="cent";break;default:c=c+"/100"}for(l(4,a*=100),l(3,r*=100),p=0;p=0?S.toFixed(N):"",title:S>=0?S.toFixed(2)+" "+c:"",value:_>=0?Math.abs(_):0,label2:S<0?S.toFixed(N):"",title2:S<0?S.toFixed(2)+" "+c:"",value2:_<0?Math.abs(_):0,color:"#7c3aed"})}let $=Math.max(r,Math.abs(a));if(a<0){l(4,a=Math.min($/4*-1,a));let S=Math.ceil(Math.abs(a)/$*4),N=a/S;for(p=1;p{"json"in c&&l(1,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&30){let c=0,f=[],p=[],_=[];l(4,a=l(3,r=0));let b=fl(new Date,-24),d=new Date().getUTCHours();for(fl(b,i.clock_offset-(24+b.getHours()-b.getUTCHours())%24),c=d;c<24;c++){let C=n["i"+Ie(c)],$=n["e"+Ie(c)];C===void 0&&(C=0),$===void 0&&($=0),p.push({label:Ie(b.getHours())}),_.push({label:C.toFixed(1),title:C.toFixed(2)+" kWh",value:C*10,label2:$.toFixed(1),title2:$.toFixed(2)+" kWh",value2:$*10,color:"#7c3aed",color2:"#37829E"}),l(4,a=Math.max(a,$*10)),l(3,r=Math.max(r,C*10)),fl(b,1)}for(c=0;c{"json"in c&&l(1,n=c.json),"sysinfo"in c&&l(2,i=c.sysinfo)},t.$$.update=()=>{if(t.$$.dirty&30){let c=0,f=[],p=[],_=[];l(4,a=l(3,r=0));let b=new Date,d=new Date;for(fl(b,i.clock_offset-(24+b.getHours()-b.getUTCHours())%24),fl(d,i.clock_offset-(24+d.getHours()-d.getUTCHours())%24),d.setDate(0),c=b.getDate();c<=d.getDate();c++){let C=n["i"+Ie(c)],$=n["e"+Ie(c)];C===void 0&&(C=0),$===void 0&&($=0),p.push({label:Ie(c)}),_.push({label:C.toFixed(C<10?1:0),title:C.toFixed(2)+" kWh",value:C,label2:$.toFixed($<10?1:0),title2:$.toFixed(2)+" kWh",value2:$,color:"#7c3aed",color2:"#37829E"}),l(4,a=Math.max(a,$)),l(3,r=Math.max(r,C))}for(c=1;c{"json"in a&&l(1,n=a.json)},t.$$.update=()=>{if(t.$$.dirty&14){let a=0,c=0,f=[],p=[],_=[];n.s&&n.s.forEach((v,g)=>{var T=v.n?v.n:v.a;c=v.v,c==-127&&(c=0),p.push({label:T.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 b=o;r<0&&(b+=Math.abs(r));let d=b/4;for(a=0;a<5;a++)c=r+d*a,f.push({value:c,label:c.toFixed(1)});l(0,i={title:"Temperature sensors (°C)",height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:r,max:o,ticks:f},x:{ticks:p},points:_})}},[i,n,o,r]}class Ap extends Me{constructor(e){super(),Se(this,e,Dp,Np,we,{json:1})}}function Ep(t){let e,l;return e=new pn({props:{config:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}let Ip=0;function Fp(t,e,l){let n={},i=0,o;return Uc.subscribe(r=>{l(2,o=r)}),qc(),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?Ie(p.d)+"."+lo[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:Ip,max:i,ticks:a},x:{ticks:c},points:f})}},[n,i,o]}class Rp extends Me{constructor(e){super(),Se(this,e,Fp,Ep,we,{})}}function Ua(t){let e,l,n,i,o,r,a=(t[0].mt?Cs(t[0].mt):"-")+"",c,f,p,_=(t[0].ic?t[0].ic.toFixed(1):"-")+"",b,d,v;return i=new Bc({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[0].pc,colorFn:Ac}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),c=y(a),f=h(),p=m("div"),b=y(_),d=y(" kWh"),u(n,"class","col-span-2"),u(p,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(g,T){w(g,e,T),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(r,c),s(l,f),s(l,p),s(p,b),s(p,d),v=!0},p(g,T){const C={};T&1&&(C.val=g[0].i?g[0].i:0),T&1&&(C.max=g[0].im?g[0].im:15e3),T&1&&(C.sub=g[0].p),T&1&&(C.subunit=g[0].pc),i.$set(C),(!v||T&1)&&a!==(a=(g[0].mt?Cs(g[0].mt):"-")+"")&&W(c,a),(!v||T&1)&&_!==(_=(g[0].ic?g[0].ic.toFixed(1):"-")+"")&&W(b,_)},i(g){v||(P(i.$$.fragment,g),v=!0)},o(g){I(i.$$.fragment,g),v=!1},d(g){g&&k(e),X(i)}}}function Ha(t){let e,l,n,i,o,r,a,c,f=(t[0].ec?t[0].ec.toFixed(1):"-")+"",p,_,b;return i=new Bc({props:{val:t[0].e?t[0].e:0,max:t[0].om?t[0].om*1e3:1e4,unit:"W",label:"Export",colorFn:bm}}),{c(){e=m("div"),l=m("div"),n=m("div"),Z(i.$$.fragment),o=h(),r=m("div"),a=h(),c=m("div"),p=y(f),_=y(" kWh"),u(n,"class","col-span-2"),u(c,"class","text-right"),u(l,"class","grid grid-cols-2"),u(e,"class","cnt")},m(d,v){w(d,e,v),s(e,l),s(l,n),Q(i,n,null),s(l,o),s(l,r),s(l,a),s(l,c),s(c,p),s(c,_),b=!0},p(d,v){const g={};v&1&&(g.val=d[0].e?d[0].e:0),v&1&&(g.max=d[0].om?d[0].om*1e3:1e4),i.$set(g),(!b||v&1)&&f!==(f=(d[0].ec?d[0].ec.toFixed(1):"-")+"")&&W(p,f)},i(d){b||(P(i.$$.fragment,d),b=!0)},o(d){I(i.$$.fragment,d),b=!1},d(d){d&&k(e),X(i)}}}function ja(t){let e,l,n;return l=new rp({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){w(i,e,o),Q(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&&k(e),X(l)}}}function Wa(t){let e,l,n;return l=new cp({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){w(i,e,o),Q(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&&k(e),X(l)}}}function Ga(t){let e,l,n;return l=new _p({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){w(i,e,o),Q(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&&k(e),X(l)}}}function Ba(t){let e,l,n;return l=new gp({props:{sysinfo:t[1],data:t[0].ea,currency:t[0].pc,hasExport:t[0].om>0||t[0].e>0}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&2&&(r.sysinfo=i[1]),o&1&&(r.data=i[0].ea),o&1&&(r.currency=i[0].pc),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&&k(e),X(l)}}}function za(t){let e,l,n;return l=new Rp({}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt h-64")},m(i,o){w(i,e,o),Q(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&&k(e),X(l)}}}function Ya(t){let e,l,n;return l=new yp({props:{json:t[2],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&4&&(r.json=i[2]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Ka(t){let e,l,n;return l=new Tp({props:{json:t[3],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&8&&(r.json=i[3]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Va(t){let e,l,n;return l=new Pp({props:{json:t[4],sysinfo:t[1]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(l,e,null),n=!0},p(i,o){const r={};o&16&&(r.json=i[4]),o&2&&(r.sysinfo=i[1]),l.$set(r)},i(i){n||(P(l.$$.fragment,i),n=!0)},o(i){I(l.$$.fragment,i),n=!1},d(i){i&&k(e),X(l)}}}function Qa(t){let e,l,n;return l=new Ap({props:{json:t[5]}}),{c(){e=m("div"),Z(l.$$.fragment),u(e,"class","cnt gwf")},m(i,o){w(i,e,o),Q(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&&k(e),X(l)}}}function Lp(t){let e,l=Ye(t[1].ui.i,t[0].i),n,i=Ye(t[1].ui.e,t[0].om||t[0].e>0),o,r=Ye(t[1].ui.v,t[0].u1>100||t[0].u2>100||t[0].u3>100),a,c=Ye(t[1].ui.a,t[0].i1>.01||t[0].i2>.01||t[0].i3>.01),f,p=Ye(t[1].ui.r,t[0].ri>0||t[0].re>0||t[0].ric>0||t[0].rec>0),_,b=Ye(t[1].ui.c,t[0].ea),d,v=Ye(t[1].ui.t,t[0].pr&&(t[0].pr.startsWith("10YNO")||t[0].pr=="10Y1001A1001A48H")),g,T=Ye(t[1].ui.p,t[0].pe&&!Number.isNaN(t[0].p)),C,$=Ye(t[1].ui.d,t[3]),M,F=Ye(t[1].ui.m,t[4]),S,N=Ye(t[1].ui.s,t[0].t&&t[0].t!=-127&&t[5].c>1),D,E=l&&Ua(t),Y=i&&Ha(t),R=r&&ja(t),U=c&&Wa(t),H=p&&Ga(t),z=b&&Ba(t),q=v&&za(),L=T&&Ya(t),B=$&&Ka(t),O=F&&Va(t),j=N&&Qa(t);return{c(){e=m("div"),E&&E.c(),n=h(),Y&&Y.c(),o=h(),R&&R.c(),a=h(),U&&U.c(),f=h(),H&&H.c(),_=h(),z&&z.c(),d=h(),q&&q.c(),g=h(),L&&L.c(),C=h(),B&&B.c(),M=h(),O&&O.c(),S=h(),j&&j.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(G,te){w(G,e,te),E&&E.m(e,null),s(e,n),Y&&Y.m(e,null),s(e,o),R&&R.m(e,null),s(e,a),U&&U.m(e,null),s(e,f),H&&H.m(e,null),s(e,_),z&&z.m(e,null),s(e,d),q&&q.m(e,null),s(e,g),L&&L.m(e,null),s(e,C),B&&B.m(e,null),s(e,M),O&&O.m(e,null),s(e,S),j&&j.m(e,null),D=!0},p(G,[te]){te&3&&(l=Ye(G[1].ui.i,G[0].i)),l?E?(E.p(G,te),te&3&&P(E,1)):(E=Ua(G),E.c(),P(E,1),E.m(e,n)):E&&(Ae(),I(E,1,1,()=>{E=null}),Ee()),te&3&&(i=Ye(G[1].ui.e,G[0].om||G[0].e>0)),i?Y?(Y.p(G,te),te&3&&P(Y,1)):(Y=Ha(G),Y.c(),P(Y,1),Y.m(e,o)):Y&&(Ae(),I(Y,1,1,()=>{Y=null}),Ee()),te&3&&(r=Ye(G[1].ui.v,G[0].u1>100||G[0].u2>100||G[0].u3>100)),r?R?(R.p(G,te),te&3&&P(R,1)):(R=ja(G),R.c(),P(R,1),R.m(e,a)):R&&(Ae(),I(R,1,1,()=>{R=null}),Ee()),te&3&&(c=Ye(G[1].ui.a,G[0].i1>.01||G[0].i2>.01||G[0].i3>.01)),c?U?(U.p(G,te),te&3&&P(U,1)):(U=Wa(G),U.c(),P(U,1),U.m(e,f)):U&&(Ae(),I(U,1,1,()=>{U=null}),Ee()),te&3&&(p=Ye(G[1].ui.r,G[0].ri>0||G[0].re>0||G[0].ric>0||G[0].rec>0)),p?H?(H.p(G,te),te&3&&P(H,1)):(H=Ga(G),H.c(),P(H,1),H.m(e,_)):H&&(Ae(),I(H,1,1,()=>{H=null}),Ee()),te&3&&(b=Ye(G[1].ui.c,G[0].ea)),b?z?(z.p(G,te),te&3&&P(z,1)):(z=Ba(G),z.c(),P(z,1),z.m(e,d)):z&&(Ae(),I(z,1,1,()=>{z=null}),Ee()),te&3&&(v=Ye(G[1].ui.t,G[0].pr&&(G[0].pr.startsWith("10YNO")||G[0].pr=="10Y1001A1001A48H"))),v?q?te&3&&P(q,1):(q=za(),q.c(),P(q,1),q.m(e,g)):q&&(Ae(),I(q,1,1,()=>{q=null}),Ee()),te&3&&(T=Ye(G[1].ui.p,G[0].pe&&!Number.isNaN(G[0].p))),T?L?(L.p(G,te),te&3&&P(L,1)):(L=Ya(G),L.c(),P(L,1),L.m(e,C)):L&&(Ae(),I(L,1,1,()=>{L=null}),Ee()),te&10&&($=Ye(G[1].ui.d,G[3])),$?B?(B.p(G,te),te&10&&P(B,1)):(B=Ka(G),B.c(),P(B,1),B.m(e,M)):B&&(Ae(),I(B,1,1,()=>{B=null}),Ee()),te&18&&(F=Ye(G[1].ui.m,G[4])),F?O?(O.p(G,te),te&18&&P(O,1)):(O=Va(G),O.c(),P(O,1),O.m(e,S)):O&&(Ae(),I(O,1,1,()=>{O=null}),Ee()),te&35&&(N=Ye(G[1].ui.s,G[0].t&&G[0].t!=-127&&G[5].c>1)),N?j?(j.p(G,te),te&35&&P(j,1)):(j=Qa(G),j.c(),P(j,1),j.m(e,null)):j&&(Ae(),I(j,1,1,()=>{j=null}),Ee())},i(G){D||(P(E),P(Y),P(R),P(U),P(H),P(z),P(q),P(L),P(B),P(O),P(j),D=!0)},o(G){I(E),I(Y),I(R),I(U),I(H),I(z),I(q),I(L),I(B),I(O),I(j),D=!1},d(G){G&&k(e),E&&E.d(),Y&&Y.d(),R&&R.d(),U&&U.d(),H&&H.d(),z&&z.d(),q&&q.d(),L&&L.d(),B&&B.d(),O&&O.d(),j&&j.d()}}}function Op(t,e,l){let{data:n={}}=e,{sysinfo:i={}}=e,o={},r={},a={},c={};return yo.subscribe(f=>{l(2,o=f)}),Fc.subscribe(f=>{l(3,r=f)}),Rc.subscribe(f=>{l(4,a=f)}),Oc.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 qp extends Me{constructor(e){super(),Se(this,e,Op,Lp,we,{data:0,sysinfo:1})}}let ao={};const $i=rt(ao);async function Up(){ao=await(await fetch("/configuration.json")).json(),$i.set(ao)}function Xa(t,e,l){const n=t.slice();return n[2]=e[l],n[4]=l,n}function Hp(t){let e;return{c(){e=m("option"),e.textContent="UART0",e.__value=3,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function jp(t){let e;return{c(){e=m("option"),e.textContent="UART0",e.__value=20,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function Za(t){let e;return{c(){e=m("option"),e.textContent="UART2",e.__value=113,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function Ja(t){let e,l,n;return{c(){e=m("option"),e.textContent="UART1",l=h(),n=m("option"),n.textContent="UART2",e.__value=9,e.value=e.__value,n.__value=16,n.value=n.__value},m(i,o){w(i,e,o),w(i,l,o),w(i,n,o)},d(i){i&&k(e),i&&k(l),i&&k(n)}}}function xa(t){let e;return{c(){e=m("option"),e.textContent="UART1",e.__value=18,e.value=e.__value},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function ef(t){let e,l,n;return{c(){e=m("option"),l=y("GPIO"),n=y(t[4]),e.__value=t[4],e.value=e.__value},m(i,o){w(i,e,o),s(e,l),s(e,n)},d(i){i&&k(e)}}}function tf(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))&&ef(t);return{c(){l&&l.c(),e=Ke()},m(n,i){l&&l.m(n,i),w(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=ef(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&k(e)}}}function Wp(t){let e,l,n,i,o;function r(v,g){return v[0]=="esp32c3"?jp:Hp}let a=r(t),c=a(t),f=t[0]=="esp8266"&&Za(),p=(t[0]=="esp32"||t[0]=="esp32solo")&&Ja(),_=t[0]=="esp32s2"&&xa(),b={length:t[1]+1},d=[];for(let v=0;v{"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 zc extends Me{constructor(e){super(),Se(this,e,Gp,Wp,we,{chip:0})}}function lf(t){let e,l,n=t[1]&&nf(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){w(i,e,o),s(e,l),n&&n.m(l,null)},p(i,o){i[1]?n?n.p(i,o):(n=nf(i),n.c(),n.m(l,null)):n&&(n.d(1),n=null)},d(i){i&&k(e),n&&n.d()}}}function nf(t){let e,l;return{c(){e=m("div"),l=y(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){w(n,e,i),s(e,l)},p(n,i){i&2&&W(l,n[1])},d(n){n&&k(e)}}}function Bp(t){let e,l=t[0]&&lf(t);return{c(){l&&l.c(),e=Ke()},m(n,i){l&&l.m(n,i),w(n,e,i)},p(n,[i]){n[0]?l?l.p(n,i):(l=lf(n),l.c(),l.m(e.parentNode,e)):l&&(l.d(1),l=null)},i:ne,o:ne,d(n){l&&l.d(n),n&&k(e)}}}function zp(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 At extends Me{constructor(e){super(),Se(this,e,zp,Bp,we,{active:0,message:1})}}function sf(t,e,l){const n=t.slice();return n[1]=e[l],n}function of(t){let e,l,n=t[1]+"",i;return{c(){e=m("option"),l=y("Europe/"),i=y(n),e.__value="Europe/"+t[1],e.value=e.__value},m(o,r){w(o,e,r),s(e,l),s(e,i)},p:ne,d(o){o&&k(e)}}}function Yp(t){let e,l,n,i=t[0],o=[];for(let r=0;r{g[Y]=null}),Ee(),i=g[n],i?i.p(D,E):(i=g[n]=v[n](D),i.c()),P(i,1),i.m(l,null));let R=a;a=M(D),a===R?$[a].p(D,E):(Ae(),I($[R],1,1,()=>{$[R]=null}),Ee(),c=$[a],c?c.p(D,E):(c=$[a]=C[a](D),c.c()),P(c,1),c.m(r,null));let U=_;_=N(D),_===U?S[_].p(D,E):(Ae(),I(S[U],1,1,()=>{S[U]=null}),Ee(),b=S[_],b?b.p(D,E):(b=S[_]=F[_](D),b.c()),P(b,1),b.m(p,null))},i(D){d||(P(i),P(c),P(b),d=!0)},o(D){I(i),I(c),I(b),d=!1},d(D){D&&k(e),g[n].d(),$[a].d(),S[_].d()}}}function t0(t){let e,l;return e=new el({props:{to:"/mqtt-ca",$$slots:{default:[n0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function l0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-ca",$$slots:{default:[i0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[K(i,"click",t[11]),K(i,"keypress",t[11])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function n0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload CA",title:"Click here to upload CA"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function i0(t){let e;return{c(){e=y("CA OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function s0(t){let e,l;return e=new el({props:{to:"/mqtt-cert",$$slots:{default:[u0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function o0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-cert",$$slots:{default:[r0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[K(i,"click",t[12]),K(i,"keypress",t[12])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function u0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload cert",title:"Click here to upload certificate"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function r0(t){let e;return{c(){e=y("Cert OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function a0(t){let e,l;return e=new el({props:{to:"/mqtt-key",$$slots:{default:[c0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i[3]&16384&&(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){X(e,n)}}}function f0(t){let e,l,n,i,o,r,a,c;return l=new el({props:{to:"/mqtt-key",$$slots:{default:[m0]},$$scope:{ctx:t}}}),o=new So({}),{c(){e=m("span"),Z(l.$$.fragment),n=h(),i=m("span"),Z(o.$$.fragment),u(e,"class","rounded-l-md bg-green-500 text-green-100 text-xs font-semibold px-2.5 py-1"),u(i,"class","rounded-r-md bg-red-500 text-red-100 text-xs px-2.5 py-1")},m(f,p){w(f,e,p),Q(l,e,null),w(f,n,p),w(f,i,p),Q(o,i,null),r=!0,a||(c=[K(i,"click",t[13]),K(i,"keypress",t[13])],a=!0)},p(f,p){const _={};p[3]&16384&&(_.$$scope={dirty:p,ctx:f}),l.$set(_)},i(f){r||(P(l.$$.fragment,f),P(o.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&k(e),X(l),f&&k(n),f&&k(i),X(o),a=!1,Be(c)}}}function c0(t){let e,l;return e=new fn({props:{color:"blue",text:"Upload key",title:"Click here to upload key"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function m0(t){let e;return{c(){e=y("Key OK")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function hf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q,L,B;return o=new Ot({}),{c(){e=m("div"),l=m("strong"),l.textContent="Domoticz",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),a=m("input"),c=h(),f=m("div"),p=m("div"),_=y("Electricity IDX"),b=m("br"),d=h(),v=m("input"),g=h(),T=m("div"),C=y("Current IDX"),$=m("br"),M=h(),F=m("input"),S=h(),N=m("div"),D=y(`Voltage IDX: L1, L2 & L3 + `),E=m("div"),Y=m("input"),R=h(),U=m("input"),H=h(),z=m("input"),u(l,"class","text-sm"),u(i,"href",qt("MQTT-configuration#domoticz")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","o"),a.value="true",u(v,"name","oe"),u(v,"type","text"),u(v,"class","in-f tr w-full"),u(p,"class","w-1/2"),u(F,"name","oc"),u(F,"type","text"),u(F,"class","in-l tr w-full"),u(T,"class","w-1/2"),u(f,"class","my-1 flex"),u(Y,"name","ou1"),u(Y,"type","text"),u(Y,"class","in-f tr w-1/3"),u(U,"name","ou2"),u(U,"type","text"),u(U,"class","in-m tr w-1/3"),u(z,"name","ou3"),u(z,"type","text"),u(z,"class","in-l tr w-1/3"),u(E,"class","flex"),u(N,"class","my-1"),u(e,"class","cnt")},m(O,j){w(O,e,j),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),s(e,a),s(e,c),s(e,f),s(f,p),s(p,_),s(p,b),s(p,d),s(p,v),V(v,t[3].o.e),s(f,g),s(f,T),s(T,C),s(T,$),s(T,M),s(T,F),V(F,t[3].o.c),s(e,S),s(e,N),s(N,D),s(N,E),s(E,Y),V(Y,t[3].o.u1),s(E,R),s(E,U),V(U,t[3].o.u2),s(E,H),s(E,z),V(z,t[3].o.u3),q=!0,L||(B=[K(v,"input",t[64]),K(F,"input",t[65]),K(Y,"input",t[66]),K(U,"input",t[67]),K(z,"input",t[68])],L=!0)},p(O,j){j[0]&8&&v.value!==O[3].o.e&&V(v,O[3].o.e),j[0]&8&&F.value!==O[3].o.c&&V(F,O[3].o.c),j[0]&8&&Y.value!==O[3].o.u1&&V(Y,O[3].o.u1),j[0]&8&&U.value!==O[3].o.u2&&V(U,O[3].o.u2),j[0]&8&&z.value!==O[3].o.u3&&V(z,O[3].o.u3)},i(O){q||(P(o.$$.fragment,O),q=!0)},o(O){I(o.$$.fragment,O),q=!1},d(O){O&&k(e),X(o),L=!1,Be(B)}}}function bf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z;return o=new Ot({}),{c(){e=m("div"),l=m("strong"),l.textContent="Home-Assistant",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),a=m("input"),c=h(),f=m("div"),p=y("Discovery topic prefix"),_=m("br"),b=h(),d=m("input"),v=h(),g=m("div"),T=y("Hostname for URL"),C=m("br"),$=h(),M=m("input"),S=h(),N=m("div"),D=y("Name tag"),E=m("br"),Y=h(),R=m("input"),u(l,"class","text-sm"),u(i,"href",qt("MQTT-configuration#home-assistant")),u(i,"target","_blank"),u(i,"class","float-right"),u(a,"type","hidden"),u(a,"name","h"),a.value="true",u(d,"name","ht"),u(d,"type","text"),u(d,"class","in-s"),u(d,"placeholder","homeassistant"),u(f,"class","my-1"),u(M,"name","hh"),u(M,"type","text"),u(M,"class","in-s"),u(M,"placeholder",F=t[3].g.h+".local"),u(g,"class","my-1"),u(R,"name","hn"),u(R,"type","text"),u(R,"class","in-s"),u(N,"class","my-1"),u(e,"class","cnt")},m(q,L){w(q,e,L),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),s(e,a),s(e,c),s(e,f),s(f,p),s(f,_),s(f,b),s(f,d),V(d,t[3].h.t),s(e,v),s(e,g),s(g,T),s(g,C),s(g,$),s(g,M),V(M,t[3].h.h),s(e,S),s(e,N),s(N,D),s(N,E),s(N,Y),s(N,R),V(R,t[3].h.n),U=!0,H||(z=[K(d,"input",t[69]),K(M,"input",t[70]),K(R,"input",t[71])],H=!0)},p(q,L){L[0]&8&&d.value!==q[3].h.t&&V(d,q[3].h.t),(!U||L[0]&8&&F!==(F=q[3].g.h+".local"))&&u(M,"placeholder",F),L[0]&8&&M.value!==q[3].h.h&&V(M,q[3].h.h),L[0]&8&&R.value!==q[3].h.n&&V(R,q[3].h.n)},i(q){U||(P(o.$$.fragment,q),U=!0)},o(q){I(o.$$.fragment,q),U=!1},d(q){q&&k(e),X(o),H=!1,Be(z)}}}function gf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M;o=new Ot({});let F={length:9},S=[];for(let N=0;N20&&$f(t),p=t[0].chip=="esp8266"&&Sf(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Hardware",n=h(),i=m("a"),Z(o.$$.fragment),r=h(),f&&f.c(),a=h(),p&&p.c(),u(l,"class","text-sm"),u(i,"href",qt("GPIO-configuration")),u(i,"target","_blank"),u(i,"class","float-right"),u(e,"class","cnt")},m(_,b){w(_,e,b),s(e,l),s(e,n),s(e,i),Q(o,i,null),s(e,r),f&&f.m(e,null),s(e,a),p&&p.m(e,null),c=!0},p(_,b){_[0].board>20?f?(f.p(_,b),b[0]&1&&P(f,1)):(f=$f(_),f.c(),P(f,1),f.m(e,a)):f&&(Ae(),I(f,1,1,()=>{f=null}),Ee()),_[0].chip=="esp8266"?p?p.p(_,b):(p=Sf(_),p.c(),p.m(e,null)):p&&(p.d(1),p=null)},i(_){c||(P(o.$$.fragment,_),P(f),c=!0)},o(_){I(o.$$.fragment,_),I(f),c=!1},d(_){_&&k(e),X(o),f&&f.d(),p&&p.d()}}}function $f(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q,L,B,O,j,G,te,le,pe,ie,Pe,je,De,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x;b=new zc({props:{chip:t[0].chip}});let oe=t[0].chip!="esp8266"&&Cf(t),Ue=t[3].i.v.p>0&&Tf(t);return{c(){e=m("input"),l=h(),n=m("div"),i=m("div"),o=y("HAN"),r=m("label"),a=m("input"),c=y(" pullup"),f=m("br"),p=h(),_=m("select"),Z(b.$$.fragment),d=h(),v=m("div"),g=y("AP button"),T=m("br"),C=h(),$=m("input"),M=h(),F=m("div"),S=y("LED"),N=m("label"),D=m("input"),E=y(" inv"),Y=m("br"),R=h(),U=m("div"),H=m("input"),z=h(),q=m("div"),L=y("RGB"),B=m("label"),O=m("input"),j=y(" inverted"),G=m("br"),te=h(),le=m("div"),pe=m("input"),ie=h(),Pe=m("input"),je=h(),De=m("input"),We=h(),be=m("div"),ye=y("Temperature"),Re=m("br"),ge=h(),ae=m("input"),$e=h(),J=m("div"),se=y("Analog temp"),Fe=m("br"),Le=h(),_e=m("input"),Ce=h(),oe&&oe.c(),Ne=h(),Ue&&Ue.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&&tt(()=>t[76].call(_)),u(i,"class","w-1/3"),u($,"name","ia"),u($,"type","number"),u($,"min","0"),u($,"max",t[6]),u($,"class","in-m tr w-full"),u(v,"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(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(U,"class","flex"),u(F,"class","w-1/3"),u(O,"name","iri"),O.__value="true",O.value=O.__value,u(O,"type","checkbox"),u(O,"class","rounded mb-1"),u(B,"class","ml-4"),u(pe,"name","irr"),u(pe,"type","number"),u(pe,"min","0"),u(pe,"max",t[6]),u(pe,"class","in-f tr w-1/3"),u(Pe,"name","irg"),u(Pe,"type","number"),u(Pe,"min","0"),u(Pe,"max",t[6]),u(Pe,"class","in-m tr w-1/3"),u(De,"name","irb"),u(De,"type","number"),u(De,"min","0"),u(De,"max",t[6]),u(De,"class","in-l tr w-1/3"),u(le,"class","flex"),u(q,"class","w-full"),u(ae,"name","itd"),u(ae,"type","number"),u(ae,"min","0"),u(ae,"max",t[6]),u(ae,"class","in-f tr w-full"),u(be,"class","my-1 w-1/3"),u(_e,"name","ita"),u(_e,"type","number"),u(_e,"min","0"),u(_e,"max",t[6]),u(_e,"class","in-l tr w-full"),u(J,"class","my-1 pr-1 w-1/3"),u(n,"class","flex flex-wrap")},m(ue,ve){w(ue,e,ve),w(ue,l,ve),w(ue,n,ve),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,p),s(i,_),Q(b,_,null),qe(_,t[3].i.h.p,!0),s(n,d),s(n,v),s(v,g),s(v,T),s(v,C),s(v,$),V($,t[3].i.a),s(n,M),s(n,F),s(F,S),s(F,N),s(N,D),D.checked=t[3].i.l.i,s(N,E),s(F,Y),s(F,R),s(F,U),s(U,H),V(H,t[3].i.l.p),s(n,z),s(n,q),s(q,L),s(q,B),s(B,O),O.checked=t[3].i.r.i,s(B,j),s(q,G),s(q,te),s(q,le),s(le,pe),V(pe,t[3].i.r.r),s(le,ie),s(le,Pe),V(Pe,t[3].i.r.g),s(le,je),s(le,De),V(De,t[3].i.r.b),s(n,We),s(n,be),s(be,ye),s(be,Re),s(be,ge),s(be,ae),V(ae,t[3].i.t.d),s(n,$e),s(n,J),s(J,se),s(J,Fe),s(J,Le),s(J,_e),V(_e,t[3].i.t.a),s(n,Ce),oe&&oe.m(n,null),s(n,Ne),Ue&&Ue.m(n,null),de=!0,Te||(x=[K(a,"change",t[75]),K(_,"change",t[76]),K($,"input",t[77]),K(D,"change",t[78]),K(H,"input",t[79]),K(O,"change",t[80]),K(pe,"input",t[81]),K(Pe,"input",t[82]),K(De,"input",t[83]),K(ae,"input",t[84]),K(_e,"input",t[85])],Te=!0)},p(ue,ve){ve[0]&8&&(a.checked=ue[3].i.h.u);const dt={};ve[0]&1&&(dt.chip=ue[0].chip),b.$set(dt),ve[0]&8&&qe(_,ue[3].i.h.p),(!de||ve[0]&64)&&u($,"max",ue[6]),ve[0]&8&&fe($.value)!==ue[3].i.a&&V($,ue[3].i.a),ve[0]&8&&(D.checked=ue[3].i.l.i),(!de||ve[0]&64)&&u(H,"max",ue[6]),ve[0]&8&&fe(H.value)!==ue[3].i.l.p&&V(H,ue[3].i.l.p),ve[0]&8&&(O.checked=ue[3].i.r.i),(!de||ve[0]&64)&&u(pe,"max",ue[6]),ve[0]&8&&fe(pe.value)!==ue[3].i.r.r&&V(pe,ue[3].i.r.r),(!de||ve[0]&64)&&u(Pe,"max",ue[6]),ve[0]&8&&fe(Pe.value)!==ue[3].i.r.g&&V(Pe,ue[3].i.r.g),(!de||ve[0]&64)&&u(De,"max",ue[6]),ve[0]&8&&fe(De.value)!==ue[3].i.r.b&&V(De,ue[3].i.r.b),(!de||ve[0]&64)&&u(ae,"max",ue[6]),ve[0]&8&&fe(ae.value)!==ue[3].i.t.d&&V(ae,ue[3].i.t.d),(!de||ve[0]&64)&&u(_e,"max",ue[6]),ve[0]&8&&fe(_e.value)!==ue[3].i.t.a&&V(_e,ue[3].i.t.a),ue[0].chip!="esp8266"?oe?oe.p(ue,ve):(oe=Cf(ue),oe.c(),oe.m(n,Ne)):oe&&(oe.d(1),oe=null),ue[3].i.v.p>0?Ue?Ue.p(ue,ve):(Ue=Tf(ue),Ue.c(),Ue.m(n,null)):Ue&&(Ue.d(1),Ue=null)},i(ue){de||(P(b.$$.fragment,ue),de=!0)},o(ue){I(b.$$.fragment,ue),de=!1},d(ue){ue&&k(e),ue&&k(l),ue&&k(n),X(b),oe&&oe.d(),Ue&&Ue.d(),Te=!1,Be(x)}}}function Cf(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=y("Vcc"),n=m("br"),i=h(),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(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),V(o,t[3].i.v.p),r||(a=K(o,"input",t[86]),r=!0)},p(c,f){f[0]&64&&u(o,"max",c[6]),f[0]&8&&fe(o.value)!==c[3].i.v.p&&V(o,c[3].i.v.p)},d(c){c&&k(e),r=!1,a()}}}function Tf(t){let e,l,n,i,o,r,a,c,f,p;return{c(){e=m("div"),l=y("Voltage divider"),n=m("br"),i=h(),o=m("div"),r=m("input"),a=h(),c=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(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(_,b){w(_,e,b),s(e,l),s(e,n),s(e,i),s(e,o),s(o,r),V(r,t[3].i.v.d.v),s(o,a),s(o,c),V(c,t[3].i.v.d.g),f||(p=[K(r,"input",t[87]),K(c,"input",t[88])],f=!0)},p(_,b){b[0]&8&&fe(r.value)!==_[3].i.v.d.v&&V(r,_[3].i.v.d.v),b[0]&8&&fe(c.value)!==_[3].i.v.d.g&&V(c,_[3].i.v.d.g)},d(_){_&&k(e),f=!1,Be(p)}}}function Sf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$=(t[0].board==2||t[0].board==100)&&Mf(t);return{c(){e=m("input"),l=h(),n=m("div"),i=m("div"),o=y("Vcc offset"),r=m("br"),a=h(),c=m("input"),f=h(),p=m("div"),_=y("Multiplier"),b=m("br"),d=h(),v=m("input"),g=h(),$&&$.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(v,"name","ivm"),u(v,"type","number"),u(v,"min","0.1"),u(v,"max","10"),u(v,"step","0.01"),u(v,"class","in-l tr w-full"),u(p,"class","w-1/3 pr-1"),u(n,"class","my-1 flex flex-wrap")},m(M,F){w(M,e,F),w(M,l,F),w(M,n,F),s(n,i),s(i,o),s(i,r),s(i,a),s(i,c),V(c,t[3].i.v.o),s(n,f),s(n,p),s(p,_),s(p,b),s(p,d),s(p,v),V(v,t[3].i.v.m),s(n,g),$&&$.m(n,null),T||(C=[K(c,"input",t[89]),K(v,"input",t[90])],T=!0)},p(M,F){F[0]&8&&fe(c.value)!==M[3].i.v.o&&V(c,M[3].i.v.o),F[0]&8&&fe(v.value)!==M[3].i.v.m&&V(v,M[3].i.v.m),M[0].board==2||M[0].board==100?$?$.p(M,F):($=Mf(M),$.c(),$.m(n,null)):$&&($.d(1),$=null)},d(M){M&&k(e),M&&k(l),M&&k(n),$&&$.d(),T=!1,Be(C)}}}function Mf(t){let e,l,n,i,o,r,a;return{c(){e=m("div"),l=y("Boot limit"),n=m("br"),i=h(),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(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),V(o,t[3].i.v.b),r||(a=K(o,"input",t[91]),r=!0)},p(c,f){f[0]&8&&fe(o.value)!==c[3].i.v.b&&V(o,c[3].i.v.b)},d(c){c&&k(e),r=!1,a()}}}function Pf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C=t[3].d.t&&Nf();return{c(){e=m("div"),e.textContent="Debug can cause sudden reboots. Do not leave on!",l=h(),n=m("div"),i=m("label"),o=m("input"),r=y(" Enable telnet"),a=h(),C&&C.c(),c=h(),f=m("div"),p=m("select"),_=m("option"),_.textContent="Verbose",b=m("option"),b.textContent="Debug",d=m("option"),d.textContent="Info",v=m("option"),v.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,b.__value=2,b.value=b.__value,d.__value=3,d.value=d.__value,v.__value=4,v.value=v.__value,u(p,"name","dl"),u(p,"class","in-s"),t[3].d.l===void 0&&tt(()=>t[94].call(p)),u(f,"class","my-1")},m($,M){w($,e,M),w($,l,M),w($,n,M),s(n,i),s(i,o),o.checked=t[3].d.t,s(i,r),w($,a,M),C&&C.m($,M),w($,c,M),w($,f,M),s(f,p),s(p,_),s(p,b),s(p,d),s(p,v),qe(p,t[3].d.l,!0),g||(T=[K(o,"change",t[93]),K(p,"change",t[94])],g=!0)},p($,M){M[0]&8&&(o.checked=$[3].d.t),$[3].d.t?C||(C=Nf(),C.c(),C.m(c.parentNode,c)):C&&(C.d(1),C=null),M[0]&8&&qe(p,$[3].d.l)},d($){$&&k(e),$&&k(l),$&&k(n),$&&k(a),C&&C.d($),$&&k(c),$&&k(f),g=!1,Be(T)}}}function Nf(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){w(l,e,n)},d(l){l&&k(e)}}}function p0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q,L,B,O,j,G,te,le,pe,ie,Pe,je,De,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x,oe,Ue,ue,ve,dt,Wl,tl,ct,Ml,pl,Ht,vt,Qe,Xe,Ze,He,Je,Ge,xe,et,re,he,Ai,_l,_n,St,Ei,Ii,Fi,dl,Ri,Li,Oi,Mt,Pl,Nl,Dl,qi,ze,ke,vl,Ps,Al,Et,Ui,Gl,Po,ll,Hi,No,Ns,Do,ci,jt,Ao,Eo,El,nl,Il,Io,ji,Fo,mt,Fl,Ro,Wi,dn,vn,hn,bn,Gi,Lo,It,Oo,Bl,qo,Uo,Ho,il,gn,kn,jo,wn,zl,Wo,Go,Bo,yn,Wt,zo,Bi,Yo,Yl,Ko,Vo,Qo,$n,Gt,Xo,zi,Zo,Ds,Jo,Kl,Yi,Bt,xo,eu,tu,As,Ki,zt,lu,nu,iu,lt,Vi,su,Cn,Tn,ou,mi,uu,Vl,ru,au,fu,hl,cu,Ql,mu,pu,_u,bl,du,Sn,Xl,vu,hu,bu,Ft,Mn,Pn,Nn,Dn,gu,Zl,ku,wu,yu,An,Rt,$u,Qi,Cu,Xi,Zi,Yt,Tu,Su,Ji,xi,Kt,Mu,Pu,at,es,Nu,En,In,Du,Jl,Au,Eu,Iu,Rl,sl,Fn,Rn,Fu,Pt,ts,ls,Ru,Nt,Ln,ns,is,Lu,Es,ss,os,Vt,Ou,qu,pi,Uu,Ll,Hu,_i,Qt,ju,Wu,Gu,us,gl,Bu,Ve,rs,zu,On,qn,Yu,di,Ku,ol,Vu,Is,Qu,Xu,Un,kl,Zu,Xt,Ju,Fs,xl,xu,er,tr,wl,lr,en,nr,ir,sr,yl,or,Hn,jn,ur,rr,ar,$l,fr,Wn,cr,mr,pr,ht,Gn,Bn,zn,Yn,Kn,Vn,_r,tn,dr,vr,hr,Cl,br,Rs,Ls,Os=t[3].p.r.startsWith("10YNO")||t[3].p.r=="10Y1001A1001A48H",qs,ul,as,gr,Qn,Xn,kr,vi,wr,hi,yr,Us,Dt,fs,$r,Zn,Jn,Cr,bi,Tr,cs,ms,Zt,Sr,Mr,Pr,Ol,Hs,xn,Nr,ps,ei,Dr,_s,js,ln,Ws,nn,Gs,sn,Bs,on,Jt,zs,Ar;a=new Ot({}),E=new Vp({});let Kc=["NOK","SEK","DKK","EUR"],gi=[];for(let A=0;A<4;A+=1)gi[A]=xp(Jp(t,Kc,A));let bt=t[3].p.e&&t[0].chip!="esp8266"&&af(t),gt=t[3].g.s>0&&ff(t);Et=new Ot({});let Vc=[24,48,96,192,384,576,1152],ki=[];for(let A=0;A<7;A+=1)ki[A]=e0(Zp(t,Vc,A));let kt=t[3].m.e.e&&cf(t),wt=t[3].m.e.e&&mf(t),yt=t[3].m.m.e&&pf(t);Tn=new Ot({}),In=new Ot({}),Ln=new Yc({});let $t=t[3].n.m=="static"&&_f(t);qn=new Ot({});let Ct=t[0].chip!="esp8266"&&df(t),nt=t[3].q.s.e&&vf(t),it=t[3].q.m==3&&hf(t),st=t[3].q.m==4&&bf(t),ot=Os&&gf(t);Xn=new Ot({});let ti=t[7],pt=[];for(let A=0;A20||t[0].chip=="esp8266")&&yf(t);Jn=new Ot({});let Tt=t[3].d.s&&Pf(t);return ln=new At({props:{active:t[1],message:"Loading configuration"}}),nn=new At({props:{active:t[2],message:"Saving configuration"}}),sn=new At({props:{active:t[4],message:"Performing factory reset"}}),on=new At({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=h(),r=m("a"),Z(a.$$.fragment),c=h(),f=m("input"),p=h(),_=m("div"),b=m("div"),d=m("div"),v=y("Hostname"),g=m("br"),T=h(),C=m("input"),$=h(),M=m("div"),F=y("Time zone"),S=m("br"),N=h(),D=m("select"),Z(E.$$.fragment),Y=h(),R=m("input"),U=h(),H=m("div"),z=m("div"),q=m("div"),L=y("Price region"),B=m("br"),O=h(),j=m("select"),G=m("optgroup"),te=m("option"),te.textContent="NO1",le=m("option"),le.textContent="NO2",pe=m("option"),pe.textContent="NO3",ie=m("option"),ie.textContent="NO4",Pe=m("option"),Pe.textContent="NO5",je=m("optgroup"),De=m("option"),De.textContent="SE1",We=m("option"),We.textContent="SE2",be=m("option"),be.textContent="SE3",ye=m("option"),ye.textContent="SE4",Re=m("optgroup"),ge=m("option"),ge.textContent="DK1",ae=m("option"),ae.textContent="DK2",$e=m("option"),$e.textContent="Austria",J=m("option"),J.textContent="Belgium",se=m("option"),se.textContent="Czech Republic",Fe=m("option"),Fe.textContent="Estonia",Le=m("option"),Le.textContent="Finland",_e=m("option"),_e.textContent="France",Ce=m("option"),Ce.textContent="Germany",Ne=m("option"),Ne.textContent="Great Britain",de=m("option"),de.textContent="Latvia",Te=m("option"),Te.textContent="Lithuania",x=m("option"),x.textContent="Netherland",oe=m("option"),oe.textContent="Poland",Ue=m("option"),Ue.textContent="Switzerland",ue=h(),ve=m("div"),dt=y("Currency"),Wl=m("br"),tl=h(),ct=m("select");for(let A=0;A<4;A+=1)gi[A].c();Ml=h(),pl=m("div"),Ht=m("div"),vt=m("div"),Qe=y("Fixed price"),Xe=m("br"),Ze=h(),He=m("input"),Je=h(),Ge=m("div"),xe=y("Multiplier"),et=m("br"),re=h(),he=m("input"),Ai=h(),_l=m("div"),_n=m("label"),St=m("input"),Ei=y(" Enable price fetch from remote server"),Ii=h(),bt&&bt.c(),Fi=h(),dl=m("div"),Ri=y("Security"),Li=m("br"),Oi=h(),Mt=m("select"),Pl=m("option"),Pl.textContent="None",Nl=m("option"),Nl.textContent="Only configuration",Dl=m("option"),Dl.textContent="Everything",qi=h(),gt&>.c(),ze=h(),ke=m("div"),vl=m("strong"),vl.textContent="Meter",Ps=h(),Al=m("a"),Z(Et.$$.fragment),Ui=h(),Gl=m("input"),Po=h(),ll=m("div"),Hi=m("span"),Hi.textContent="Buffer size",No=h(),Ns=m("span"),Ns.textContent="Serial conf.",Do=h(),ci=m("label"),jt=m("input"),Ao=y(" inverted"),Eo=h(),El=m("div"),nl=m("select"),Il=m("option"),Io=y("Autodetect");for(let A=0;A<7;A+=1)ki[A].c();Fo=h(),mt=m("select"),Fl=m("option"),Ro=y("-"),dn=m("option"),dn.textContent="7N1",vn=m("option"),vn.textContent="8N1",hn=m("option"),hn.textContent="7E1",bn=m("option"),bn.textContent="8E1",Lo=h(),It=m("input"),Oo=h(),Bl=m("div"),qo=y("Voltage"),Uo=m("br"),Ho=h(),il=m("select"),gn=m("option"),gn.textContent="400V (TN)",kn=m("option"),kn.textContent="230V (IT/TT)",jo=h(),wn=m("div"),zl=m("div"),Wo=y("Main fuse"),Go=m("br"),Bo=h(),yn=m("label"),Wt=m("input"),zo=h(),Bi=m("span"),Bi.textContent="A",Yo=h(),Yl=m("div"),Ko=y("Production"),Vo=m("br"),Qo=h(),$n=m("label"),Gt=m("input"),Xo=h(),zi=m("span"),zi.textContent="kWp",Zo=h(),Ds=m("div"),Jo=h(),Kl=m("div"),Yi=m("label"),Bt=m("input"),xo=y(" Meter is encrypted"),eu=h(),kt&&kt.c(),tu=h(),wt&&wt.c(),As=h(),Ki=m("label"),zt=m("input"),lu=y(" Multipliers"),nu=h(),yt&&yt.c(),iu=h(),lt=m("div"),Vi=m("strong"),Vi.textContent="WiFi",su=h(),Cn=m("a"),Z(Tn.$$.fragment),ou=h(),mi=m("input"),uu=h(),Vl=m("div"),ru=y("SSID"),au=m("br"),fu=h(),hl=m("input"),cu=h(),Ql=m("div"),mu=y("Password"),pu=m("br"),_u=h(),bl=m("input"),du=h(),Sn=m("div"),Xl=m("div"),vu=y("Power saving"),hu=m("br"),bu=h(),Ft=m("select"),Mn=m("option"),Mn.textContent="Default",Pn=m("option"),Pn.textContent="Off",Nn=m("option"),Nn.textContent="Minimum",Dn=m("option"),Dn.textContent="Maximum",gu=h(),Zl=m("div"),ku=y("Power"),wu=m("br"),yu=h(),An=m("div"),Rt=m("input"),$u=h(),Qi=m("span"),Qi.textContent="dBm",Cu=h(),Xi=m("div"),Zi=m("label"),Yt=m("input"),Tu=y(" Auto reboot on connection problem"),Su=h(),Ji=m("div"),xi=m("label"),Kt=m("input"),Mu=y(" Allow 802.11b legacy rates"),Pu=h(),at=m("div"),es=m("strong"),es.textContent="Network",Nu=h(),En=m("a"),Z(In.$$.fragment),Du=h(),Jl=m("div"),Au=y("IP"),Eu=m("br"),Iu=h(),Rl=m("div"),sl=m("select"),Fn=m("option"),Fn.textContent="DHCP",Rn=m("option"),Rn.textContent="Static",Fu=h(),Pt=m("input"),Ru=h(),Nt=m("select"),Z(Ln.$$.fragment),Lu=h(),$t&&$t.c(),Es=h(),ss=m("div"),os=m("label"),Vt=m("input"),Ou=y(" enable mDNS"),qu=h(),pi=m("input"),Uu=h(),Ll=m("div"),Hu=y("NTP "),_i=m("label"),Qt=m("input"),ju=y(" obtain from DHCP"),Wu=m("br"),Gu=h(),us=m("div"),gl=m("input"),Bu=h(),Ve=m("div"),rs=m("strong"),rs.textContent="MQTT",zu=h(),On=m("a"),Z(qn.$$.fragment),Yu=h(),di=m("input"),Ku=h(),ol=m("div"),Vu=y(`Server + `),Ct&&Ct.c(),Is=h(),Qu=m("br"),Xu=h(),Un=m("div"),kl=m("input"),Zu=h(),Xt=m("input"),Ju=h(),nt&&nt.c(),Fs=h(),xl=m("div"),xu=y("Username"),er=m("br"),tr=h(),wl=m("input"),lr=h(),en=m("div"),nr=y("Password"),ir=m("br"),sr=h(),yl=m("input"),or=h(),Hn=m("div"),jn=m("div"),ur=y("Client ID"),rr=m("br"),ar=h(),$l=m("input"),fr=h(),Wn=m("div"),cr=y("Payload"),mr=m("br"),pr=h(),ht=m("select"),Gn=m("option"),Gn.textContent="JSON",Bn=m("option"),Bn.textContent="Raw (minimal)",zn=m("option"),zn.textContent="Raw (full)",Yn=m("option"),Yn.textContent="Domoticz",Kn=m("option"),Kn.textContent="HomeAssistant",Vn=m("option"),Vn.textContent="HEX dump",_r=h(),tn=m("div"),dr=y("Publish topic"),vr=m("br"),hr=h(),Cl=m("input"),br=h(),it&&it.c(),Rs=h(),st&&st.c(),Ls=h(),ot&&ot.c(),qs=h(),ul=m("div"),as=m("strong"),as.textContent="User interface",gr=h(),Qn=m("a"),Z(Xn.$$.fragment),kr=h(),vi=m("input"),wr=h(),hi=m("div");for(let A=0;ASave',js=h(),Z(ln.$$.fragment),Ws=h(),Z(nn.$$.fragment),Gs=h(),Z(sn.$$.fragment),Bs=h(),Z(on.$$.fragment),u(i,"class","text-sm"),u(r,"href",qt("General-configuration")),u(r,"target","_blank"),u(r,"class","float-right"),u(f,"type","hidden"),u(f,"name","g"),f.value="true",u(C,"name","gh"),u(C,"type","text"),u(C,"class","in-f w-full"),u(C,"pattern","[A-Za-z0-9-]+"),u(D,"name","gt"),u(D,"class","in-l w-full"),t[3].g.t===void 0&&tt(()=>t[16].call(D)),u(b,"class","flex"),u(_,"class","my-1"),u(R,"type","hidden"),u(R,"name","p"),R.value="true",te.__value="10YNO-1--------2",te.value=te.__value,le.__value="10YNO-2--------T",le.value=le.__value,pe.__value="10YNO-3--------J",pe.value=pe.__value,ie.__value="10YNO-4--------9",ie.value=ie.__value,Pe.__value="10Y1001A1001A48H",Pe.value=Pe.__value,u(G,"label","Norway"),De.__value="10Y1001A1001A44P",De.value=De.__value,We.__value="10Y1001A1001A45N",We.value=We.__value,be.__value="10Y1001A1001A46L",be.value=be.__value,ye.__value="10Y1001A1001A47J",ye.value=ye.__value,u(je,"label","Sweden"),ge.__value="10YDK-1--------W",ge.value=ge.__value,ae.__value="10YDK-2--------M",ae.value=ae.__value,u(Re,"label","Denmark"),$e.__value="10YAT-APG------L",$e.value=$e.__value,J.__value="10YBE----------2",J.value=J.__value,se.__value="10YCZ-CEPS-----N",se.value=se.__value,Fe.__value="10Y1001A1001A39I",Fe.value=Fe.__value,Le.__value="10YFI-1--------U",Le.value=Le.__value,_e.__value="10YFR-RTE------C",_e.value=_e.__value,Ce.__value="10Y1001A1001A83F",Ce.value=Ce.__value,Ne.__value="10YGB----------A",Ne.value=Ne.__value,de.__value="10YLV-1001A00074",de.value=de.__value,Te.__value="10YLT-1001A0008Q",Te.value=Te.__value,x.__value="10YNL----------L",x.value=x.__value,oe.__value="10YPL-AREA-----S",oe.value=oe.__value,Ue.__value="10YCH-SWISSGRIDZ",Ue.value=Ue.__value,u(j,"name","pr"),u(j,"class","in-f w-full"),t[3].p.r===void 0&&tt(()=>t[17].call(j)),u(q,"class","w-full"),u(ct,"name","pc"),u(ct,"class","in-l"),t[3].p.c===void 0&&tt(()=>t[18].call(ct)),u(z,"class","flex"),u(H,"class","my-1"),u(He,"name","pf"),u(He,"type","number"),u(He,"min","0.001"),u(He,"max","65"),u(He,"step","0.001"),u(He,"class","in-f tr w-full"),u(vt,"class","w-1/2"),u(he,"name","pm"),u(he,"type","number"),u(he,"min","0.001"),u(he,"max","1000"),u(he,"step","0.001"),u(he,"class","in-l tr w-full"),u(Ge,"class","w-1/2"),u(Ht,"class","flex"),u(pl,"class","my-1"),u(St,"type","checkbox"),u(St,"name","pe"),St.__value="true",St.value=St.__value,u(St,"class","rounded mb-1"),u(_l,"class","my-1"),Pl.__value=0,Pl.value=Pl.__value,Nl.__value=1,Nl.value=Nl.__value,Dl.__value=2,Dl.value=Dl.__value,u(Mt,"name","gs"),u(Mt,"class","in-s"),t[3].g.s===void 0&&tt(()=>t[23].call(Mt)),u(dl,"class","my-1"),u(n,"class","cnt"),u(vl,"class","text-sm"),u(Al,"href",qt("Meter-configuration")),u(Al,"target","_blank"),u(Al,"class","float-right"),u(Gl,"type","hidden"),u(Gl,"name","m"),Gl.value="true",u(Hi,"class","float-right"),u(jt,"name","mi"),jt.__value="true",jt.value=jt.__value,u(jt,"type","checkbox"),u(jt,"class","rounded mb-1"),u(ci,"class","mt-2 ml-3 whitespace-nowrap"),Il.__value=0,Il.value=Il.__value,Il.disabled=ji=t[3].m.b!=0,u(nl,"name","mb"),u(nl,"class","in-f tr w-1/2"),t[3].m.b===void 0&&tt(()=>t[27].call(nl)),Fl.__value=0,Fl.value=Fl.__value,Fl.disabled=Wi=t[3].m.b!=0,dn.__value=2,dn.value=dn.__value,vn.__value=3,vn.value=vn.__value,hn.__value=10,hn.value=hn.__value,bn.__value=11,bn.value=bn.__value,u(mt,"name","mp"),u(mt,"class","in-m"),mt.disabled=Gi=t[3].m.b==0,t[3].m.p===void 0&&tt(()=>t[28].call(mt)),u(It,"name","ms"),u(It,"type","number"),u(It,"min",64),u(It,"max",4096),u(It,"step",64),u(It,"class","in-l tr w-1/2"),u(El,"class","flex w-full"),u(ll,"class","my-1"),gn.__value=2,gn.value=gn.__value,kn.__value=1,kn.value=kn.__value,u(il,"name","md"),u(il,"class","in-s"),t[3].m.d===void 0&&tt(()=>t[30].call(il)),u(Bl,"class","my-1"),u(Wt,"name","mf"),u(Wt,"type","number"),u(Wt,"min","5"),u(Wt,"max","65535"),u(Wt,"class","in-f tr w-full"),u(Bi,"class","in-post"),u(yn,"class","flex"),u(zl,"class","mx-1"),u(Gt,"name","mr"),u(Gt,"type","number"),u(Gt,"min","0"),u(Gt,"max","65535"),u(Gt,"class","in-f tr w-full"),u(zi,"class","in-post"),u($n,"class","flex"),u(Yl,"class","mx-1"),u(wn,"class","my-1 flex"),u(Ds,"class","my-1"),u(Bt,"type","checkbox"),u(Bt,"name","me"),Bt.__value="true",Bt.value=Bt.__value,u(Bt,"class","rounded mb-1"),u(Kl,"class","my-1"),u(zt,"type","checkbox"),u(zt,"name","mm"),zt.__value="true",zt.value=zt.__value,u(zt,"class","rounded mb-1"),u(ke,"class","cnt"),u(Vi,"class","text-sm"),u(Cn,"href",qt("WiFi-configuration")),u(Cn,"target","_blank"),u(Cn,"class","float-right"),u(mi,"type","hidden"),u(mi,"name","w"),mi.value="true",u(hl,"name","ws"),u(hl,"type","text"),u(hl,"class","in-s"),u(Vl,"class","my-1"),u(bl,"name","wp"),u(bl,"type","password"),u(bl,"class","in-s"),u(Ql,"class","my-1"),Mn.__value=255,Mn.value=Mn.__value,Pn.__value=0,Pn.value=Pn.__value,Nn.__value=1,Nn.value=Nn.__value,Dn.__value=2,Dn.value=Dn.__value,u(Ft,"name","wz"),u(Ft,"class","in-s"),t[3].w.z===void 0&&tt(()=>t[43].call(Ft)),u(Xl,"class","w-1/2"),u(Rt,"name","ww"),u(Rt,"type","number"),u(Rt,"min","0"),u(Rt,"max","20.5"),u(Rt,"step","0.5"),u(Rt,"class","in-f tr w-full"),u(Qi,"class","in-post"),u(An,"class","flex"),u(Zl,"class","ml-2 w-1/2"),u(Sn,"class","my-1 flex"),u(Yt,"type","checkbox"),u(Yt,"name","wa"),Yt.__value="true",Yt.value=Yt.__value,u(Yt,"class","rounded mb-1"),u(Xi,"class","my-3"),u(Kt,"type","checkbox"),u(Kt,"name","wb"),Kt.__value="true",Kt.value=Kt.__value,u(Kt,"class","rounded mb-1"),u(Ji,"class","my-3"),u(lt,"class","cnt"),u(es,"class","text-sm"),u(En,"href",qt("Network-configuration")),u(En,"target","_blank"),u(En,"class","float-right"),Fn.__value="dhcp",Fn.value=Fn.__value,Rn.__value="static",Rn.value=Rn.__value,u(sl,"name","nm"),u(sl,"class","in-f"),t[3].n.m===void 0&&tt(()=>t[47].call(sl)),u(Pt,"name","ni"),u(Pt,"type","text"),u(Pt,"class","in-m w-full"),Pt.disabled=ts=t[3].n.m=="dhcp",Pt.required=ls=t[3].n.m=="static",u(Nt,"name","ns"),u(Nt,"class","in-l"),Nt.disabled=ns=t[3].n.m=="dhcp",Nt.required=is=t[3].n.m=="static",t[3].n.s===void 0&&tt(()=>t[49].call(Nt)),u(Rl,"class","flex"),u(Jl,"class","my-1"),u(Vt,"name","nd"),Vt.__value="true",Vt.value=Vt.__value,u(Vt,"type","checkbox"),u(Vt,"class","rounded mb-1"),u(ss,"class","my-1"),u(pi,"type","hidden"),u(pi,"name","ntp"),pi.value="true",u(Qt,"name","ntpd"),Qt.__value="true",Qt.value=Qt.__value,u(Qt,"type","checkbox"),u(Qt,"class","rounded mb-1"),u(_i,"class","ml-4"),u(gl,"name","ntph"),u(gl,"type","text"),u(gl,"class","in-s"),u(us,"class","flex"),u(Ll,"class","my-1"),u(at,"class","cnt"),u(rs,"class","text-sm"),u(On,"href",qt("MQTT-configuration")),u(On,"target","_blank"),u(On,"class","float-right"),u(di,"type","hidden"),u(di,"name","q"),di.value="true",u(kl,"name","qh"),u(kl,"type","text"),u(kl,"class","in-f w-3/4"),u(Xt,"name","qp"),u(Xt,"type","number"),u(Xt,"min","1024"),u(Xt,"max","65535"),u(Xt,"class","in-l tr w-1/4"),u(Un,"class","flex"),u(ol,"class","my-1"),u(wl,"name","qu"),u(wl,"type","text"),u(wl,"class","in-s"),u(xl,"class","my-1"),u(yl,"name","qa"),u(yl,"type","password"),u(yl,"class","in-s"),u(en,"class","my-1"),u($l,"name","qc"),u($l,"type","text"),u($l,"class","in-f w-full"),Gn.__value=0,Gn.value=Gn.__value,Bn.__value=1,Bn.value=Bn.__value,zn.__value=2,zn.value=zn.__value,Yn.__value=3,Yn.value=Yn.__value,Kn.__value=4,Kn.value=Kn.__value,Vn.__value=255,Vn.value=Vn.__value,u(ht,"name","qm"),u(ht,"class","in-l"),t[3].q.m===void 0&&tt(()=>t[62].call(ht)),u(Hn,"class","my-1 flex"),u(Cl,"name","qb"),u(Cl,"type","text"),u(Cl,"class","in-s"),u(tn,"class","my-1"),u(Ve,"class","cnt"),u(as,"class","text-sm"),u(Qn,"href",qt("User-interface")),u(Qn,"target","_blank"),u(Qn,"class","float-right"),u(vi,"type","hidden"),u(vi,"name","u"),vi.value="true",u(hi,"class","flex flex-wrap"),u(ul,"class","cnt"),u(fs,"class","text-sm"),u(Zn,"href","https://amsleser.no/blog/post/24-telnet-debug"),u(Zn,"target","_blank"),u(Zn,"class","float-right"),u(bi,"type","hidden"),u(bi,"name","d"),bi.value="true",u(Zt,"type","checkbox"),u(Zt,"name","ds"),Zt.__value="true",Zt.value=Zt.__value,u(Zt,"class","rounded mb-1"),u(cs,"class","mt-3"),u(Dt,"class","cnt"),u(l,"class","grid xl:grid-cols-4 lg:grid-cols-2 md:grid-cols-2"),u(xn,"type","button"),u(xn,"class","py-2 px-4 rounded bg-red-500 text-white ml-2"),u(ei,"type","button"),u(ei,"class","py-2 px-4 rounded bg-yellow-500 text-white"),u(ps,"class","text-center"),u(_s,"class","text-right"),u(Ol,"class","grid grid-cols-3"),u(e,"autocomplete","off")},m(A,ee){w(A,e,ee),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),Q(a,r,null),s(n,c),s(n,f),s(n,p),s(n,_),s(_,b),s(b,d),s(d,v),s(d,g),s(d,T),s(d,C),V(C,t[3].g.h),s(b,$),s(b,M),s(M,F),s(M,S),s(M,N),s(M,D),Q(E,D,null),qe(D,t[3].g.t,!0),s(n,Y),s(n,R),s(n,U),s(n,H),s(H,z),s(z,q),s(q,L),s(q,B),s(q,O),s(q,j),s(j,G),s(G,te),s(G,le),s(G,pe),s(G,ie),s(G,Pe),s(j,je),s(je,De),s(je,We),s(je,be),s(je,ye),s(j,Re),s(Re,ge),s(Re,ae),s(j,$e),s(j,J),s(j,se),s(j,Fe),s(j,Le),s(j,_e),s(j,Ce),s(j,Ne),s(j,de),s(j,Te),s(j,x),s(j,oe),s(j,Ue),qe(j,t[3].p.r,!0),s(z,ue),s(z,ve),s(ve,dt),s(ve,Wl),s(ve,tl),s(ve,ct);for(let ft=0;ft<4;ft+=1)gi[ft]&&gi[ft].m(ct,null);qe(ct,t[3].p.c,!0),s(n,Ml),s(n,pl),s(pl,Ht),s(Ht,vt),s(vt,Qe),s(vt,Xe),s(vt,Ze),s(vt,He),V(He,t[3].p.f),s(Ht,Je),s(Ht,Ge),s(Ge,xe),s(Ge,et),s(Ge,re),s(Ge,he),V(he,t[3].p.m),s(n,Ai),s(n,_l),s(_l,_n),s(_n,St),St.checked=t[3].p.e,s(_n,Ei),s(_l,Ii),bt&&bt.m(_l,null),s(n,Fi),s(n,dl),s(dl,Ri),s(dl,Li),s(dl,Oi),s(dl,Mt),s(Mt,Pl),s(Mt,Nl),s(Mt,Dl),qe(Mt,t[3].g.s,!0),s(n,qi),gt&>.m(n,null),s(l,ze),s(l,ke),s(ke,vl),s(ke,Ps),s(ke,Al),Q(Et,Al,null),s(ke,Ui),s(ke,Gl),s(ke,Po),s(ke,ll),s(ll,Hi),s(ll,No),s(ll,Ns),s(ll,Do),s(ll,ci),s(ci,jt),jt.checked=t[3].m.i,s(ci,Ao),s(ll,Eo),s(ll,El),s(El,nl),s(nl,Il),s(Il,Io);for(let ft=0;ft<7;ft+=1)ki[ft]&&ki[ft].m(nl,null);qe(nl,t[3].m.b,!0),s(El,Fo),s(El,mt),s(mt,Fl),s(Fl,Ro),s(mt,dn),s(mt,vn),s(mt,hn),s(mt,bn),qe(mt,t[3].m.p,!0),s(El,Lo),s(El,It),V(It,t[3].m.s),s(ke,Oo),s(ke,Bl),s(Bl,qo),s(Bl,Uo),s(Bl,Ho),s(Bl,il),s(il,gn),s(il,kn),qe(il,t[3].m.d,!0),s(ke,jo),s(ke,wn),s(wn,zl),s(zl,Wo),s(zl,Go),s(zl,Bo),s(zl,yn),s(yn,Wt),V(Wt,t[3].m.f),s(yn,zo),s(yn,Bi),s(wn,Yo),s(wn,Yl),s(Yl,Ko),s(Yl,Vo),s(Yl,Qo),s(Yl,$n),s($n,Gt),V(Gt,t[3].m.r),s($n,Xo),s($n,zi),s(ke,Zo),s(ke,Ds),s(ke,Jo),s(ke,Kl),s(Kl,Yi),s(Yi,Bt),Bt.checked=t[3].m.e.e,s(Yi,xo),s(Kl,eu),kt&&kt.m(Kl,null),s(ke,tu),wt&&wt.m(ke,null),s(ke,As),s(ke,Ki),s(Ki,zt),zt.checked=t[3].m.m.e,s(Ki,lu),s(ke,nu),yt&&yt.m(ke,null),s(l,iu),s(l,lt),s(lt,Vi),s(lt,su),s(lt,Cn),Q(Tn,Cn,null),s(lt,ou),s(lt,mi),s(lt,uu),s(lt,Vl),s(Vl,ru),s(Vl,au),s(Vl,fu),s(Vl,hl),V(hl,t[3].w.s),s(lt,cu),s(lt,Ql),s(Ql,mu),s(Ql,pu),s(Ql,_u),s(Ql,bl),V(bl,t[3].w.p),s(lt,du),s(lt,Sn),s(Sn,Xl),s(Xl,vu),s(Xl,hu),s(Xl,bu),s(Xl,Ft),s(Ft,Mn),s(Ft,Pn),s(Ft,Nn),s(Ft,Dn),qe(Ft,t[3].w.z,!0),s(Sn,gu),s(Sn,Zl),s(Zl,ku),s(Zl,wu),s(Zl,yu),s(Zl,An),s(An,Rt),V(Rt,t[3].w.w),s(An,$u),s(An,Qi),s(lt,Cu),s(lt,Xi),s(Xi,Zi),s(Zi,Yt),Yt.checked=t[3].w.a,s(Zi,Tu),s(lt,Su),s(lt,Ji),s(Ji,xi),s(xi,Kt),Kt.checked=t[3].w.b,s(xi,Mu),s(l,Pu),s(l,at),s(at,es),s(at,Nu),s(at,En),Q(In,En,null),s(at,Du),s(at,Jl),s(Jl,Au),s(Jl,Eu),s(Jl,Iu),s(Jl,Rl),s(Rl,sl),s(sl,Fn),s(sl,Rn),qe(sl,t[3].n.m,!0),s(Rl,Fu),s(Rl,Pt),V(Pt,t[3].n.i),s(Rl,Ru),s(Rl,Nt),Q(Ln,Nt,null),qe(Nt,t[3].n.s,!0),s(at,Lu),$t&&$t.m(at,null),s(at,Es),s(at,ss),s(ss,os),s(os,Vt),Vt.checked=t[3].n.d,s(os,Ou),s(at,qu),s(at,pi),s(at,Uu),s(at,Ll),s(Ll,Hu),s(Ll,_i),s(_i,Qt),Qt.checked=t[3].n.h,s(_i,ju),s(Ll,Wu),s(Ll,Gu),s(Ll,us),s(us,gl),V(gl,t[3].n.n1),s(l,Bu),s(l,Ve),s(Ve,rs),s(Ve,zu),s(Ve,On),Q(qn,On,null),s(Ve,Yu),s(Ve,di),s(Ve,Ku),s(Ve,ol),s(ol,Vu),Ct&&Ct.m(ol,null),s(ol,Is),s(ol,Qu),s(ol,Xu),s(ol,Un),s(Un,kl),V(kl,t[3].q.h),s(Un,Zu),s(Un,Xt),V(Xt,t[3].q.p),s(Ve,Ju),nt&&nt.m(Ve,null),s(Ve,Fs),s(Ve,xl),s(xl,xu),s(xl,er),s(xl,tr),s(xl,wl),V(wl,t[3].q.u),s(Ve,lr),s(Ve,en),s(en,nr),s(en,ir),s(en,sr),s(en,yl),V(yl,t[3].q.a),s(Ve,or),s(Ve,Hn),s(Hn,jn),s(jn,ur),s(jn,rr),s(jn,ar),s(jn,$l),V($l,t[3].q.c),s(Hn,fr),s(Hn,Wn),s(Wn,cr),s(Wn,mr),s(Wn,pr),s(Wn,ht),s(ht,Gn),s(ht,Bn),s(ht,zn),s(ht,Yn),s(ht,Kn),s(ht,Vn),qe(ht,t[3].q.m,!0),s(Ve,_r),s(Ve,tn),s(tn,dr),s(tn,vr),s(tn,hr),s(tn,Cl),V(Cl,t[3].q.b),s(l,br),it&&it.m(l,null),s(l,Rs),st&&st.m(l,null),s(l,Ls),ot&&ot.m(l,null),s(l,qs),s(l,ul),s(ul,as),s(ul,gr),s(ul,Qn),Q(Xn,Qn,null),s(ul,kr),s(ul,vi),s(ul,wr),s(ul,hi);for(let ft=0;ft0?gt?gt.p(A,ee):(gt=ff(A),gt.c(),gt.m(n,null)):gt&&(gt.d(1),gt=null),ee[0]&8&&(jt.checked=A[3].m.i),(!Jt||ee[0]&8&&ji!==(ji=A[3].m.b!=0))&&(Il.disabled=ji),ee[0]&8&&qe(nl,A[3].m.b),(!Jt||ee[0]&8&&Wi!==(Wi=A[3].m.b!=0))&&(Fl.disabled=Wi),(!Jt||ee[0]&8&&Gi!==(Gi=A[3].m.b==0))&&(mt.disabled=Gi),ee[0]&8&&qe(mt,A[3].m.p),ee[0]&8&&fe(It.value)!==A[3].m.s&&V(It,A[3].m.s),ee[0]&8&&qe(il,A[3].m.d),ee[0]&8&&fe(Wt.value)!==A[3].m.f&&V(Wt,A[3].m.f),ee[0]&8&&fe(Gt.value)!==A[3].m.r&&V(Gt,A[3].m.r),ee[0]&8&&(Bt.checked=A[3].m.e.e),A[3].m.e.e?kt?kt.p(A,ee):(kt=cf(A),kt.c(),kt.m(Kl,null)):kt&&(kt.d(1),kt=null),A[3].m.e.e?wt?wt.p(A,ee):(wt=mf(A),wt.c(),wt.m(ke,As)):wt&&(wt.d(1),wt=null),ee[0]&8&&(zt.checked=A[3].m.m.e),A[3].m.m.e?yt?yt.p(A,ee):(yt=pf(A),yt.c(),yt.m(ke,null)):yt&&(yt.d(1),yt=null),ee[0]&8&&hl.value!==A[3].w.s&&V(hl,A[3].w.s),ee[0]&8&&bl.value!==A[3].w.p&&V(bl,A[3].w.p),ee[0]&8&&qe(Ft,A[3].w.z),ee[0]&8&&fe(Rt.value)!==A[3].w.w&&V(Rt,A[3].w.w),ee[0]&8&&(Yt.checked=A[3].w.a),ee[0]&8&&(Kt.checked=A[3].w.b),ee[0]&8&&qe(sl,A[3].n.m),(!Jt||ee[0]&8&&ts!==(ts=A[3].n.m=="dhcp"))&&(Pt.disabled=ts),(!Jt||ee[0]&8&&ls!==(ls=A[3].n.m=="static"))&&(Pt.required=ls),ee[0]&8&&Pt.value!==A[3].n.i&&V(Pt,A[3].n.i),(!Jt||ee[0]&8&&ns!==(ns=A[3].n.m=="dhcp"))&&(Nt.disabled=ns),(!Jt||ee[0]&8&&is!==(is=A[3].n.m=="static"))&&(Nt.required=is),ee[0]&8&&qe(Nt,A[3].n.s),A[3].n.m=="static"?$t?$t.p(A,ee):($t=_f(A),$t.c(),$t.m(at,Es)):$t&&($t.d(1),$t=null),ee[0]&8&&(Vt.checked=A[3].n.d),ee[0]&8&&(Qt.checked=A[3].n.h),ee[0]&8&&gl.value!==A[3].n.n1&&V(gl,A[3].n.n1),A[0].chip!="esp8266"?Ct?Ct.p(A,ee):(Ct=df(A),Ct.c(),Ct.m(ol,Is)):Ct&&(Ct.d(1),Ct=null),ee[0]&8&&kl.value!==A[3].q.h&&V(kl,A[3].q.h),ee[0]&8&&fe(Xt.value)!==A[3].q.p&&V(Xt,A[3].q.p),A[3].q.s.e?nt?(nt.p(A,ee),ee[0]&8&&P(nt,1)):(nt=vf(A),nt.c(),P(nt,1),nt.m(Ve,Fs)):nt&&(Ae(),I(nt,1,1,()=>{nt=null}),Ee()),ee[0]&8&&wl.value!==A[3].q.u&&V(wl,A[3].q.u),ee[0]&8&&yl.value!==A[3].q.a&&V(yl,A[3].q.a),ee[0]&8&&$l.value!==A[3].q.c&&V($l,A[3].q.c),ee[0]&8&&qe(ht,A[3].q.m),ee[0]&8&&Cl.value!==A[3].q.b&&V(Cl,A[3].q.b),A[3].q.m==3?it?(it.p(A,ee),ee[0]&8&&P(it,1)):(it=hf(A),it.c(),P(it,1),it.m(l,Rs)):it&&(Ae(),I(it,1,1,()=>{it=null}),Ee()),A[3].q.m==4?st?(st.p(A,ee),ee[0]&8&&P(st,1)):(st=bf(A),st.c(),P(st,1),st.m(l,Ls)):st&&(Ae(),I(st,1,1,()=>{st=null}),Ee()),ee[0]&8&&(Os=A[3].p.r.startsWith("10YNO")||A[3].p.r=="10Y1001A1001A48H"),Os?ot?(ot.p(A,ee),ee[0]&8&&P(ot,1)):(ot=gf(A),ot.c(),P(ot,1),ot.m(l,qs)):ot&&(Ae(),I(ot,1,1,()=>{ot=null}),Ee()),ee[0]&136){ti=A[7];let Lt;for(Lt=0;Lt20||A[0].chip=="esp8266"?ut?(ut.p(A,ee),ee[0]&1&&P(ut,1)):(ut=yf(A),ut.c(),P(ut,1),ut.m(l,Us)):ut&&(Ae(),I(ut,1,1,()=>{ut=null}),Ee()),ee[0]&8&&(Zt.checked=A[3].d.s),A[3].d.s?Tt?Tt.p(A,ee):(Tt=Pf(A),Tt.c(),Tt.m(Dt,null)):Tt&&(Tt.d(1),Tt=null);const ft={};ee[0]&2&&(ft.active=A[1]),ln.$set(ft);const Er={};ee[0]&4&&(Er.active=A[2]),nn.$set(Er);const Ir={};ee[0]&16&&(Ir.active=A[4]),sn.$set(Ir);const Fr={};ee[0]&32&&(Fr.active=A[5]),on.$set(Fr)},i(A){Jt||(P(a.$$.fragment,A),P(E.$$.fragment,A),P(Et.$$.fragment,A),P(Tn.$$.fragment,A),P(In.$$.fragment,A),P(Ln.$$.fragment,A),P(qn.$$.fragment,A),P(nt),P(it),P(st),P(ot),P(Xn.$$.fragment,A),P(ut),P(Jn.$$.fragment,A),P(ln.$$.fragment,A),P(nn.$$.fragment,A),P(sn.$$.fragment,A),P(on.$$.fragment,A),Jt=!0)},o(A){I(a.$$.fragment,A),I(E.$$.fragment,A),I(Et.$$.fragment,A),I(Tn.$$.fragment,A),I(In.$$.fragment,A),I(Ln.$$.fragment,A),I(qn.$$.fragment,A),I(nt),I(it),I(st),I(ot),I(Xn.$$.fragment,A),I(ut),I(Jn.$$.fragment,A),I(ln.$$.fragment,A),I(nn.$$.fragment,A),I(sn.$$.fragment,A),I(on.$$.fragment,A),Jt=!1},d(A){A&&k(e),X(a),X(E),cl(gi,A),bt&&bt.d(),gt&>.d(),X(Et),cl(ki,A),kt&&kt.d(),wt&&wt.d(),yt&&yt.d(),X(Tn),X(In),X(Ln),$t&&$t.d(),X(qn),Ct&&Ct.d(),nt&&nt.d(),it&&it.d(),st&&st.d(),ot&&ot.d(),X(Xn),cl(pt,A),ut&&ut.d(),X(Jn),Tt&&Tt.d(),A&&k(js),X(ln,A),A&&k(Ws),X(nn,A),A&&k(Gs),X(sn,A),A&&k(Bs),X(on,A),zs=!1,Be(Ar)}}}async function _0(){await(await fetch("/reboot",{method:"POST"})).json()}function d0(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,b:!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,f:null},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}},h:{t:"",h:"",n:""}};$i.subscribe(ze=>{ze.version&&(l(3,a=ze),l(1,o=!1))}),Up();let c=!1,f=!1;async function p(){if(confirm("Are you sure you want to factory reset the device?")){l(4,c=!0);const ze=new URLSearchParams;ze.append("perform","true");let vl=await(await fetch("/reset",{method:"POST",body:ze})).json();l(4,c=!1),l(5,f=vl.success)}}async function _(ze){l(2,r=!0);const ke=new FormData(ze.target),vl=new URLSearchParams;for(let Et of ke){const[Ui,Gl]=Et;vl.append(Ui,Gl)}let Al=await(await fetch("/save",{method:"POST",body:vl})).json();Ut.update(Et=>(Et.booting=Al.reboot,Et.ui=a.u,Et)),l(2,r=!1),oi("/")}const b=function(){confirm("Are you sure you want to reboot the device?")&&(Ut.update(ze=>(ze.booting=!0,ze)),_0())};async function d(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("/mqtt-ca",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.c=!1,ke)))}async function v(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("/mqtt-cert",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.r=!1,ke)))}async function g(){confirm("Are you sure you want to delete key?")&&(await(await fetch("/mqtt-key",{method:"POST"})).text(),$i.update(ke=>(ke.q.s.k=!1,ke)))}const T=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 C=44;function $(){a.g.h=this.value,l(3,a)}function M(){a.g.t=_t(this),l(3,a)}function F(){a.p.r=_t(this),l(3,a)}function S(){a.p.c=_t(this),l(3,a)}function N(){a.p.f=fe(this.value),l(3,a)}function D(){a.p.m=fe(this.value),l(3,a)}function E(){a.p.e=this.checked,l(3,a)}function Y(){a.p.t=this.value,l(3,a)}function R(){a.g.s=_t(this),l(3,a)}function U(){a.g.u=this.value,l(3,a)}function H(){a.g.p=this.value,l(3,a)}function z(){a.m.i=this.checked,l(3,a)}function q(){a.m.b=_t(this),l(3,a)}function L(){a.m.p=_t(this),l(3,a)}function B(){a.m.s=fe(this.value),l(3,a)}function O(){a.m.d=_t(this),l(3,a)}function j(){a.m.f=fe(this.value),l(3,a)}function G(){a.m.r=fe(this.value),l(3,a)}function te(){a.m.e.e=this.checked,l(3,a)}function le(){a.m.e.k=this.value,l(3,a)}function pe(){a.m.e.a=this.value,l(3,a)}function ie(){a.m.m.e=this.checked,l(3,a)}function Pe(){a.m.m.w=fe(this.value),l(3,a)}function je(){a.m.m.v=fe(this.value),l(3,a)}function De(){a.m.m.a=fe(this.value),l(3,a)}function We(){a.m.m.c=fe(this.value),l(3,a)}function be(){a.w.s=this.value,l(3,a)}function ye(){a.w.p=this.value,l(3,a)}function Re(){a.w.z=_t(this),l(3,a)}function ge(){a.w.w=fe(this.value),l(3,a)}function ae(){a.w.a=this.checked,l(3,a)}function $e(){a.w.b=this.checked,l(3,a)}function J(){a.n.m=_t(this),l(3,a)}function se(){a.n.i=this.value,l(3,a)}function Fe(){a.n.s=_t(this),l(3,a)}function Le(){a.n.g=this.value,l(3,a)}function _e(){a.n.d1=this.value,l(3,a)}function Ce(){a.n.d2=this.value,l(3,a)}function Ne(){a.n.d=this.checked,l(3,a)}function de(){a.n.h=this.checked,l(3,a)}function Te(){a.n.n1=this.value,l(3,a)}function x(){a.q.s.e=this.checked,l(3,a)}function oe(){a.q.h=this.value,l(3,a)}function Ue(){a.q.p=fe(this.value),l(3,a)}function ue(){a.q.u=this.value,l(3,a)}function ve(){a.q.a=this.value,l(3,a)}function dt(){a.q.c=this.value,l(3,a)}function Wl(){a.q.m=_t(this),l(3,a)}function tl(){a.q.b=this.value,l(3,a)}function ct(){a.o.e=this.value,l(3,a)}function Ml(){a.o.c=this.value,l(3,a)}function pl(){a.o.u1=this.value,l(3,a)}function Ht(){a.o.u2=this.value,l(3,a)}function vt(){a.o.u3=this.value,l(3,a)}function Qe(){a.h.t=this.value,l(3,a)}function Xe(){a.h.h=this.value,l(3,a)}function Ze(){a.h.n=this.value,l(3,a)}function He(ze){a.t.t[ze]=fe(this.value),l(3,a)}function Je(){a.t.h=fe(this.value),l(3,a)}function Ge(ze){a.u[ze.key]=_t(this),l(3,a)}function xe(){a.i.h.u=this.checked,l(3,a)}function et(){a.i.h.p=_t(this),l(3,a)}function re(){a.i.a=fe(this.value),l(3,a)}function he(){a.i.l.i=this.checked,l(3,a)}function Ai(){a.i.l.p=fe(this.value),l(3,a)}function _l(){a.i.r.i=this.checked,l(3,a)}function _n(){a.i.r.r=fe(this.value),l(3,a)}function St(){a.i.r.g=fe(this.value),l(3,a)}function Ei(){a.i.r.b=fe(this.value),l(3,a)}function Ii(){a.i.t.d=fe(this.value),l(3,a)}function Fi(){a.i.t.a=fe(this.value),l(3,a)}function dl(){a.i.v.p=fe(this.value),l(3,a)}function Ri(){a.i.v.d.v=fe(this.value),l(3,a)}function Li(){a.i.v.d.g=fe(this.value),l(3,a)}function Oi(){a.i.v.o=fe(this.value),l(3,a)}function Mt(){a.i.v.m=fe(this.value),l(3,a)}function Pl(){a.i.v.b=fe(this.value),l(3,a)}function Nl(){a.d.s=this.checked,l(3,a)}function Dl(){a.d.t=this.checked,l(3,a)}function qi(){a.d.l=_t(this),l(3,a)}return t.$$set=ze=>{"sysinfo"in ze&&l(0,n=ze.sysinfo)},t.$$.update=()=>{t.$$.dirty[0]&1&&l(6,C=n.chip=="esp8266"?16:n.chip=="esp32s2"?44:39)},[n,o,r,a,c,f,C,i,p,_,b,d,v,g,T,$,M,F,S,N,D,E,Y,R,U,H,z,q,L,B,O,j,G,te,le,pe,ie,Pe,je,De,We,be,ye,Re,ge,ae,$e,J,se,Fe,Le,_e,Ce,Ne,de,Te,x,oe,Ue,ue,ve,dt,Wl,tl,ct,Ml,pl,Ht,vt,Qe,Xe,Ze,He,Je,Ge,xe,et,re,he,Ai,_l,_n,St,Ei,Ii,Fi,dl,Ri,Li,Oi,Mt,Pl,Nl,Dl,qi]}class v0 extends Me{constructor(e){super(),Se(this,e,d0,p0,we,{sysinfo:0},null,[-1,-1,-1,-1])}}function Df(t,e,l){const n=t.slice();return n[20]=e[l],n}function h0(t){let e=ce(t[1].chip,t[1].board)+"",l;return{c(){l=y(e)},m(n,i){w(n,l,i)},p(n,i){i&2&&e!==(e=ce(n[1].chip,n[1].board)+"")&&W(l,e)},d(n){n&&k(l)}}}function Af(t){let e,l,n=t[1].apmac+"",i,o,r,a,c,f,p,_,b,d=Jr(t[1])+"",v,g,T=t[1].boot_reason+"",C,$,M=t[1].ex_cause+"",F,S,N;const D=[g0,b0],E=[];function Y(R,U){return R[0].u>0?0:1}return c=Y(t),f=E[c]=D[c](t),{c(){e=m("div"),l=y("AP MAC: "),i=y(n),o=h(),r=m("div"),a=y(`Last boot: + `),f.c(),p=h(),_=m("div"),b=y("Reason: "),v=y(d),g=y(" ("),C=y(T),$=y("/"),F=y(M),S=y(")"),u(e,"class","my-2"),u(r,"class","my-2"),u(_,"class","my-2")},m(R,U){w(R,e,U),s(e,l),s(e,i),w(R,o,U),w(R,r,U),s(r,a),E[c].m(r,null),w(R,p,U),w(R,_,U),s(_,b),s(_,v),s(_,g),s(_,C),s(_,$),s(_,F),s(_,S),N=!0},p(R,U){(!N||U&2)&&n!==(n=R[1].apmac+"")&&W(i,n);let H=c;c=Y(R),c===H?E[c].p(R,U):(Ae(),I(E[H],1,1,()=>{E[H]=null}),Ee(),f=E[c],f?f.p(R,U):(f=E[c]=D[c](R),f.c()),P(f,1),f.m(r,null)),(!N||U&2)&&d!==(d=Jr(R[1])+"")&&W(v,d),(!N||U&2)&&T!==(T=R[1].boot_reason+"")&&W(C,T),(!N||U&2)&&M!==(M=R[1].ex_cause+"")&&W(F,M)},i(R){N||(P(f),N=!0)},o(R){I(f),N=!1},d(R){R&&k(e),R&&k(o),R&&k(r),E[c].d(),R&&k(p),R&&k(_)}}}function b0(t){let e;return{c(){e=y("-")},m(l,n){w(l,e,n)},p:ne,i:ne,o:ne,d(l){l&&k(e)}}}function g0(t){let e,l;return e=new Wc({props:{timestamp:new Date(new Date().getTime()-t[0].u*1e3),fullTimeColor:""}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p(n,i){const o={};i&1&&(o.timestamp=new Date(new Date().getTime()-n[0].u*1e3)),e.$set(o)},i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function k0(t){let e;return{c(){e=m("span"),e.textContent="Update consents",u(e,"class","btn-pri-sm")},m(l,n){w(l,e,n)},p:ne,d(l){l&&k(e)}}}function Ef(t){let e,l,n,i,o,r=Cs(t[1].meter.mfg)+"",a,c,f,p,_=t[1].meter.model+"",b,d,v,g,T=t[1].meter.id+"",C;return{c(){e=m("div"),l=m("strong"),l.textContent="Meter",n=h(),i=m("div"),o=y("Manufacturer: "),a=y(r),c=h(),f=m("div"),p=y("Model: "),b=y(_),d=h(),v=m("div"),g=y("ID: "),C=y(T),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(v,"class","my-2"),u(e,"class","cnt")},m($,M){w($,e,M),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,p),s(f,b),s(e,d),s(e,v),s(v,g),s(v,C)},p($,M){M&2&&r!==(r=Cs($[1].meter.mfg)+"")&&W(a,r),M&2&&_!==(_=$[1].meter.model+"")&&W(b,_),M&2&&T!==(T=$[1].meter.id+"")&&W(C,T)},d($){$&&k(e)}}}function If(t){let e,l,n,i,o,r=t[1].net.ip+"",a,c,f,p,_=t[1].net.mask+"",b,d,v,g,T=t[1].net.gw+"",C,$,M,F,S=t[1].net.dns1+"",N,D,E=t[1].net.dns2&&Ff(t);return{c(){e=m("div"),l=m("strong"),l.textContent="Network",n=h(),i=m("div"),o=y("IP: "),a=y(r),c=h(),f=m("div"),p=y("Mask: "),b=y(_),d=h(),v=m("div"),g=y("Gateway: "),C=y(T),$=h(),M=m("div"),F=y("DNS: "),N=y(S),D=h(),E&&E.c(),u(l,"class","text-sm"),u(i,"class","my-2"),u(f,"class","my-2"),u(v,"class","my-2"),u(M,"class","my-2"),u(e,"class","cnt")},m(Y,R){w(Y,e,R),s(e,l),s(e,n),s(e,i),s(i,o),s(i,a),s(e,c),s(e,f),s(f,p),s(f,b),s(e,d),s(e,v),s(v,g),s(v,C),s(e,$),s(e,M),s(M,F),s(M,N),s(M,D),E&&E.m(M,null)},p(Y,R){R&2&&r!==(r=Y[1].net.ip+"")&&W(a,r),R&2&&_!==(_=Y[1].net.mask+"")&&W(b,_),R&2&&T!==(T=Y[1].net.gw+"")&&W(C,T),R&2&&S!==(S=Y[1].net.dns1+"")&&W(N,S),Y[1].net.dns2?E?E.p(Y,R):(E=Ff(Y),E.c(),E.m(M,null)):E&&(E.d(1),E=null)},d(Y){Y&&k(e),E&&E.d()}}}function Ff(t){let e,l=t[1].net.dns2+"",n;return{c(){e=y("/ "),n=y(l)},m(i,o){w(i,e,o),w(i,n,o)},p(i,o){o&2&&l!==(l=i[1].net.dns2+"")&&W(n,l)},d(i){i&&k(e),i&&k(n)}}}function Rf(t){let e,l,n,i=t[1].upgrade.t+"",o,r,a=t[1].version+"",c,f,p=t[1].upgrade.x+"",_,b,d=t[1].upgrade.e+"",v,g;return{c(){e=m("div"),l=m("div"),n=y("Previous upgrade attempt ("),o=y(i),r=y(") does not match current version ("),c=y(a),f=y(") ["),_=y(p),b=y("/"),v=y(d),g=y("]"),u(l,"class","bd-yellow"),u(e,"class","my-2")},m(T,C){w(T,e,C),s(e,l),s(l,n),s(l,o),s(l,r),s(l,c),s(l,f),s(l,_),s(l,b),s(l,v),s(l,g)},p(T,C){C&2&&i!==(i=T[1].upgrade.t+"")&&W(o,i),C&2&&a!==(a=T[1].version+"")&&W(c,a),C&2&&p!==(p=T[1].upgrade.x+"")&&W(_,p),C&2&&d!==(d=T[1].upgrade.e+"")&&W(v,d)},d(T){T&&k(e)}}}function Lf(t){let e,l,n,i=t[2].tag_name+"",o,r,a,c,f,p,_=(t[1].security==0||t[0].a)&&t[1].fwconsent===1&&t[2]&&t[2].tag_name!=t[1].version&&Of(t),b=t[1].fwconsent===2&&qf();return{c(){e=m("div"),l=y(`Latest version: + `),n=m("a"),o=y(i),a=h(),_&&_.c(),c=h(),b&&b.c(),f=Ke(),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(d,v){w(d,e,v),s(e,l),s(e,n),s(n,o),s(e,a),_&&_.m(e,null),w(d,c,v),b&&b.m(d,v),w(d,f,v),p=!0},p(d,v){(!p||v&4)&&i!==(i=d[2].tag_name+"")&&W(o,i),(!p||v&4&&r!==(r=d[2].html_url))&&u(n,"href",r),(d[1].security==0||d[0].a)&&d[1].fwconsent===1&&d[2]&&d[2].tag_name!=d[1].version?_?(_.p(d,v),v&7&&P(_,1)):(_=Of(d),_.c(),P(_,1),_.m(e,null)):_&&(Ae(),I(_,1,1,()=>{_=null}),Ee()),d[1].fwconsent===2?b||(b=qf(),b.c(),b.m(f.parentNode,f)):b&&(b.d(1),b=null)},i(d){p||(P(_),p=!0)},o(d){I(_),p=!1},d(d){d&&k(e),_&&_.d(),d&&k(c),b&&b.d(d),d&&k(f)}}}function Of(t){let e,l,n,i,o,r;return n=new Gc({}),{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,c){w(a,e,c),s(e,l),Q(n,l,null),i=!0,o||(r=K(l,"click",t[10]),o=!0)},p:ne,i(a){i||(P(n.$$.fragment,a),i=!0)},o(a){I(n.$$.fragment,a),i=!1},d(a){a&&k(e),X(n),o=!1,r()}}}function qf(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){w(l,e,n)},d(l){l&&k(e)}}}function Uf(t){let e,l=Ts(ce(t[1].chip,t[1].board))+"",n;return{c(){e=m("div"),n=y(l),u(e,"class","bd-red")},m(i,o){w(i,e,o),s(e,n)},p(i,o){o&2&&l!==(l=Ts(ce(i[1].chip,i[1].board))+"")&&W(n,l)},d(i){i&&k(e)}}}function Hf(t){let e,l,n,i,o,r;function a(p,_){return p[4].length==0?y0:w0}let c=a(t),f=c(t);return{c(){e=m("div"),l=m("form"),n=m("input"),i=h(),f.c(),tc(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,_){w(p,e,_),s(e,l),s(l,n),t[12](n),s(l,i),f.m(l,null),o||(r=[K(n,"change",t[13]),K(l,"submit",t[15])],o=!0)},p(p,_){c===(c=a(p))&&f?f.p(p,_):(f.d(1),f=c(p),f&&(f.c(),f.m(l,null)))},d(p){p&&k(e),t[12](null),f.d(),o=!1,Be(r)}}}function w0(t){let e=t[4][0].name+"",l,n,i;return{c(){l=y(e),n=h(),i=m("button"),i.textContent="Upload",u(i,"type","submit"),u(i,"class","btn-pri-sm float-right")},m(o,r){w(o,l,r),w(o,n,r),w(o,i,r)},p(o,r){r&16&&e!==(e=o[4][0].name+"")&&W(l,e)},d(o){o&&k(l),o&&k(n),o&&k(i)}}}function y0(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){w(i,e,o),l||(n=K(e,"click",t[14]),l=!0)},p:ne,d(i){i&&k(e),l=!1,n()}}}function jf(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g=t[9],T=[];for(let S=0;S Include Secrets
(SSID, PSK, passwords and tokens)',c=h(),C&&C.c(),f=h(),p=m("form"),_=m("input"),b=h(),F.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"),tc(_,"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(S,N){w(S,e,N),s(e,l),s(e,n),s(e,i),s(i,o);for(let D=0;D{se=null}),Ee());const ue={};oe&8388608&&(ue.$$scope={dirty:oe,ctx:x}),Y.$set(ue),x[1].meter?Fe?Fe.p(x,oe):(Fe=Ef(x),Fe.c(),Fe.m(e,z)):Fe&&(Fe.d(1),Fe=null),x[1].net?Le?Le.p(x,oe):(Le=If(x),Le.c(),Le.m(e,q)):Le&&(Le.d(1),Le=null),(!ae||oe&2)&&te!==(te=x[1].version+"")&&W(le,te),x[1].upgrade.t&&x[1].upgrade.t!=x[1].version?_e?_e.p(x,oe):(_e=Rf(x),_e.c(),_e.m(L,ie)):_e&&(_e.d(1),_e=null),x[2]?Ce?(Ce.p(x,oe),oe&4&&P(Ce,1)):(Ce=Lf(x),Ce.c(),P(Ce,1),Ce.m(L,Pe)):Ce&&(Ae(),I(Ce,1,1,()=>{Ce=null}),Ee()),oe&3&&(je=(x[1].security==0||x[0].a)&&ui(x[1].board)),je?Ne?Ne.p(x,oe):(Ne=Uf(x),Ne.c(),Ne.m(L,De)):Ne&&(Ne.d(1),Ne=null),x[1].security==0||x[0].a?de?de.p(x,oe):(de=Hf(x),de.c(),de.m(L,null)):de&&(de.d(1),de=null),x[1].security==0||x[0].a?Te?Te.p(x,oe):(Te=jf(x),Te.c(),Te.m(e,null)):Te&&(Te.d(1),Te=null);const ve={};oe&32&&(ve.active=x[5]),ye.$set(ve);const dt={};oe&256&&(dt.active=x[8]),ge.$set(dt)},i(x){ae||(P(T.$$.fragment,x),P(se),P(Y.$$.fragment,x),P(Ce),P(ye.$$.fragment,x),P(ge.$$.fragment,x),ae=!0)},o(x){I(T.$$.fragment,x),I(se),I(Y.$$.fragment,x),I(Ce),I(ye.$$.fragment,x),I(ge.$$.fragment,x),ae=!1},d(x){x&&k(e),X(T),se&&se.d(),X(Y),Fe&&Fe.d(),Le&&Le.d(),_e&&_e.d(),Ce&&Ce.d(),Ne&&Ne.d(),de&&de.d(),Te&&Te.d(),x&&k(be),X(ye,x),x&&k(Re),X(ge,x),$e=!1,J()}}}async function S0(){await(await fetch("/reboot",{method:"POST"})).json()}function M0(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:"NTP",key:"in"},{name:"Price API",key:"is"}],r={};To.subscribe(D=>{l(2,r=jc(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(Ts(ce(i.chip,i.board))))&&(Ut.update(D=>(D.upgrading=!0,D)),Hc(r.tag_name))}const c=function(){confirm("Are you sure you want to reboot the device?")&&(Ut.update(D=>(D.booting=!0,D)),S0())};let f,p=[],_=!1,b,d=[],v=!1;wo();function g(D){ys[D?"unshift":"push"](()=>{f=D,l(3,f)})}function T(){p=this.files,l(4,p)}const C=()=>{f.click()},$=()=>l(5,_=!0);function M(D){ys[D?"unshift":"push"](()=>{b=D,l(6,b)})}function F(){d=this.files,l(7,d)}const S=()=>{b.click()},N=()=>l(8,v=!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,p,_,b,d,v,o,a,c,g,T,C,$,M,F,S,N]}class P0 extends Me{constructor(e){super(),Se(this,e,M0,T0,we,{data:0,sysinfo:1})}}function Bf(t){let e,l,n=ce(t[0],7)+"",i,o,r=ce(t[0],5)+"",a,c,f=ce(t[0],4)+"",p,_,b=ce(t[0],3)+"",d,v,g,T,C=ce(t[0],2)+"",$,M,F=ce(t[0],1)+"",S,N,D=ce(t[0],0)+"",E,Y,R,U,H=ce(t[0],101)+"",z,q,L=ce(t[0],100)+"",B;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=m("option"),d=y(b),v=h(),g=m("optgroup"),T=m("option"),$=y(C),M=m("option"),S=y(F),N=m("option"),E=y(D),Y=h(),R=m("optgroup"),U=m("option"),z=y(H),q=m("option"),B=y(L),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"),T.__value=2,T.value=T.__value,M.__value=1,M.value=M.__value,N.__value=0,N.value=N.__value,u(g,"label","Custom hardware"),U.__value=101,U.value=U.__value,q.__value=100,q.value=q.__value,u(R,"label","Generic hardware")},m(O,j){w(O,e,j),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),s(e,_),s(_,d),w(O,v,j),w(O,g,j),s(g,T),s(T,$),s(g,M),s(M,S),s(g,N),s(N,E),w(O,Y,j),w(O,R,j),s(R,U),s(U,z),s(R,q),s(q,B)},p(O,j){j&1&&n!==(n=ce(O[0],7)+"")&&W(i,n),j&1&&r!==(r=ce(O[0],5)+"")&&W(a,r),j&1&&f!==(f=ce(O[0],4)+"")&&W(p,f),j&1&&b!==(b=ce(O[0],3)+"")&&W(d,b),j&1&&C!==(C=ce(O[0],2)+"")&&W($,C),j&1&&F!==(F=ce(O[0],1)+"")&&W(S,F),j&1&&D!==(D=ce(O[0],0)+"")&&W(E,D),j&1&&H!==(H=ce(O[0],101)+"")&&W(z,H),j&1&&L!==(L=ce(O[0],100)+"")&&W(B,L)},d(O){O&&k(e),O&&k(v),O&&k(g),O&&k(Y),O&&k(R)}}}function zf(t){let e,l,n=ce(t[0],201)+"",i,o,r=ce(t[0],202)+"",a,c,f=ce(t[0],203)+"",p,_,b=ce(t[0],200)+"",d;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=m("option"),d=y(b),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(v,g){w(v,e,g),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),s(e,_),s(_,d)},p(v,g){g&1&&n!==(n=ce(v[0],201)+"")&&W(i,n),g&1&&r!==(r=ce(v[0],202)+"")&&W(a,r),g&1&&f!==(f=ce(v[0],203)+"")&&W(p,f),g&1&&b!==(b=ce(v[0],200)+"")&&W(d,b)},d(v){v&&k(e)}}}function Yf(t){let e,l,n=ce(t[0],7)+"",i,o,r=ce(t[0],6)+"",a,c,f=ce(t[0],5)+"",p,_,b,d,v=ce(t[0],51)+"",g,T,C=ce(t[0],50)+"",$;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=m("option"),a=y(r),c=m("option"),p=y(f),_=h(),b=m("optgroup"),d=m("option"),g=y(v),T=m("option"),$=y(C),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"),d.__value=51,d.value=d.__value,T.__value=50,T.value=T.__value,u(b,"label","Generic hardware")},m(M,F){w(M,e,F),s(e,l),s(l,i),s(e,o),s(o,a),s(e,c),s(c,p),w(M,_,F),w(M,b,F),s(b,d),s(d,g),s(b,T),s(T,$)},p(M,F){F&1&&n!==(n=ce(M[0],7)+"")&&W(i,n),F&1&&r!==(r=ce(M[0],6)+"")&&W(a,r),F&1&&f!==(f=ce(M[0],5)+"")&&W(p,f),F&1&&v!==(v=ce(M[0],51)+"")&&W(g,v),F&1&&C!==(C=ce(M[0],50)+"")&&W($,C)},d(M){M&&k(e),M&&k(_),M&&k(b)}}}function Kf(t){let e,l,n=ce(t[0],8)+"",i,o,r,a,c=ce(t[0],71)+"",f,p,_=ce(t[0],70)+"",b;return{c(){e=m("optgroup"),l=m("option"),i=y(n),o=h(),r=m("optgroup"),a=m("option"),f=y(c),p=m("option"),b=y(_),l.__value=8,l.value=l.__value,u(e,"label","Custom hardware"),a.__value=71,a.value=a.__value,p.__value=70,p.value=p.__value,u(r,"label","Generic hardware")},m(d,v){w(d,e,v),s(e,l),s(l,i),w(d,o,v),w(d,r,v),s(r,a),s(a,f),s(r,p),s(p,b)},p(d,v){v&1&&n!==(n=ce(d[0],8)+"")&&W(i,n),v&1&&c!==(c=ce(d[0],71)+"")&&W(f,c),v&1&&_!==(_=ce(d[0],70)+"")&&W(b,_)},d(d){d&&k(e),d&&k(o),d&&k(r)}}}function Vf(t){let e,l,n=ce(t[0],200)+"",i;return{c(){e=m("optgroup"),l=m("option"),i=y(n),l.__value=200,l.value=l.__value,u(e,"label","Generic hardware")},m(o,r){w(o,e,r),s(e,l),s(l,i)},p(o,r){r&1&&n!==(n=ce(o[0],200)+"")&&W(i,n)},d(o){o&&k(e)}}}function N0(t){let e,l,n,i,o,r,a,c=t[0]=="esp8266"&&Bf(t),f=t[0]=="esp32"&&zf(t),p=t[0]=="esp32s2"&&Yf(t),_=t[0]=="esp32c3"&&Kf(t),b=t[0]=="esp32solo"&&Vf(t);return{c(){e=m("option"),l=h(),c&&c.c(),n=h(),f&&f.c(),i=h(),p&&p.c(),o=h(),_&&_.c(),r=h(),b&&b.c(),a=Ke(),e.__value=-1,e.value=e.__value},m(d,v){w(d,e,v),w(d,l,v),c&&c.m(d,v),w(d,n,v),f&&f.m(d,v),w(d,i,v),p&&p.m(d,v),w(d,o,v),_&&_.m(d,v),w(d,r,v),b&&b.m(d,v),w(d,a,v)},p(d,[v]){d[0]=="esp8266"?c?c.p(d,v):(c=Bf(d),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null),d[0]=="esp32"?f?f.p(d,v):(f=zf(d),f.c(),f.m(i.parentNode,i)):f&&(f.d(1),f=null),d[0]=="esp32s2"?p?p.p(d,v):(p=Yf(d),p.c(),p.m(o.parentNode,o)):p&&(p.d(1),p=null),d[0]=="esp32c3"?_?_.p(d,v):(_=Kf(d),_.c(),_.m(r.parentNode,r)):_&&(_.d(1),_=null),d[0]=="esp32solo"?b?b.p(d,v):(b=Vf(d),b.c(),b.m(a.parentNode,a)):b&&(b.d(1),b=null)},i:ne,o:ne,d(d){d&&k(e),d&&k(l),c&&c.d(d),d&&k(n),f&&f.d(d),d&&k(i),p&&p.d(d),d&&k(o),_&&_.d(d),d&&k(r),b&&b.d(d),d&&k(a)}}}function D0(t,e,l){let{chip:n}=e;return t.$$set=i=>{"chip"in i&&l(0,n=i.chip)},[n]}class A0 extends Me{constructor(e){super(),Se(this,e,D0,N0,we,{chip:0})}}function Qf(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){w(l,e,n)},d(l){l&&k(e)}}}function Xf(t){let e,l,n,i,o,r,a;return r=new zc({props:{chip:t[0].chip}}),{c(){e=m("div"),l=y("HAN GPIO"),n=m("br"),i=h(),o=m("select"),Z(r.$$.fragment),u(o,"name","vh"),u(o,"class","in-s"),u(e,"class","my-3")},m(c,f){w(c,e,f),s(e,l),s(e,n),s(e,i),s(e,o),Q(r,o,null),a=!0},p(c,f){const p={};f&1&&(p.chip=c[0].chip),r.$set(p)},i(c){a||(P(r.$$.fragment,c),a=!0)},o(c){I(r.$$.fragment,c),a=!1},d(c){c&&k(e),X(r)}}}function E0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q=t[0].usrcfg&&Qf();v=new A0({props:{chip:t[0].chip}});let L=t[0].board&&t[0].board>20&&Xf(t);return R=new At({props:{active:t[1],message:"Saving device configuration"}}),{c(){e=m("div"),l=m("div"),n=m("form"),i=m("input"),o=h(),r=m("strong"),r.textContent="Initial configuration",a=h(),q&&q.c(),c=h(),f=m("div"),p=y("Board type"),_=m("br"),b=h(),d=m("select"),Z(v.$$.fragment),g=h(),L&&L.c(),T=h(),C=m("div"),$=m("label"),M=m("input"),F=y(" Clear all other configuration"),S=h(),N=m("div"),N.innerHTML='',D=h(),E=m("span"),E.textContent=" ",Y=h(),Z(R.$$.fragment),u(i,"type","hidden"),u(i,"name","v"),i.value="true",u(r,"class","text-sm"),u(d,"name","vb"),u(d,"class","in-s"),t[0].board===void 0&&tt(()=>t[4].call(d)),u(f,"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(C,"class","my-3"),u(N,"class","my-3"),u(E,"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(B,O){w(B,e,O),s(e,l),s(l,n),s(n,i),s(n,o),s(n,r),s(n,a),q&&q.m(n,null),s(n,c),s(n,f),s(f,p),s(f,_),s(f,b),s(f,d),Q(v,d,null),qe(d,t[0].board,!0),s(n,g),L&&L.m(n,null),s(n,T),s(n,C),s(C,$),s($,M),M.checked=t[2],s($,F),s(n,S),s(n,N),s(n,D),s(n,E),w(B,Y,O),Q(R,B,O),U=!0,H||(z=[K(d,"change",t[4]),K(M,"change",t[5]),K(n,"submit",Ss(t[3]))],H=!0)},p(B,[O]){B[0].usrcfg?q||(q=Qf(),q.c(),q.m(n,c)):q&&(q.d(1),q=null);const j={};O&1&&(j.chip=B[0].chip),v.$set(j),O&1&&qe(d,B[0].board),B[0].board&&B[0].board>20?L?(L.p(B,O),O&1&&P(L,1)):(L=Xf(B),L.c(),P(L,1),L.m(n,T)):L&&(Ae(),I(L,1,1,()=>{L=null}),Ee()),O&4&&(M.checked=B[2]);const G={};O&2&&(G.active=B[1]),R.$set(G)},i(B){U||(P(v.$$.fragment,B),P(L),P(R.$$.fragment,B),U=!0)},o(B){I(v.$$.fragment,B),I(L),I(R.$$.fragment,B),U=!1},d(B){B&&k(e),q&&q.d(),X(v),L&&L.d(),B&&k(Y),X(R,B),H=!1,Be(z)}}}function I0(t,e,l){let{sysinfo:n={}}=e,i=!1;async function o(f){l(1,i=!0);const p=new FormData(f.target),_=new URLSearchParams;for(let v of p){const[g,T]=v;_.append(g,T)}let d=await(await fetch("/save",{method:"POST",body:_})).json();l(1,i=!1),Ut.update(v=>(v.vndcfg=d.success,v.booting=d.reboot,v)),oi(n.usrcfg?"/":"/setup")}let r=!1;function a(){n.board=_t(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 F0 extends Me{constructor(e){super(),Se(this,e,I0,E0,we,{sysinfo:0})}}function Zf(t){let e,l,n,i,o,r,a,c;return a=new Yc({}),{c(){e=m("br"),l=h(),n=m("div"),i=m("input"),o=h(),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(f,p){w(f,e,p),w(f,l,p),w(f,n,p),s(n,i),s(n,o),s(n,r),Q(a,r,null),c=!0},p(f,p){(!c||p&2)&&(i.required=f[1]),(!c||p&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&&k(e),f&&k(l),f&&k(n),X(a)}}}function Jf(t){let e;return{c(){e=m("div"),e.innerHTML=`
Gateway
DNS
-
`,u(e,"class","my-3 flex")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function F0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z=t[1]&&Xf(t),q=t[1]&&Zf();return Y=new Dt({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=h(),r=m("strong"),r.textContent="Setup",a=h(),c=m("div"),c.innerHTML=`SSID
+
`,u(e,"class","my-3 flex")},m(l,n){w(l,e,n)},d(l){l&&k(e)}}}function R0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z=t[1]&&Zf(t),q=t[1]&&Jf();return Y=new At({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=h(),r=m("strong"),r.textContent="Setup",a=h(),c=m("div"),c.innerHTML=`SSID
`,f=h(),p=m("div"),p.innerHTML=`PSK
`,_=h(),b=m("div"),d=y(`Hostname - `),v=m("input"),g=h(),T=m("div"),C=m("label"),$=m("input"),M=y(" Static IP"),F=h(),z&&z.c(),S=h(),q&&q.c(),N=h(),A=m("div"),A.innerHTML='',E=h(),Z(Y.$$.fragment),u(i,"type","hidden"),u(i,"name","s"),i.value="true",u(r,"class","text-sm"),u(c,"class","my-3"),u(p,"class","my-3"),u(v,"name","sh"),u(v,"type","text"),u(v,"class","in-s"),u(v,"maxlength","32"),u(v,"pattern","[a-z0-9_-]+"),u(v,"placeholder","Optional, ex.: ams-reader"),u(v,"autocomplete","off"),u($,"type","checkbox"),u($,"name","sm"),$.__value="static",$.value=$.__value,u($,"class","rounded mb-1"),u(T,"class","my-3"),u(A,"class","my-3"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2")},m(L,B){w(L,e,B),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,p),s(n,_),s(n,b),s(b,d),s(b,v),K(v,t[0].hostname),s(n,g),s(n,T),s(T,C),s(C,$),$.checked=t[1],s(C,M),s(T,F),z&&z.m(T,null),s(n,S),q&&q.m(n,null),s(n,N),s(n,A),w(L,E,B),Q(Y,L,B),R=!0,U||(H=[V(v,"input",t[4]),V($,"change",t[5]),V(n,"submit",Ss(t[3]))],U=!0)},p(L,[B]){B&1&&v.value!==L[0].hostname&&K(v,L[0].hostname),B&2&&($.checked=L[1]),L[1]?z?(z.p(L,B),B&2&&P(z,1)):(z=Xf(L),z.c(),P(z,1),z.m(T,null)):z&&(De(),I(z,1,1,()=>{z=null}),Ee()),L[1]?q||(q=Zf(),q.c(),q.m(n,N)):q&&(q.d(1),q=null);const O={};B&4&&(O.active=L[2]),Y.$set(O)},i(L){R||(P(z),P(Y.$$.fragment,L),R=!0)},o(L){I(z),I(Y.$$.fragment,L),R=!1},d(L){L&&k(e),z&&z.d(),q&&q.d(),L&&k(E),X(Y,L),U=!1,Be(H)}}}function R0(t,e,l){let{sysinfo:n={}}=e,i=!1,o=!1,r=0;function a(){var _="";r++;var b=function(){setTimeout(a,1e3)};if(n.net.ip&&r%3==0){if(!n.net.ip){b();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 "+_),Ut.update(v=>(v.trying=_,v));var d=new XMLHttpRequest;d.timeout=5e3,d.addEventListener("abort",b),d.addEventListener("error",b),d.addEventListener("timeout",b),d.addEventListener("load",function(v){window.location.href=_||"/"}),d.open("GET",_+"/is-alive",!0),d.send()}async function c(_){l(2,o=!0);const b=new FormData(_.target),d=new URLSearchParams;for(let T of b){const[C,$]=T;d.append(C,$)}let g=await(await fetch("/save",{method:"POST",body:d})).json();l(2,o=!1),Ut.update(T=>(T.hostname=b.get("sh"),T.usrcfg=g.success,T.booting=g.reboot,i&&(T.net.ip=b.get("si"),T.net.mask=b.get("su"),T.net.gw=b.get("sg"),T.net.dns1=b.get("sd")),setTimeout(a,5e3),T))}function f(){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,c,f,p]}class L0 extends Me{constructor(e){super(),Se(this,e,R0,F0,we,{sysinfo:0})}}function O0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C;return v=new Dt({props:{active:t[2],message:"Uploading file, please wait"}}),{c(){e=m("div"),l=m("div"),n=m("strong"),i=y("Upload "),o=y(t[1]),r=h(),a=m("p"),a.textContent="Select a suitable file and click upload",c=h(),f=m("form"),p=m("input"),_=h(),b=m("div"),b.innerHTML='',d=h(),Z(v.$$.fragment),u(a,"class","mb-4"),u(p,"name","file"),u(p,"type","file"),u(b,"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($,M){w($,e,M),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,p),s(f,_),s(f,b),w($,d,M),Q(v,$,M),g=!0,T||(C=V(f,"submit",t[3]),T=!0)},p($,[M]){(!g||M&2)&&G(o,$[1]),(!g||M&1)&&u(f,"action",$[0]);const F={};M&4&&(F.active=$[2]),v.$set(F)},i($){g||(P(v.$$.fragment,$),g=!0)},o($){I(v.$$.fragment,$),g=!1},d($){$&&k(e),$&&k(d),X(v,$),T=!1,C()}}}function q0(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 Mo extends Me{constructor(e){super(),Se(this,e,q0,O0,we,{action:0,title:1})}}function U0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,A,E,Y,R,U,H,z,q,L;return H=new Dt({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=h(),r=m("hr"),a=h(),c=m("div"),f=y("Enable one-click upgrade? (implies data collection)"),p=m("br"),_=h(),b=m("a"),d=y("Read more"),v=m("br"),g=h(),T=m("label"),C=m("input"),M=y(" Yes"),F=m("label"),S=m("input"),A=y(" No"),E=m("br"),Y=h(),R=m("div"),R.innerHTML='',U=h(),Z(H.$$.fragment),u(b,"href",qt("Data-collection-on-one-click-firmware-upgrade")),u(b,"target","_blank"),u(b,"class","text-blue-600 hover:text-blue-800"),u(C,"type","radio"),u(C,"name","sf"),C.value=1,C.checked=$=t[0].fwconsent===1,u(C,"class","rounded m-2"),C.required=!0,u(S,"type","radio"),u(S,"name","sf"),S.value=2,S.checked=N=t[0].fwconsent===2,u(S,"class","rounded m-2"),S.required=!0,u(c,"class","my-3"),u(R,"class","my-3"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-3 lg:grid-cols-2")},m(B,O){w(B,e,O),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,p),s(c,_),s(c,b),s(b,d),s(c,v),s(c,g),s(c,T),s(T,C),s(T,M),s(c,F),s(F,S),s(F,A),s(c,E),s(n,Y),s(n,R),w(B,U,O),Q(H,B,O),z=!0,q||(L=V(n,"submit",Ss(t[2])),q=!0)},p(B,[O]){(!z||O&1&&$!==($=B[0].fwconsent===1))&&(C.checked=$),(!z||O&1&&N!==(N=B[0].fwconsent===2))&&(S.checked=N);const j={};O&2&&(j.active=B[1]),H.$set(j)},i(B){z||(P(H.$$.fragment,B),z=!0)},o(B){I(H.$$.fragment,B),z=!1},d(B){B&&k(e),B&&k(U),X(H,B),q=!1,L()}}}function H0(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[b,d]=_;c.append(b,d)}let p=await(await fetch("/save",{method:"POST",body:c})).json();l(1,i=!1),Ut.update(_=>(_.fwconsent=a.sf===!0?1:a.sf===!1?2:0,_.booting=p.reboot,_)),oi("/")}return t.$$set=r=>{"sysinfo"in r&&l(0,n=r.sysinfo)},[n,i,o]}class j0 extends Me{constructor(e){super(),Se(this,e,H0,U0,we,{sysinfo:0})}}function W0(t){let e,l;return e=new Op({props:{data:t[1],sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function G0(t){let e,l;return e=new d0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function B0(t){let e,l;return e=new M0({props:{sysinfo:t[0],data:t[1]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function z0(t){let e,l;return e=new Mo({props:{title:"CA",action:"/mqtt-ca"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function Y0(t){let e,l;return e=new Mo({props:{title:"certificate",action:"/mqtt-cert"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function V0(t){let e,l;return e=new Mo({props:{title:"private key",action:"/mqtt-key"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function K0(t){let e,l;return e=new j0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function Q0(t){let e,l;return e=new L0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function X0(t){let e,l;return e=new I0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function Z0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F;return e=new Zm({props:{data:t[1]}}),n=new Tl({props:{path:"/",$$slots:{default:[W0]},$$scope:{ctx:t}}}),o=new Tl({props:{path:"/configuration",$$slots:{default:[G0]},$$scope:{ctx:t}}}),a=new Tl({props:{path:"/status",$$slots:{default:[B0]},$$scope:{ctx:t}}}),f=new Tl({props:{path:"/mqtt-ca",$$slots:{default:[z0]},$$scope:{ctx:t}}}),_=new Tl({props:{path:"/mqtt-cert",$$slots:{default:[Y0]},$$scope:{ctx:t}}}),d=new Tl({props:{path:"/mqtt-key",$$slots:{default:[V0]},$$scope:{ctx:t}}}),g=new Tl({props:{path:"/consent",$$slots:{default:[K0]},$$scope:{ctx:t}}}),C=new Tl({props:{path:"/setup",$$slots:{default:[Q0]},$$scope:{ctx:t}}}),M=new Tl({props:{path:"/vendor",$$slots:{default:[X0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment),l=h(),Z(n.$$.fragment),i=h(),Z(o.$$.fragment),r=h(),Z(a.$$.fragment),c=h(),Z(f.$$.fragment),p=h(),Z(_.$$.fragment),b=h(),Z(d.$$.fragment),v=h(),Z(g.$$.fragment),T=h(),Z(C.$$.fragment),$=h(),Z(M.$$.fragment)},m(S,N){Q(e,S,N),w(S,l,N),Q(n,S,N),w(S,i,N),Q(o,S,N),w(S,r,N),Q(a,S,N),w(S,c,N),Q(f,S,N),w(S,p,N),Q(_,S,N),w(S,b,N),Q(d,S,N),w(S,v,N),Q(g,S,N),w(S,T,N),Q(C,S,N),w(S,$,N),Q(M,S,N),F=!0},p(S,N){const A={};N&2&&(A.data=S[1]),e.$set(A);const E={};N&7&&(E.$$scope={dirty:N,ctx:S}),n.$set(E);const Y={};N&5&&(Y.$$scope={dirty:N,ctx:S}),o.$set(Y);const R={};N&7&&(R.$$scope={dirty:N,ctx:S}),a.$set(R);const U={};N&4&&(U.$$scope={dirty:N,ctx:S}),f.$set(U);const H={};N&4&&(H.$$scope={dirty:N,ctx:S}),_.$set(H);const z={};N&4&&(z.$$scope={dirty:N,ctx:S}),d.$set(z);const q={};N&5&&(q.$$scope={dirty:N,ctx:S}),g.$set(q);const L={};N&5&&(L.$$scope={dirty:N,ctx:S}),C.$set(L);const B={};N&5&&(B.$$scope={dirty:N,ctx:S}),M.$set(B)},i(S){F||(P(e.$$.fragment,S),P(n.$$.fragment,S),P(o.$$.fragment,S),P(a.$$.fragment,S),P(f.$$.fragment,S),P(_.$$.fragment,S),P(d.$$.fragment,S),P(g.$$.fragment,S),P(C.$$.fragment,S),P(M.$$.fragment,S),F=!0)},o(S){I(e.$$.fragment,S),I(n.$$.fragment,S),I(o.$$.fragment,S),I(a.$$.fragment,S),I(f.$$.fragment,S),I(_.$$.fragment,S),I(d.$$.fragment,S),I(g.$$.fragment,S),I(C.$$.fragment,S),I(M.$$.fragment,S),F=!1},d(S){X(e,S),S&&k(l),X(n,S),S&&k(i),X(o,S),S&&k(r),X(a,S),S&&k(c),X(f,S),S&&k(p),X(_,S),S&&k(b),X(d,S),S&&k(v),X(g,S),S&&k(T),X(C,S),S&&k($),X(M,S)}}}function J0(t){let e,l,n,i;const o=[t_,e_],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=Ve()},m(c,f){r[e].m(c,f),w(c,n,f),i=!0},p(c,f){let p=e;e=a(c),e===p?r[e].p(c,f):(De(),I(r[p],1,1,()=>{r[p]=null}),Ee(),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&&k(n)}}}function x0(t){let e,l;return e=new Dt({props:{active:"true",message:"Device is upgrading, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function e_(t){let e,l;return e=new Dt({props:{active:"true",message:"Device is booting, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function t_(t){let e,l;return e=new Dt({props:{active:"true",message:"Device is booting, please wait. Trying to reach it on "+t[0].trying}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function l_(t){let e,l,n,i,o,r;l=new Tc({props:{$$slots:{default:[Z0]},$$scope:{ctx:t}}});const a=[x0,J0],c=[];function f(p,_){return p[0].upgrading?0:p[0].booting?1:-1}return~(i=f(t))&&(o=c[i]=a[i](t)),{c(){e=m("div"),Z(l.$$.fragment),n=h(),o&&o.c(),u(e,"class","container mx-auto m-3")},m(p,_){w(p,e,_),Q(l,e,null),s(e,n),~i&&c[i].m(e,null),r=!0},p(p,[_]){const b={};_&7&&(b.$$scope={dirty:_,ctx:p}),l.$set(b);let d=i;i=f(p),i===d?~i&&c[i].p(p,_):(o&&(De(),I(c[d],1,1,()=>{c[d]=null}),Ee()),~i?(o=c[i],o?o.p(p,_):(o=c[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&&k(e),X(l),~i&&c[i].d()}}}function n_(t,e,l){let n={};Ut.subscribe(o=>{l(0,n=o),n.vndcfg===!1?oi("/vendor"):n.usrcfg===!1?oi("/setup"):n.fwconsent===0&&oi("/consent")}),wo();let i={};return gm.subscribe(o=>{l(1,i=o)}),[n,i]}class i_ extends Me{constructor(e){super(),Se(this,e,n_,l_,we,{})}}new i_({target:document.getElementById("app")}); + `),v=m("input"),g=h(),T=m("div"),C=m("label"),$=m("input"),M=y(" Static IP"),F=h(),z&&z.c(),S=h(),q&&q.c(),N=h(),D=m("div"),D.innerHTML='',E=h(),Z(Y.$$.fragment),u(i,"type","hidden"),u(i,"name","s"),i.value="true",u(r,"class","text-sm"),u(c,"class","my-3"),u(p,"class","my-3"),u(v,"name","sh"),u(v,"type","text"),u(v,"class","in-s"),u(v,"maxlength","32"),u(v,"pattern","[a-z0-9_-]+"),u(v,"placeholder","Optional, ex.: ams-reader"),u(v,"autocomplete","off"),u($,"type","checkbox"),u($,"name","sm"),$.__value="static",$.value=$.__value,u($,"class","rounded mb-1"),u(T,"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(L,B){w(L,e,B),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,p),s(n,_),s(n,b),s(b,d),s(b,v),V(v,t[0].hostname),s(n,g),s(n,T),s(T,C),s(C,$),$.checked=t[1],s(C,M),s(T,F),z&&z.m(T,null),s(n,S),q&&q.m(n,null),s(n,N),s(n,D),w(L,E,B),Q(Y,L,B),R=!0,U||(H=[K(v,"input",t[4]),K($,"change",t[5]),K(n,"submit",Ss(t[3]))],U=!0)},p(L,[B]){B&1&&v.value!==L[0].hostname&&V(v,L[0].hostname),B&2&&($.checked=L[1]),L[1]?z?(z.p(L,B),B&2&&P(z,1)):(z=Zf(L),z.c(),P(z,1),z.m(T,null)):z&&(Ae(),I(z,1,1,()=>{z=null}),Ee()),L[1]?q||(q=Jf(),q.c(),q.m(n,N)):q&&(q.d(1),q=null);const O={};B&4&&(O.active=L[2]),Y.$set(O)},i(L){R||(P(z),P(Y.$$.fragment,L),R=!0)},o(L){I(z),I(Y.$$.fragment,L),R=!1},d(L){L&&k(e),z&&z.d(),q&&q.d(),L&&k(E),X(Y,L),U=!1,Be(H)}}}function L0(t,e,l){let{sysinfo:n={}}=e,i=!1,o=!1,r=0;function a(){var _="";r++;var b=function(){setTimeout(a,1e3)};if(n.net.ip&&r%3==0){if(!n.net.ip){b();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 "+_),Ut.update(v=>(v.trying=_,v));var d=new XMLHttpRequest;d.timeout=5e3,d.addEventListener("abort",b),d.addEventListener("error",b),d.addEventListener("timeout",b),d.addEventListener("load",function(v){window.location.href=_||"/"}),d.open("GET",_+"/is-alive",!0),d.send()}async function c(_){l(2,o=!0);const b=new FormData(_.target),d=new URLSearchParams;for(let T of b){const[C,$]=T;d.append(C,$)}let g=await(await fetch("/save",{method:"POST",body:d})).json();l(2,o=!1),Ut.update(T=>(T.hostname=b.get("sh"),T.usrcfg=g.success,T.booting=g.reboot,i&&(T.net.ip=b.get("si"),T.net.mask=b.get("su"),T.net.gw=b.get("sg"),T.net.dns1=b.get("sd")),setTimeout(a,5e3),T))}function f(){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,c,f,p]}class O0 extends Me{constructor(e){super(),Se(this,e,L0,R0,we,{sysinfo:0})}}function q0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C;return v=new At({props:{active:t[2],message:"Uploading file, please wait"}}),{c(){e=m("div"),l=m("div"),n=m("strong"),i=y("Upload "),o=y(t[1]),r=h(),a=m("p"),a.textContent="Select a suitable file and click upload",c=h(),f=m("form"),p=m("input"),_=h(),b=m("div"),b.innerHTML='',d=h(),Z(v.$$.fragment),u(a,"class","mb-4"),u(p,"name","file"),u(p,"type","file"),u(b,"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($,M){w($,e,M),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,p),s(f,_),s(f,b),w($,d,M),Q(v,$,M),g=!0,T||(C=K(f,"submit",t[3]),T=!0)},p($,[M]){(!g||M&2)&&W(o,$[1]),(!g||M&1)&&u(f,"action",$[0]);const F={};M&4&&(F.active=$[2]),v.$set(F)},i($){g||(P(v.$$.fragment,$),g=!0)},o($){I(v.$$.fragment,$),g=!1},d($){$&&k(e),$&&k(d),X(v,$),T=!1,C()}}}function U0(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 Mo extends Me{constructor(e){super(),Se(this,e,U0,q0,we,{action:0,title:1})}}function H0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F,S,N,D,E,Y,R,U,H,z,q,L;return H=new At({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=h(),r=m("hr"),a=h(),c=m("div"),f=y("Enable one-click upgrade? (implies data collection)"),p=m("br"),_=h(),b=m("a"),d=y("Read more"),v=m("br"),g=h(),T=m("label"),C=m("input"),M=y(" Yes"),F=m("label"),S=m("input"),D=y(" No"),E=m("br"),Y=h(),R=m("div"),R.innerHTML='',U=h(),Z(H.$$.fragment),u(b,"href",qt("Data-collection-on-one-click-firmware-upgrade")),u(b,"target","_blank"),u(b,"class","text-blue-600 hover:text-blue-800"),u(C,"type","radio"),u(C,"name","sf"),C.value=1,C.checked=$=t[0].fwconsent===1,u(C,"class","rounded m-2"),C.required=!0,u(S,"type","radio"),u(S,"name","sf"),S.value=2,S.checked=N=t[0].fwconsent===2,u(S,"class","rounded m-2"),S.required=!0,u(c,"class","my-3"),u(R,"class","my-3"),u(n,"autocomplete","off"),u(l,"class","cnt"),u(e,"class","grid xl:grid-cols-3 lg:grid-cols-2")},m(B,O){w(B,e,O),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,p),s(c,_),s(c,b),s(b,d),s(c,v),s(c,g),s(c,T),s(T,C),s(T,M),s(c,F),s(F,S),s(F,D),s(c,E),s(n,Y),s(n,R),w(B,U,O),Q(H,B,O),z=!0,q||(L=K(n,"submit",Ss(t[2])),q=!0)},p(B,[O]){(!z||O&1&&$!==($=B[0].fwconsent===1))&&(C.checked=$),(!z||O&1&&N!==(N=B[0].fwconsent===2))&&(S.checked=N);const j={};O&2&&(j.active=B[1]),H.$set(j)},i(B){z||(P(H.$$.fragment,B),z=!0)},o(B){I(H.$$.fragment,B),z=!1},d(B){B&&k(e),B&&k(U),X(H,B),q=!1,L()}}}function j0(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[b,d]=_;c.append(b,d)}let p=await(await fetch("/save",{method:"POST",body:c})).json();l(1,i=!1),Ut.update(_=>(_.fwconsent=a.sf===!0?1:a.sf===!1?2:0,_.booting=p.reboot,_)),oi("/")}return t.$$set=r=>{"sysinfo"in r&&l(0,n=r.sysinfo)},[n,i,o]}class W0 extends Me{constructor(e){super(),Se(this,e,j0,H0,we,{sysinfo:0})}}function G0(t){let e,l;return e=new qp({props:{data:t[1],sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function B0(t){let e,l;return e=new v0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function z0(t){let e,l;return e=new P0({props:{sysinfo:t[0],data:t[1]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function Y0(t){let e,l;return e=new Mo({props:{title:"CA",action:"/mqtt-ca"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function K0(t){let e,l;return e=new Mo({props:{title:"certificate",action:"/mqtt-cert"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function V0(t){let e,l;return e=new Mo({props:{title:"private key",action:"/mqtt-key"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function Q0(t){let e,l;return e=new W0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function X0(t){let e,l;return e=new O0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function Z0(t){let e,l;return e=new F0({props:{sysinfo:t[0]}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function J0(t){let e,l,n,i,o,r,a,c,f,p,_,b,d,v,g,T,C,$,M,F;return e=new Jm({props:{data:t[1]}}),n=new Tl({props:{path:"/",$$slots:{default:[G0]},$$scope:{ctx:t}}}),o=new Tl({props:{path:"/configuration",$$slots:{default:[B0]},$$scope:{ctx:t}}}),a=new Tl({props:{path:"/status",$$slots:{default:[z0]},$$scope:{ctx:t}}}),f=new Tl({props:{path:"/mqtt-ca",$$slots:{default:[Y0]},$$scope:{ctx:t}}}),_=new Tl({props:{path:"/mqtt-cert",$$slots:{default:[K0]},$$scope:{ctx:t}}}),d=new Tl({props:{path:"/mqtt-key",$$slots:{default:[V0]},$$scope:{ctx:t}}}),g=new Tl({props:{path:"/consent",$$slots:{default:[Q0]},$$scope:{ctx:t}}}),C=new Tl({props:{path:"/setup",$$slots:{default:[X0]},$$scope:{ctx:t}}}),M=new Tl({props:{path:"/vendor",$$slots:{default:[Z0]},$$scope:{ctx:t}}}),{c(){Z(e.$$.fragment),l=h(),Z(n.$$.fragment),i=h(),Z(o.$$.fragment),r=h(),Z(a.$$.fragment),c=h(),Z(f.$$.fragment),p=h(),Z(_.$$.fragment),b=h(),Z(d.$$.fragment),v=h(),Z(g.$$.fragment),T=h(),Z(C.$$.fragment),$=h(),Z(M.$$.fragment)},m(S,N){Q(e,S,N),w(S,l,N),Q(n,S,N),w(S,i,N),Q(o,S,N),w(S,r,N),Q(a,S,N),w(S,c,N),Q(f,S,N),w(S,p,N),Q(_,S,N),w(S,b,N),Q(d,S,N),w(S,v,N),Q(g,S,N),w(S,T,N),Q(C,S,N),w(S,$,N),Q(M,S,N),F=!0},p(S,N){const D={};N&2&&(D.data=S[1]),e.$set(D);const E={};N&7&&(E.$$scope={dirty:N,ctx:S}),n.$set(E);const Y={};N&5&&(Y.$$scope={dirty:N,ctx:S}),o.$set(Y);const R={};N&7&&(R.$$scope={dirty:N,ctx:S}),a.$set(R);const U={};N&4&&(U.$$scope={dirty:N,ctx:S}),f.$set(U);const H={};N&4&&(H.$$scope={dirty:N,ctx:S}),_.$set(H);const z={};N&4&&(z.$$scope={dirty:N,ctx:S}),d.$set(z);const q={};N&5&&(q.$$scope={dirty:N,ctx:S}),g.$set(q);const L={};N&5&&(L.$$scope={dirty:N,ctx:S}),C.$set(L);const B={};N&5&&(B.$$scope={dirty:N,ctx:S}),M.$set(B)},i(S){F||(P(e.$$.fragment,S),P(n.$$.fragment,S),P(o.$$.fragment,S),P(a.$$.fragment,S),P(f.$$.fragment,S),P(_.$$.fragment,S),P(d.$$.fragment,S),P(g.$$.fragment,S),P(C.$$.fragment,S),P(M.$$.fragment,S),F=!0)},o(S){I(e.$$.fragment,S),I(n.$$.fragment,S),I(o.$$.fragment,S),I(a.$$.fragment,S),I(f.$$.fragment,S),I(_.$$.fragment,S),I(d.$$.fragment,S),I(g.$$.fragment,S),I(C.$$.fragment,S),I(M.$$.fragment,S),F=!1},d(S){X(e,S),S&&k(l),X(n,S),S&&k(i),X(o,S),S&&k(r),X(a,S),S&&k(c),X(f,S),S&&k(p),X(_,S),S&&k(b),X(d,S),S&&k(v),X(g,S),S&&k(T),X(C,S),S&&k($),X(M,S)}}}function x0(t){let e,l,n,i;const o=[l_,t_],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=Ke()},m(c,f){r[e].m(c,f),w(c,n,f),i=!0},p(c,f){let p=e;e=a(c),e===p?r[e].p(c,f):(Ae(),I(r[p],1,1,()=>{r[p]=null}),Ee(),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&&k(n)}}}function e_(t){let e,l;return e=new At({props:{active:"true",message:"Device is upgrading, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function t_(t){let e,l;return e=new At({props:{active:"true",message:"Device is booting, please wait"}}),{c(){Z(e.$$.fragment)},m(n,i){Q(e,n,i),l=!0},p:ne,i(n){l||(P(e.$$.fragment,n),l=!0)},o(n){I(e.$$.fragment,n),l=!1},d(n){X(e,n)}}}function l_(t){let e,l;return e=new At({props:{active:"true",message:"Device is booting, please wait. Trying to reach it on "+t[0].trying}}),{c(){Z(e.$$.fragment)},m(n,i){Q(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){X(e,n)}}}function n_(t){let e,l,n,i,o,r;l=new Sc({props:{$$slots:{default:[J0]},$$scope:{ctx:t}}});const a=[e_,x0],c=[];function f(p,_){return p[0].upgrading?0:p[0].booting?1:-1}return~(i=f(t))&&(o=c[i]=a[i](t)),{c(){e=m("div"),Z(l.$$.fragment),n=h(),o&&o.c(),u(e,"class","container mx-auto m-3")},m(p,_){w(p,e,_),Q(l,e,null),s(e,n),~i&&c[i].m(e,null),r=!0},p(p,[_]){const b={};_&7&&(b.$$scope={dirty:_,ctx:p}),l.$set(b);let d=i;i=f(p),i===d?~i&&c[i].p(p,_):(o&&(Ae(),I(c[d],1,1,()=>{c[d]=null}),Ee()),~i?(o=c[i],o?o.p(p,_):(o=c[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&&k(e),X(l),~i&&c[i].d()}}}function i_(t,e,l){let n={};Ut.subscribe(o=>{l(0,n=o),n.vndcfg===!1?oi("/vendor"):n.usrcfg===!1?oi("/setup"):n.fwconsent===0&&oi("/consent")}),wo();let i={};return km.subscribe(o=>{l(1,i=o)}),[n,i]}class s_ extends Me{constructor(e){super(),Se(this,e,i_,n_,we,{})}}new s_({target:document.getElementById("app")}); diff --git a/lib/SvelteUi/app/src/lib/Helpers.js b/lib/SvelteUi/app/src/lib/Helpers.js index 7ba6eeb2..1e3055bd 100644 --- a/lib/SvelteUi/app/src/lib/Helpers.js +++ b/lib/SvelteUi/app/src/lib/Helpers.js @@ -145,6 +145,8 @@ export function mqttError(err) { export function priceError(err) { switch(err) { + case 400: + return "Unrecognized data in request"; case 401: case 403: return "Unauthorized, check API key"; @@ -156,6 +158,7 @@ export function priceError(err) { return "Exceeded API rate limit"; case 500: return "Internal server error"; + case -1: return "Connection error"; case -2: return "Incomplete data received"; case -3: return "Invalid data, tag missing"; case -51: return "Authentication failed"; @@ -229,4 +232,12 @@ export function getResetReason(sysinfo) { default: return "Unknown"; } } +} + +export function getPriceSourceName(code) { + if(code == "EOE") return "ENTSO-E"; + if(code == "HKS") return "hvakosterstrommen.no"; + if(code == "EDS") return "Energy Data Service"; + if(code == "MIX") return "Mixed sources"; + return "Unknown (" + code + ")"; } \ No newline at end of file diff --git a/lib/SvelteUi/app/src/lib/PricePlot.svelte b/lib/SvelteUi/app/src/lib/PricePlot.svelte index f7ff5de8..4325f4e9 100644 --- a/lib/SvelteUi/app/src/lib/PricePlot.svelte +++ b/lib/SvelteUi/app/src/lib/PricePlot.svelte @@ -1,5 +1,5 @@ -Provided by ENTSO-E +Provided by: {getPriceSourceName(json.source)} diff --git a/lib/SvelteUi/app/vite.config.js b/lib/SvelteUi/app/vite.config.js index 8804656f..d94a5d4c 100644 --- a/lib/SvelteUi/app/vite.config.js +++ b/lib/SvelteUi/app/vite.config.js @@ -17,21 +17,21 @@ export default defineConfig({ plugins: [svelte()], server: { proxy: { - "/data.json": "http://192.168.233.244", - "/energyprice.json": "http://192.168.233.244", - "/dayplot.json": "http://192.168.233.244", - "/monthplot.json": "http://192.168.233.244", - "/temperature.json": "http://192.168.233.244", - "/sysinfo.json": "http://192.168.233.244", - "/configuration.json": "http://192.168.233.244", - "/tariff.json": "http://192.168.233.244", - "/save": "http://192.168.233.244", - "/reboot": "http://192.168.233.244", - "/configfile": "http://192.168.233.244", - "/upgrade": "http://192.168.233.244", - "/mqtt-ca": "http://192.168.233.244", - "/mqtt-cert": "http://192.168.233.244", - "/mqtt-key": "http://192.168.233.244", + "/data.json": "http://192.168.233.237", + "/energyprice.json": "http://192.168.233.237", + "/dayplot.json": "http://192.168.233.237", + "/monthplot.json": "http://192.168.233.237", + "/temperature.json": "http://192.168.233.237", + "/sysinfo.json": "http://192.168.233.237", + "/configuration.json": "http://192.168.233.237", + "/tariff.json": "http://192.168.233.237", + "/save": "http://192.168.233.237", + "/reboot": "http://192.168.233.237", + "/configfile": "http://192.168.233.237", + "/upgrade": "http://192.168.233.237", + "/mqtt-ca": "http://192.168.233.237", + "/mqtt-cert": "http://192.168.233.237", + "/mqtt-key": "http://192.168.233.237", } } }) diff --git a/lib/SvelteUi/json/energyprice.json b/lib/SvelteUi/json/energyprice.json index 9231ba9c..06bf353d 100644 --- a/lib/SvelteUi/json/energyprice.json +++ b/lib/SvelteUi/json/energyprice.json @@ -1,5 +1,6 @@ { "currency" : "%s", + "source" : "%s", "00" : %s, "01" : %s, "02" : %s, diff --git a/lib/SvelteUi/src/AmsWebServer.cpp b/lib/SvelteUi/src/AmsWebServer.cpp index 6628c3e6..5cd41f6f 100644 --- a/lib/SvelteUi/src/AmsWebServer.cpp +++ b/lib/SvelteUi/src/AmsWebServer.cpp @@ -668,6 +668,7 @@ void AmsWebServer::energyPriceJson() { snprintf_P(buf, BufferSize, ENERGYPRICE_JSON, eapi == NULL ? "" : eapi->getCurrency(), + eapi == NULL ? "" : eapi->getSource(), prices[0] == ENTSOE_NO_VALUE ? "null" : String(prices[0], 4).c_str(), prices[1] == ENTSOE_NO_VALUE ? "null" : String(prices[1], 4).c_str(), prices[2] == ENTSOE_NO_VALUE ? "null" : String(prices[2], 4).c_str(),