From 1fc0aa814307e50d0e1a491ec0b8a4afc25bb24c Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Fri, 20 Aug 2021 17:41:39 +0200 Subject: [PATCH] Fix round brackets for safari (#1396) --- assets/js/components/Energyflow/Visualization.vue | 12 ++++++------ dist/css/index.61734b83.css | 1 + dist/css/index.67ba1941.css | 1 - dist/index.html | 4 ++-- dist/js/index.9033e567.js | 2 ++ dist/js/index.9033e567.js.map | 1 + dist/js/index.f31d1962.js | 2 -- dist/js/index.f31d1962.js.map | 1 - 8 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 dist/css/index.61734b83.css delete mode 100644 dist/css/index.67ba1941.css create mode 100644 dist/js/index.9033e567.js create mode 100644 dist/js/index.9033e567.js.map delete mode 100644 dist/js/index.f31d1962.js delete mode 100644 dist/js/index.f31d1962.js.map diff --git a/assets/js/components/Energyflow/Visualization.vue b/assets/js/components/Energyflow/Visualization.vue index 33cecfaab..5dc6c6ed3 100644 --- a/assets/js/components/Energyflow/Visualization.vue +++ b/assets/js/components/Energyflow/Visualization.vue @@ -16,7 +16,7 @@
@@ -70,7 +70,7 @@
@@ -270,16 +270,16 @@ export default { border-top: none; } .label-bar--down:first-child .label-bar-scale { - border-start-start-radius: 4px; + border-top-left-radius: 4px; } .label-bar--down:last-child .label-bar-scale { - border-start-end-radius: 4px; + border-top-right-radius: 4px; } .label-bar--up:first-child .label-bar-scale { - border-end-start-radius: 4px; + border-bottom-left-radius: 4px; } .label-bar--up:last-child .label-bar-scale { - border-end-end-radius: 4px; + border-bottom-right-radius: 4px; } .label-bar-icon { background-color: white; diff --git a/dist/css/index.61734b83.css b/dist/css/index.61734b83.css new file mode 100644 index 000000000..c588488b6 --- /dev/null +++ b/dist/css/index.61734b83.css @@ -0,0 +1 @@ +:root{--evcc-green:#66d85a;--evcc-dark-green:#3aba2c;--evcc-yellow:#ffe000;--evcc-grid:var(--bs-gray-dark);--evcc-self:var(--evcc-dark-green);--evcc-export:var(--evcc-yellow);--bs-primary:var(--evcc-dark-green)}.bg-primary{background-color:var(--evcc-dark-green)!important}.progress-bar-animated{animation-direction:reverse}.bg-muted{opacity:.25}.icon[data-v-99c2e68a]{color:#0fdd42}.icon[data-v-1eecc7b7]{color:#0fdd42;display:inline-block}.sponsor-button[data-v-1eecc7b7]{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.support-button .solid[data-v-1eecc7b7]{display:none}.support-button:hover .solid[data-v-1eecc7b7]{display:inline-block}.support-button:hover .outline[data-v-1eecc7b7]{display:none}.logo[data-v-39045b4c]{width:85px}.app[data-v-39045b4c]{min-height:100vh}.title[data-v-39045b4c]{position:relative;top:.1rem}.battery[data-v-2dcca16c]{transform:translateX(.35rem) rotate(-90deg);transition-property:transform;transition-duration:.25s;transition-timing-function:ease}.power--in .battery[data-v-2dcca16c]{transform:translateX(.7rem) rotate(-90deg)}.power--out .battery[data-v-2dcca16c]{transform:translateX(0) rotate(-90deg)}.arrow[data-v-2dcca16c]{margin-left:-.2rem;opacity:0;transform:translateX(-.5rem);transition-property:opacity,transform;transition-duration:.25s;transition-timing-function:ease}.power--in .arrow[data-v-2dcca16c]{opacity:1;transform:translateX(-1rem) scaleX(1)}.power--out .arrow[data-v-2dcca16c]{opacity:1;transform:translateX(0) scaleX(1)}.site-progress[data-v-034e0a25]{--height:38px;height:var(--height);margin:.25rem 0;border-radius:5px;display:flex;overflow:hidden}.site-progress-bar[data-v-034e0a25]{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;width:0}.visualization--ready .site-progress-bar[data-v-034e0a25]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.grid-import[data-v-034e0a25]{background-color:var(--evcc-grid);color:var(--bs-white)}.self-consumption[data-v-034e0a25]{background-color:var(--evcc-self);color:var(--bs-white)}.pv-export[data-v-034e0a25]{background-color:var(--evcc-export);color:var(--bs-dark)}.power[data-v-034e0a25]{display:block;margin:0 .2rem;white-space:nowrap;overflow:hidden}.label-bar[data-v-034e0a25]{width:0;margin:0;height:1.7rem;padding:.6rem 0;opacity:1;overflow:hidden}.visualization--ready .label-bar[data-v-034e0a25]{transition-property:width,opacity;transition-duration:.5s,.25s;transition-timing-function:linear,ease}.label-bar--down[data-v-034e0a25]:first-child{margin-right:-1px}.label-bar--up[data-v-034e0a25]:last-child{margin-left:-1px}.label-bar-scale[data-v-034e0a25]{border:1px solid var(--bs-gray);height:.5rem;background:none;display:flex;justify-content:center;align-items:center;white-space:nowrap}.label-bar--down .label-bar-scale[data-v-034e0a25]{border-bottom:none}.label-bar--up .label-bar-scale[data-v-034e0a25]{border-top:none}.label-bar--down:first-child .label-bar-scale[data-v-034e0a25]{border-top-left-radius:4px}.label-bar--down:last-child .label-bar-scale[data-v-034e0a25]{border-top-right-radius:4px}.label-bar--up:first-child .label-bar-scale[data-v-034e0a25]{border-bottom-left-radius:4px}.label-bar--up:last-child .label-bar-scale[data-v-034e0a25]{border-bottom-right-radius:4px}.label-bar-icon[data-v-034e0a25]{background-color:#fff;color:var(--bs-gray);padding:0 .3rem;opacity:1}.visualization--ready .label-bar-icon[data-v-034e0a25]{transition:opacity .25s ease-in}.label-bar--down .label-bar-icon[data-v-034e0a25]{margin-top:-6px}.label-bar--up .label-bar-icon[data-v-034e0a25]{margin-top:6px}.label-bar--hidden[data-v-034e0a25],.label-bar--hide-icon .label-bar-icon[data-v-034e0a25]{opacity:0}.energyflow[data-v-2d1d1a46]{cursor:pointer}.color-grid[data-v-2d1d1a46]{color:var(--evcc-grid)}.color-self[data-v-2d1d1a46]{color:var(--evcc-self)}.color-export[data-v-2d1d1a46]{color:var(--evcc-export)}.details-icon[data-v-2d1d1a46]{text-align:center;width:30px;margin-right:.25rem;white-space:nowrap;flex-shrink:0}.btn[data-v-1ff39d22]{flex-basis:0;white-space:nowrap}.vehicle-soc[data-v-3c09ac1a]{--height:38px;--thumb-overlap:3px;--thumb-width:3px;--thumb-horizontal-padding:15px;--label-height:26px;position:relative;height:var(--height)}.progress[data-v-3c09ac1a]{height:100%;font-size:1rem}.progress-bar.bg-muted[data-v-3c09ac1a]{color:var(--white)}.bg-light[data-v-3c09ac1a]{color:var(--bs-gray-dark)}.target-label[data-v-3c09ac1a]{width:3em;margin-left:-1.5em;height:var(--label-height);position:absolute;top:calc(var(--label-height)*-1 + var(--thumb-overlap)*-1);text-align:center;color:var(--bs-gray-dark);font-size:1rem;opacity:1;transition:opacity .2s ease 1s}.target-slider[data-v-3c09ac1a]{-webkit-appearance:none;position:absolute;top:calc(var(--thumb-overlap)*-1);left:calc(var(--thumb-horizontal-padding)*-1);height:calc(100% + var(--thumb-overlap)*2);width:calc(100% + var(--thumb-horizontal-padding)*2);background:transparent}.target-slider[data-v-3c09ac1a]:focus{outline:none}.target-slider[data-v-3c09ac1a]::-webkit-slider-runnable-track{position:relative;background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-3c09ac1a]::-moz-range-track{background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{-webkit-appearance:none;position:relative;top:calc(var(--label-height)*-1);height:100%;width:var(--thumb-width);padding:var(--label-height) var(--thumb-horizontal-padding) 0;box-sizing:content-box;background-clip:content-box;background-color:var(--bs-gray-dark);cursor:-webkit-grab;cursor:grab;border:none;opacity:1;-webkit-transition:opacity .2s ease 1s;transition:opacity .2s ease 1s}.target-slider[data-v-3c09ac1a]::-moz-range-thumb{position:relative;top:calc(var(--label-height)*-1);height:100%;width:var(--thumb-width);padding:0 var(--thumb-horizontal-padding) 0;box-sizing:content-box;background-clip:content-box;background-color:var(--bs-gray-dark);cursor:grab;border:none;opacity:1;-moz-transition:opacity .5s ease 1s;transition:opacity .5s ease 1s}.target--slider-hidden .target-label[data-v-3c09ac1a],.target--slider-hidden .target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{opacity:0}.target--slider-hidden .target-label[data-v-3c09ac1a],.target--slider-hidden .target-slider[data-v-3c09ac1a]::-moz-range-thumb{opacity:0}.target:hover .target-label[data-v-3c09ac1a],.target:hover .target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{opacity:1;transition-delay:0s}.target:hover .target-label[data-v-3c09ac1a],.target:hover .target-slider[data-v-3c09ac1a]::-moz-range-thumb{opacity:1;transition-delay:0s} \ No newline at end of file diff --git a/dist/css/index.67ba1941.css b/dist/css/index.67ba1941.css deleted file mode 100644 index 5c0f04dbf..000000000 --- a/dist/css/index.67ba1941.css +++ /dev/null @@ -1 +0,0 @@ -:root{--evcc-green:#66d85a;--evcc-dark-green:#3aba2c;--evcc-yellow:#ffe000;--evcc-grid:var(--bs-gray-dark);--evcc-self:var(--evcc-dark-green);--evcc-export:var(--evcc-yellow);--bs-primary:var(--evcc-dark-green)}.bg-primary{background-color:var(--evcc-dark-green)!important}.progress-bar-animated{animation-direction:reverse}.bg-muted{opacity:.25}.icon[data-v-99c2e68a]{color:#0fdd42}.icon[data-v-1eecc7b7]{color:#0fdd42;display:inline-block}.sponsor-button[data-v-1eecc7b7]{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.support-button .solid[data-v-1eecc7b7]{display:none}.support-button:hover .solid[data-v-1eecc7b7]{display:inline-block}.support-button:hover .outline[data-v-1eecc7b7]{display:none}.logo[data-v-39045b4c]{width:85px}.app[data-v-39045b4c]{min-height:100vh}.title[data-v-39045b4c]{position:relative;top:.1rem}.battery[data-v-2dcca16c]{transform:translateX(.35rem) rotate(-90deg);transition-property:transform;transition-duration:.25s;transition-timing-function:ease}.power--in .battery[data-v-2dcca16c]{transform:translateX(.7rem) rotate(-90deg)}.power--out .battery[data-v-2dcca16c]{transform:translateX(0) rotate(-90deg)}.arrow[data-v-2dcca16c]{margin-left:-.2rem;opacity:0;transform:translateX(-.5rem);transition-property:opacity,transform;transition-duration:.25s;transition-timing-function:ease}.power--in .arrow[data-v-2dcca16c]{opacity:1;transform:translateX(-1rem) scaleX(1)}.power--out .arrow[data-v-2dcca16c]{opacity:1;transform:translateX(0) scaleX(1)}.site-progress[data-v-3cae0d48]{--height:38px;height:var(--height);margin:.25rem 0;border-radius:5px;display:flex;overflow:hidden}.site-progress-bar[data-v-3cae0d48]{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;width:0}.visualization--ready .site-progress-bar[data-v-3cae0d48]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.grid-import[data-v-3cae0d48]{background-color:var(--evcc-grid);color:var(--bs-white)}.self-consumption[data-v-3cae0d48]{background-color:var(--evcc-self);color:var(--bs-white)}.pv-export[data-v-3cae0d48]{background-color:var(--evcc-export);color:var(--bs-dark)}.power[data-v-3cae0d48]{display:block;margin:0 .2rem;white-space:nowrap;overflow:hidden}.label-bar[data-v-3cae0d48]{width:0;margin:0;height:1.7rem;padding:.6rem 0;opacity:1;overflow:hidden}.visualization--ready .label-bar[data-v-3cae0d48]{transition-property:width,opacity;transition-duration:.5s,.25s;transition-timing-function:linear,ease}.label-bar--down[data-v-3cae0d48]:first-child{margin-right:-1px}.label-bar--up[data-v-3cae0d48]:last-child{margin-left:-1px}.label-bar-scale[data-v-3cae0d48]{border:1px solid var(--bs-gray);height:.5rem;background:none;display:flex;justify-content:center;align-items:center;white-space:nowrap}.label-bar--down .label-bar-scale[data-v-3cae0d48]{border-bottom:none}.label-bar--up .label-bar-scale[data-v-3cae0d48]{border-top:none}.label-bar--down:first-child .label-bar-scale[data-v-3cae0d48]{border-start-start-radius:4px}.label-bar--down:last-child .label-bar-scale[data-v-3cae0d48]{border-start-end-radius:4px}.label-bar--up:first-child .label-bar-scale[data-v-3cae0d48]{border-end-start-radius:4px}.label-bar--up:last-child .label-bar-scale[data-v-3cae0d48]{border-end-end-radius:4px}.label-bar-icon[data-v-3cae0d48]{background-color:#fff;color:var(--bs-gray);padding:0 .3rem;opacity:1}.visualization--ready .label-bar-icon[data-v-3cae0d48]{transition:opacity .25s ease-in}.label-bar--down .label-bar-icon[data-v-3cae0d48]{margin-top:-6px}.label-bar--up .label-bar-icon[data-v-3cae0d48]{margin-top:6px}.label-bar--hidden[data-v-3cae0d48],.label-bar--hide-icon .label-bar-icon[data-v-3cae0d48]{opacity:0}.energyflow[data-v-2d1d1a46]{cursor:pointer}.color-grid[data-v-2d1d1a46]{color:var(--evcc-grid)}.color-self[data-v-2d1d1a46]{color:var(--evcc-self)}.color-export[data-v-2d1d1a46]{color:var(--evcc-export)}.details-icon[data-v-2d1d1a46]{text-align:center;width:30px;margin-right:.25rem;white-space:nowrap;flex-shrink:0}.btn[data-v-1ff39d22]{flex-basis:0;white-space:nowrap}.vehicle-soc[data-v-3c09ac1a]{--height:38px;--thumb-overlap:3px;--thumb-width:3px;--thumb-horizontal-padding:15px;--label-height:26px;position:relative;height:var(--height)}.progress[data-v-3c09ac1a]{height:100%;font-size:1rem}.progress-bar.bg-muted[data-v-3c09ac1a]{color:var(--white)}.bg-light[data-v-3c09ac1a]{color:var(--bs-gray-dark)}.target-label[data-v-3c09ac1a]{width:3em;margin-left:-1.5em;height:var(--label-height);position:absolute;top:calc(var(--label-height)*-1 + var(--thumb-overlap)*-1);text-align:center;color:var(--bs-gray-dark);font-size:1rem;opacity:1;transition:opacity .2s ease 1s}.target-slider[data-v-3c09ac1a]{-webkit-appearance:none;position:absolute;top:calc(var(--thumb-overlap)*-1);left:calc(var(--thumb-horizontal-padding)*-1);height:calc(100% + var(--thumb-overlap)*2);width:calc(100% + var(--thumb-horizontal-padding)*2);background:transparent}.target-slider[data-v-3c09ac1a]:focus{outline:none}.target-slider[data-v-3c09ac1a]::-webkit-slider-runnable-track{position:relative;background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-3c09ac1a]::-moz-range-track{background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{-webkit-appearance:none;position:relative;top:calc(var(--label-height)*-1);height:100%;width:var(--thumb-width);padding:var(--label-height) var(--thumb-horizontal-padding) 0;box-sizing:content-box;background-clip:content-box;background-color:var(--bs-gray-dark);cursor:-webkit-grab;cursor:grab;border:none;opacity:1;-webkit-transition:opacity .2s ease 1s;transition:opacity .2s ease 1s}.target-slider[data-v-3c09ac1a]::-moz-range-thumb{position:relative;top:calc(var(--label-height)*-1);height:100%;width:var(--thumb-width);padding:0 var(--thumb-horizontal-padding) 0;box-sizing:content-box;background-clip:content-box;background-color:var(--bs-gray-dark);cursor:grab;border:none;opacity:1;-moz-transition:opacity .5s ease 1s;transition:opacity .5s ease 1s}.target--slider-hidden .target-label[data-v-3c09ac1a],.target--slider-hidden .target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{opacity:0}.target--slider-hidden .target-label[data-v-3c09ac1a],.target--slider-hidden .target-slider[data-v-3c09ac1a]::-moz-range-thumb{opacity:0}.target:hover .target-label[data-v-3c09ac1a],.target:hover .target-slider[data-v-3c09ac1a]::-webkit-slider-thumb{opacity:1;transition-delay:0s}.target:hover .target-label[data-v-3c09ac1a],.target:hover .target-slider[data-v-3c09ac1a]::-moz-range-thumb{opacity:1;transition-delay:0s} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 0aa885a40..1f4a12280 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.9033e567.js b/dist/js/index.9033e567.js new file mode 100644 index 000000000..cca96b9fd --- /dev/null +++ b/dist/js/index.9033e567.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var s,n,r=e[0],l=e[1],c=e[2],u=0,p=[];u1?a("span",{staticClass:"badge rounded-pill bg-secondary"},[t._v(" "+t._s(e.count)+" ")]):t._e()],1)])})),0),a("div",{staticClass:"modal-footer"},[a("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button","data-bs-dismiss":"modal","aria-label":"Close"},on:{click:t.clear}},[t._v(" "+t._s(t.$t("notifications.dismissAll"))+" ")])])])])])])},rt=[],lt={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))},fmtKw:function(t,e=!0,a=!0){const s=e?1:0,o=e?t/1e3:t;let i="";return a&&(i=e?" kW":" W"),this.$n(o,{minimumFractionDigits:s,maximumFractionDigits:s})+i},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 o="0"+t%60;e=a+":"+o.substr(-2)}return e},fmtShortDurationUnit:function(t){if(t<=0||null==t)return"";var e=Math.floor(t/3600);return e>=1?"h":"m"},fmtDayString:function(t){const e=""+t.getFullYear(),a=(""+(t.getMonth()+1)).padStart(2,"0"),s=(""+t.getDate()).padStart(2,"0");return`${e}-${a}-${s}`},fmtTimeString:function(t){const e=(""+t.getHours()).padStart(2,"0"),a=(""+t.getMinutes()).padStart(2,"0");return`${e}:${a}`},fmtAbsoluteDate:function(t){return new Intl.DateTimeFormat("default",{weekday:"short",hour:"numeric",minute:"numeric"}).format(t)},fmtTimeAgo:function(t){const e={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3},a=new Intl.RelativeTimeFormat("default",{numeric:"auto"}),s=t-new Date;for(var o in e)if(Math.abs(s)>e[o]||"second"==o)return a.format(Math.round(s/e[o]),o)}}},ct={name:"Notifications",props:{notifications:Array},computed:{iconVisible:function(){return this.notifications.length>0},iconClass:function(){return this.notifications.find(t=>"error"===t.type)?"text-danger":"text-warning"}},methods:{clear:function(){window.app&&window.app.clear()}},created:function(){this.interval=setInterval(()=>{this.$forceUpdate()},1e4)},destroyed:function(){clearTimeout(this.interval)},mixins:[lt]},dt=ct,ut=Object(I["a"])(dt,nt,rt,!1,null,null,null),pt=ut.exports;function mt(t,e,a){const o=e.shift();t[o]||s["a"].set(t,o,{}),e.length?mt(t[o],e,a):a&&"object"===typeof a&&!Array.isArray(a)?t[o]={...t[o],...a}:t[o]=a}const ht={state:{loadpoints:[]},update:function(t){Object.keys(t).forEach((function(e){"function"===typeof window.app[e]?window.app[e]({message:t[e]}):mt(ht.state,e.split("."),t[e])}))}};var vt=ht,ft={name:"App",components:{Logo:z,Footer:it,Notifications:pt},data:function(){return{compact:!1,store:this.$root.$data.store,installedVersion:window.evcc.version}},methods:{connect:function(){const t=window.location,e="https:"==t.protocol?"wss:":"ws:",a=e+"//"+t.hostname+(t.port?":"+t.port:"")+t.pathname+"ws",s=new WebSocket(a),o=this;s.onerror=function(){s.close()},s.onclose=function(){window.setTimeout(o.connect,1e3)},s.onmessage=function(t){try{var e=JSON.parse(t.data);vt.update(e)}catch(a){window.app.error(a,t.data)}}},reload(){window.location.reload()}},metaInfo(){return{title:this.title?"evcc | "+this.title:"evcc"}},computed:{version:function(){return{installed:this.installedVersion,available:this.store.state.availableVersion,releaseNotes:this.store.state.releaseNotes,hasUpdater:this.store.state.hasUpdater,uploadMessage:this.store.state.uploadMessage,uploadProgress:this.store.state.uploadProgress}},title:function(){return this.store.state.siteTitle},sponsor:function(){return this.store.state.sponsor}},props:{notifications:Array},created:function(){const t=new URLSearchParams(window.location.search);this.compact=t.get("compact"),this.connect()}},gt=ft,bt=(a("481e"),Object(I["a"])(gt,r,l,!1,null,"39045b4c",null)),Ct=bt.exports,_t=a("8c4f"),wt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"container"},[t.configured?a("Site",t._b({},"Site",t.state,!1)):a("div",[a("div",{staticClass:"row py-5"},[a("div",{staticClass:"col12"},[a("p",{staticClass:"h1 pt-5 pb-2 border-bottom"},[t._v("Willkommen bei evcc")]),a("p",{staticClass:"lead pt-2"},[a("b",[t._v("evcc")]),t._v(" ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen. ")]),a("p",{staticClass:"pt-2"},[t._v(" Es sieht aus, als wäre Dein "),a("b",[t._v("evcc")]),t._v(" noch nicht konfiguriert. Um "),a("b",[t._v("evcc")]),t._v(" zu konfigurieren sind die folgenden Schritte notwendig: ")]),a("ol",{staticClass:"pt-2"},[a("li",[t._v(" Erzeugen einer Konfigurationsdatei mit Namen "),a("code",[t._v("evcc.yaml")]),t._v(". Die Standardkonfiguration "),a("code",[t._v("evcc.dist.yaml")]),t._v(" kann dafür als Vorlage dienen ("),a("a",{attrs:{href:"https://github.com/andig/evcc/blob/master/evcc.dist.yaml"}},[t._v("Download")]),t._v("). ")]),a("li",[t._v("Konfiguration der Wallbox als "),a("code",[t._v("chargers")]),t._v(".")]),a("li",[t._v(" Konfiguration des EVU Zählers und evtl. weiterer Zähler unter "),a("code",[t._v("meters")]),t._v(". ")]),a("li",[t._v(" Konfiguration des Netzanschlusses unter "),a("code",[t._v("site")]),t._v(". In einer Site wird der Netzanschluss mit dem konfigurierten EVU Zähler ("),a("code",[t._v("meter")]),t._v(") verbunden. ")]),a("li",[t._v(" Konfiguration eines Ladepunktes unter "),a("code",[t._v("loadpoints")]),t._v(". In einem Ladepunkt wird die konfigurierte Wallbox ("),a("code",[t._v("charger")]),t._v(") mit dem Ladepunkt verbunden. ")]),a("li",[t._v(" Start von "),a("b",[t._v("evcc")]),t._v(" mit der neu erstellten Konfiguration: "),a("code",[t._v("evcc -c evcc.yaml")])])]),a("p",[t._v("Minimale Beispielkonfiguration für "),a("b",[t._v("evcc")]),t._v(":")]),a("p",[a("code",[a("pre",{staticClass:"mx-3"},[t._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 ")])])]),a("p",[t._v(" Viel Spass mit "),a("b",[t._v("evcc")]),t._v("! Bei Problemen kannst Du uns auf "),a("a",{attrs:{href:"https://github.com/andig/evcc/issues"}},[t._v("GitHub")]),t._v(" erreichen. ")])])])])],1)},yt=[],St=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"flex-grow-1 d-flex flex-column"},[a("h3",{staticClass:"d-none d-md-block my-4"},[t._v(" "+t._s(t.siteTitle||"Home")+" ")]),a("Energyflow",t._b({},"Energyflow",t.energyflow,!1)),a("hr",{staticClass:"w-100 my-4"}),a("div",{staticClass:"flex-grow-1 d-flex justify-content-around flex-column"},[t._l(t.loadpoints,(function(e,s){return[s>0?a("hr",{key:s+"_hr",staticClass:"w-100 my-4"}):t._e(),a("Loadpoint",t._b({key:s,attrs:{single:1===t.loadpoints.length,id:s}},"Loadpoint",e,!1))]}))],2)],1)},xt=[],kt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"row align-items-start align-items-md-center mt-4 energyflow",on:{click:t.toggleDetails}},[a("Visualization",{staticClass:"\n\t\t\t\tcol-12\n\t\t\t\toffset-md-1\n\t\t\t\tcol-md-6\n\t\t\t\toffset-lg-1\n\t\t\t\tcol-lg-8\n\t\t\t\toffset-xl-1\n\t\t\t\tcol-xl-6\n\t\t\t\toffset-xxl-1\n\t\t\t\tcol-xl-8\n\t\t\t\torder-md-2\n\t\t\t",attrs:{showDetails:t.showDetails,gridImport:t.gridImport,selfConsumption:t.selfConsumption,pvExport:t.pvExport,batteryCharge:t.batteryCharge,batteryDischarge:t.batteryDischarge,pvProduction:t.pvProduction,houseConsumption:t.houseConsumption,batterySoC:t.batterySoC,valuesInKw:t.valuesInKw}}),a("div",{staticClass:"col-12 col-sm-6 col-md-5 col-lg-3 col-xl-3 order-md-1 mt-2 mt-md-0",class:t.showDetails?"d-block":"d-none d-md-block"},[a("div",{staticClass:"d-flex justify-content-between",attrs:{"data-test-pv-production":""}},[a("span",{staticClass:"details-icon text-muted"},[a("fa-icon",{attrs:{icon:"sun"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$t("main.energyflow.pvProduction")))]),a("span",{staticClass:"text-end text-nowrap ps-1"},[t._v(t._s(t.kw(t.pvProduction)))])]),a("div",{staticClass:"d-flex justify-content-between",attrs:{"data-test-house-consumption":""}},[a("span",{staticClass:"details-icon text-muted"},[a("fa-icon",{attrs:{icon:"home"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$t("main.energyflow.houseConsumption")))]),a("span",{staticClass:"text-end text-nowrap ps-1"},[t._v(t._s(t.kw(t.houseConsumption)))])]),t.batteryConfigured?a("div",{staticClass:"d-flex justify-content-between",attrs:{"data-test-battery":""}},[a("span",{staticClass:"details-icon text-muted"},[a("BatteryIcon",{attrs:{soc:t.batterySoC,charge:t.batteryCharge>0,discharge:t.batteryDischarge>0}})],1),a("span",{staticClass:"text-nowrap flex-grow-1 text-truncate"},[t.batteryCharge?a("span",[t._v(t._s(t.$t("main.energyflow.batteryCharge")))]):t.batteryDischarge?a("span",[t._v(t._s(t.$t("main.energyflow.batteryDischarge")))]):a("span",[t._v(t._s(t.$t("main.energyflow.battery")))])]),a("span",{staticClass:"text-end text-nowrap ps-1"},[t._v(" "+t._s(t.batterySoC)+"% / "+t._s(t.kw(Math.abs(t.batteryPower)))+" ")])]):t._e()]),t.showDetails?a("div",{staticClass:"\n\t\t\t\tcol-12 col-sm-6\n\t\t\t\toffset-md-6\n\t\t\t\tcol-md-6\n\t\t\t\toffset-lg-4\n\t\t\t\tcol-lg-8\n\t\t\t\td-block d-md-flex\n\t\t\t\torder-md-3\n\t\t\t\tjustify-content-between\n\t\t\t\tmt-2\n\t\t\t"},[a("div",{staticClass:"text-nowrap d-flex d-md-block",attrs:{"data-test-grid-import":""}},[a("span",{staticClass:"color-grid details-icon"},[a("fa-icon",{attrs:{icon:"square"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$t("main.energyflow.gridImport")))]),a("span",{staticClass:"text-end text-nowrap d-md-none"},[t._v(" "+t._s(t.kw(t.gridImport))+" ")])]),a("div",{staticClass:"text-nowrap d-flex d-md-block",attrs:{"data-test-self-consumption":""}},[a("span",{staticClass:"color-self details-icon"},[a("fa-icon",{attrs:{icon:"square"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$t("main.energyflow.selfConsumption")))]),a("span",{staticClass:"text-end text-nowrap d-md-none"},[t._v(" "+t._s(t.kw(t.selfConsumption))+" ")])]),a("div",{staticClass:"text-nowrap d-flex d-md-block",attrs:{"data-test-pv-export":""}},[a("span",{staticClass:"color-export details-icon"},[a("fa-icon",{attrs:{icon:"square"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$t("main.energyflow.pvExport")))]),a("span",{staticClass:"text-end text-nowrap d-md-none"},[t._v(" "+t._s(t.kw(t.pvExport))+" ")])])]):t._e()],1)])},Dt=[],Nt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"visualization",class:{"visualization--ready":t.visualizationReady}},[a("div",{staticClass:"label-scale"},[a("div",{staticClass:"d-flex justify-content-end"},[t.batteryDischarge?a("div",{staticClass:"label-bar label-bar--down",class:{"label-bar--hide-icon":t.hideLabelIcon(t.batteryDischarge,44)},style:{width:t.widthTotal(t.batteryDischarge)}},[a("div",{staticClass:"label-bar-scale"},[a("div",{staticClass:"label-bar-icon"},[a("BatteryIcon",{attrs:{soc:t.batterySoC,discharge:""}})],1)])]):t._e(),t.pvProduction?a("div",{staticClass:"label-bar label-bar--down",class:{"label-bar--hide-icon":t.hideLabelIcon(t.pvProduction)},style:{width:t.widthTotal(t.pvProduction)}},[a("div",{staticClass:"label-bar-scale"},[a("div",{staticClass:"label-bar-icon"},[a("fa-icon",{attrs:{icon:"sun"}})],1)])]):t._e()])]),a("div",{ref:"site_progress",staticClass:"site-progress"},[a("div",{staticClass:"site-progress-bar grid-import",style:{width:t.widthTotal(t.gridImportAdjusted)}},[t.powerLabelEnoughSpace(t.gridImport)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kw(t.gridImport))+" ")]):t.powerLabelSomeSpace(t.gridImport)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kwNoUnit(t.gridImport))+" ")]):t._e()]),a("div",{staticClass:"site-progress-bar self-consumption",style:{width:t.widthTotal(t.selfConsumptionAdjusted)}},[t.powerLabelEnoughSpace(t.selfConsumption)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kw(t.selfConsumption))+" ")]):t.powerLabelSomeSpace(t.selfConsumption)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kwNoUnit(t.selfConsumption))+" ")]):t._e()]),a("div",{staticClass:"site-progress-bar pv-export",style:{width:t.widthTotal(t.pvExportAdjusted)}},[t.powerLabelEnoughSpace(t.pvExport)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kw(t.pvExport))+" ")]):t.powerLabelSomeSpace(t.pvExport)?a("span",{staticClass:"power"},[t._v(" "+t._s(t.kwNoUnit(t.pvExport))+" ")]):t._e()]),t.totalAdjusted<=0?a("div",{staticClass:"site-progress-bar bg-light border no-wrap w-100"},[a("span",[t._v(t._s(t.$t("main.energyflow.noEnergy")))])]):t._e()]),a("div",{staticClass:"label-scale"},[a("div",{staticClass:"d-flex justify-content-start"},[t.houseConsumption?a("div",{staticClass:"label-bar label-bar--up",class:{"label-bar--hide-icon":t.hideLabelIcon(t.houseConsumption)},style:{width:t.widthTotal(t.houseConsumption)}},[a("div",{staticClass:"label-bar-scale"},[a("div",{staticClass:"label-bar-icon"},[a("fa-icon",{attrs:{icon:"home"}})],1)])]):t._e(),t.batteryCharge?a("div",{staticClass:"label-bar label-bar--up",class:{"label-bar--hide-icon":t.hideLabelIcon(t.batteryCharge,44)},style:{width:t.widthTotal(t.batteryCharge)}},[a("div",{staticClass:"label-bar-scale"},[a("div",{staticClass:"label-bar-icon"},[a("BatteryIcon",{attrs:{soc:t.batterySoC,charge:""}})],1)])]):t._e()])])])},Et=[],$t=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{class:{"power--in":t.charge,"power--out":t.discharge}},[a("fa-icon",{staticClass:"battery",attrs:{icon:t.batteryIcon}}),a("fa-icon",{staticClass:"arrow",attrs:{icon:"angle-double-right"}})],1)},At=[],Pt={name:"BatteryIcon",props:{discharge:{type:Boolean},charge:{type:Boolean},soc:{type:Number,default:0}},computed:{batteryIcon:function(){return this.soc>80?"battery-full":this.soc>60?"battery-three-quarters":this.soc>40?"battery-half":this.soc>20?"battery-quarter":"battery-empty"}}},jt=Pt,Tt=(a("702d"),Object(I["a"])(jt,$t,At,!1,null,"2dcca16c",null)),Mt=Tt.exports,Lt={name:"Visualization",components:{BatteryIcon:Mt},props:{showDetails:Boolean,gridImport:{type:Number,default:0},selfConsumption:{type:Number,default:0},pvExport:{type:Number,default:0},batteryCharge:{type:Number,default:0},batteryDischarge:{type:Number,default:0},pvProduction:{type:Number,default:0},houseConsumption:{type:Number,default:0},batterySoC:{type:Number,default:0},valuesInKw:{type:Boolean,default:!1}},data:function(){return{width:0,visualizationReady:!1}},mounted:function(){this.$nextTick((function(){window.addEventListener("resize",this.updateElementWidth),this.updateElementWidth()}))},beforeDestroy(){window.removeEventListener("resize",this.updateElementWidth)},mixins:[lt],computed:{totalRaw:function(){return this.gridImport+this.selfConsumption+this.pvExport},gridImportAdjusted:function(){return this.applyThreshold(this.gridImport)},selfConsumptionAdjusted:function(){return this.applyThreshold(this.selfConsumption)},pvExportAdjusted:function(){return this.applyThreshold(this.pvExport)},totalAdjusted:function(){return this.gridImportAdjusted+this.selfConsumptionAdjusted+this.pvExportAdjusted}},watch:{showDetails:function(){this.$nextTick(()=>this.updateElementWidth())},totalAdjusted:function(){!this.visualizationReady&&this.totalAdjusted>0&&setTimeout(()=>{this.visualizationReady=!0},500)}},methods:{widthTotal:function(t){return 0===this.totalAdjusted?"0%":100/this.totalAdjusted*t+"%"},kw:function(t){return this.fmtKw(t,this.valuesInKw,!0)},kwNoUnit:function(t){return this.fmtKw(t,this.valuesInKw,!1)},powerLabelAvailableSpace(t){if(0===this.totalAdjusted)return 0;const e=100/this.totalAdjusted*t;return this.width/100*e},powerLabelEnoughSpace(t){return this.powerLabelAvailableSpace(t)>60},powerLabelSomeSpace(t){return this.powerLabelAvailableSpace(t)>35},hideLabelIcon(t,e=32){if(0===this.totalAdjusted)return!0;const a=100/this.totalAdjusted*t;return this.width/100*a1e3}},methods:{kw:function(t){return this.fmtKw(t,this.valuesInKw)},toggleDetails(){this.showDetails=!this.showDetails}}},zt=Ut,Ot=(a("3e58"),Object(I["a"])(zt,kt,Dt,!1,null,"2d1d1a46",null)),Rt=Ot.exports,Ht=Rt,Ft=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("p",{staticClass:"h3 mb-4 d-sm-block",class:{"d-none":t.single}},[t._v(" "+t._s(t.title||t.$t("main.loadpoint.fallbackName"))+" ")]),"soft"==t.remoteDisabled?a("div",{staticClass:"alert alert-warning mt-4 mb-2",attrs:{role:"alert"}},[t._v(" "+t._s(t.$t("main.loadpoint.remoteDisabledSoft",{source:t.remoteDisabledSource}))+" ")]):t._e(),"hard"==t.remoteDisabled?a("div",{staticClass:"alert alert-danger mt-4 mb-2",attrs:{role:"alert"}},[t._v(" "+t._s(t.$t("main.loadpoint.remoteDisabledHard",{source:t.remoteDisabledSource}))+" ")]):t._e(),a("div",{staticClass:"row"},[a("Mode",{staticClass:"col-12 col-md-6 col-lg-4 mb-4",attrs:{mode:t.mode},on:{updated:t.setTargetMode}}),a("Vehicle",t._b({staticClass:"col-12 col-md-6 col-lg-8 mb-4",on:{"target-soc-updated":t.setTargetSoC}},"Vehicle",t.vehicle,!1))],1),a("LoadpointDetails",t._b({},"LoadpointDetails",t.details,!1))],1)},Wt=[],Kt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"mb-3"},[t._v(t._s(t.$t("main.mode.title")))]),a("div",{staticClass:"btn-group w-100",attrs:{role:"group"}},[a("button",{staticClass:"btn btn-outline-secondary",class:{active:"off"==t.mode},attrs:{type:"button"},on:{click:function(e){return t.setTargetMode("off")}}},[t._v(" "+t._s(t.$t("main.mode.stop"))+" ")]),a("button",{staticClass:"btn btn-outline-secondary",class:{active:"now"==t.mode},attrs:{type:"button"},on:{click:function(e){return t.setTargetMode("now")}}},[t._v(" "+t._s(t.$t("main.mode.now"))+" ")]),a("button",{staticClass:"btn btn-outline-secondary",class:{active:"minpv"==t.mode},attrs:{type:"button"},on:{click:function(e){return t.setTargetMode("minpv")}}},[a("span",{staticClass:"d-inline d-sm-none"},[t._v(" "+t._s(t.$t("main.mode.minpvShort"))+" ")]),a("span",{staticClass:"d-none d-sm-inline"},[t._v(" "+t._s(t.$t("main.mode.minpvLong"))+" ")])]),a("button",{staticClass:"btn btn-outline-secondary",class:{active:"pv"==t.mode},attrs:{type:"button"},on:{click:function(e){return t.setTargetMode("pv")}}},[a("span",{staticClass:"d-inline d-sm-none"},[t._v(" "+t._s(t.$t("main.mode.pvShort"))+" ")]),a("span",{staticClass:"d-none d-sm-inline"},[t._v(" "+t._s(t.$t("main.mode.pvLong"))+" ")])])])])},qt=[],Gt={name:"Mode",props:{mode:String},methods:{setTargetMode:function(t){this.$emit("updated",t)}}},Zt=Gt,Jt=(a("46d4"),Object(I["a"])(Zt,Kt,qt,!1,null,"1ff39d22",null)),Qt=Jt.exports,Yt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"mb-3"},[t._v(" "+t._s(t.socTitle||t.$t("main.vehicle.fallbackName"))+" ")]),a("VehicleSoc",t._b({on:{"target-soc-updated":t.targetSocUpdated}},"VehicleSoc",t.vehicleSoc,!1)),a("VehicleSubline",t._b({staticClass:"my-1"},"VehicleSubline",t.vehicleSubline,!1))],1)},Xt=[],te={methods:{collectProps:function(t){let e={};for(var a in t.props)e[a]=this[a];return e}}},ee=function(){var t,e,a=this,s=a.$createElement,o=a._self._c||s;return o("div",{staticClass:"vehicle-soc"},[o("div",{staticClass:"progress"},[o("div",{staticClass:"progress-bar",class:(t={"progress-bar-striped":a.charging,"progress-bar-animated":a.charging},t[a.progressColor]=!0,t),style:{width:a.socChargeDisplayWidth+"%"},attrs:{role:"progressbar"}},[a._v(" "+a._s(a.socChargeDisplayValue)+" ")]),a.remainingSoCWidth>0&&a.enabled?o("div",{staticClass:"progress-bar",class:(e={},e[a.progressColor]=!0,e["bg-muted"]=!0,e),style:{width:a.remainingSoCWidth+"%",transition:"none"},attrs:{role:"progressbar"}}):a._e()]),a.connected&&a.hasVehicle&&a.visibleTargetSoC?o("div",{staticClass:"target",class:{"target--slider-hidden":a.allowSliderHiding&&100===a.visibleTargetSoC}},[o("div",{staticClass:"target-label d-flex align-items-center justify-content-center",style:{left:a.visibleTargetSoC+"%"}},[a._v(" "+a._s(a.visibleTargetSoC)+"% ")]),o("input",{staticClass:"target-slider",attrs:{type:"range",min:"0",max:"100",step:"5"},domProps:{value:a.visibleTargetSoC},on:{input:a.movedTargetSoC,change:a.setTargetSoC}})]):a._e()])},ae=[],se={name:"VehicleSoc",props:{connected:Boolean,hasVehicle:Boolean,socCharge:Number,enabled:Boolean,charging:Boolean,minSoC:Number,targetSoC:Number},data:function(){return{selectedTargetSoC:null,allowSliderHiding:!1}},mounted:function(){setTimeout(()=>{this.allowSliderHiding=!0},1e3)},computed:{socChargeDisplayWidth:function(){return this.hasVehicle&&this.socCharge>=0?this.socCharge:100},socChargeDisplayValue:function(){if(!this.hasVehicle||!this.socCharge||this.socCharge<0){let t=this.$t("main.vehicleSoc.disconnected");return this.charging?t=this.$t("main.vehicleSoc.charging"):this.enabled?t=this.$t("main.vehicleSoc.ready"):this.connected&&(t=this.$t("main.vehicleSoc.connected")),t}let t=this.socCharge;return t>=10&&(t+="%"),t},progressColor:function(){return this.connected?this.minSoCActive?"bg-danger":"bg-primary":"bg-light border"},minSoCActive:function(){return this.minSoC>0&&this.socChargethis.socCharge?this.visibleTargetSoC-this.socCharge:null},visibleTargetSoC:function(){return Number(this.selectedTargetSoC||this.targetSoC)}},methods:{movedTargetSoC:function(t){const e=40;return t.target.value0&&this.socCharge=0?a("div",{staticClass:"col-6 col-sm-3 col-lg-2 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v(t._s(t.$t("main.loadpointDetails.range")))]),a("h3",{staticClass:"value"},[t._v(" "+t._s(Math.round(t.range))+" "),a("small",{staticClass:"text-muted"},[t._v("km")])])]):a("div",{staticClass:"col-6 col-sm-3 col-lg-2 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v(t._s(t.$t("main.loadpointDetails.duration")))]),a("h3",{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-sm-3 col-lg-2 mt-3"},[a("div",{staticClass:"mb-2 value"},[t._v(t._s(t.$t("main.loadpointDetails.remaining")))]),a("h3",{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()])])},be=[],Ce={name:"LoadpointDetails",props:{chargedEnergy:Number,chargeDuration:Number,chargeEstimate:Number,chargePower:Number,climater:String,hasVehicle:Boolean,range:Number},mixins:[lt]},_e=Ce,we=Object(I["a"])(_e,ge,be,!1,null,null,null),ye=we.exports,Se={name:"Loadpoint",props:{id:Number,single:Boolean,title:String,mode:String,targetSoC:Number,remoteDisabled:Boolean,remoteDisabledSource:String,chargeDuration:Number,charging:Boolean,connected:Boolean,enabled:Boolean,socTitle:String,socCharge:Number,minSoC:Number,timerSet:Boolean,timerActive:Boolean,targetTime:String,chargePower:Number,chargedEnergy:Number,hasVehicle:Boolean,climater:String,range:Number,chargeEstimate:Number,phases:Number,minCurrent:Number,maxCurrent:Number,activePhases:Number,chargeCurrent:Number,socCapacity:Number,connectedDuration:Number,chargeCurrents:Array,chargeConfigured:Boolean,chargeRemainingEnergy:Number},components:{LoadpointDetails:ye,Mode:Qt,Vehicle:fe},mixins:[lt,te],data:function(){return{tickerHandle:null,chargeDurationDisplayed:null}},computed:{details:function(){return this.collectProps(ye)},vehicle:function(){return this.collectProps(fe)}},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.app.error)},setTargetSoC:function(t){n.a.post(this.api("targetsoc")+"/"+t).then(function(t){this.targetSoC=t.data.targetSoC}.bind(this)).catch(window.app.error)}},destroyed:function(){window.clearInterval(this.tickerHandle)}},xe=Se,ke=Object(I["a"])(xe,Ft,Wt,!1,null,null,null),De=ke.exports,Ne={name:"Site",props:{loadpoints:Array,gridConfigured:Boolean,gridPower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number,gridCurrents:Array,prioritySoC:Number,siteTitle:String},components:{Loadpoint:De,Energyflow:Ht},mixins:[lt,te],computed:{energyflow:function(){return this.collectProps(Ht)}}},Ee=Ne,$e=Object(I["a"])(Ee,St,xt,!1,null,null,null),Ae=$e.exports,Pe={name:"Main",components:{Site:Ae},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}}},je=Pe,Te=Object(I["a"])(je,wt,yt,!1,null,null,null),Me=Te.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)},Ve=[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")])])}],Be={name:"Config",data:function(){return this.$root.$data.store.state}},Ie=Be,Ue=Object(I["a"])(Ie,Le,Ve,!1,null,null,null),ze=Ue.exports;s["a"].use(_t["a"]);const Oe=[{path:"/",component:Me},{path:"/config",component:ze}];var Re=new _t["a"]({routes:Oe,linkExactActiveClass:"active"}),He=a("a925"),Fe={header:{support:"Support"},footer:{version:{version:"Version",availableShort:"verfügbar",availableLong:"Update verfügbar",modalTitle:"Update verfügbar",modalUpdateStarted:"Nach der Aktualisierung wird evcc neu gestartet.",modalInstalledVersion:"Aktuell installierte Version",modalNoReleaseNotes:"Keine Releasenotes verfügbar. Mehr Informationen zur neuen Version findest du hier:",modalCancel:"Abbrechen",modalUpdate:"Aktualisieren",modalUpdateNow:"Jetzt aktualisieren",modalDownload:"Download",modalUpdateStatusStart:"Aktualisierung gestartet: ",modalUpdateStatusFailed:"Aktualisierung nicht möglich: "},sponsor:{sponsoredShort:"Danke",sponsoredLong:"Danke {sponsor}",supportProjectShort:"unterstützen",supportProjectLong:"Projekt unterstützen"}},notifications:{modalTitle:"Meldungen",dismissAll:"Meldungen entfernen"},main:{energyflow:{noEnergy:"Kein Energiefluss",houseConsumption:"Verbrauch",pvProduction:"Erzeugung",battery:"Batterie",batteryCharge:"Batterie laden",batteryDischarge:"Batterie entladen",gridImport:"Netzbezug",selfConsumption:"Eigenverbrauch",pvExport:"Einspeisung"},mode:{title:"Modus",stop:"Stop",now:"Sofort",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"Nur PV"},loadpoint:{fallbackName:"Ladepunkt",remoteDisabledSoft:"{source}: Adaptives PV-Laden deaktiviert",remoteDisabledHard:"{source}: Deaktiviert"},vehicle:{fallbackName:"Fahrzeug"},vehicleSoc:{disconnected:"getrennt",charging:"lädt",ready:"bereit",connected:"verbunden"},vehicleSubline:{mincharge:"Mindestladung bis {soc}%"},loadpointDetails:{power:"Leistung",range:"Reichweite",charged:"Geladen",duration:"Dauer",remaining:"Restzeit"}}},We={header:{support:"Support"},footer:{version:{version:"version",availableShort:"available",availableLong:"update available",modalTitle:"Update available",modalUpdateStarted:"Evcc will restart after the update..",modalInstalledVersion:"Currently installed version",modalNoReleaseNotes:"No release notes available. More information about the new version can be found here:",modalCancel:"Cancel",modalUpdate:"Update",modalUpdateNow:"Update now",modalDownload:"Download",modalUpdateStatusStart:"Update started: ",modalUpdateStatusFailed:"Update failed: "},sponsor:{sponsoredShort:"thanks",sponsoredLong:"thanks {sponsor}",supportProjectShort:"support",supportProjectLong:"support the project"}},notifications:{modalTitle:"Notifications",dismissAll:"Dismiss all"},main:{energyflow:{noEnergy:"No Energyflow",houseConsumption:"Consumption",pvProduction:"Production",battery:"Battery",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{title:"Mode",stop:"Stop",now:"Now",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV only"},loadpoint:{fallbackName:"Loadpoint",remoteDisabledSoft:"{source}: adaptive PV charging disabled",remoteDisabledHard:"{source}: disabled"},vehicle:{fallbackName:"Vehicle"},vehicleSoc:{disconnected:"disconnected",charging:"charging",ready:"ready",connected:"connected"},vehicleSubline:{mincharge:"minimum charging to {soc}%"},loadpointDetails:{power:"Power",range:"Range",charged:"Charged",duration:"Duration",remaining:"Remaining"}}},Ke={header:{support:"Support"},footer:{version:{version:"versione",availableShort:"disponibile",availableLong:"aggiornamento disponibile",modalTitle:"Aggiornamento disponibile",modalUpdateStarted:"Evcc ripartirà dopo l'aggiornamento..",modalInstalledVersion:"Versione correntemente installata",modalNoReleaseNotes:"Non ci sono note di rilascio disponibili. Altre informazioni circa la nuova versione si trovano qui:",modalCancel:"Cancella",modalUpdate:"Aggiorna",modalUpdateNow:"Aggiorna ora",modalDownload:"Download",modalUpdateStatusStart:"Aggiornamento iniziato: ",modalUpdateStatusFailed:"Aggiornamento fallito: "},sponsor:{sponsoredShort:"grazie",sponsoredLong:"grazie {sponsor}",supportProjectShort:"supporto",supportProjectLong:"supporta questo progetto"}},notifications:{modalTitle:"Notifiche",dismissAll:"Rimuovi tutte"},main:{energyflow:{noEnergy:"No Energyflow",houseConsumption:"Consumption",pvProduction:"Produzione",battery:"Batteria",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{title:"Modalità",stop:"Stop",now:"Ora",minpvShort:"Min",minpvLong:"Min + FV",pvShort:"FV",pvLong:"Solo FV"},loadpoint:{fallbackName:"Punto di carica",remoteDisabledSoft:"{source}: Ricarica FV adattiva disabilitata",remoteDisabledHard:"{source}: Disabilitato"},vehicle:{fallbackName:"Veicolo"},vehicleSoc:{disconnected:"disconesso",charging:"carica",ready:"pronto",connected:"collegato"},vehicleSubline:{mincharge:"carica minima fino a {soc}%"},loadpointDetails:{power:"Potenza",range:"Autonomia",charged:"Ricaricato",duration:"Duarata",remaining:"Rimanenti"}}};function qe(){const t=void 0!==navigator.languages?navigator.languages[0]:navigator.language;if(!t)return;const e=t.trim().split(/-|_/)[0];return e}s["a"].use(He["a"]);var Ge=new He["a"]({locale:qe(),fallbackLocale:"en",messages:{de:Fe,en:We,it:Ke}});s["a"].use(o["a"]);const Ze=window.location;n.a.defaults.baseURL=Ze.protocol+"//"+Ze.hostname+(Ze.port?":"+Ze.port:"")+Ze.pathname+"api",n.a.defaults.headers.post["Content-Type"]="application/json",window.app=new s["a"]({el:"#app",router:Re,i18n:Ge,data:{store:vt,notifications:[]},render:function(t){return t(Ct,{props:{notifications:this.notifications}})},methods:{raise:function(t){console[t.type](t);const e=new Date,a=this.notifications[0];a&&a.message===t.message?(a.count++,a.time=e):this.notifications=[{...t,count:1,time:e},...this.notifications]},clear:function(){this.notifications=[]},error:function(t){t.type="error",this.raise(t)},warn:function(t){t.type="warn",this.raise(t)}}}),window.setInterval((function(){n.a.get("health").catch((function(){window.app.error({message:"Server unavailable"})}))}),5e3)},b19f:function(t,e,a){},b743:function(t,e,a){},ec98:function(t,e,a){},ed92:function(t,e,a){}}); +//# sourceMappingURL=index.9033e567.js.map \ No newline at end of file diff --git a/dist/js/index.9033e567.js.map b/dist/js/index.9033e567.js.map new file mode 100644 index 000000000..0949bd94d --- /dev/null +++ b/dist/js/index.9033e567.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/components/Version.vue?d579","webpack:///./assets/js/components/VehicleSoc.vue?8dfa","webpack:///./assets/js/components/Energyflow/Visualization.vue?dce5","webpack:///./assets/js/components/Energyflow/Energyflow.vue?190c","webpack:///./assets/js/components/Mode.vue?6d9a","webpack:///./assets/js/views/App.vue?c081","webpack:///./assets/js/components/Sponsor.vue?4b35","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?7eb9","webpack:///./assets/js/views/App.vue?07eb","webpack:///./assets/js/icons.js","webpack:///./assets/js/components/Logo.vue?c413","webpack:///assets/js/components/Logo.vue","webpack:///./assets/js/components/Logo.vue?6eb9","webpack:///./assets/js/components/Logo.vue","webpack:///./assets/js/components/Footer.vue?34a5","webpack:///./assets/js/components/Version.vue?dd3d","webpack:///assets/js/components/Version.vue","webpack:///./assets/js/components/Version.vue?1d82","webpack:///./assets/js/components/Version.vue","webpack:///./assets/js/components/Sponsor.vue?48f8","webpack:///assets/js/components/Sponsor.vue","webpack:///./assets/js/components/Sponsor.vue?9052","webpack:///./assets/js/components/Sponsor.vue","webpack:///assets/js/components/Footer.vue","webpack:///./assets/js/components/Footer.vue?9347","webpack:///./assets/js/components/Footer.vue","webpack:///./assets/js/components/Notifications.vue?f6dd","webpack:///./assets/js/mixins/formatter.js","webpack:///assets/js/components/Notifications.vue","webpack:///./assets/js/components/Notifications.vue?ee9f","webpack:///./assets/js/components/Notifications.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/views/Main.vue?f2f3","webpack:///./assets/js/components/Site.vue?9689","webpack:///./assets/js/components/Energyflow/Energyflow.vue?0a85","webpack:///./assets/js/components/Energyflow/Visualization.vue?85f1","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?3aeb","webpack:///assets/js/components/Energyflow/BatteryIcon.vue","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?4fc4","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue","webpack:///assets/js/components/Energyflow/Visualization.vue","webpack:///./assets/js/components/Energyflow/Visualization.vue?2f17","webpack:///./assets/js/components/Energyflow/Visualization.vue","webpack:///assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/Energyflow.vue?8be6","webpack:///./assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/index.js","webpack:///./assets/js/components/Loadpoint.vue?a4df","webpack:///./assets/js/components/Mode.vue?a20f","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?f523","webpack:///./assets/js/mixins/collector.js","webpack:///./assets/js/components/VehicleSoc.vue?28ba","webpack:///assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSoc.vue?8383","webpack:///./assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSubline.vue?c910","webpack:///assets/js/components/VehicleSubline.vue","webpack:///./assets/js/components/VehicleSubline.vue?a160","webpack:///./assets/js/components/VehicleSubline.vue","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?a390","webpack:///assets/js/components/LoadpointDetails.vue","webpack:///./assets/js/components/LoadpointDetails.vue?3057","webpack:///./assets/js/components/LoadpointDetails.vue","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?2aec","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/i18n/de.js","webpack:///./assets/js/i18n/en.js","webpack:///./assets/js/i18n/it.js","webpack:///./assets/js/i18n/index.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","notifications","_m","_v","_s","$t","version","sponsor","staticRenderFns","add","faAngleDown","faAngleUp","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faBox","faCar","faAngleDoubleLeft","faAngleDoubleRight","faClock","faExclamationCircle","faExclamationTriangle","faGift","faHome","faSquare","faSun","faTemperatureHigh","faTemperatureLow","faThermometerHalf","component","_b","available","releaseNotesUrl","installed","style","width","uploadProgress","updateStatus","uploadMessage","domProps","releaseNotes","updateStarted","on","update","props","String","hasUpdater","Boolean","Number","methods","async","a","post","e","computed","newVersionAvailable","ref","$event","stopPropagation","preventDefault","surprise","arguments","console","log","$refs","top","height","left","getBoundingClientRect","x","innerWidth","y","innerHeight","origin","angle","Math","random","particleCount","spread","drift","scalar","colors","components","Version","Sponsor","directives","rawName","expression","class","iconClass","_l","msg","index","fmtAbsoluteDate","time","fmtTimeAgo","type","message","count","_e","clear","fmtLimit","fmtDigits","round","num","precision","base","toFixed","fmt","val","undefined","abs","fmtKw","watt","kw","withUnit","digits","unit","$n","minimumFractionDigits","maximumFractionDigits","fmtUnit","fmtDuration","seconds","minutes","floor","hours","substr","fmtShortDuration","tm","fmtShortDurationUnit","fmtDayString","date","YY","getFullYear","MM","getMonth","padStart","DD","getDate","fmtTimeString","HH","getHours","mm","getMinutes","Intl","DateTimeFormat","weekday","hour","minute","format","units","year","month","day","second","rtf","RelativeTimeFormat","numeric","elapsed","Date","u","Array","iconVisible","find","app","created","interval","setInterval","$forceUpdate","destroyed","clearTimeout","mixins","formatter","setProperty","obj","prop","set","isArray","store","state","loadpoints","keys","forEach","k","split","Logo","Footer","Notifications","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","reload","title","availableVersion","siteTitle","urlParams","URLSearchParams","search","energyflow","loadpoint","id","toggleDetails","showDetails","gridImport","selfConsumption","pvExport","batteryCharge","batteryDischarge","pvProduction","houseConsumption","batterySoC","valuesInKw","batteryPower","visualizationReady","hideLabelIcon","widthTotal","gridImportAdjusted","powerLabelEnoughSpace","powerLabelSomeSpace","kwNoUnit","selfConsumptionAdjusted","pvExportAdjusted","totalAdjusted","charge","discharge","batteryIcon","soc","default","BatteryIcon","mounted","$nextTick","addEventListener","updateElementWidth","removeEventListener","totalRaw","applyThreshold","watch","power","percent","powerLabelAvailableSpace","minWidth","site_progress","Visualization","gridConfigured","gridPower","pvConfigured","pvPower","batteryConfigured","max","pvConsumption","min","batteryPowerAdjusted","batteryPowerThreshold","single","remoteDisabled","source","remoteDisabledSource","setTargetMode","setTargetSoC","vehicle","details","active","$emit","socTitle","targetSocUpdated","vehicleSoc","vehicleSubline","collectProps","_obj","_obj$1","charging","progressColor","socChargeDisplayWidth","socChargeDisplayValue","remainingSoCWidth","enabled","transition","connected","hasVehicle","visibleTargetSoC","allowSliderHiding","movedTargetSoC","socCharge","minSoC","targetSoC","selectedTargetSoC","chargeStatus","minSoCActive","minTargetSoC","target","invisible","timerActive","targetTimeLabel","timerSet","targetTime","targetChargeEnabled","targetDate","VehicleSoc","VehicleSubline","collector","climater","chargePower","chargedEnergy","range","chargeDuration","chargeEstimate","phases","minCurrent","maxCurrent","activePhases","chargeCurrent","socCapacity","connectedDuration","chargeCurrents","chargeConfigured","chargeRemainingEnergy","LoadpointDetails","Mode","Vehicle","tickerHandle","chargeDurationDisplayed","clearInterval","api","func","then","response","catch","gridCurrents","prioritySoC","Loadpoint","Energyflow","Site","configured","isNaN","parseInt","use","routes","path","Main","Config","linkExactActiveClass","header","support","footer","availableShort","availableLong","modalTitle","modalUpdateStarted","modalInstalledVersion","modalNoReleaseNotes","modalCancel","modalUpdate","modalUpdateNow","modalDownload","modalUpdateStatusStart","modalUpdateStatusFailed","sponsoredShort","sponsoredLong","supportProjectShort","supportProjectLong","dismissAll","main","noEnergy","battery","stop","now","minpvShort","minpvLong","pvShort","pvLong","fallbackName","remoteDisabledSoft","remoteDisabledHard","disconnected","ready","mincharge","loadpointDetails","charged","duration","remaining","getBrowserLocale","navigatorLocale","navigator","languages","language","trimmedLocale","trim","locale","fallbackLocale","messages","de","en","it","defaults","baseURL","headers","el","router","i18n","h","App","raise","latestMsg","warn"],"mappings":"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","file":"js/index.9033e567.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/@vue/cli-service/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=99c2e68a&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/@vue/cli-service/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!./VehicleSoc.vue?vue&type=style&index=0&id=3c09ac1a&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/@vue/cli-service/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!./Visualization.vue?vue&type=style&index=0&id=034e0a25&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/@vue/cli-service/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!./Energyflow.vue?vue&type=style&index=0&id=2d1d1a46&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/@vue/cli-service/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!./Mode.vue?vue&type=style&index=0&id=1ff39d22&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/@vue/cli-service/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=39045b4c&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/@vue/cli-service/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!./Sponsor.vue?vue&type=style&index=0&id=1eecc7b7&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/@vue/cli-service/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!./BatteryIcon.vue?vue&type=style&index=0&id=2dcca16c&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 overflow-hidden\"},[_c('div',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-between\"},[_c('nav',{staticClass:\"navbar navbar-expand-lg navbar-dark bg-dark\"},[_c('div',{staticClass:\"container\"},[_c('a',{staticClass:\"navbar-brand\",attrs:{\"href\":\"https://github.com/andig/evcc\"}},[_c('Logo',{staticClass:\"logo\"})],1),_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"d-flex\"},[_c('Notifications',{attrs:{\"notifications\":_vm.notifications}}),_vm._m(0)],1),_c('div',{staticClass:\"collapse navbar-collapse flex-lg-grow-0\",attrs:{\"id\":\"navbarNavAltMarkup\"}},[_c('ul',{staticClass:\"navbar-nav\"},[_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/andig/evcc/discussions\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"header.support\"))+\" \")])])])])])])]),_c('router-view',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-stretch\"})],1),_c('Footer',{attrs:{\"version\":_vm.version,\"sponsor\":_vm.sponsor}})],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-bs-toggle\":\"collapse\",\"data-bs-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 { 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 { faAngleUp } from \"@fortawesome/free-solid-svg-icons/faAngleUp\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { faClock } from \"@fortawesome/free-solid-svg-icons/faClock\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\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 as farHeart } from \"@fortawesome/free-regular-svg-icons/faHeart\";\nimport { faHeart as fasHeart } 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\";\nimport { faHome } from \"@fortawesome/free-solid-svg-icons/faHome\";\nimport { faCar } from \"@fortawesome/free-solid-svg-icons/faCar\";\nimport { faSquare } from \"@fortawesome/free-solid-svg-icons/faSquare\";\nimport { faExclamationCircle } from \"@fortawesome/free-solid-svg-icons/faExclamationCircle\";\nimport { faAngleDoubleLeft } from \"@fortawesome/free-solid-svg-icons/faAngleDoubleLeft\";\nimport { faAngleDoubleRight } from \"@fortawesome/free-solid-svg-icons/faAngleDoubleRight\";\n\nlibrary.add(\n faAngleDown,\n faAngleUp,\n faBatteryEmpty,\n faBatteryFull,\n faBatteryHalf,\n faBatteryQuarter,\n faBatteryThreeQuarters,\n faBox,\n faCar,\n faAngleDoubleLeft,\n faAngleDoubleRight,\n faClock,\n faExclamationCircle,\n faExclamationTriangle,\n faGift,\n faHome,\n farHeart,\n fasHeart,\n faSquare,\n faSun,\n faTemperatureHigh,\n faTemperatureLow,\n faThermometerHalf\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('svg',{attrs:{\"viewBox\":\"0 0 122 35\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"2\"}},[_c('path',{attrs:{\"d\":\"M13.082 29.071a12.384 12.384 0 01-9-3.42 12.192 12.192 0 01-3.54-9.12v-.64a15.394 15.394 0 011.47-6.83 10.825 10.825 0 014.17-4.64 11.64 11.64 0 016.15-1.63 10.45 10.45 0 018.21 3.26c2 2.194 3 5.297 3 9.31v2.76H7.382a6.348 6.348 0 002 4 5.997 5.997 0 004.16 1.49 7.305 7.305 0 006.1-2.84l3.31 3.73a10 10 0 01-4.13 3.39 13.309 13.309 0 01-5.74 1.18zm-.77-20.84a4.216 4.216 0 00-3.26 1.37 7.141 7.141 0 00-1.6 3.91h9.39v-.55a5.005 5.005 0 00-1.22-3.49 4.304 4.304 0 00-3.31-1.24zM36.452 20.331l4.7-17.09h7l-8.48 25.36h-6.44l-8.52-25.36h7l4.74 17.09zM85.542 23.611a4.444 4.444 0 003-1 3.638 3.638 0 001.22-2.75h6.32a8.668 8.668 0 01-1.4 4.73 9.145 9.145 0 01-3.79 3.3 11.736 11.736 0 01-5.29 1.19 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.868 10.868 0 018.51-3.5c2.791-.134 5.524.84 7.6 2.71a9.626 9.626 0 012.9 7.21h-6.3a4.663 4.663 0 00-1.2-3.22 4.005 4.005 0 00-3.08-1.24 4.068 4.068 0 00-3.56 1.73c-.8 1.15-1.2 3-1.2 5.6v.7c0 2.61.39 4.49 1.19 5.63a4.092 4.092 0 003.65 1.72zM110.422 23.611a4.454 4.454 0 003-1 3.63 3.63 0 001.21-2.75h6.33a8.668 8.668 0 01-1.4 4.73 9.143 9.143 0 01-3.73 3.3 11.76 11.76 0 01-5.29 1.18 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.85 10.85 0 018.57-3.49 10.575 10.575 0 017.6 2.71 9.598 9.598 0 012.91 7.21h-6.33a4.651 4.651 0 00-1.21-3.22 4.492 4.492 0 00-6.64.49c-.8 1.15-1.21 3-1.21 5.6v.7c0 2.607.4 4.484 1.2 5.63a4.09 4.09 0 003.56 1.72z\",\"fill\":\"#fff\",\"fill-rule\":\"nonzero\"}}),_c('path',{attrs:{\"d\":\"M58.462.751h9.22l-6.14 12.3h6.15l-11.53 21.51 2.3-15.36h-7.68l7.68-18.45z\",\"fill\":\"#0fdd42\",\"fill-rule\":\"nonzero\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M-24.458-22.109h170v76h-170z\"}})])}\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!./Logo.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!./Logo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=14334b81&\"\nimport script from \"./Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./Logo.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('footer',{staticClass:\"container\"},[_c('div',{staticClass:\"py-3 py-md-5 mt-3 mt-md-5 border-top\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('Version',_vm._b({},'Version',_vm.version,false)),_c('Sponsor',{attrs:{\"sponsor\":_vm.sponsor}})],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',[(_vm.newVersionAvailable)?_c('button',{staticClass:\"btn btn-link ps-0 text-decoration-none link-dark text-nowrap\",attrs:{\"href\":\"#\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#updateModal\"}},[_c('fa-icon',{staticClass:\"icon me-1\",attrs:{\"icon\":\"gift\"}}),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableLong\"))+\": \")]),_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableShort\"))+\": \")]),_vm._v(\" \"+_vm._s(_vm.available)+\" \")],1):_c('a',{staticClass:\"btn btn-link ps-0 text-decoration-none link-dark text-nowrap\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.installed),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.version\"))+\" \"+_vm._s(_vm.installed)+\" \")]),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"updateModal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_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('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"footer.version.modalTitle\")))]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('div',{staticClass:\"modal-body\"},[(_vm.updateStarted)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"footer.version.modalUpdateStarted\")))]),_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(\" \"+_vm._s(_vm.$t(\"footer.version.modalInstalledVersion\"))+\": \"+_vm._s(_vm.installed)+\" \")])]),(_vm.releaseNotes)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.releaseNotes)}}):_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalNoReleaseNotes\"))+\" \"),_c('a',{attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\"GitHub\")]),_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,\"data-bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalCancel\"))+\" \")]),_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(\" \"+_vm._s(_vm.$t(\"footer.version.modalUpdate\"))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t(\"footer.version.modalUpdateNow\")))])]):_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalDownload\"))+\" \")])])])])])])])}\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=99c2e68a&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=99c2e68a&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 \"99c2e68a\",\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 (_vm.sponsor)?_c('div',{ref:\"sponsor\",staticClass:\"btn btn-link pe-0 text-decoration-none link-dark text-nowrap sponsor-button\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.surprise.apply(null, arguments)}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.sponsoredShort\")))]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.sponsoredLong\", { sponsor: _vm.sponsor })))]),_c('fa-icon',{staticClass:\"icon ms-1\",attrs:{\"icon\":['fas', 'heart']}})],1):_c('a',{staticClass:\"btn btn-link pe-0 text-decoration-none link-dark text-nowrap support-button\",attrs:{\"href\":\"https://github.com/sponsors/andig\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.supportProjectShort\")))]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.supportProjectLong\")))]),_c('fa-icon',{staticClass:\"icon ms-1 outline\",attrs:{\"icon\":['far', 'heart']}}),_c('fa-icon',{staticClass:\"icon ms-1 solid\",attrs:{\"icon\":['fas', 'heart']}})],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!./Sponsor.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!./Sponsor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sponsor.vue?vue&type=template&id=1eecc7b7&scoped=true&\"\nimport script from \"./Sponsor.vue?vue&type=script&lang=js&\"\nexport * from \"./Sponsor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sponsor.vue?vue&type=style&index=0&id=1eecc7b7&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 \"1eecc7b7\",\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!./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=1125402b&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.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('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.iconVisible),expression:\"iconVisible\"}],staticClass:\"btn btn-link text-decoration-none link-light text-nowrap\",attrs:{\"href\":\"#\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#notificationModal\"}},[_c('fa-icon',{class:_vm.iconClass,attrs:{\"icon\":\"exclamation-triangle\"}})],1),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"notificationModal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"notifications.modalTitle\")))]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('div',{staticClass:\"modal-body\"},_vm._l((_vm.notifications),function(msg,index){return _c('div',{key:index},[_c('small',{staticClass:\"d-flex justify-content-end mt-3\",attrs:{\"title\":_vm.fmtAbsoluteDate(msg.time)}},[_vm._v(\" \"+_vm._s(_vm.fmtTimeAgo(msg.time))+\" \")]),_c('p',{staticClass:\"d-flex align-items-baseline\"},[_c('fa-icon',{staticClass:\"flex-grow-0 d-block\",class:{\n\t\t\t\t\t\t\t\t\t'text-danger': msg.type === 'error',\n\t\t\t\t\t\t\t\t\t'text-warning': msg.type === 'warn',\n\t\t\t\t\t\t\t\t},attrs:{\"icon\":\"exclamation-triangle\"}}),_c('span',{staticClass:\"flex-grow-1 px-2 py-1 text-break\"},[_vm._v(\" \"+_vm._s(msg.message)+\" \")]),(msg.count > 1)?_c('span',{staticClass:\"badge rounded-pill bg-secondary\"},[_vm._v(\" \"+_vm._s(msg.count)+\" \")]):_vm._e()],1)])}),0),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"},on:{\"click\":_vm.clear}},[_vm._v(\" \"+_vm._s(_vm.$t(\"notifications.dismissAll\"))+\" \")])])])])])])}\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 fmtKw: function (watt, kw = true, withUnit = true) {\n const digits = kw ? 1 : 0;\n const value = kw ? watt / 1000 : watt;\n let unit = \"\";\n if (withUnit) {\n unit = kw ? \" kW\" : \" W\";\n }\n return (\n this.$n(value, { minimumFractionDigits: digits, maximumFractionDigits: digits }) + unit\n );\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 fmtDayString: function (date) {\n const YY = `${date.getFullYear()}`;\n const MM = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const DD = `${date.getDate()}`.padStart(2, \"0\");\n return `${YY}-${MM}-${DD}`;\n },\n fmtTimeString: function (date) {\n const HH = `${date.getHours()}`.padStart(2, \"0\");\n const mm = `${date.getMinutes()}`.padStart(2, \"0\");\n return `${HH}:${mm}`;\n },\n fmtAbsoluteDate: function (date) {\n return new Intl.DateTimeFormat(\"default\", {\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n }).format(date);\n },\n fmtTimeAgo: function (date) {\n const units = {\n year: 24 * 60 * 60 * 1000 * 365,\n month: (24 * 60 * 60 * 1000 * 365) / 12,\n day: 24 * 60 * 60 * 1000,\n hour: 60 * 60 * 1000,\n minute: 60 * 1000,\n second: 1000,\n };\n\n const rtf = new Intl.RelativeTimeFormat(\"default\", { numeric: \"auto\" });\n const elapsed = date - new Date();\n\n // \"Math.abs\" accounts for both \"past\" & \"future\" scenarios\n for (var u in units)\n if (Math.abs(elapsed) > units[u] || u == \"second\")\n return rtf.format(Math.round(elapsed / units[u]), u);\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!./Notifications.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!./Notifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notifications.vue?vue&type=template&id=17bdc310&\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js&\"\nexport * from \"./Notifications.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 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.app[k] === \"function\") {\n window.app[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=39045b4c&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=39045b4c&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 \"39045b4c\",\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',{staticClass:\"flex-grow-1 d-flex flex-column\"},[_c('h3',{staticClass:\"d-none d-md-block my-4\"},[_vm._v(\" \"+_vm._s(_vm.siteTitle || \"Home\")+\" \")]),_c('Energyflow',_vm._b({},'Energyflow',_vm.energyflow,false)),_c('hr',{staticClass:\"w-100 my-4\"}),_c('div',{staticClass:\"flex-grow-1 d-flex justify-content-around flex-column\"},[_vm._l((_vm.loadpoints),function(loadpoint,id){return [(id > 0)?_c('hr',{key:id + '_hr',staticClass:\"w-100 my-4\"}):_vm._e(),_c('Loadpoint',_vm._b({key:id,attrs:{\"single\":_vm.loadpoints.length === 1,\"id\":id}},'Loadpoint',loadpoint,false))]})],2)],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 align-items-start align-items-md-center mt-4 energyflow\",on:{\"click\":_vm.toggleDetails}},[_c('Visualization',{staticClass:\"\\n\\t\\t\\t\\tcol-12\\n\\t\\t\\t\\toffset-md-1\\n\\t\\t\\t\\tcol-md-6\\n\\t\\t\\t\\toffset-lg-1\\n\\t\\t\\t\\tcol-lg-8\\n\\t\\t\\t\\toffset-xl-1\\n\\t\\t\\t\\tcol-xl-6\\n\\t\\t\\t\\toffset-xxl-1\\n\\t\\t\\t\\tcol-xl-8\\n\\t\\t\\t\\torder-md-2\\n\\t\\t\\t\",attrs:{\"showDetails\":_vm.showDetails,\"gridImport\":_vm.gridImport,\"selfConsumption\":_vm.selfConsumption,\"pvExport\":_vm.pvExport,\"batteryCharge\":_vm.batteryCharge,\"batteryDischarge\":_vm.batteryDischarge,\"pvProduction\":_vm.pvProduction,\"houseConsumption\":_vm.houseConsumption,\"batterySoC\":_vm.batterySoC,\"valuesInKw\":_vm.valuesInKw}}),_c('div',{staticClass:\"col-12 col-sm-6 col-md-5 col-lg-3 col-xl-3 order-md-1 mt-2 mt-md-0\",class:(\"\" + (_vm.showDetails ? 'd-block' : \"d-none d-md-block\"))},[_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-pv-production\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('fa-icon',{attrs:{\"icon\":\"sun\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.pvProduction\")))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.pvProduction)))])]),_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-house-consumption\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('fa-icon',{attrs:{\"icon\":\"home\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.houseConsumption\")))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.houseConsumption)))])]),(_vm.batteryConfigured)?_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-battery\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('BatteryIcon',{attrs:{\"soc\":_vm.batterySoC,\"charge\":_vm.batteryCharge > 0,\"discharge\":_vm.batteryDischarge > 0}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1 text-truncate\"},[(_vm.batteryCharge)?_c('span',[_vm._v(_vm._s(_vm.$t(\"main.energyflow.batteryCharge\")))]):(_vm.batteryDischarge)?_c('span',[_vm._v(_vm._s(_vm.$t(\"main.energyflow.batteryDischarge\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"main.energyflow.battery\")))])]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(\" \"+_vm._s(_vm.batterySoC)+\"% / \"+_vm._s(_vm.kw(Math.abs(_vm.batteryPower)))+\" \")])]):_vm._e()]),(_vm.showDetails)?_c('div',{staticClass:\"\\n\\t\\t\\t\\tcol-12 col-sm-6\\n\\t\\t\\t\\toffset-md-6\\n\\t\\t\\t\\tcol-md-6\\n\\t\\t\\t\\toffset-lg-4\\n\\t\\t\\t\\tcol-lg-8\\n\\t\\t\\t\\td-block d-md-flex\\n\\t\\t\\t\\torder-md-3\\n\\t\\t\\t\\tjustify-content-between\\n\\t\\t\\t\\tmt-2\\n\\t\\t\\t\"},[_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-grid-import\":\"\"}},[_c('span',{staticClass:\"color-grid details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.gridImport\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.gridImport))+\" \")])]),_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-self-consumption\":\"\"}},[_c('span',{staticClass:\"color-self details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.selfConsumption\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.selfConsumption))+\" \")])]),_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-pv-export\":\"\"}},[_c('span',{staticClass:\"color-export details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.pvExport\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.pvExport))+\" \")])])]):_vm._e()],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:\"visualization\",class:{ 'visualization--ready': _vm.visualizationReady }},[_c('div',{staticClass:\"label-scale\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.batteryDischarge)?_c('div',{staticClass:\"label-bar label-bar--down\",class:{ 'label-bar--hide-icon': _vm.hideLabelIcon(_vm.batteryDischarge, 44) },style:({ width: _vm.widthTotal(_vm.batteryDischarge) })},[_c('div',{staticClass:\"label-bar-scale\"},[_c('div',{staticClass:\"label-bar-icon\"},[_c('BatteryIcon',{attrs:{\"soc\":_vm.batterySoC,\"discharge\":\"\"}})],1)])]):_vm._e(),(_vm.pvProduction)?_c('div',{staticClass:\"label-bar label-bar--down\",class:{ 'label-bar--hide-icon': _vm.hideLabelIcon(_vm.pvProduction) },style:({ width: _vm.widthTotal(_vm.pvProduction) })},[_c('div',{staticClass:\"label-bar-scale\"},[_c('div',{staticClass:\"label-bar-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"sun\"}})],1)])]):_vm._e()])]),_c('div',{ref:\"site_progress\",staticClass:\"site-progress\"},[_c('div',{staticClass:\"site-progress-bar grid-import\",style:({ width: _vm.widthTotal(_vm.gridImportAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.gridImport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.gridImport))+\" \")]):(_vm.powerLabelSomeSpace(_vm.gridImport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.gridImport))+\" \")]):_vm._e()]),_c('div',{staticClass:\"site-progress-bar self-consumption\",style:({ width: _vm.widthTotal(_vm.selfConsumptionAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.selfConsumption))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.selfConsumption))+\" \")]):(_vm.powerLabelSomeSpace(_vm.selfConsumption))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.selfConsumption))+\" \")]):_vm._e()]),_c('div',{staticClass:\"site-progress-bar pv-export\",style:({ width: _vm.widthTotal(_vm.pvExportAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.pvExport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.pvExport))+\" \")]):(_vm.powerLabelSomeSpace(_vm.pvExport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.pvExport))+\" \")]):_vm._e()]),(_vm.totalAdjusted <= 0)?_c('div',{staticClass:\"site-progress-bar bg-light border no-wrap w-100\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"main.energyflow.noEnergy\")))])]):_vm._e()]),_c('div',{staticClass:\"label-scale\"},[_c('div',{staticClass:\"d-flex justify-content-start\"},[(_vm.houseConsumption)?_c('div',{staticClass:\"label-bar label-bar--up\",class:{ 'label-bar--hide-icon': _vm.hideLabelIcon(_vm.houseConsumption) },style:({ width: _vm.widthTotal(_vm.houseConsumption) })},[_c('div',{staticClass:\"label-bar-scale\"},[_c('div',{staticClass:\"label-bar-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"home\"}})],1)])]):_vm._e(),(_vm.batteryCharge)?_c('div',{staticClass:\"label-bar label-bar--up\",class:{ 'label-bar--hide-icon': _vm.hideLabelIcon(_vm.batteryCharge, 44) },style:({ width: _vm.widthTotal(_vm.batteryCharge) })},[_c('div',{staticClass:\"label-bar-scale\"},[_c('div',{staticClass:\"label-bar-icon\"},[_c('BatteryIcon',{attrs:{\"soc\":_vm.batterySoC,\"charge\":\"\"}})],1)])]):_vm._e()])])])}\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',{class:{ 'power--in': _vm.charge, 'power--out': _vm.discharge }},[_c('fa-icon',{staticClass:\"battery\",attrs:{\"icon\":_vm.batteryIcon}}),_c('fa-icon',{staticClass:\"arrow\",attrs:{\"icon\":\"angle-double-right\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./BatteryIcon.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!./BatteryIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BatteryIcon.vue?vue&type=template&id=2dcca16c&scoped=true&\"\nimport script from \"./BatteryIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./BatteryIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BatteryIcon.vue?vue&type=style&index=0&id=2dcca16c&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 \"2dcca16c\",\n null\n \n)\n\nexport default component.exports","\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!./Visualization.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!./Visualization.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Visualization.vue?vue&type=template&id=034e0a25&scoped=true&\"\nimport script from \"./Visualization.vue?vue&type=script&lang=js&\"\nexport * from \"./Visualization.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Visualization.vue?vue&type=style&index=0&id=034e0a25&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 \"034e0a25\",\n null\n \n)\n\nexport default component.exports","\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!./Energyflow.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!./Energyflow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Energyflow.vue?vue&type=template&id=2d1d1a46&scoped=true&\"\nimport script from \"./Energyflow.vue?vue&type=script&lang=js&\"\nexport * from \"./Energyflow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Energyflow.vue?vue&type=style&index=0&id=2d1d1a46&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 \"2d1d1a46\",\n null\n \n)\n\nexport default component.exports","import Energyflow from \"./Energyflow.vue\";\n\nexport default Energyflow;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{staticClass:\"h3 mb-4 d-sm-block\",class:{ 'd-none': _vm.single }},[_vm._v(\" \"+_vm._s(_vm.title || _vm.$t(\"main.loadpoint.fallbackName\"))+\" \")]),(_vm.remoteDisabled == 'soft')?_c('div',{staticClass:\"alert alert-warning mt-4 mb-2\",attrs:{\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.loadpoint.remoteDisabledSoft\", { source: _vm.remoteDisabledSource }))+\" \")]):_vm._e(),(_vm.remoteDisabled == 'hard')?_c('div',{staticClass:\"alert alert-danger mt-4 mb-2\",attrs:{\"role\":\"alert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.loadpoint.remoteDisabledHard\", { source: _vm.remoteDisabledSource }))+\" \")]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('Mode',{staticClass:\"col-12 col-md-6 col-lg-4 mb-4\",attrs:{\"mode\":_vm.mode},on:{\"updated\":_vm.setTargetMode}}),_c('Vehicle',_vm._b({staticClass:\"col-12 col-md-6 col-lg-8 mb-4\",on:{\"target-soc-updated\":_vm.setTargetSoC}},'Vehicle',_vm.vehicle,false))],1),_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',[_c('div',{staticClass:\"mb-3\"},[_vm._v(_vm._s(_vm.$t(\"main.mode.title\")))]),_c('div',{staticClass:\"btn-group w-100\",attrs:{\"role\":\"group\"}},[_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'off' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('off')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.stop\"))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'now' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('now')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.now\"))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'minpv' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('minpv')}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.minpvShort\"))+\" \")]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.minpvLong\"))+\" \")])]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'pv' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('pv')}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.pvShort\"))+\" \")]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.pvLong\"))+\" \")])])])])}\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!./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=1ff39d22&scoped=true&\"\nimport script from \"./Mode.vue?vue&type=script&lang=js&\"\nexport * from \"./Mode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mode.vue?vue&type=style&index=0&id=1ff39d22&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 \"1ff39d22\",\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-3\"},[_vm._v(\" \"+_vm._s(_vm.socTitle || _vm.$t(\"main.vehicle.fallbackName\"))+\" \")]),_c('VehicleSoc',_vm._b({on:{\"target-soc-updated\":_vm.targetSocUpdated}},'VehicleSoc',_vm.vehicleSoc,false)),_c('VehicleSubline',_vm._b({staticClass:\"my-1\"},'VehicleSubline',_vm.vehicleSubline,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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","var render = function () {\nvar _obj, _obj$1;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vehicle-soc\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar\",class:( _obj = {\n\t\t\t\t'progress-bar-striped': _vm.charging,\n\t\t\t\t'progress-bar-animated': _vm.charging\n\t\t\t}, _obj[_vm.progressColor] = true, _obj ),style:({ width: (_vm.socChargeDisplayWidth + \"%\") }),attrs:{\"role\":\"progressbar\"}},[_vm._v(\" \"+_vm._s(_vm.socChargeDisplayValue)+\" \")]),(_vm.remainingSoCWidth > 0 && _vm.enabled)?_c('div',{staticClass:\"progress-bar\",class:( _obj$1 = {}, _obj$1[_vm.progressColor] = true, _obj$1['bg-muted'] = true, _obj$1 ),style:({ width: (_vm.remainingSoCWidth + \"%\"), transition: 'none' }),attrs:{\"role\":\"progressbar\"}}):_vm._e()]),(_vm.connected && _vm.hasVehicle && _vm.visibleTargetSoC)?_c('div',{staticClass:\"target\",class:{ 'target--slider-hidden': _vm.allowSliderHiding && _vm.visibleTargetSoC === 100 }},[_c('div',{staticClass:\"target-label d-flex align-items-center justify-content-center\",style:({ left: (_vm.visibleTargetSoC + \"%\") })},[_vm._v(\" \"+_vm._s(_vm.visibleTargetSoC)+\"% \")]),_c('input',{staticClass:\"target-slider\",attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"5\"},domProps:{\"value\":_vm.visibleTargetSoC},on:{\"input\":_vm.movedTargetSoC,\"change\":_vm.setTargetSoC}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./VehicleSoc.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!./VehicleSoc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VehicleSoc.vue?vue&type=template&id=3c09ac1a&scoped=true&\"\nimport script from \"./VehicleSoc.vue?vue&type=script&lang=js&\"\nexport * from \"./VehicleSoc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VehicleSoc.vue?vue&type=style&index=0&id=3c09ac1a&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 \"3c09ac1a\",\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:\"d-flex justify-content-between align-items-center\"},[_c('small',{staticClass:\"text-secondary\"},[(_vm.minSoCActive)?_c('span',[_c('fa-icon',{staticClass:\"text-muted me-1\",attrs:{\"icon\":\"exclamation-circle\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"main.vehicleSubline.mincharge\", { soc: _vm.minSoC }))+\" \")],1):_vm._e()]),(_vm.targetChargeEnabled)?_c('small',{class:{\n\t\t\tinvisible: !_vm.targetSoC,\n\t\t\t'text-primary': _vm.timerActive,\n\t\t\t'text-secondary': !_vm.timerActive,\n\t\t}},[_vm._v(\" \"+_vm._s(_vm.targetTimeLabel())+\" \"),_c('fa-icon',{staticClass:\"ms-1\",attrs:{\"icon\":\"clock\"}})],1):_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!./VehicleSubline.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!./VehicleSubline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VehicleSubline.vue?vue&type=template&id=f97075e4&\"\nimport script from \"./VehicleSubline.vue?vue&type=script&lang=js&\"\nexport * from \"./VehicleSubline.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!./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=81ebf912&\"\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',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3 offset-lg-4\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.loadpointDetails.power\"))+\" \"),(_vm.climater == 'heating')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"temperature-low\"}}):_vm._e(),(_vm.climater == 'cooling')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"temperature-high\"}}):_vm._e(),(_vm.climater == 'on')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"thermometer-half\"}}):_vm._e()],1),_c('h3',{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-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.charged\")))]),_c('h3',{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 && _vm.range >= 0)?_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.range\")))]),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(Math.round(_vm.range))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"km\")])])]):_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.duration\")))]),_c('h3',{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-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.remaining\")))]),_c('h3',{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=2fc28c60&\"\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","\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=1e0934a7&\"\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=a1c9082a&\"\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