From 734839fb16c0681978d704c4f5059ea0e49a6d4d Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 1 Mar 2021 10:20:46 +0100 Subject: [PATCH] Fix build --- charger/fritzdect.go | 5 +++-- dist/index.html | 4 ++-- dist/js/{index.9f86ca25.js => index.dd84c2d8.js} | 2 +- dist/js/{index.9f86ca25.js.map => index.dd84c2d8.js.map} | 2 +- go.mod | 1 + 5 files changed, 8 insertions(+), 6 deletions(-) rename dist/js/{index.9f86ca25.js => index.dd84c2d8.js} (99%) rename dist/js/{index.9f86ca25.js.map => index.dd84c2d8.js.map} (99%) diff --git a/charger/fritzdect.go b/charger/fritzdect.go index 89a752c33..4621109fb 100644 --- a/charger/fritzdect.go +++ b/charger/fritzdect.go @@ -108,9 +108,10 @@ func (c *FritzDECT) Status() (api.ChargeStatus, error) { // present 0/1 - DECT Switch connected to fritzbox (no/yes) var present int64 - resp, err = c.execFritzDectCmd("getswitchpresent") if err == nil { - present, err = strconv.ParseInt(resp, 10, 64) + if resp, err = c.execFritzDectCmd("getswitchpresent"); err == nil { + present, err = strconv.ParseInt(resp, 10, 64) + } } // power value in 0,001 W (current switch power, refresh aproximately every 2 minutes) diff --git a/dist/index.html b/dist/index.html index 5c9166248..afa05f845 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,4 +1,4 @@ -evcc
\ No newline at end of file + };
\ No newline at end of file diff --git a/dist/js/index.9f86ca25.js b/dist/js/index.dd84c2d8.js similarity index 99% rename from dist/js/index.9f86ca25.js rename to dist/js/index.dd84c2d8.js index f23ff575c..6d801e325 100644 --- a/dist/js/index.9f86ca25.js +++ b/dist/js/index.dd84c2d8.js @@ -1,2 +1,2 @@ (function(t){function e(e){for(var s,o,r=e[0],l=e[1],c=e[2],u=0,m=[];u0?a("div",{staticClass:"mb-2 value"},[t._v(" Bezug "),a("fa-icon",{staticClass:"text-primary",attrs:{icon:"arrow-down"}})],1):a("div",{staticClass:"mb-2 value"},[t._v(" Einspeisung "),a("fa-icon",{staticClass:"text-primary",attrs:{icon:"arrow-up"}})],1),a("h2",{staticClass:"value"},[t._v(" "+t._s(t.fmt(t.gridPower))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtUnit(t.gridPower))+"W")])])]):t._e(),t.pvConfigured?a("div",{staticClass:"col-6 col-md-3 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v(" Erzeugung "),a("fa-icon",{class:{"text-primary":t.pvPower>0,"text-muted":t.pvPower<=0},attrs:{icon:"sun"}})],1),a("h2",{staticClass:"value"},[t._v(" "+t._s(t.fmt(t.pvPower))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtUnit(t.pvPower))+"W")])])]):t._e(),t.batteryConfigured?a("div",{staticClass:"d-md-block col-6 col-md-3 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v(" Batterie "),a("fa-icon",{staticClass:"text-primary",attrs:{icon:t.batteryIcon}})],1),a("h2",{staticClass:"value"},[t._v(" "+t._s(t.fmt(t.batteryPower))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtUnit(t.batteryPower))+"W")]),a("small",{staticClass:"text-muted"},[t._v("/")]),t._v(" "+t._s(t.batterySoC)+" "),a("small",{staticClass:"text-muted"},[t._v("%")])])]):t._e()])},ht=[],ft={data:function(){return{fmtLimit:100,fmtDigits:1}},methods:{round:function(t,e){var a=10**e;return(Math.round(t*a)/a).toFixed(e)},fmt:function(t){return void 0===t||null===t?0:(t=Math.abs(t),t>=this.fmtLimit?this.round(t/1e3,this.fmtDigits):this.round(t,0))},fmtUnit:function(t){return Math.abs(t)>=this.fmtLimit?"k":""},fmtDuration:function(t){if(t<=0||null==t)return"—";var e="0"+t%60,a="0"+Math.floor(t/60)%60,s=""+Math.floor(t/3600);return s.length<2&&(s="0"+s),s+":"+a.substr(-2)+":"+e.substr(-2)},fmtShortDuration:function(t){if(t<=0||null==t)return"—";var e,a=Math.floor(t/60)%60,s=Math.floor(t/3600);if(s>=1)a="0"+a,e=s+":"+a.substr(-2);else{var i="0"+t%60;e=a+":"+i.substr(-2)}return e},fmtShortDurationUnit:function(t){if(t<=0||null==t)return"";var e=Math.floor(t/3600);return e>=1?"h":"m"}}};const gt=20,bt=["battery-empty","battery-quarter","battery-half","battery-three-quarters","battery-full"];var Ct={name:"SiteDetails",props:{gridConfigured:Boolean,gridPower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number},data:function(){return{iconIdx:0}},mixins:[ft],computed:{batteryIcon:function(){return Math.abs(this.batteryPower){this.batteryPower>gt?--this.iconIdx<0&&(this.iconIdx=bt.length-1):this.batteryPower=bt.length&&(this.iconIdx=0)},1e3)}},_t=Ct,yt=Object(A["a"])(_t,pt,ht,!1,null,null,null),wt=yt.exports,St=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.multi?a("div",{staticClass:"row"},[a("div",{staticClass:"col-12 col-md-4 d-md-flex mt-3 mt-md-5 align-items-end"},[a("span",{staticClass:"h1 align-bottom"},[t._v(t._s(t.title||"Ladepunkt"))])]),a("div",{staticClass:"col-12 col-md-8 d-none d-md-block mt-3 mt-md-5"},[a("LoadpointDetails",t._b({},"LoadpointDetails",t.details,!1))],1),a("div",{staticClass:"col-12 d-md-none"},[a("div",{staticClass:"row mt-3 pb-3 bg-light"},[a("div",{staticClass:"col-12 mt-3"},[a("Mode",{staticClass:"w-100",attrs:{mode:t.mode,pvConfigured:t.pvConfigured},on:{updated:t.setTargetMode}})],1),t.hasTargetSoC?a("div",{staticClass:"col-12 mt-3"},[a("Soc",{staticClass:"w-100",attrs:{soc:t.targetSoC,levels:t.socLevels},on:{updated:t.setTargetSoC}})],1):t._e()])])]):t._e(),t.multi?t._e():a("div",{staticClass:"row d-none d-md-flex mt-5 py-3 pb-4 text-center bg-light"},[a("div",{staticClass:"mt-3",class:{"col-md-6":t.hasTargetSoC,"col-md-12":!t.hasTargetSoC}},[a("Mode",{attrs:{mode:t.mode,pvConfigured:t.pvConfigured,caption:!0},on:{updated:t.setTargetMode}})],1),t.hasTargetSoC?a("div",{staticClass:"col-md-6 mt-3"},[a("Soc",{attrs:{soc:t.targetSoC,levels:t.socLevels,caption:!0},on:{updated:t.setTargetSoC}})],1):t._e()]),t.multi?t._e():a("div",{staticClass:"row d-md-none mt-2 pb-3 bg-light"},[a("div",{staticClass:"col-12 mt-3"},[a("Mode",{staticClass:"w-100",attrs:{mode:t.mode,pvConfigured:t.pvConfigured},on:{updated:t.setTargetMode}})],1),t.hasTargetSoC?a("div",{staticClass:"col-12 mt-3"},[a("Soc",{staticClass:"w-100",attrs:{soc:t.targetSoC,levels:t.socLevels},on:{updated:t.setTargetSoC}})],1):t._e()]),t.multi?t._e():a("div",{staticClass:"row"},[a("div",{staticClass:"col-12 col-md-4 d-none d-md-flex mt-3 mt-md-5"},[a("span",{staticClass:"h1"},[t._v(t._s(t.title||"Ladepunkt"))])]),t.remoteDisabled?a("div",{staticClass:"col-12 col-md-8 d-flex d-md-flex mt-3 mt-md-5 pt-3"},[a("h5",{staticClass:"w-100"},["soft"==t.remoteDisabled?a("span",{staticClass:"badge badge-warning w-100"},[t._v(" "+t._s(t.remoteDisabledSource)+": Adaptives PV-Laden deaktiviert ")]):t._e(),"hard"==t.remoteDisabled?a("span",{staticClass:"badge badge-danger w-100"},[t._v(" "+t._s(t.remoteDisabledSource)+": Deaktiviert ")]):t._e()])]):t._e()]),a("div",{staticClass:"row border-bottom d-none d-md-block"}),a("div",{staticClass:"row"},[a("div",{staticClass:"col-12 col-md-4 mt-3 mb-3 mb-md-0"},[a("Vehicle",t._b({},"Vehicle",t.vehicle,!1))],1),t.multi?a("div",{staticClass:"col-12 col-md-4 d-none d-md-block mt-3"},[a("div",{staticClass:"mb-2"},[t._v("Modus")]),a("Mode",{staticClass:"btn-group-sm",attrs:{mode:t.mode,pvConfigured:t.pvConfigured},on:{updated:t.setTargetMode}})],1):t._e(),t.multi&&t.hasTargetSoC?a("div",{staticClass:"col-12 col-md-4 d-none d-md-block mt-3"},[a("div",{staticClass:"mb-2"},[t._v("Ladeziel")]),a("Soc",{staticClass:"btn-group-sm",attrs:{soc:t.targetSoC,levels:t.socLevels},on:{updated:t.setTargetSoC}})],1):t._e(),t.multi?t._e():a("div",{staticClass:"col-md-8 d-none d-md-block"},[a("LoadpointDetails",t._b({},"LoadpointDetails",t.details,!1))],1),a("div",{staticClass:"col-12 d-md-none"},[a("LoadpointDetails",t._b({},"LoadpointDetails",t.details,!1))],1)])])},xt=[],kt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"btn-group btn-group-toggle bg-white shadow-none"},[t.caption?a("label",{staticClass:"btn btn-outline-primary disabled caption font-weight-bold"},[t._v(" Ladeziel ")]):t._e(),t._l(t.levelsOrDefault,(function(e,s){return a("label",{key:s,staticClass:"btn btn-outline-primary",class:{active:t.soc==e,first:!t.caption&&0==s},attrs:{level:e,id:s}},[a("input",{attrs:{type:"radio"},domProps:{value:e},on:{click:function(a){return t.setTargetSoC(e)}}}),t._v(t._s(e)+"% ")])}))],2)},Dt=[],Mt={name:"Soc",props:{soc:Number,caption:Boolean,levels:Array},computed:{levelsOrDefault:function(){return null==this.levels||0==this.levels.length?[]:this.levels}},methods:{setTargetSoC:function(t){this.$emit("updated",t)}}},Tt=Mt,Pt=Object(A["a"])(Tt,kt,Dt,!1,null,null,null),Nt=Pt.exports,Lt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"btn-group btn-group-toggle bg-white shadow-none"},[t.caption?a("label",{staticClass:"btn btn-outline-primary value disabled caption font-weight-bold"},[t._v(" Modus ")]):t._e(),a("label",{staticClass:"btn btn-outline-primary",class:{active:"off"==t.mode,first:!t.caption}},[a("input",{attrs:{type:"radio",value:"off"},on:{click:function(e){return t.setTargetMode("off")}}}),t._v("Stop ")]),a("label",{staticClass:"btn btn-outline-primary",class:{active:"now"==t.mode}},[a("input",{attrs:{type:"radio",value:"now"},on:{click:function(e){return t.setTargetMode("now")}}}),t._v("Sofort ")]),t.pvConfigured?a("label",{staticClass:"btn btn-outline-primary",class:{active:"minpv"==t.mode}},[a("input",{attrs:{type:"radio",value:"minpv"},on:{click:function(e){return t.setTargetMode("minpv")}}}),a("span",{staticClass:"d-inline d-lg-none"},[t._v("Min")]),a("span",{staticClass:"d-none d-lg-inline"},[t._v("Min + PV")])]):t._e(),t.pvConfigured?a("label",{staticClass:"btn btn-outline-primary",class:{active:"pv"==t.mode}},[a("input",{attrs:{type:"radio",value:"pv"},on:{click:function(e){return t.setTargetMode("pv")}}}),a("span",{staticClass:"d-inline d-md-none"},[t._v("PV")]),a("span",{staticClass:"d-none d-md-inline"},[t._v("Nur PV")])]):t._e()])},Et=[],Vt={name:"Mode",props:{mode:String,pvConfigured:Boolean,caption:Boolean},methods:{setTargetMode:function(t){this.$emit("updated",t)}}},Bt=Vt,At=Object(A["a"])(Bt,Lt,Et,!1,null,null,null),jt=At.exports,Ot=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"mb-2"},[t._v(t._s(t.socTitle||"Fahrzeug"))]),a("div",{staticClass:"progress",staticStyle:{height:"24px","font-size":"100%","margin-top":"16px"}},[a("div",{staticClass:"progress-bar",class:{"progress-bar-striped":t.charging,"progress-bar-animated":t.charging,"bg-light":!t.connected,"text-secondary":!t.connected,"bg-warning":t.connected&&t.minSoCActive},style:{width:t.socChargeDisplayWidth+"%"},attrs:{role:"progressbar"}},[t._v(" "+t._s(t.socChargeDisplayValue)+" ")]),t.minSoCActive&&t.socChargeDisplayWidth<100?a("div",{staticClass:"progress-bar",class:{"progress-bar-striped":t.charging,"progress-bar-animated":t.charging,"bg-warning":!0,"bg-muted":!0},style:{width:t.minSoCRemainingDisplayWidth+"%"},attrs:{role:"progressbar"}}):t._e()])])},Ut=[],zt={name:"Vehicle",props:{socTitle:String,connected:Boolean,charging:Boolean,hasVehicle:Boolean,socCharge:Number,minSoC:Number},computed:{socChargeDisplayWidth:function(){return this.hasVehicle&&this.socCharge>=0?this.socCharge:100},socChargeDisplayValue:function(){if(!this.hasVehicle||this.socCharge<0){let t="getrennt";return this.charging?t="laden":this.connected&&(t="verbunden"),t}let t=this.socCharge;return t>=10&&(t+="%"),t},minSoCActive:function(){return this.minSoC>0&&this.socCharge=0?a("div",{staticClass:"col-6 col-md-3 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v("Reichweite")]),a("h2",{staticClass:"value"},[t._v(" "+t._s(Math.round(t.range))+" "),a("small",{staticClass:"text-muted"},[t._v("km")])])]):a("div",{staticClass:"col-6 col-md-3 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v("Dauer")]),a("h2",{staticClass:"value"},[t._v(" "+t._s(t.fmtShortDuration(t.chargeDuration))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtShortDurationUnit(t.chargeDuration)))])])]),t.hasVehicle?a("div",{staticClass:"col-6 col-md-3 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v("Restzeit")]),a("h2",{staticClass:"value"},[t._v(" "+t._s(t.fmtShortDuration(t.chargeEstimate))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtShortDurationUnit(t.chargeEstimate)))])])]):t._e()])},Kt=[],Rt={name:"LoadpointDetails",props:{chargedEnergy:Number,chargeDuration:Number,chargeEstimate:Number,chargePower:Number,climater:String,hasVehicle:Boolean,range:Number,socTimerActive:Boolean,socTimerSet:Boolean},mixins:[ft]},Ft=Rt,Zt=Object(A["a"])(Ft,Ht,Kt,!1,null,null,null),Jt=Zt.exports,Gt={methods:{collectProps:function(t){let e={};for(var a in t.props)e[a]=this[a];return e}}},qt={name:"Loadpoint",props:{id:Number,multi:Boolean,pvConfigured:Boolean,title:String,mode:String,targetSoC:Number,socLevels:Array,remoteDisabled:Boolean,remoteDisabledSource:String,chargeDuration:Number,charging:Boolean,connected:Boolean,socTitle:String,socCharge:Number,minSoC:Number,socTimerSet:Boolean,socTimerActive:Boolean,chargePower:Number,chargedEnergy:Number,hasVehicle:Boolean,climater:String,range:Number,chargeEstimate:Number},components:{LoadpointDetails:Jt,Soc:Nt,Mode:jt,Vehicle:Wt},mixins:[ft,Gt],data:function(){return{tickerHandle:null,chargeDurationDisplayed:null}},computed:{details:function(){return this.collectProps(Jt)},vehicle:function(){return this.collectProps(Wt)},hasTargetSoC:function(){return null!=this.socLevels&&this.socLevels.length>0}},watch:{chargeDuration:function(){window.clearInterval(this.tickerHandle),this.charging&&this.chargeDuration>=0&&(this.chargeDurationDisplayed=this.chargeDuration,this.tickerHandle=window.setInterval(function(){this.chargeDurationDisplayed+=1}.bind(this),1e3))}},methods:{api:function(t){return"loadpoints/"+this.id+"/"+t},setTargetMode:function(t){n.a.post(this.api("mode")+"/"+t).then(function(t){this.mode=t.data.mode}.bind(this)).catch(window.toasts.error)},setTargetSoC:function(t){n.a.post(this.api("targetsoc")+"/"+t).then(function(t){this.targetSoC=t.data.targetSoC}.bind(this)).catch(window.toasts.error)}},destroyed:function(){window.clearInterval(this.tickerHandle)}},Qt=qt,Xt=Object(A["a"])(Qt,St,xt,!1,null,null,null),Yt=Xt.exports,te={name:"Site",props:{title:String,loadpoints:Array,gridConfigured:Boolean,gridPower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number},components:{SiteDetails:wt,Loadpoint:Yt},mixins:[ft,Gt],computed:{details:function(){return this.collectProps(wt)},multi:function(){return this.loadpoints.length>1}}},ee=te,ae=Object(A["a"])(ee,mt,vt,!1,null,null,null),se=ae.exports,ie={name:"Main",components:{Site:se},data:function(){return this.$root.$data.store},computed:{configured:function(){const t=window.evcc.configured;return t==window.evcc.configured||!isNaN(parseInt(t))&&parseInt(t)>0}}},ne=ie,oe=Object(A["a"])(ne,dt,ut,!1,null,null,null),re=oe.exports,le=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"container"},[a("div",{staticClass:"row mt-4 border-bottom"},[a("div",{staticClass:"col-12"},[a("p",{staticClass:"h1"},[t._v(t._s(t.title||"Home"))])])]),a("div",{staticClass:"row h5"},[a("div",{staticClass:"col-md-4"}),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Netzzähler: "),t.gridConfigured?a("span",{staticClass:"text-primary"},[t._v("✓")]):a("span",{staticClass:"text-primary"},[t._v("—")])]),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" PV Zähler: "),t.pvConfigured?a("span",{staticClass:"text-primary"},[t._v("✓")]):a("span",{staticClass:"text-primary"},[t._v("—")])]),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Batteriezähler: "),t.batteryConfigured?a("span",{staticClass:"text-primary"},[t._v("✓")]):a("span",{staticClass:"text-primary"},[t._v("—")])])]),t._l(t.loadpoints,(function(e,s){return a("div",{key:s,attrs:{loadpoint:e,id:"loadpoint-"+s}},[a("div",{staticClass:"row mt-4 border-bottom"},[a("div",{staticClass:"col-12"},[a("p",{staticClass:"h1"},[t._v(t._s(e.title||"Ladepunkt"))])])]),a("div",{staticClass:"row h5"},[a("div",{staticClass:"col-md-4"}),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Ladezähler: "),e.chargeConfigured?a("span",{staticClass:"text-primary"},[t._v("✓")]):a("span",{staticClass:"text-primary"},[t._v("—")])]),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Phasen: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.phases)+"p")])]),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Min. Strom: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.minCurrent)+"A")])]),a("div",{staticClass:"col-6 col-md-2 py-3"},[t._v(" Max. Strom: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.maxCurrent)+"A")])])]),a("div",{staticClass:"row h5"},[a("div",{staticClass:"col-md-4"}),a("div",{staticClass:"col-md-8 h2"},[t._m(0,!0),a("div",{staticClass:"row h5"},[a("div",{staticClass:"col-6 py-3"},[t._v(" Modell: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.socTitle||"—"))])]),a("div",{staticClass:"col-6 py-3"},[t._v(" Kapazität: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.socCapacity)+"kWh")])])])])])])}))],2)},ce=[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"row py-3 h2 border-bottom"},[a("div",{staticClass:"col-12"},[t._v("Fahrzeug")])])}],de={name:"Config",data:function(){return this.$root.$data.store.state}},ue=de,me=Object(A["a"])(ue,le,ce,!1,null,null,null),ve=me.exports;s["a"].use(ct["a"]);const pe=[{path:"/",component:re},{path:"/config",component:ve}];var he=new ct["a"]({routes:pe,linkExactActiveClass:"active"});const fe=window.location;n.a.defaults.baseURL=fe.protocol+"//"+fe.hostname+(fe.port?":"+fe.port:"")+fe.pathname+"api",n.a.defaults.headers.post["Content-Type"]="application/json",window.toasts=new s["a"]({el:"#toasts",render:function(t){return t(lt,{props:{items:this.items,count:this.count}})},data:{items:{},count:0},name:"ToastsRoot",methods:{raise:function(t){let e=!1;Object.keys(this.items).forEach((function(a){let s=this.items[a];s.type==t.type&&s.message==t.message&&(e=!0)}),this),e||(t.id=this.count++,s["a"].set(this.items,t.id,t))},error:function(t){t.type="error",this.raise(t)},warn:function(t){t.type="warn",this.raise(t)},remove:function(t){s["a"].delete(this.items,t.id)}}}),new s["a"]({el:"#app",router:he,data:{store:K},render:t=>t(J)}),window.setInterval((function(){n.a.get("health").catch((function(t){t.message="Server unavailable",window.toasts.error(t)}))}),5e3)},b19f:function(t,e,a){}}); -//# sourceMappingURL=index.9f86ca25.js.map \ No newline at end of file +//# sourceMappingURL=index.dd84c2d8.js.map \ No newline at end of file diff --git a/dist/js/index.9f86ca25.js.map b/dist/js/index.dd84c2d8.js.map similarity index 99% rename from dist/js/index.9f86ca25.js.map rename to dist/js/index.dd84c2d8.js.map index 7902fa13c..916f72fdd 100644 --- a/dist/js/index.9f86ca25.js.map +++ b/dist/js/index.dd84c2d8.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/components/Footer.vue?832c","webpack:///./assets/js/views/App.vue?ed3a","webpack:///./assets/js/components/Version.vue?0cc7","webpack:///./assets/js/views/App.vue?09df","webpack:///./assets/js/icons.js","webpack:///./assets/js/components/Footer.vue?ca01","webpack:///./assets/js/components/Version.vue?cd5f","webpack:///assets/js/components/Version.vue","webpack:///./assets/js/components/Version.vue?1d82","webpack:///./assets/js/components/Version.vue","webpack:///assets/js/components/Footer.vue","webpack:///./assets/js/components/Footer.vue?9347","webpack:///./assets/js/components/Footer.vue","webpack:///./assets/js/store.js","webpack:///assets/js/views/App.vue","webpack:///./assets/js/views/App.vue?9ed2","webpack:///./assets/js/views/App.vue","webpack:///./assets/js/components/Toasts.vue?3b9f","webpack:///./assets/js/components/ToastMessage.vue?40a3","webpack:///assets/js/components/ToastMessage.vue","webpack:///./assets/js/components/ToastMessage.vue?19ff","webpack:///./assets/js/components/ToastMessage.vue","webpack:///assets/js/components/Toasts.vue","webpack:///./assets/js/components/Toasts.vue?c63e","webpack:///./assets/js/components/Toasts.vue","webpack:///./assets/js/views/Main.vue?0126","webpack:///./assets/js/components/Site.vue?c2af","webpack:///./assets/js/components/SiteDetails.vue?33ca","webpack:///./assets/js/mixins/formatter.js","webpack:///assets/js/components/SiteDetails.vue","webpack:///./assets/js/components/SiteDetails.vue?3811","webpack:///./assets/js/components/SiteDetails.vue","webpack:///./assets/js/components/Loadpoint.vue?16f5","webpack:///./assets/js/components/Soc.vue?f6a1","webpack:///assets/js/components/Soc.vue","webpack:///./assets/js/components/Soc.vue?8da7","webpack:///./assets/js/components/Soc.vue","webpack:///./assets/js/components/Mode.vue?8943","webpack:///assets/js/components/Mode.vue","webpack:///./assets/js/components/Mode.vue?fbb9","webpack:///./assets/js/components/Mode.vue","webpack:///./assets/js/components/Vehicle.vue?7f2b","webpack:///assets/js/components/Vehicle.vue","webpack:///./assets/js/components/Vehicle.vue?5364","webpack:///./assets/js/components/Vehicle.vue","webpack:///./assets/js/components/LoadpointDetails.vue?2157","webpack:///assets/js/components/LoadpointDetails.vue","webpack:///./assets/js/components/LoadpointDetails.vue?3057","webpack:///./assets/js/components/LoadpointDetails.vue","webpack:///./assets/js/mixins/collector.js","webpack:///assets/js/components/Loadpoint.vue","webpack:///./assets/js/components/Loadpoint.vue?8199","webpack:///./assets/js/components/Loadpoint.vue","webpack:///assets/js/components/Site.vue","webpack:///./assets/js/components/Site.vue?af05","webpack:///./assets/js/components/Site.vue","webpack:///assets/js/views/Main.vue","webpack:///./assets/js/views/Main.vue?0821","webpack:///./assets/js/views/Main.vue","webpack:///./assets/js/views/Config.vue?881f","webpack:///assets/js/views/Config.vue","webpack:///./assets/js/views/Config.vue?db1d","webpack:///./assets/js/views/Config.vue","webpack:///./assets/js/router.js","webpack:///./assets/js/app.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","_m","version","staticRenderFns","add","faArrowDown","faArrowUp","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faChevronDown","faChevronUp","faExclamationTriangle","faLeaf","faSun","faTemperatureHigh","faTemperatureLow","faThermometerHalf","faHeart","faGift","faBox","component","_b","on","$event","preventDefault","showModal","_s","available","releaseNotesUrl","installed","updateStarted","closeModal","style","width","uploadProgress","updateStatus","uploadMessage","domProps","releaseNotes","update","_e","props","String","hasUpdater","Boolean","Number","modalActive","methods","async","a","post","e","computed","newVersionAvailable","components","Version","setProperty","obj","prop","set","Array","isArray","store","state","loadpoints","msg","keys","forEach","k","toasts","message","split","Footer","compact","$root","$data","installedVersion","evcc","connect","loc","location","protocol","uri","hostname","port","pathname","ws","WebSocket","self","onerror","close","onclose","setTimeout","onmessage","evt","JSON","parse","error","availableVersion","created","urlParams","URLSearchParams","search","staticStyle","_l","item","id","type","status","mounted","toast","remove","ToastMessage","items","title","details","multi","loadpoint","pvConfigured","gridPower","fmt","fmtUnit","class","pvPower","batteryIcon","batteryPower","batterySoC","fmtLimit","fmtDigits","round","num","precision","base","Math","toFixed","val","undefined","abs","fmtDuration","seconds","minutes","floor","hours","substr","fmtShortDuration","tm","fmtShortDurationUnit","limit","icons","gridConfigured","batteryConfigured","iconIdx","mixins","formatter","setInterval","setTargetMode","targetSoC","socLevels","setTargetSoC","hasTargetSoC","remoteDisabled","remoteDisabledSource","vehicle","level","active","soc","first","caption","levels","levelsOrDefault","$emit","socTitle","charging","connected","minSoCActive","socChargeDisplayWidth","socChargeDisplayValue","minSoCRemainingDisplayWidth","hasVehicle","socCharge","minSoC","chargeStatus","climater","chargePower","chargedEnergy","range","chargeDuration","chargeEstimate","socTimerActive","socTimerSet","collectProps","LoadpointDetails","Soc","Mode","Vehicle","collector","tickerHandle","chargeDurationDisplayed","watch","clearInterval","api","func","then","response","catch","destroyed","SiteDetails","Loadpoint","Site","configured","isNaN","parseInt","phases","minCurrent","maxCurrent","socCapacity","use","routes","path","Main","Config","linkExactActiveClass","defaults","baseURL","headers","el","h","Toasts","count","raise","found","warn","delete","router","App","res"],"mappings":"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","file":"js/index.9f86ca25.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=b6dbe422&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=2052a870&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=style&index=0&id=a6ded36e&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app d-flex flex-column justify-content-between\"},[_c('div',[_c('nav',{staticClass:\"navbar navbar-expand-lg navbar-light bg-light\"},[_c('div',{staticClass:\"container\"},[_c('a',{staticClass:\"navbar-brand\",attrs:{\"href\":\"https://github.com/andig/evcc\"}},[_c('fa-icon',{staticClass:\"text-primary mr-2\",attrs:{\"icon\":\"leaf\"}}),_vm._v(\"evcc\")],1),_vm._m(0),_c('div',{staticClass:\"collapse navbar-collapse\",attrs:{\"id\":\"navbarNavAltMarkup\"}},[_c('div',{staticClass:\"navbar-nav\"},[_c('router-link',{staticClass:\"nav-item nav-link pb-1\",attrs:{\"to\":\"/\"}},[_vm._v(\"Laden\")]),_c('router-link',{staticClass:\"nav-item nav-link pb-1\",attrs:{\"to\":\"/config\"}},[_vm._v(\"Konfiguration\")]),_c('a',{staticClass:\"nav-item nav-link pb-1\",attrs:{\"href\":\"https://github.com/andig/evcc/discussions\",\"target\":\"_blank\"}},[_vm._v(\"Community Support\")])],1)])])]),_c('router-view')],1),_c('Footer',{attrs:{\"version\":_vm.version}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"navbar-toggler\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#navbarNavAltMarkup\",\"aria-controls\":\"navbarNavAltMarkup\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\nimport { faArrowDown } from \"@fortawesome/free-solid-svg-icons/faArrowDown\";\nimport { faArrowUp } from \"@fortawesome/free-solid-svg-icons/faArrowUp\";\nimport { faBatteryEmpty } from \"@fortawesome/free-solid-svg-icons/faBatteryEmpty\";\nimport { faBatteryFull } from \"@fortawesome/free-solid-svg-icons/faBatteryFull\";\nimport { faBatteryHalf } from \"@fortawesome/free-solid-svg-icons/faBatteryHalf\";\nimport { faBatteryQuarter } from \"@fortawesome/free-solid-svg-icons/faBatteryQuarter\";\nimport { faBatteryThreeQuarters } from \"@fortawesome/free-solid-svg-icons/faBatteryThreeQuarters\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons/faChevronDown\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { faClock } from \"@fortawesome/free-solid-svg-icons\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { faLeaf } from \"@fortawesome/free-solid-svg-icons/faLeaf\";\nimport { faSun } from \"@fortawesome/free-solid-svg-icons/faSun\";\nimport { faTemperatureHigh } from \"@fortawesome/free-solid-svg-icons/faTemperatureHigh\";\nimport { faTemperatureLow } from \"@fortawesome/free-solid-svg-icons/faTemperatureLow\";\nimport { faThermometerHalf } from \"@fortawesome/free-solid-svg-icons/faThermometerHalf\";\nimport { faHeart } from \"@fortawesome/free-solid-svg-icons/faHeart\";\nimport { faGift } from \"@fortawesome/free-solid-svg-icons/faGift\";\nimport { faBox } from \"@fortawesome/free-solid-svg-icons/faBox\";\n\nlibrary.add(\n faArrowDown,\n faArrowUp,\n faBatteryEmpty,\n faBatteryFull,\n faBatteryHalf,\n faBatteryQuarter,\n faBatteryThreeQuarters,\n faChevronDown,\n faChevronUp,\n faClock,\n faExclamationTriangle,\n faLeaf,\n faSun,\n faTemperatureHigh,\n faTemperatureLow,\n faThermometerHalf,\n faHeart,\n faGift,\n faBox\n);\n\nVue.component(\"fa-icon\", FontAwesomeIcon);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"py-3 py-md-5 mt-3 mt-md-5 border-top\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('Version',_vm._b({},'Version',_vm.version,false))],1),_c('div',{staticClass:\"col-6 text-right\"},[_c('small',{staticClass:\"text-black\"},[_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://github.com/sponsors/andig\",\"target\":\"_blank\"}},[_c('fa-icon',{staticClass:\"icon mr-1\",attrs:{\"icon\":\"heart\"}}),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\"Projekt\")]),_vm._v(\" unterstützen \")],1)])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('small',{staticClass:\"text-black\"},[(_vm.newVersionAvailable)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.showModal($event)}}},[_c('fa-icon',{staticClass:\"icon mr-1\",attrs:{\"icon\":\"gift\"}}),_vm._v(\"Update\"),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" verfügbar\")]),_vm._v(\": \"+_vm._s(_vm.available)+\" \")],1):_c('a',{attrs:{\"href\":_vm.releaseNotesUrl(_vm.installed),\"target\":\"_blank\"}},[_vm._v(\" Version \"+_vm._s(_vm.installed)+\" \")])]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.modalActive)?_c('div',{staticClass:\"dialog\",attrs:{\"id\":\"updateModal\",\"tabindex\":\"-1\",\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered modal-dialog-scrollable\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h4',{staticClass:\"modal-title font-weight-bold\"},[_vm._v(\"Update verfügbar\")]),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"disabled\":_vm.updateStarted},on:{\"click\":_vm.closeModal}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])]),_c('div',{staticClass:\"modal-body\"},[(_vm.updateStarted)?_c('div',[_c('p',[_vm._v(\"Nach der Aktualisierung wird evcc neu gestartet.\")]),_c('div',{staticClass:\"progress my-3\"},[_c('div',{staticClass:\"progress-bar progress-bar-striped progress-bar-animated\",style:({ width: _vm.uploadProgress + '%' }),attrs:{\"role\":\"progressbar\"}})]),_c('p',[_vm._v(_vm._s(_vm.updateStatus)+_vm._s(_vm.uploadMessage))])]):_c('div',[_c('p',[_c('small',[_vm._v(\"Aktuell installierte Version: \"+_vm._s(_vm.installed))])]),(_vm.releaseNotes)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.releaseNotes)}}):_c('p',[_vm._v(\" Keine Releasenotes verfügbar. Mehr Informationen zur neuen Version findest du \"),_c('a',{attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\"hier\")]),_vm._v(\". \")])])]),_c('div',{staticClass:\"modal-footer d-flex justify-content-between\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"disabled\":_vm.updateStarted},on:{\"click\":_vm.closeModal}},[_vm._v(\" Abbrechen \")]),_c('div',[(_vm.hasUpdater)?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":_vm.updateStarted},on:{\"click\":_vm.update}},[(_vm.updateStarted)?_c('span',[_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"role\":\"status\",\"aria-hidden\":\"true\"}}),_vm._v(\" Akualisieren \")]):_c('span',[_vm._v(\"Jetzt aktualisieren\")])]):_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\" Download \")])])])])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Version.vue?vue&type=template&id=a6ded36e&scoped=true&\"\nimport script from \"./Version.vue?vue&type=script&lang=js&\"\nexport * from \"./Version.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Version.vue?vue&type=style&index=0&id=a6ded36e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6ded36e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=b6dbe422&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=b6dbe422&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b6dbe422\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\n\nfunction setProperty(obj, props, value) {\n const prop = props.shift();\n if (!obj[prop]) {\n Vue.set(obj, prop, {});\n }\n\n if (!props.length) {\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n obj[prop] = { ...obj[prop], ...value };\n } else {\n obj[prop] = value;\n }\n return;\n }\n\n setProperty(obj[prop], props, value);\n}\n\nconst store = {\n state: {\n loadpoints: [], // ensure array type\n },\n update: function (msg) {\n Object.keys(msg).forEach(function (k) {\n if (typeof window.toasts[k] === \"function\") {\n window.toasts[k]({ message: msg[k] });\n } else {\n setProperty(store.state, k.split(\".\"), msg[k]);\n }\n });\n },\n};\n\nexport default store;\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2052a870&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=2052a870&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2052a870\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"absolute\",\"top\":\"4rem\",\"right\":\"0.5rem\"},attrs:{\"aria-atomic\":\"true\"}},_vm._l((_vm.items),function(item){return _c('ToastMessage',{key:item.id,attrs:{\"item\":item,\"id\":'message-id-' + item.id}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toast\",attrs:{\"data-delay\":\"10000\",\"data-autohide\":true}},[_c('div',{staticClass:\"toast-header\"},[(_vm.item.type != 'warn')?_c('strong',{staticClass:\"mr-auto\"},[_c('fa-icon',{staticClass:\"text-danger\",attrs:{\"icon\":\"exclamation-triangle\"}}),_vm._v(\" Error\")],1):_vm._e(),(_vm.item.type == 'warn')?_c('strong',{staticClass:\"mr-auto\"},[_c('fa-icon',{staticClass:\"text-warning\",attrs:{\"icon\":\"exclamation-triangle\"}}),_vm._v(\" Warning\")],1):_vm._e(),(_vm.item.status)?_c('small',[_vm._v(\"HTTP \"+_vm._s(_vm.item.status))]):_vm._e(),_vm._m(0)]),_c('div',{staticClass:\"toast-body\"},[_vm._v(_vm._s(_vm.item.message))])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"ml-2 mb-1 close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"toast\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToastMessage.vue?vue&type=template&id=556fd3a5&\"\nimport script from \"./ToastMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./ToastMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toasts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toasts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Toasts.vue?vue&type=template&id=57d56c56&\"\nimport script from \"./Toasts.vue?vue&type=script&lang=js&\"\nexport * from \"./Toasts.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[(_vm.configured)?_c('Site',_vm._b({},'Site',_vm.state,false)):_c('div',[_c('div',{staticClass:\"row py-5\"},[_c('div',{staticClass:\"col12\"},[_c('p',{staticClass:\"h1 pt-5 pb-2 border-bottom\"},[_vm._v(\"Willkommen bei evcc\")]),_c('p',{staticClass:\"lead pt-2\"},[_c('b',[_vm._v(\"evcc\")]),_vm._v(\" ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen. \")]),_c('p',{staticClass:\"pt-2\"},[_vm._v(\" Es sieht aus, als wäre Dein \"),_c('b',[_vm._v(\"evcc\")]),_vm._v(\" noch nicht konfiguriert. Um \"),_c('b',[_vm._v(\"evcc\")]),_vm._v(\" zu konfigurieren sind die folgenden Schritte notwendig: \")]),_c('ol',{staticClass:\"pt-2\"},[_c('li',[_vm._v(\" Erzeugen einer Konfigurationsdatei mit Namen \"),_c('code',[_vm._v(\"evcc.yaml\")]),_vm._v(\". Die Standardkonfiguration \"),_c('code',[_vm._v(\"evcc.dist.yaml\")]),_vm._v(\" kann dafür als Vorlage dienen (\"),_c('a',{attrs:{\"href\":\"https://github.com/andig/evcc/blob/master/evcc.dist.yaml\"}},[_vm._v(\"Download\")]),_vm._v(\"). \")]),_c('li',[_vm._v(\"Konfiguration der Wallbox als \"),_c('code',[_vm._v(\"chargers\")]),_vm._v(\".\")]),_c('li',[_vm._v(\" Konfiguration des EVU Zählers und evtl. weiterer Zähler unter \"),_c('code',[_vm._v(\"meters\")]),_vm._v(\". \")]),_c('li',[_vm._v(\" Konfiguration des Netzanschlusses unter \"),_c('code',[_vm._v(\"site\")]),_vm._v(\". In einer Site wird der Netzanschluss mit dem konfigurierten EVU Zähler (\"),_c('code',[_vm._v(\"meter\")]),_vm._v(\") verbunden. \")]),_c('li',[_vm._v(\" Konfiguration eines Ladepunktes unter \"),_c('code',[_vm._v(\"loadpoints\")]),_vm._v(\". In einem Ladepunkt wird die konfigurierte Wallbox (\"),_c('code',[_vm._v(\"charger\")]),_vm._v(\") mit dem Ladepunkt verbunden. \")]),_c('li',[_vm._v(\" Start von \"),_c('b',[_vm._v(\"evcc\")]),_vm._v(\" mit der neu erstellten Konfiguration: \"),_c('code',[_vm._v(\"evcc -c evcc.yaml\")])])]),_c('p',[_vm._v(\"Minimale Beispielkonfiguration für \"),_c('b',[_vm._v(\"evcc\")]),_vm._v(\":\")]),_c('p',[_c('code',[_c('pre',{staticClass:\"mx-3\"},[_vm._v(\" uri: localhost:7070 # Adresse für UI\\n interval: 10s # Regelintervall\\n meters:\\n - name: evu-zähler\\n type: ... # Detailkonfiguration des EVU Zählers\\n - name: ladezähler\\n type: ... # Detailkonfiguration des Ladezählers (optional)\\n chargers:\\n - name: wallbox\\n type: ... # Detailkonfiguration der Wallbox\\n site:\\n title: Home\\n meters:\\n grid: evu-zähler # EVU Zähler\\n loadpoints:\\n - title: Ladepunkt # ui display name\\n charger: wallbox # charger\\n meters:\\n charge: ladezähler # Ladezählers (optional)\\n \")])])]),_c('p',[_vm._v(\" Viel Spass mit \"),_c('b',[_vm._v(\"evcc\")]),_vm._v(\"! Bei Problemen kannst Du uns auf \"),_c('a',{attrs:{\"href\":\"https://github.com/andig/evcc/issues\"}},[_vm._v(\"GitHub\")]),_vm._v(\" erreichen. \")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"d-none d-md-flex col-12 col-md-4 mt-md-4 align-items-end\"},[_c('p',{staticClass:\"h1\"},[_vm._v(_vm._s(_vm.title || \"Home\"))])]),(_vm.multi)?_c('div',{staticClass:\"col-12 col-md-8 mt-md-4\"},[_c('SiteDetails',_vm._b({},'SiteDetails',_vm.details,false))],1):_vm._e()]),_c('div',{staticClass:\"row d-none d-md-flex border-bottom\"}),(!_vm.multi)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"d-none d-md-block col-md-4\"}),_c('div',{staticClass:\"col-12 col-md-8\"},[_c('SiteDetails',_vm._b({},'SiteDetails',_vm.details,false))],1)]):_vm._e(),_vm._l((_vm.loadpoints),function(loadpoint,id){return _c('Loadpoint',_vm._b({key:id,attrs:{\"id\":id,\"multi\":_vm.multi,\"pvConfigured\":_vm.pvConfigured}},'Loadpoint',loadpoint,false))})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[(_vm.gridConfigured)?_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[(_vm.gridPower > 0)?_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" Bezug \"),_c('fa-icon',{staticClass:\"text-primary\",attrs:{\"icon\":\"arrow-down\"}})],1):_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" Einspeisung \"),_c('fa-icon',{staticClass:\"text-primary\",attrs:{\"icon\":\"arrow-up\"}})],1),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.gridPower))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.gridPower))+\"W\")])])]):_vm._e(),(_vm.pvConfigured)?_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" Erzeugung \"),_c('fa-icon',{class:{\n\t\t\t\t\t'text-primary': _vm.pvPower > 0,\n\t\t\t\t\t'text-muted': _vm.pvPower <= 0,\n\t\t\t\t},attrs:{\"icon\":\"sun\"}})],1),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.pvPower))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.pvPower))+\"W\")])])]):_vm._e(),(_vm.batteryConfigured)?_c('div',{staticClass:\"d-md-block col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" Batterie \"),_c('fa-icon',{staticClass:\"text-primary\",attrs:{\"icon\":_vm.batteryIcon}})],1),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.batteryPower))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.batteryPower))+\"W\")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"/\")]),_vm._v(\" \"+_vm._s(_vm.batterySoC)+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"%\")])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n data: function () {\n return {\n fmtLimit: 100,\n fmtDigits: 1,\n };\n },\n methods: {\n round: function (num, precision) {\n var base = 10 ** precision;\n return (Math.round(num * base) / base).toFixed(precision);\n },\n fmt: function (val) {\n if (val === undefined || val === null) {\n return 0;\n }\n val = Math.abs(val);\n return val >= this.fmtLimit ? this.round(val / 1e3, this.fmtDigits) : this.round(val, 0);\n },\n fmtUnit: function (val) {\n return Math.abs(val) >= this.fmtLimit ? \"k\" : \"\";\n },\n fmtDuration: function (d) {\n if (d <= 0 || d == null) {\n return \"—\";\n }\n var seconds = \"0\" + (d % 60);\n var minutes = \"0\" + (Math.floor(d / 60) % 60);\n var hours = \"\" + Math.floor(d / 3600);\n if (hours.length < 2) {\n hours = \"0\" + hours;\n }\n return hours + \":\" + minutes.substr(-2) + \":\" + seconds.substr(-2);\n },\n fmtShortDuration: function (d) {\n if (d <= 0 || d == null) {\n return \"—\";\n }\n var minutes = Math.floor(d / 60) % 60;\n var hours = Math.floor(d / 3600);\n var tm;\n if (hours >= 1) {\n minutes = \"0\" + minutes;\n tm = hours + \":\" + minutes.substr(-2);\n } else {\n var seconds = \"0\" + (d % 60);\n tm = minutes + \":\" + seconds.substr(-2);\n }\n return tm;\n },\n fmtShortDurationUnit: function (d) {\n if (d <= 0 || d == null) {\n return \"\";\n }\n var hours = Math.floor(d / 3600);\n if (hours >= 1) {\n return \"h\";\n }\n return \"m\";\n },\n },\n};\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SiteDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SiteDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteDetails.vue?vue&type=template&id=d4dfcbb4&\"\nimport script from \"./SiteDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.multi)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 d-md-flex mt-3 mt-md-5 align-items-end\"},[_c('span',{staticClass:\"h1 align-bottom\"},[_vm._v(_vm._s(_vm.title || \"Ladepunkt\"))])]),_c('div',{staticClass:\"col-12 col-md-8 d-none d-md-block mt-3 mt-md-5\"},[_c('LoadpointDetails',_vm._b({},'LoadpointDetails',_vm.details,false))],1),_c('div',{staticClass:\"col-12 d-md-none\"},[_c('div',{staticClass:\"row mt-3 pb-3 bg-light\"},[_c('div',{staticClass:\"col-12 mt-3\"},[_c('Mode',{staticClass:\"w-100\",attrs:{\"mode\":_vm.mode,\"pvConfigured\":_vm.pvConfigured},on:{\"updated\":_vm.setTargetMode}})],1),(_vm.hasTargetSoC)?_c('div',{staticClass:\"col-12 mt-3\"},[_c('Soc',{staticClass:\"w-100\",attrs:{\"soc\":_vm.targetSoC,\"levels\":_vm.socLevels},on:{\"updated\":_vm.setTargetSoC}})],1):_vm._e()])])]):_vm._e(),(!_vm.multi)?_c('div',{staticClass:\"row d-none d-md-flex mt-5 py-3 pb-4 text-center bg-light\"},[_c('div',{staticClass:\"mt-3\",class:{ 'col-md-6': _vm.hasTargetSoC, 'col-md-12': !_vm.hasTargetSoC }},[_c('Mode',{attrs:{\"mode\":_vm.mode,\"pvConfigured\":_vm.pvConfigured,\"caption\":true},on:{\"updated\":_vm.setTargetMode}})],1),(_vm.hasTargetSoC)?_c('div',{staticClass:\"col-md-6 mt-3\"},[_c('Soc',{attrs:{\"soc\":_vm.targetSoC,\"levels\":_vm.socLevels,\"caption\":true},on:{\"updated\":_vm.setTargetSoC}})],1):_vm._e()]):_vm._e(),(!_vm.multi)?_c('div',{staticClass:\"row d-md-none mt-2 pb-3 bg-light\"},[_c('div',{staticClass:\"col-12 mt-3\"},[_c('Mode',{staticClass:\"w-100\",attrs:{\"mode\":_vm.mode,\"pvConfigured\":_vm.pvConfigured},on:{\"updated\":_vm.setTargetMode}})],1),(_vm.hasTargetSoC)?_c('div',{staticClass:\"col-12 mt-3\"},[_c('Soc',{staticClass:\"w-100\",attrs:{\"soc\":_vm.targetSoC,\"levels\":_vm.socLevels},on:{\"updated\":_vm.setTargetSoC}})],1):_vm._e()]):_vm._e(),(!_vm.multi)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 d-none d-md-flex mt-3 mt-md-5\"},[_c('span',{staticClass:\"h1\"},[_vm._v(_vm._s(_vm.title || \"Ladepunkt\"))])]),(_vm.remoteDisabled)?_c('div',{staticClass:\"col-12 col-md-8 d-flex d-md-flex mt-3 mt-md-5 pt-3\"},[_c('h5',{staticClass:\"w-100\"},[(_vm.remoteDisabled == 'soft')?_c('span',{staticClass:\"badge badge-warning w-100\"},[_vm._v(\" \"+_vm._s(_vm.remoteDisabledSource)+\": Adaptives PV-Laden deaktiviert \")]):_vm._e(),(_vm.remoteDisabled == 'hard')?_c('span',{staticClass:\"badge badge-danger w-100\"},[_vm._v(\" \"+_vm._s(_vm.remoteDisabledSource)+\": Deaktiviert \")]):_vm._e()])]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"row border-bottom d-none d-md-block\"}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 mt-3 mb-3 mb-md-0\"},[_c('Vehicle',_vm._b({},'Vehicle',_vm.vehicle,false))],1),(_vm.multi)?_c('div',{staticClass:\"col-12 col-md-4 d-none d-md-block mt-3\"},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Modus\")]),_c('Mode',{staticClass:\"btn-group-sm\",attrs:{\"mode\":_vm.mode,\"pvConfigured\":_vm.pvConfigured},on:{\"updated\":_vm.setTargetMode}})],1):_vm._e(),(_vm.multi && _vm.hasTargetSoC)?_c('div',{staticClass:\"col-12 col-md-4 d-none d-md-block mt-3\"},[_c('div',{staticClass:\"mb-2\"},[_vm._v(\"Ladeziel\")]),_c('Soc',{staticClass:\"btn-group-sm\",attrs:{\"soc\":_vm.targetSoC,\"levels\":_vm.socLevels},on:{\"updated\":_vm.setTargetSoC}})],1):_vm._e(),(!_vm.multi)?_c('div',{staticClass:\"col-md-8 d-none d-md-block\"},[_c('LoadpointDetails',_vm._b({},'LoadpointDetails',_vm.details,false))],1):_vm._e(),_c('div',{staticClass:\"col-12 d-md-none\"},[_c('LoadpointDetails',_vm._b({},'LoadpointDetails',_vm.details,false))],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-group btn-group-toggle bg-white shadow-none\"},[(_vm.caption)?_c('label',{staticClass:\"btn btn-outline-primary disabled caption font-weight-bold\"},[_vm._v(\" Ladeziel \")]):_vm._e(),_vm._l((_vm.levelsOrDefault),function(level,id){return _c('label',{key:id,staticClass:\"btn btn-outline-primary\",class:{ active: _vm.soc == level, first: !_vm.caption && id == 0 },attrs:{\"level\":level,\"id\":id}},[_c('input',{attrs:{\"type\":\"radio\"},domProps:{\"value\":level},on:{\"click\":function($event){return _vm.setTargetSoC(level)}}}),_vm._v(_vm._s(level)+\"% \")])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Soc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Soc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Soc.vue?vue&type=template&id=5c59baa0&\"\nimport script from \"./Soc.vue?vue&type=script&lang=js&\"\nexport * from \"./Soc.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-group btn-group-toggle bg-white shadow-none\"},[(_vm.caption)?_c('label',{staticClass:\"btn btn-outline-primary value disabled caption font-weight-bold\"},[_vm._v(\" Modus \")]):_vm._e(),_c('label',{staticClass:\"btn btn-outline-primary\",class:{ active: _vm.mode == 'off', first: !_vm.caption }},[_c('input',{attrs:{\"type\":\"radio\",\"value\":\"off\"},on:{\"click\":function($event){return _vm.setTargetMode('off')}}}),_vm._v(\"Stop \")]),_c('label',{staticClass:\"btn btn-outline-primary\",class:{ active: _vm.mode == 'now' }},[_c('input',{attrs:{\"type\":\"radio\",\"value\":\"now\"},on:{\"click\":function($event){return _vm.setTargetMode('now')}}}),_vm._v(\"Sofort \")]),(_vm.pvConfigured)?_c('label',{staticClass:\"btn btn-outline-primary\",class:{ active: _vm.mode == 'minpv' }},[_c('input',{attrs:{\"type\":\"radio\",\"value\":\"minpv\"},on:{\"click\":function($event){return _vm.setTargetMode('minpv')}}}),_c('span',{staticClass:\"d-inline d-lg-none\"},[_vm._v(\"Min\")]),_c('span',{staticClass:\"d-none d-lg-inline\"},[_vm._v(\"Min + PV\")])]):_vm._e(),(_vm.pvConfigured)?_c('label',{staticClass:\"btn btn-outline-primary\",class:{ active: _vm.mode == 'pv' }},[_c('input',{attrs:{\"type\":\"radio\",\"value\":\"pv\"},on:{\"click\":function($event){return _vm.setTargetMode('pv')}}}),_c('span',{staticClass:\"d-inline d-md-none\"},[_vm._v(\"PV\")]),_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(\"Nur PV\")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Mode.vue?vue&type=template&id=63314fe2&\"\nimport script from \"./Mode.vue?vue&type=script&lang=js&\"\nexport * from \"./Mode.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"mb-2\"},[_vm._v(_vm._s(_vm.socTitle || \"Fahrzeug\"))]),_c('div',{staticClass:\"progress\",staticStyle:{\"height\":\"24px\",\"font-size\":\"100%\",\"margin-top\":\"16px\"}},[_c('div',{staticClass:\"progress-bar\",class:{\n\t\t\t\t'progress-bar-striped': _vm.charging,\n\t\t\t\t'progress-bar-animated': _vm.charging,\n\t\t\t\t'bg-light': !_vm.connected,\n\t\t\t\t'text-secondary': !_vm.connected,\n\t\t\t\t'bg-warning': _vm.connected && _vm.minSoCActive,\n\t\t\t},style:({ width: _vm.socChargeDisplayWidth + '%' }),attrs:{\"role\":\"progressbar\"}},[_vm._v(\" \"+_vm._s(_vm.socChargeDisplayValue)+\" \")]),(_vm.minSoCActive && _vm.socChargeDisplayWidth < 100)?_c('div',{staticClass:\"progress-bar\",class:{\n\t\t\t\t'progress-bar-striped': _vm.charging,\n\t\t\t\t'progress-bar-animated': _vm.charging,\n\t\t\t\t'bg-warning': true,\n\t\t\t\t'bg-muted': true,\n\t\t\t},style:({ width: _vm.minSoCRemainingDisplayWidth + '%' }),attrs:{\"role\":\"progressbar\"}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vehicle.vue?vue&type=template&id=6c361988&\"\nimport script from \"./Vehicle.vue?vue&type=script&lang=js&\"\nexport * from \"./Vehicle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" Leistung \"),(_vm.socTimerActive)?_c('fa-icon',{staticClass:\"text-primary ml-1\",attrs:{\"icon\":\"clock\"}}):(_vm.socTimerSet)?_c('fa-icon',{staticClass:\"text-secondary ml-1\",attrs:{\"icon\":\"clock\"}}):_vm._e(),(_vm.climater == 'heating')?_c('fa-icon',{staticClass:\"text-primary ml-1\",attrs:{\"icon\":\"temperature-low\"}}):_vm._e(),(_vm.climater == 'cooling')?_c('fa-icon',{staticClass:\"text-primary ml-1\",attrs:{\"icon\":\"temperature-high\"}}):_vm._e(),(_vm.climater == 'on')?_c('fa-icon',{staticClass:\"text-primary ml-1\",attrs:{\"icon\":\"thermometer-half\"}}):_vm._e()],1),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.chargePower))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.chargePower))+\"W\")])])]),_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\"Geladen\")]),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.chargedEnergy))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.chargedEnergy))+\"Wh\")])])]),(_vm.range >= 0)?_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\"Reichweite\")]),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(Math.round(_vm.range))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"km\")])])]):_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\"Dauer\")]),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmtShortDuration(_vm.chargeDuration))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeDuration)))])])]),(_vm.hasVehicle)?_c('div',{staticClass:\"col-6 col-md-3 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\"Restzeit\")]),_c('h2',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmtShortDuration(_vm.chargeEstimate))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeEstimate)))])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadpointDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadpointDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadpointDetails.vue?vue&type=template&id=024b8b62&\"\nimport script from \"./LoadpointDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadpointDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n methods: {\n // collect all target component properties from current instance\n collectProps: function (component) {\n let data = {};\n for (var p in component.props) {\n data[p] = this[p];\n }\n return data;\n },\n },\n};\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loadpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loadpoint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loadpoint.vue?vue&type=template&id=e9ab9ede&\"\nimport script from \"./Loadpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Loadpoint.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Site.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Site.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Site.vue?vue&type=template&id=013c24df&\"\nimport script from \"./Site.vue?vue&type=script&lang=js&\"\nexport * from \"./Site.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Main.vue?vue&type=template&id=5e3635d0&\"\nimport script from \"./Main.vue?vue&type=script&lang=js&\"\nexport * from \"./Main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row mt-4 border-bottom\"},[_c('div',{staticClass:\"col-12\"},[_c('p',{staticClass:\"h1\"},[_vm._v(_vm._s(_vm.title || \"Home\"))])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Netzzähler: \"),(_vm.gridConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" PV Zähler: \"),(_vm.pvConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Batteriezähler: \"),(_vm.batteryConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])])]),_vm._l((_vm.loadpoints),function(loadpoint,id){return _c('div',{key:id,attrs:{\"loadpoint\":loadpoint,\"id\":'loadpoint-' + id}},[_c('div',{staticClass:\"row mt-4 border-bottom\"},[_c('div',{staticClass:\"col-12\"},[_c('p',{staticClass:\"h1\"},[_vm._v(_vm._s(loadpoint.title || \"Ladepunkt\"))])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Ladezähler: \"),(loadpoint.chargeConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Phasen: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.phases)+\"p\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Min. Strom: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.minCurrent)+\"A\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Max. Strom: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.maxCurrent)+\"A\")])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-md-8 h2\"},[_vm._m(0,true),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-6 py-3\"},[_vm._v(\" Modell: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.socTitle || \"—\"))])]),_c('div',{staticClass:\"col-6 py-3\"},[_vm._v(\" Kapazität: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.socCapacity)+\"kWh\")])])])])])])})],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row py-3 h2 border-bottom\"},[_c('div',{staticClass:\"col-12\"},[_vm._v(\"Fahrzeug\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Config.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Config.vue?vue&type=template&id=63d7c897&\"\nimport script from \"./Config.vue?vue&type=script&lang=js&\"\nexport * from \"./Config.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueRouter from \"vue-router\";\nimport Vue from \"vue\";\nimport Main from \"./views/Main\";\nimport Config from \"./views/Config\";\n\nVue.use(VueRouter);\n\nconst routes = [\n { path: \"/\", component: Main },\n { path: \"/config\", component: Config },\n];\n\nexport default new VueRouter({\n routes,\n linkExactActiveClass: \"active\", // Bootstrap