diff --git a/dist/css/index.e1913a59.css b/dist/css/index.a26a8c8b.css similarity index 92% rename from dist/css/index.e1913a59.css rename to dist/css/index.a26a8c8b.css index eab98c14b..a31289c36 100644 --- a/dist/css/index.e1913a59.css +++ b/dist/css/index.a26a8c8b.css @@ -1 +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);--bs-primary-rgb:58,186,44}.bg-primary{background-color:var(--evcc-dark-green)!important}a{color:var(--evcc-dark-green)}.progress-bar-animated{animation-direction:reverse}.bg-muted{opacity:.25}.btn-primary,.btn-primary:focus{background-color:var(--bs-gray-dark);border-color:var(--bs-gray-dark)}.btn-primary:active,.btn-primary:hover{background-color:var(--evcc-dark-green);border-color:var(--evcc-dark-green)}.btn-outline-primary{color:var(--bs-gray-dark);border-color:var(--bs-gray-dark)}.btn-outline-primary:hover{background-color:var(--evcc-dark-green);border-color:var(--evcc-dark-green)}.text-evcc{color:var(--evcc-dark-green)}.text-grid{color:var(--evcc-grid)}@media screen and (min-width:400px) and (max-width:574px){.d-xs-none{display:none!important}.d-xs-inline{display:inline!important}}.cursor-pointer{cursor:pointer}.v-popper__inner{margin:0 12px!important}.icon[data-v-7872ae76]{color:var(--evcc-dark-green)}.confetti-button[data-v-bcb1af48]{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:575px){.modal-dialog.modal-dialog-centered[data-v-0be46c78]{align-items:flex-end;margin-bottom:0}.modal.fade .modal-dialog[data-v-0be46c78]{transition:transform .4s ease;transform:translateY(150px)}.modal.show .modal-dialog[data-v-0be46c78]{transform:none}.modal-dialog-scrollable[data-v-0be46c78]{height:calc(100% - .5rem)}.modal-content[data-v-0be46c78]{border-radius:1rem 1rem 0 0}}.chart[data-v-0be46c78]{height:1.6rem}.chart-item--self[data-v-0be46c78]{background-color:var(--evcc-self)}.chart-item--grid[data-v-0be46c78]{background-color:var(--evcc-grid)}.chart-item--no-data[data-v-0be46c78]{background-color:var(--bs-gray)}.chart-item[data-v-0be46c78]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.logo[data-v-69de83c0]{width:85px}.app[data-v-69de83c0]{min-height:100vh}.title[data-v-69de83c0]{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)}.grid[data-v-c8e84f48]{transform:translateX(.35rem);transition-property:transform;transition-duration:.25s;transition-timing-function:ease}.power-export .grid[data-v-c8e84f48]{transform:translateX(.9rem)}.power-import .grid[data-v-c8e84f48]{transform:translateX(-.1rem)}.arrow[data-v-c8e84f48]{margin-left:-.2rem;opacity:0;transform:translateX(-.5rem);transition-property:opacity,transform;transition-duration:.25s;transition-timing-function:ease}.power-export .arrow[data-v-c8e84f48]{opacity:1;transform:translateX(-.9rem) scaleX(1)}.power-import .arrow[data-v-c8e84f48]{opacity:1;transform:translateX(.1em) scaleX(1)}.label-bar[data-v-17da7e54]{width:0;margin:0;height:1.7rem;padding:.6rem 0;opacity:1;overflow:hidden}.label-bar-scale--hidden[data-v-17da7e54]{opacity:0}.label-bar-scale[data-v-17da7e54]{border:1px solid var(--bs-gray);height:.5rem;background:none;display:flex;justify-content:center;align-items:center;white-space:nowrap;border-radius:0;transition:border-radius .5s linear}.label-bar--top .label-bar-scale[data-v-17da7e54]{border-bottom:none}.label-bar--bottom .label-bar-scale[data-v-17da7e54]{border-top:none}.label-bar--top.label-bar--first .label-bar-scale[data-v-17da7e54]{border-top-left-radius:4px}.label-bar--top.label-bar--last .label-bar-scale[data-v-17da7e54]{border-top-right-radius:4px}.label-bar--bottom.label-bar--first .label-bar-scale[data-v-17da7e54]{border-bottom-left-radius:4px}.label-bar--bottom.label-bar--last .label-bar-scale[data-v-17da7e54]{border-bottom-right-radius:4px}.label-bar:not(.label-bar--first) .label-bar-scale[data-v-17da7e54]{border-left:none}.label-bar-icon[data-v-17da7e54]{background-color:#fff;color:var(--bs-gray);padding:0 .3rem;opacity:1}.label-bar--top .label-bar-icon[data-v-17da7e54]{margin-top:-6px}.label-bar--bottom .label-bar-icon[data-v-17da7e54]{margin-top:6px}.label-bar--hidden[data-v-17da7e54],.label-bar--hide-icon .label-bar-icon[data-v-17da7e54]{opacity:0}.site-progress[data-v-0c035ffc]{--height:38px;height:var(--height);margin:.25rem 0;border-radius:5px;display:flex;overflow:hidden}.site-progress-bar[data-v-0c035ffc]{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;width:0}.visualization--ready .site-progress-bar[data-v-0c035ffc]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.grid-import[data-v-0c035ffc]{background-color:var(--evcc-grid);color:var(--bs-white)}.self-consumption[data-v-0c035ffc]{background-color:var(--evcc-self);color:var(--bs-white)}.pv-export[data-v-0c035ffc]{background-color:var(--evcc-export);color:var(--bs-dark)}.power[data-v-0c035ffc]{display:block;margin:0 .2rem;white-space:nowrap;overflow:hidden}.visualization--ready[data-v-0c035ffc] .label-bar{transition-property:width,opacity;transition-duration:.5s,.25s;transition-timing-function:linear,ease}.visualization--ready[data-v-0c035ffc] .label-bar-icon{transition:opacity .25s ease-in}.energyflow[data-v-c2b4f05e]{cursor:pointer}.color-grid[data-v-c2b4f05e]{color:var(--evcc-grid)}.color-self[data-v-c2b4f05e]{color:var(--evcc-self)}.color-export[data-v-c2b4f05e]{color:var(--evcc-export)}.details-icon[data-v-c2b4f05e]{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-66f68a62]{--height:38px;--thumb-overlap:3px;--thumb-width:3px;--thumb-horizontal-padding:15px;--label-height:26px;position:relative;height:var(--height)}.progress[data-v-66f68a62]{height:100%;font-size:1rem}.progress-bar.bg-muted[data-v-66f68a62]{color:var(--white)}.bg-light[data-v-66f68a62]{color:var(--bs-gray-dark)}.target-label[data-v-66f68a62]{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-66f68a62]{-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-66f68a62]:focus{outline:none}.target-slider[data-v-66f68a62]::-webkit-slider-runnable-track{position:relative;background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-66f68a62]::-moz-range-track{background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-66f68a62]::-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;box-shadow:none}.target-slider[data-v-66f68a62]::-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-66f68a62],.target--slider-hidden .target-slider[data-v-66f68a62]::-webkit-slider-thumb{opacity:0}.target--slider-hidden .target-label[data-v-66f68a62],.target--slider-hidden .target-slider[data-v-66f68a62]::-moz-range-thumb{opacity:0}.target:hover .target-label[data-v-66f68a62],.target:hover .target-slider[data-v-66f68a62]::-webkit-slider-thumb{opacity:1;transition-delay:0s}.target:hover .target-label[data-v-66f68a62],.target:hover .target-slider[data-v-66f68a62]::-moz-range-thumb{opacity:1;transition-delay:0s}.dots[data-v-60c12baf]{height:1em;width:1em}.dots-back[data-v-60c12baf],.dots-front[data-v-60c12baf]{display:block}.dots-back[data-v-60c12baf]{opacity:.25}.dots-front[data-v-60c12baf]{opacity:1}.direction-up .dots-front[data-v-60c12baf]{-webkit-animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite normal;animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite normal}.direction-down .dots-front[data-v-60c12baf]{animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite reverse}@-webkit-keyframes dots-vertical-data-v-60c12baf{25%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}75%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes dots-vertical-data-v-60c12baf{25%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}75%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.root[data-v-60c12baf] svg{display:block} \ No newline at end of file +: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);--bs-primary-rgb:58,186,44}.bg-primary{background-color:var(--evcc-dark-green)!important}a{color:var(--evcc-dark-green)}.progress-bar-animated{animation-direction:reverse}.bg-muted{opacity:.25}.btn-primary,.btn-primary:focus{background-color:var(--bs-gray-dark);border-color:var(--bs-gray-dark)}.btn-primary:active,.btn-primary:hover{background-color:var(--evcc-dark-green);border-color:var(--evcc-dark-green)}.btn-outline-primary{color:var(--bs-gray-dark);border-color:var(--bs-gray-dark)}.btn-outline-primary:hover{background-color:var(--evcc-dark-green);border-color:var(--evcc-dark-green)}.text-evcc{color:var(--evcc-dark-green)}.text-grid{color:var(--evcc-grid)}@media screen and (min-width:400px) and (max-width:574px){.d-xs-none{display:none!important}.d-xs-inline{display:inline!important}}.cursor-pointer{cursor:pointer}.v-popper__inner{margin:0 12px!important}.icon[data-v-7872ae76]{color:var(--evcc-dark-green)}.confetti-button[data-v-bcb1af48]{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:575px){.modal-dialog.modal-dialog-centered[data-v-68e21a90]{align-items:flex-end;margin-bottom:0}.modal.fade .modal-dialog[data-v-68e21a90]{transition:transform .4s ease;transform:translateY(150px)}.modal.show .modal-dialog[data-v-68e21a90]{transform:none}.modal-dialog-scrollable[data-v-68e21a90]{height:calc(100% - .5rem)}.modal-content[data-v-68e21a90]{border-radius:1rem 1rem 0 0}}.chart[data-v-68e21a90]{height:1.6rem}.chart-item--self[data-v-68e21a90]{background-color:var(--evcc-self)}.chart-item--grid[data-v-68e21a90]{background-color:var(--evcc-grid)}.chart-item--no-data[data-v-68e21a90]{background-color:var(--bs-gray)}.chart-item[data-v-68e21a90]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.logo[data-v-69de83c0]{width:85px}.app[data-v-69de83c0]{min-height:100vh}.title[data-v-69de83c0]{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)}.grid[data-v-c8e84f48]{transform:translateX(.35rem);transition-property:transform;transition-duration:.25s;transition-timing-function:ease}.power-export .grid[data-v-c8e84f48]{transform:translateX(.9rem)}.power-import .grid[data-v-c8e84f48]{transform:translateX(-.1rem)}.arrow[data-v-c8e84f48]{margin-left:-.2rem;opacity:0;transform:translateX(-.5rem);transition-property:opacity,transform;transition-duration:.25s;transition-timing-function:ease}.power-export .arrow[data-v-c8e84f48]{opacity:1;transform:translateX(-.9rem) scaleX(1)}.power-import .arrow[data-v-c8e84f48]{opacity:1;transform:translateX(.1em) scaleX(1)}.label-bar[data-v-17da7e54]{width:0;margin:0;height:1.7rem;padding:.6rem 0;opacity:1;overflow:hidden}.label-bar-scale--hidden[data-v-17da7e54]{opacity:0}.label-bar-scale[data-v-17da7e54]{border:1px solid var(--bs-gray);height:.5rem;background:none;display:flex;justify-content:center;align-items:center;white-space:nowrap;border-radius:0;transition:border-radius .5s linear}.label-bar--top .label-bar-scale[data-v-17da7e54]{border-bottom:none}.label-bar--bottom .label-bar-scale[data-v-17da7e54]{border-top:none}.label-bar--top.label-bar--first .label-bar-scale[data-v-17da7e54]{border-top-left-radius:4px}.label-bar--top.label-bar--last .label-bar-scale[data-v-17da7e54]{border-top-right-radius:4px}.label-bar--bottom.label-bar--first .label-bar-scale[data-v-17da7e54]{border-bottom-left-radius:4px}.label-bar--bottom.label-bar--last .label-bar-scale[data-v-17da7e54]{border-bottom-right-radius:4px}.label-bar:not(.label-bar--first) .label-bar-scale[data-v-17da7e54]{border-left:none}.label-bar-icon[data-v-17da7e54]{background-color:#fff;color:var(--bs-gray);padding:0 .3rem;opacity:1}.label-bar--top .label-bar-icon[data-v-17da7e54]{margin-top:-6px}.label-bar--bottom .label-bar-icon[data-v-17da7e54]{margin-top:6px}.label-bar--hidden[data-v-17da7e54],.label-bar--hide-icon .label-bar-icon[data-v-17da7e54]{opacity:0}.site-progress[data-v-0c035ffc]{--height:38px;height:var(--height);margin:.25rem 0;border-radius:5px;display:flex;overflow:hidden}.site-progress-bar[data-v-0c035ffc]{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;width:0}.visualization--ready .site-progress-bar[data-v-0c035ffc]{transition-property:width;transition-duration:.5s;transition-timing-function:linear}.grid-import[data-v-0c035ffc]{background-color:var(--evcc-grid);color:var(--bs-white)}.self-consumption[data-v-0c035ffc]{background-color:var(--evcc-self);color:var(--bs-white)}.pv-export[data-v-0c035ffc]{background-color:var(--evcc-export);color:var(--bs-dark)}.power[data-v-0c035ffc]{display:block;margin:0 .2rem;white-space:nowrap;overflow:hidden}.visualization--ready[data-v-0c035ffc] .label-bar{transition-property:width,opacity;transition-duration:.5s,.25s;transition-timing-function:linear,ease}.visualization--ready[data-v-0c035ffc] .label-bar-icon{transition:opacity .25s ease-in}.energyflow[data-v-c2b4f05e]{cursor:pointer}.color-grid[data-v-c2b4f05e]{color:var(--evcc-grid)}.color-self[data-v-c2b4f05e]{color:var(--evcc-self)}.color-export[data-v-c2b4f05e]{color:var(--evcc-export)}.details-icon[data-v-c2b4f05e]{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-66f68a62]{--height:38px;--thumb-overlap:3px;--thumb-width:3px;--thumb-horizontal-padding:15px;--label-height:26px;position:relative;height:var(--height)}.progress[data-v-66f68a62]{height:100%;font-size:1rem}.progress-bar.bg-muted[data-v-66f68a62]{color:var(--white)}.bg-light[data-v-66f68a62]{color:var(--bs-gray-dark)}.target-label[data-v-66f68a62]{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-66f68a62]{-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-66f68a62]:focus{outline:none}.target-slider[data-v-66f68a62]::-webkit-slider-runnable-track{position:relative;background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-66f68a62]::-moz-range-track{background:transparent;border:none;height:100%;cursor:pointer}.target-slider[data-v-66f68a62]::-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;box-shadow:none}.target-slider[data-v-66f68a62]::-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-66f68a62],.target--slider-hidden .target-slider[data-v-66f68a62]::-webkit-slider-thumb{opacity:0}.target--slider-hidden .target-label[data-v-66f68a62],.target--slider-hidden .target-slider[data-v-66f68a62]::-moz-range-thumb{opacity:0}.target:hover .target-label[data-v-66f68a62],.target:hover .target-slider[data-v-66f68a62]::-webkit-slider-thumb{opacity:1;transition-delay:0s}.target:hover .target-label[data-v-66f68a62],.target:hover .target-slider[data-v-66f68a62]::-moz-range-thumb{opacity:1;transition-delay:0s}.dots[data-v-60c12baf]{height:1em;width:1em}.dots-back[data-v-60c12baf],.dots-front[data-v-60c12baf]{display:block}.dots-back[data-v-60c12baf]{opacity:.25}.dots-front[data-v-60c12baf]{opacity:1}.direction-up .dots-front[data-v-60c12baf]{-webkit-animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite normal;animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite normal}.direction-down .dots-front[data-v-60c12baf]{animation:dots-vertical-data-v-60c12baf 2s steps(4,jump-none) infinite reverse}@-webkit-keyframes dots-vertical-data-v-60c12baf{25%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}75%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes dots-vertical-data-v-60c12baf{25%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}75%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.root[data-v-60c12baf] svg{display:block} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 451344b67..bfa599312 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,5 +1,5 @@ -evcc
\ No newline at end of file + };
\ No newline at end of file diff --git a/dist/js/index.333afce9.js b/dist/js/index.333afce9.js new file mode 100644 index 000000000..9558ff9d1 --- /dev/null +++ b/dist/js/index.333afce9.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var i,o,r=e[0],l=e[1],c=e[2],u=0,m=[];ut,t=>{const e=t.config.baseURL+t.config.url,a=`${t.message}: API request failed ${e}`;window.app.error({message:a})});var m=u,p=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"app d-flex flex-column justify-content-between overflow-hidden"},[a("div",{staticClass:"flex-grow-1 d-flex flex-column justify-content-between"},[a("nav",{staticClass:"navbar navbar-expand-lg navbar-dark bg-dark"},[a("div",{staticClass:"container"},[a("a",{staticClass:"navbar-brand",attrs:{href:"https://evcc.io/",target:"_blank"}},[a("Logo",{staticClass:"logo"})],1),a("div",{staticClass:"d-flex flex-grow-1 justify-content-end"},[a("Notifications",{attrs:{notifications:t.notifications}}),t._m(0)],1),a("div",{staticClass:"collapse navbar-collapse flex-grow-0",attrs:{id:"navbarNavAltMarkup"}},[a("ul",{staticClass:"navbar-nav"},[a("li",{staticClass:"nav-item"},[a("a",{staticClass:"nav-link",attrs:{href:"https://docs.evcc.io/blog/",target:"_blank"}},[t._v(" "+t._s(t.$t("header.blog"))+" ")])]),a("li",{staticClass:"nav-item"},[a("a",{staticClass:"nav-link",attrs:{href:"https://docs.evcc.io/docs/Home/",target:"_blank"}},[t._v(" "+t._s(t.$t("header.docs"))+" ")])]),a("li",{staticClass:"nav-item"},[a("a",{staticClass:"nav-link",attrs:{href:"https://github.com/evcc-io/evcc",target:"_blank"}},[t._v(" "+t._s(t.$t("header.github"))+" ")])])])])])]),a("router-view",{staticClass:"flex-grow-1 d-flex flex-column justify-content-stretch"})],1),a("Footer",{attrs:{version:t.version,sponsor:t.sponsor,savings:t.savings}})],1)},h=[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("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"}},[a("span",{staticClass:"navbar-toggler-icon"})])}],g=a("ad3d"),v=a("ecee"),f=a("8475"),b=a("39f0"),C=a("8718"),_=a("7c8d"),w=a("c6b3"),y=a("aeda"),S=a("5d61"),x=a("5dae"),T=a("8560"),D=a("af2b"),k=a("dac1"),P=a("cca2"),$=a("eb9d"),N=a("f303"),L=a("7116"),I=a("fdca"),E=a("6023"),A=a("91fb"),B=a("184c"),j=a("ba01"),M=a("a17a"),R=a("28d3"),V=a("f15f"),U=a("6c88"),z=a("adbc"),W=a("a819"),H=a("23dc");v["c"].add(S["faAngleDown"],y["faAngleUp"],f["faBatteryEmpty"],b["faBatteryFull"],C["faBatteryHalf"],_["faBatteryQuarter"],w["faBatteryThreeQuarters"],j["faBox"],V["faCar"],W["faAngleDoubleLeft"],H["faAngleDoubleRight"],x["faClock"],z["faExclamationCircle"],T["faExclamationTriangle"],B["faGift"],M["faHome"],R["faWrench"],E["faHeart"],A["faHeart"],U["faSquare"],D["faSun"],k["faSun"],P["faInfoCircle"],$["faFlask"],N["faTemperatureHigh"],L["faTemperatureLow"],I["faThermometerHalf"]),i["a"].component("fa-icon",g["a"]);var O=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("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"}},[a("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"}}),a("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"}}),a("path",{attrs:{fill:"none",d:"M-24.458-22.109h170v76h-170z"}})])},F=[],K={name:"Logo"},G=K,Z=a("2877"),q=Object(Z["a"])(G,O,F,!1,null,null,null),Y=q.exports,J=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("footer",{staticClass:"container"},[a("div",{staticClass:"py-3 py-md-5 mt-3 mt-md-5 border-top"},[a("div",{staticClass:"d-flex justify-content-between"},[a("Version",t._b({},"Version",t.version,!1)),a("Savings",t._b({attrs:{sponsor:t.sponsor}},"Savings",t.savings,!1))],1)])])},Q=[],X=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.newVersionAvailable?a("button",{staticClass:"btn btn-link ps-0 text-decoration-none link-dark text-nowrap",attrs:{href:"#","data-bs-toggle":"modal","data-bs-target":"#updateModal"}},[a("fa-icon",{staticClass:"icon me-2",attrs:{icon:"gift"}}),t._v("v"+t._s(t.installed)+" "),a("span",{staticClass:"d-none d-xs-inline d-sm-none text-muted text-decoration-underline"},[t._v(" "+t._s(t.$t("footer.version.availableShort"))+" ")]),a("span",{staticClass:"d-none d-sm-inline text-muted text-decoration-underline"},[t._v(" "+t._s(t.$t("footer.version.availableLong"))+" ")])],1):a("a",{staticClass:"btn btn-link ps-0 text-decoration-none link-dark text-nowrap",attrs:{href:t.releaseNotesUrl(t.installed),target:"_blank"}},[a("span",{staticClass:"d-inline d-xs-none d-sm-none"},[t._v(t._s(t.$t("footer.version.versionShort",{installed:t.installed})))]),a("span",{staticClass:"d-none d-xs-inline d-sm-inline"},[t._v(t._s(t.$t("footer.version.versionLong",{installed:t.installed})))])]),a("div",{staticClass:"modal fade",attrs:{id:"updateModal",tabindex:"-1",role:"dialog","aria-hidden":"true"}},[a("div",{staticClass:"modal-dialog modal-dialog-centered modal-dialog-scrollable",attrs:{role:"document"}},[a("div",{staticClass:"modal-content"},[a("div",{staticClass:"modal-header"},[a("h5",{staticClass:"modal-title"},[t._v(t._s(t.$t("footer.version.modalTitle")))]),a("button",{staticClass:"btn-close",attrs:{type:"button","data-bs-dismiss":"modal","aria-label":"Close"}})]),a("div",{staticClass:"modal-body"},[t.updateStarted?a("div",[a("p",[t._v(t._s(t.$t("footer.version.modalUpdateStarted")))]),a("div",{staticClass:"progress my-3"},[a("div",{staticClass:"progress-bar progress-bar-striped progress-bar-animated",style:{width:t.uploadProgress+"%"},attrs:{role:"progressbar"}})]),a("p",[t._v(t._s(t.updateStatus)+t._s(t.uploadMessage))])]):a("div",[a("p",[a("small",[t._v(" "+t._s(t.$t("footer.version.modalInstalledVersion"))+": "+t._s(t.installed)+" ")])]),t.releaseNotes?a("div",{domProps:{innerHTML:t._s(t.releaseNotes)}}):a("p",[t._v(" "+t._s(t.$t("footer.version.modalNoReleaseNotes"))+" "),a("a",{attrs:{href:t.releaseNotesUrl(t.available)}},[t._v("GitHub")]),t._v(". ")])])]),a("div",{staticClass:"modal-footer d-flex justify-content-between"},[a("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button",disabled:t.updateStarted,"data-bs-dismiss":"modal"}},[t._v(" "+t._s(t.$t("footer.version.modalCancel"))+" ")]),a("div",[t.hasUpdater?a("button",{staticClass:"btn btn-primary",attrs:{type:"button",disabled:t.updateStarted},on:{click:t.update}},[t.updateStarted?a("span",[a("span",{staticClass:"spinner-border spinner-border-sm",attrs:{role:"status","aria-hidden":"true"}}),t._v(" "+t._s(t.$t("footer.version.modalUpdate"))+" ")]):a("span",[t._v(t._s(t.$t("footer.version.modalUpdateNow")))])]):a("a",{staticClass:"btn btn-primary",attrs:{href:t.releaseNotesUrl(t.available)}},[t._v(" "+t._s(t.$t("footer.version.modalDownload"))+" ")])])])])])])])},tt=[],et={name:"Version",props:{installed:String,available:String,releaseNotes:String,commit:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number},data:function(){return{updateStarted:!1,updateStatus:""}},computed:{githubHashUrl:function(){return"https://github.com/evcc-io/evcc/commit/"+this.commit},newVersionAvailable:function(){return this.available&&"[[.Version]]"!=this.installed&&"0.0.1-alpha"!=this.installed&&this.available!=this.installed}},methods:{update:async function(){try{await m.post("update"),this.updateStatus=this.$t("footer.version.modalUpdateStatusStart"),this.updateStarted=!0}catch(t){this.updateStatus=this.$t("footer.version.modalUpdateStatusStart")+t}},releaseNotesUrl:function(t){return"https://github.com/evcc-io/evcc/releases/tag/"+t}}},at=et,it=(a("14fa"),Object(Z["a"])(at,X,tt,!1,null,"7872ae76",null)),st=it.exports,nt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("button",{staticClass:"btn btn-link pe-0 text-decoration-none link-dark text-nowrap",attrs:{"data-bs-toggle":"modal","data-bs-target":"#savingsModal"}},[a("span",{staticClass:"d-inline d-sm-none"},[t._v(t._s(t.$t("footer.savings.footerShort",{percent:t.percent})))]),a("span",{staticClass:"d-none d-sm-inline"},[t._v(t._s(t.$t("footer.savings.footerLong",{percent:t.percent})))]),a("fa-icon",{staticClass:"icon ms-2 text-evcc",attrs:{icon:"sun"}})],1),a("div",{ref:"modal",staticClass:"modal fade",attrs:{id:"savingsModal",tabindex:"-1",role:"dialog","aria-hidden":"true"}},[a("div",{staticClass:"modal-dialog modal-dialog-centered modal-dialog-scrollable",attrs:{role:"document"}},[a("div",{staticClass:"modal-content"},[a("div",{staticClass:"modal-header"},[a("h5",{staticClass:"modal-title"},[t._v(" "+t._s(t.$t("footer.savings.modalTitle",{total:t.fmtKw(1e3*t.chargedTotal,!0,!1)}))+" ")]),a("button",{staticClass:"btn-close",attrs:{type:"button","data-bs-dismiss":"modal","aria-label":"Close"}})]),a("div",{staticClass:"modal-body py-4"},[a("div",{staticClass:"chart-container mb-3"},[a("div",{staticClass:"chart-legend d-flex flex-wrap justify-content-between mb-1"},[a("div",{staticClass:"text-nowrap"},[a("fa-icon",{staticClass:"text-evcc",attrs:{icon:"square"}}),t._v(" "+t._s(t.$t("footer.savings.modalChartSelf",{self:t.fmtKw(1e3*t.chargedSelfConsumption,!0,!1)}))+" ")],1),a("div",{staticClass:"text-nowrap"},[a("fa-icon",{staticClass:"text-grid",attrs:{icon:"square"}}),t._v(" "+t._s(t.$t("footer.savings.modalChartGrid",{grid:t.fmtKw(1e3*t.chargedGrid,!0,!1)}))+" ")],1)]),a("div",{staticClass:"chart d-flex justify-content-stretch mb-1 rounded overflow-hidden"},[t.chargedTotal>0?a("div",{staticClass:"chart-item chart-item--self d-flex justify-content-center text-white flex-shrink-1",style:{width:t.percent+"%"}},[a("span",{staticClass:"text-truncate"},[t._v(" "+t._s(t.percent)+"% ")])]):t._e(),t.chargedTotal>0?a("div",{staticClass:"chart-item chart-item--grid d-flex justify-content-center text-white flex-shrink-1",style:{width:100-t.percent+"%"}},[a("span",{staticClass:"text-truncate"},[t._v(" "+t._s(100-t.percent)+"% ")])]):t._e(),0===t.chargedTotal?a("div",{staticClass:"chart-item chart-item--no-data d-flex justify-content-center text-white w-100"},[a("span",[t._v(t._s(t.$t("footer.savings.modalNoData")))])]):t._e()])]),a("p",{staticClass:"mb-3"},[t._v(" "+t._s(t.$t("footer.savings.modalSavingsPrice"))+": "),a("strong",[t._v(t._s(t.pricePerKWh))]),a("br"),t._v(" "+t._s(t.$t("footer.savings.modalSavingsTotal"))+": "),a("strong",[t._v(t._s(t.savingAmount))])]),a("p",{staticClass:"small text-muted mb-3"},[a("a",{staticClass:"text-muted",attrs:{href:"https://github.com/evcc-io/evcc/blob/master/README.md#energy-tariffs--savings-estimate",target:"_blank"}},[t._v(" "+t._s(t.$t("footer.savings.modalExplaination")))]),t._v(": "),a("span",{staticClass:"text-nowrap"},[t._v(" "+t._s(t.$t("footer.savings.modalExplainationGrid",{gridPrice:t.fmtPricePerKWh(t.gridPrice,t.currency)})))]),t._v(", "),a("span",{staticClass:"text-nowrap"},[t._v(" "+t._s(t.$t("footer.savings.modalExplainationFeedIn",{feedInPrice:t.fmtPricePerKWh(t.feedInPrice,t.currency)}))+" ")]),a("br"),t._v(" "+t._s(t.$t("footer.savings.modalServerStart",{since:t.fmtTimeAgo(-1e3*t.since)}))+" ")]),a("hr",{staticClass:"mb-4"}),a("Sponsor",{staticClass:"mb-4",attrs:{sponsor:t.sponsor}}),a("p",{staticClass:"small text-muted mb-0"},[a("strong",{staticClass:"text-primary"},[a("fa-icon",{attrs:{icon:"flask"}}),t._v(" "+t._s(t.$t("footer.savings.experimentalLabel"))+": ")],1),t._v(" "+t._s(t.$t("footer.savings.experimentalText"))+" "),a("a",{attrs:{href:"https://github.com/evcc-io/evcc/discussions/2104",target:"_blank"}},[t._v("GitHub Discussions")]),t._v(". ")])],1)])])])])},ot=[],rt={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 i=e?1:0,s=e?t/1e3:t;let n="";return a&&(n=e?" kW":" W"),this.$n(s,{minimumFractionDigits:i,maximumFractionDigits:i})+n},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,i=""+Math.floor(t/3600);return i.length<2&&(i="0"+i),i+":"+a.substr(-2)+":"+e.substr(-2)},fmtShortDuration:function(t=0,e=!1){if(t<=0)return"—";var a=t%60,i=Math.floor(t/60)%60,s=Math.floor(t/3600),n="";return n=s>=1?s+":"+(""+i).padStart(2,"0"):i>=1?i+":"+(""+a).padStart(2,"0"):""+a,e&&(n+=this.fmtShortDurationUnit(t)),n},fmtShortDurationUnit:function(t=0){if(t<=0)return"";var e=Math.floor(t/60)%60,a=Math.floor(t/3600);return a>=1?"h":e>=1?"m":"s"},fmtDayString:function(t){const e=""+t.getFullYear(),a=(""+(t.getMonth()+1)).padStart(2,"0"),i=(""+t.getDate()).padStart(2,"0");return`${e}-${a}-${i}`},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(this.$i18n.locale,{weekday:"short",hour:"numeric",minute:"numeric"}).format(t)},fmtMoney:function(t=0,e="EUR"){return this.$n(t,{style:"currency",currency:e})},fmtPricePerKWh:function(t=0,e="EUR"){let a=e,i=t;return["EUR","USD"].includes(e)&&(i*=100,a="ct"),`${this.$n(i,{style:"decimal"})} ${a}/kWh`},fmtTimeAgo:function(t){const e={day:864e5,hour:36e5,minute:6e4,second:1e3},a=new Intl.RelativeTimeFormat(this.$i18n.locale,{numeric:"auto"});for(var i in e)if(Math.abs(t)>e[i]||"second"==i)return a.format(Math.round(t/e[i]),i)}}},lt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return t.sponsor?a("div",[a("p",{staticClass:"mb-3"},[t._v(" "+t._s(t.$t("footer.sponsor.thanks",{sponsor:t.sponsor}))+" ")]),a("div",{staticClass:"d-flex justify-content-center flex-column"},[a("button",{ref:"confetti",staticClass:"btn btn-primary mb-2 confetti-button bg-evcc",on:{click:t.surprise}},[a("fa-icon",{staticClass:"icon me-1 solid",attrs:{icon:["fas","heart"]}}),t._v(" "+t._s(t.$t("footer.sponsor.confetti"))+" ")],1),t._e()])]):a("div",[a("p",{staticClass:"mb-3"},[t._v(" "+t._s(t.$t("footer.sponsor.supportUs"))+" ")]),a("div",{staticClass:"d-flex justify-content-center flex-column"},[a("a",{staticClass:"btn btn-outline-primary mb-2",attrs:{target:"_blank",href:"https://github.com/sponsors/andig"}},[a("fa-icon",{staticClass:"icon me-1",attrs:{icon:["far","heart"]}}),t._v(" "+t._s(t.$t("footer.sponsor.becomeSponsor"))+" ")],1),a("div",{staticClass:"small text-muted text-center"},[t._v(" "+t._s(t.$t("footer.sponsor.confettiPromise"))+" ")])])])},ct=[],dt=a("7129"),ut={name:"Sponsor",props:{sponsor:String},methods:{surprise:function(){const t=this.$refs.confetti,e=45+90*Math.random(),a=0,{top:i,height:s,left:n,width:o}=t.getBoundingClientRect(),r=(n+o/2)/window.innerWidth,l=(i+s/2)/window.innerHeight,c={x:r,y:l};Object(dt["a"])({origin:c,angle:e,particleCount:75+50*Math.random(),spread:50+50*Math.random(),drift:a,scalar:1.3,zIndex:1056,colors:["#0d6efd","#0fdd42","#408458","#4923BA","#5BC8EC","#C54482","#CC444A","#EE8437","#F7C144","#FFFD54"]})}}},mt=ut,pt=(a("d05f"),Object(Z["a"])(mt,lt,ct,!1,null,"bcb1af48",null)),ht=pt.exports,gt={name:"Savings",components:{Sponsor:ht},mixins:[rt],props:{selfPercentage:Number,since:{type:Number,default:0},sponsor:String,chargedTotal:{type:Number,default:0},chargedSelfConsumption:{type:Number,default:0},gridPrice:{type:Number,default:.3},feedInPrice:{type:Number,default:.08},currency:String},computed:{chargedGrid(){return this.chargedTotal-this.chargedSelfConsumption},defaultPrices(){const{gridPrice:t,feedInPrice:e}=this.$options.propsData;return void 0===t||void 0===e},savingAmount(){const t=(this.gridPrice-this.feedInPrice)/100,e=this.chargedSelfConsumption*t;return this.fmtMoney(e,this.currency)},pricePerKWh(){const t=this.chargedGrid*this.gridPrice+this.chargedSelfConsumption*this.feedInPrice,e=t/this.chargedTotal;return this.fmtPricePerKWh(e||this.gridPrice,this.currency)},percent(){return Math.round(this.selfPercentage)||0}}},vt=gt,ft=(a("d7a7"),Object(Z["a"])(vt,nt,ot,!1,null,"68e21a90",null)),bt=ft.exports,Ct={name:"Footer",components:{Version:st,Savings:bt},props:{version:Object,sponsor:String,savings:Object}},_t=Ct,wt=Object(Z["a"])(_t,J,Q,!1,null,null,null),yt=wt.exports,St=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("button",{directives:[{name:"show",rawName:"v-show",value:t.iconVisible,expression:"iconVisible"}],staticClass:"btn btn-link text-decoration-none link-light text-nowrap",attrs:{href:"#","data-bs-toggle":"modal","data-bs-target":"#notificationModal"}},[a("fa-icon",{class:t.iconClass,attrs:{icon:"exclamation-triangle"}})],1),a("div",{staticClass:"modal fade",attrs:{id:"notificationModal",tabindex:"-1",role:"dialog","aria-hidden":"true"}},[a("div",{staticClass:"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable",attrs:{role:"document"}},[a("div",{staticClass:"modal-content"},[a("div",{staticClass:"modal-header"},[a("h5",{staticClass:"modal-title"},[t._v(t._s(t.$t("notifications.modalTitle")))]),a("button",{staticClass:"btn-close",attrs:{type:"button","data-bs-dismiss":"modal","aria-label":"Close"}})]),a("div",{staticClass:"modal-body"},t._l(t.notifications,(function(e,i){return a("div",{key:i},[a("small",{staticClass:"d-flex justify-content-end mt-3",attrs:{title:t.fmtAbsoluteDate(e.time)}},[t._v(" "+t._s(t.fmtTimeAgo(e.time-new Date))+" ")]),a("p",{staticClass:"d-flex align-items-baseline"},[a("fa-icon",{staticClass:"flex-grow-0 d-block",class:{"text-danger":"error"===e.type,"text-warning":"warn"===e.type},attrs:{icon:"exclamation-triangle"}}),a("span",{staticClass:"flex-grow-1 px-2 py-1 text-break"},[t._v(" "+t._s(e.message)+" ")]),e.count>1?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"))+" ")])])])])])])},xt=[],Tt={name:"Notifications",mixins:[rt],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"}},created:function(){this.interval=setInterval(()=>{this.$forceUpdate()},1e4)},destroyed:function(){clearTimeout(this.interval)},methods:{clear:function(){window.app&&window.app.clear()}}},Dt=Tt,kt=Object(Z["a"])(Dt,St,xt,!1,null,null,null),Pt=kt.exports;function $t(t,e,a){const s=e.shift();t[s]||i["a"].set(t,s,{}),e.length?$t(t[s],e,a):a&&"object"===typeof a&&!Array.isArray(a)?t[s]={...t[s],...a}:t[s]=a}const Nt={state:{loadpoints:[]},update:function(t){Object.keys(t).forEach((function(e){"function"===typeof window.app[e]?window.app[e]({message:t[e]}):$t(Nt.state,e.split("."),t[e])}))}};var Lt=Nt,It={name:"App",components:{Logo:Y,Footer:yt,Notifications:Pt},props:{notifications:Array},data:function(){return{compact:!1,store:this.$root.$data.store,installedVersion:window.evcc.version,commit:window.evcc.commit}},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},savings:function(){return{since:this.store.state.savingsSince,chargedTotal:this.store.state.savingsChargedTotal,chargedSelfConsumption:this.store.state.savingsChargedSelfConsumption,selfPercentage:this.store.state.savingsSelfPercentage,gridPrice:this.store.state.tariffGrid,feedInPrice:this.store.state.tariffFeedIn,currency:this.store.state.currency}}},created:function(){const t=new URLSearchParams(window.location.search);this.compact=t.get("compact"),setTimeout(this.connect,0)},methods:{connect:function(){const t="WebSocket"in window;if(!t)return void window.app.error({message:"Web sockets not supported. Please upgrade your browser."});const e=window.location,a="https:"==e.protocol?"wss:":"ws:",i=a+"//"+e.hostname+(e.port?":"+e.port:"")+e.pathname+"ws",s=new WebSocket(i);s.onerror=()=>{s.close()},s.onclose=()=>{window.setTimeout(this.connect,1e3)},s.onmessage=t=>{try{var e=JSON.parse(t.data);Lt.update(e)}catch(a){window.app.error({message:`Failed to parse web socket data: ${a.message} [${t.data}]`})}}},reload(){window.location.reload()}},metaInfo(){return{title:this.title?"evcc | "+this.title:"evcc"}}},Et=It,At=(a("510a"),Object(Z["a"])(Et,p,h,!1,null,"69de83c0",null)),Bt=At.exports,jt=a("8c4f"),Mt=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/evcc-io/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/evcc-io/evcc/issues"}},[t._v("GitHub")]),t._v(" erreichen. ")])])])])],1)},Rt=[],Vt=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,i){return[i>0?a("hr",{key:i+"_hr",staticClass:"w-100 my-4"}):t._e(),a("Loadpoint",t._b({key:i,attrs:{id:i,single:1===t.loadpoints.length}},"Loadpoint",e,!1))]}))],2)],1)},Ut=[],zt=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:"col-12 offset-md-1 col-md-6 offset-lg-1 col-lg-8 offset-xl-1 col-xl-6 offset-xxl-1 col-xl-8 order-md-2",attrs:{showDetails:t.showDetails,gridImport:t.gridImport,selfConsumption:t.selfConsumption,loadpoints:t.loadpointsPower,pvExport:t.pvExport,batteryCharge:t.batteryCharge,batteryDischarge:t.batteryDischarge,pvProduction:t.pvProduction,homePower:t.homePower,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-home-power":""}},[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.homePower")))]),a("span",{staticClass:"text-end text-nowrap ps-1"},[t._v(t._s(t.kw(t.homePower)))])]),a("div",{staticClass:"d-flex justify-content-between",attrs:{"data-test-loadpoints":""}},[a("span",{staticClass:"details-icon text-muted"},[a("fa-icon",{attrs:{icon:"car"}})],1),a("span",{staticClass:"text-nowrap flex-grow-1"},[t._v(t._s(t.$tc("main.energyflow.loadpoints",t.activeLoadpointsCount,{count:t.activeLoadpointsCount})))]),a("span",{staticClass:"text-end text-nowrap ps-1"},[t._v(t._s(t.kw(t.loadpointsPower)))])]),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:"col-12 col-sm-6 offset-md-6 col-md-6 offset-lg-4 col-lg-8 d-block d-md-flex order-md-3 justify-content-between mt-2"},[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)])},Wt=[],Ht=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-start"},[a("LabelBar",t._b({},"LabelBar",t.labelBarProps("top","pvProduction"),!1),[a("fa-icon",{attrs:{icon:"sun"}})],1),a("LabelBar",t._b({},"LabelBar",t.labelBarProps("top","batteryDischarge"),!1),[a("BatteryIcon",{attrs:{soc:t.batterySoC,discharge:""}})],1),a("LabelBar",t._b({},"LabelBar",t.labelBarProps("top","gridImport"),!1),[a("GridIcon",{attrs:{import:""}})],1)],1)]),a("div",{ref:"site_progress",staticClass:"site-progress"},[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 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 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"},[a("LabelBar",t._b({},"LabelBar",t.labelBarProps("bottom","homePower"),!1),[a("fa-icon",{attrs:{icon:"home"}})],1),a("LabelBar",t._b({},"LabelBar",t.labelBarProps("bottom","loadpoints"),!1),[a("fa-icon",{attrs:{icon:"car"}})],1),a("LabelBar",t._b({},"LabelBar",t.labelBarProps("bottom","batteryCharge"),!1),[a("BatteryIcon",{attrs:{soc:t.batterySoC,charge:""}})],1),a("LabelBar",t._b({},"LabelBar",t.labelBarProps("bottom","gridExport"),!1),[a("GridIcon",{attrs:{export:""}})],1)],1)])])},Ot=[],Ft=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)},Kt=[],Gt={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"}}},Zt=Gt,qt=(a("702d"),Object(Z["a"])(Zt,Ft,Kt,!1,null,"2dcca16c",null)),Yt=qt.exports,Jt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{class:{"power-import":this.import,"power-export":this.export}},[a("svg",{staticClass:"grid svg-inline--fa fa-home fa-w-18",attrs:{viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve"}},[a("path",{attrs:{fill:"currentColor",d:"M217.529 46.629H83.817c-8.83 0-16 7.169-16 16v32c0 .196.004.391.011.586v51.22c0 6.209 5.041 11.25 11.25 11.25h22.5c6.209 0 11.25-5.041 11.25-11.25v-35.806h104.701v84.697H83.577c-8.83 0-16 7.169-16 16v32c0 .196.004.391.011.586v51.22c0 6.209 5.041 11.25 11.25 11.25h22.5c6.209 0 11.25-5.041 11.25-11.25v-35.806h104.941v49.925L176.47 506.932l160 .033-39.179-197.538v-50.101h100.402v35.756c0 6.257 5.08 11.337 11.337 11.337h22.674c6.257 0 11.337-5.08 11.337-11.337v-83.756c0-8.831-7.169-16-16-16h-129.75v-84.697h100.642v35.756c0 6.257 5.08 11.337 11.337 11.337h22.674c6.257 0 11.337-5.08 11.337-11.337V62.629c0-8.831-7.169-16-16-16h-129.99V26.162c-.043-12.777-40.058-18.846-40.159-18.633 0 0-39.66 6.092-39.603 18.633v20.467Z"}})]),a("fa-icon",{staticClass:"arrow",attrs:{icon:"angle-double-right"}})],1)},Qt=[],Xt={name:"GridIcon",props:{import:{type:Boolean},export:{type:Boolean}}},te=Xt,ee=(a("06aa"),Object(Z["a"])(te,Jt,Qt,!1,null,"c8e84f48",null)),ae=ee.exports,ie=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"label-bar",class:{"label-bar--hide-icon":t.hideIcon,"label-bar--hidden":!t.value,"label-bar--top":t.top,"label-bar--bottom":t.bottom,"label-bar--first":t.first,"label-bar--last":t.last}},[a("div",{staticClass:"label-bar-scale"},[a("div",{staticClass:"label-bar-icon"},[t._t("default")],2)])])},se=[],ne={name:"LabelBar",props:{value:{type:Number,default:0},hideIcon:{type:Boolean},top:{type:Boolean},bottom:{type:Boolean},first:{type:Boolean},last:{type:Boolean}}},oe=ne,re=(a("67e4"),Object(Z["a"])(oe,ie,se,!1,null,"17da7e54",null)),le=re.exports,ce={name:"Visualization",components:{BatteryIcon:Yt,LabelBar:le,GridIcon:ae},mixins:[rt],props:{showDetails:Boolean,gridImport:{type:Number,default:0},selfConsumption:{type:Number,default:0},pvExport:{type:Number,default:0},loadpoints:{type:Number,default:0},batteryCharge:{type:Number,default:0},batteryDischarge:{type:Number,default:0},pvProduction:{type:Number,default:0},homePower:{type:Number,default:0},batterySoC:{type:Number,default:0},valuesInKw:{type:Boolean,default:!1}},data:function(){return{width:0,visualizationReady:!1}},computed:{gridExport:function(){return this.pvExport},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)}},mounted:function(){this.$nextTick((function(){window.addEventListener("resize",this.updateElementWidth),this.updateElementWidth()}))},beforeDestroy(){window.removeEventListener("resize",this.updateElementWidth)},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*a0)return t===e}return!1},labelBarProps(t,e){const a=this[e],i=e.startsWith("battery")||e.startsWith("grid")?44:32;return{value:a,hideIcon:this.hideLabelIcon(a,i),style:{width:this.widthTotal(a)},first:this.isLabelFirst(t,e),last:this.isLabelLast(t,e),[t]:!0}}}},de=ce,ue=(a("4f12"),Object(Z["a"])(de,Ht,Ot,!1,null,"0c035ffc",null)),me=ue.exports,pe={name:"Energyflow",components:{Visualization:me,BatteryIcon:Yt},mixins:[rt],props:{gridConfigured:Boolean,gridPower:{type:Number,default:0},homePower:{type:Number,default:0},pvConfigured:Boolean,pvPower:{type:Number,default:0},loadpointsPower:{type:Number,default:0},activeLoadpointsCount:{type:Number,default:0},batteryConfigured:Boolean,batteryPower:{type:Number,default:0},batterySoC:{type:Number,default:0}},data:function(){return{showDetails:!1}},computed:{gridImport:function(){return Math.max(0,this.gridPower)},pvProduction:function(){return this.pvConfigured?Math.abs(this.pvPower):this.pvExport},batteryPowerAdjusted:function(){const t=50;return Math.abs(this.batteryPower)1e3}},methods:{kw:function(t){return this.fmtKw(t,this.valuesInKw)},toggleDetails(){this.showDetails=!this.showDetails}}},he=pe,ge=(a("c126"),Object(Z["a"])(he,zt,Wt,!1,null,"c2b4f05e",null)),ve=ge.exports,fe=ve,be=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,"target-time-updated":t.setTargetTime,"target-time-removed":t.removeTargetTime}},"Vehicle",t.vehicle,!1))],1),a("LoadpointDetails",t._b({},"LoadpointDetails",t.details,!1))],1)},Ce=[],_e=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"))+" ")])])])])},we=[],ye={name:"Mode",props:{mode:String},methods:{setTargetMode:function(t){this.$emit("updated",t)}}},Se=ye,xe=(a("46d4"),Object(Z["a"])(Se,_e,we,!1,null,"1ff39d22",null)),Te=xe.exports,De=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.vehicleTitle||t.$t("main.vehicle.fallbackName"))+" ")]),a("VehicleSoc",t._b({on:{"target-soc-updated":t.targetSocUpdated}},"VehicleSoc",t.vehicleSocProps,!1)),a("VehicleSubline",t._b({staticClass:"my-1",on:{"target-time-updated":t.setTargetTime,"target-time-removed":t.removeTargetTime}},"VehicleSubline",t.vehicleSubline,!1))],1)},ke=[],Pe={methods:{collectProps:function(t){let e={};for(var a in t.props)e[a]=this[a];return e}}},$e=function(){var t,e,a=this,i=a.$createElement,s=a._self._c||i;return s("div",{staticClass:"vehicle-soc"},[s("div",{staticClass:"progress"},[s("div",{staticClass:"progress-bar",class:(t={"progress-bar-striped":a.charging,"progress-bar-animated":a.charging},t[a.progressColor]=!0,t),style:{width:a.vehicleSoCDisplayWidth+"%"},attrs:{role:"progressbar"}},[a._v(" "+a._s(a.vehicleSoCDisplayValue)+" ")]),a.remainingSoCWidth>0&&a.enabled?s("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()]),s("div",{staticClass:"target",class:{"target--slider-hidden":a.allowSliderHiding&&100===a.visibleTargetSoC}},[s("div",{staticClass:"target-label d-flex align-items-center justify-content-center",style:{left:a.visibleTargetSoC+"%"}},[a._v(" "+a._s(a.visibleTargetSoC)+"% ")]),s("input",{staticClass:"target-slider",attrs:{type:"range",min:"0",max:"100",step:"5"},domProps:{value:a.visibleTargetSoC},on:{input:a.movedTargetSoC,mousedown:a.changeTargetSoCStart,touchstart:a.changeTargetSoCStart,mouseup:a.changeTargetSoCEnd,touchend:a.changeTargetSoCEnd}})])])},Ne=[],Le={name:"VehicleSoc",props:{connected:Boolean,vehiclePresent:Boolean,vehicleSoC:Number,enabled:Boolean,charging:Boolean,minSoC:Number,targetSoC:Number},data:function(){return{selectedTargetSoC:null,allowSliderHiding:!1,interactionStartScreenY:null}},computed:{vehicleSoCDisplayWidth:function(){return this.vehiclePresent&&this.vehicleSoC>=0?this.vehicleSoC:100},vehicleSoCDisplayValue:function(){if(!this.vehiclePresent||!this.vehicleSoC||this.vehicleSoC<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.vehicleSoC;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.vehicleSoCthis.vehicleSoC?this.visibleTargetSoC-this.vehicleSoC:null},visibleTargetSoC:function(){return Number(this.selectedTargetSoC||this.targetSoC)}},watch:{targetSoC:function(){this.selectedTargetSoC=this.targetSoC}},mounted:function(){setTimeout(()=>{this.allowSliderHiding=!0},1e3)},methods:{changeTargetSoCStart:function(t){const e=t.screenY||t.changedTouches[0].screenY;this.interactionStartScreenY=e},changeTargetSoCEnd:function(t){const e=t.screenY||t.changedTouches[0].screenY,a=Math.abs(e-this.interactionStartScreenY);if(a>80)return t.preventDefault(),t.target.value=this.targetSoC,this.selectedTargetSoC=this.targetSoC,!1;t.target.value!==this.targetSoC&&this.$emit("target-soc-updated",t.target.value)},movedTargetSoC:function(t){const e=20;return t.target.valuenew Date;this.targetChargeEnabled&&e&&(t=new Date(this.targetTime)),this.selectedDay=this.fmtDayString(t),this.selectedTime=this.fmtTimeString(t)},dayOptions:function(){const t=[],e=new Date,a=[this.$t("main.targetCharge.today"),this.$t("main.targetCharge.tomorrow")];for(let i=0;i<7;i++){const s=e.toLocaleDateString("default",{month:"short",day:"numeric"}),n=a[i]||e.toLocaleDateString("default",{weekday:"long"});t.push({value:e.toISOString().split("T")[0],name:`${s} (${n})`}),e.setDate(e.getDate()+1)}return t},minTime:function(){return(new Date).toISOString().split("T")[1].slice(0,-8)},setTargetTime:function(){this.$emit("target-time-updated",this.selectedTargetTime)},removeTargetTime:function(){this.$emit("target-time-removed")}}},ze=Ue,We=Object(Z["a"])(ze,Me,Re,!1,null,null,null),He=We.exports,Oe={name:"VehicleSubline",components:{TargetCharge:He},mixins:[Pe],props:{id:Number,vehicleSoC:Number,minSoC:Number,targetTime:String,targetTimeActive:Boolean,targetTimeHourSuggestion:Number,targetSoC:Number},computed:{minSoCActive:function(){return this.minSoC>0&&this.vehicleSoC=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.vehicleRange")))]),a("h3",{staticClass:"value"},[t._v(" "+t._s(Math.round(t.vehicleRange))+" "),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.chargeDurationInterpolated))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtShortDurationUnit(t.chargeDurationInterpolated)))])])]),t.vehiclePresent?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.chargeRemainingDurationInterpolated))+" "),a("small",{staticClass:"text-muted"},[t._v(t._s(t.fmtShortDurationUnit(t.chargeRemainingDurationInterpolated,!0)))])])]):t._e()])])},Xe=[],ta=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"root position-relative",class:"direction-"+t.direction},[a("shopicon-options-filled",{staticClass:"dots dots-back"}),a("shopicon-options-filled",{staticClass:"dots dots-front position-absolute start-0 top-0"})],1)},ea=[],aa=(a("3d57"),{name:"WaitingDots",props:{direction:{type:String,default:"up"}}}),ia=aa,sa=(a("c5c7"),Object(Z["a"])(ia,ta,ea,!1,null,"60c12baf",null)),na=sa.exports,oa={name:"LoadpointDetails",components:{WaitingDots:na},mixins:[rt],props:{chargedEnergy:Number,chargeDuration:Number,chargeRemainingDuration:Number,chargePower:Number,climater:String,vehiclePresent:Boolean,vehicleRange:Number,activePhases:Number,phaseRemaining:Number,phaseAction:String,pvRemaining:Number,pvAction:String,charging:Boolean},data(){return{tickerHandler:null,phaseRemainingInterpolated:this.phaseRemaining,pvRemainingInterpolated:this.pvRemaining,chargeDurationInterpolated:this.chargeDuration,chargeRemainingDurationInterpolated:this.chargeRemainingDuration}},computed:{phaseTooltip(){return["scale1p","scale3p"].includes(this.phaseAction)?this.$t("main.loadpointDetails.tooltip.phases."+this.phaseAction,{remaining:this.fmtShortDuration(this.phaseRemainingInterpolated,!0)}):this.$t(`main.loadpointDetails.tooltip.phases.charge${this.activePhases}p`)},phaseTimerActive(){return this.phaseRemainingInterpolated>0&&["scale1p","scale3p"].includes(this.phaseAction)},pvTimerActive(){return this.pvRemainingInterpolated>0&&["enable","disable"].includes(this.pvAction)},phaseTimerVisible(){return!(!this.phaseTimerActive||this.pvTimerActive)||!(!this.phaseTimerActive||!this.pvTimerActive)&&this.phaseRemainingInterpolated0&&this.phaseRemainingInterpolated--,this.pvRemainingInterpolated>0&&this.pvRemainingInterpolated--,this.chargeDurationInterpolated>0&&this.charging&&this.chargeDurationInterpolated++,this.chargeRemainingDurationInterpolated>0&&this.charging&&this.chargeRemainingDurationInterpolated--}}},ra=oa,la=Object(Z["a"])(ra,Qe,Xe,!1,null,null,null),ca=la.exports,da={name:"Loadpoint",components:{LoadpointDetails:ca,Mode:Te,Vehicle:Je},mixins:[rt,Pe],props:{id:Number,single:Boolean,title:String,mode:String,targetSoC:Number,remoteDisabled:Boolean,remoteDisabledSource:String,chargeDuration:Number,charging:Boolean,connected:Boolean,enabled:Boolean,vehicleTitle:String,vehicleSoC:Number,vehiclePresent:Boolean,vehicleRange:Number,minSoC:Number,targetTime:String,targetTimeActive:Boolean,targetTimeHourSuggestion:Number,chargePower:Number,chargedEnergy:Number,climater:String,chargeRemainingDuration:Number,phases:Number,minCurrent:Number,maxCurrent:Number,activePhases:Number,chargeCurrent:Number,vehicleCapacity:Number,connectedDuration:Number,chargeCurrents:Array,chargeConfigured:Boolean,chargeRemainingEnergy:Number,phaseAction:String,phaseRemaining:Number,pvRemaining:Number,pvAction:String},computed:{details:function(){return this.collectProps(ca)},vehicle:function(){return this.collectProps(Je)}},methods:{apiPath:function(t){return"loadpoints/"+this.id+"/"+t},setTargetMode:function(t){m.post(this.apiPath("mode")+"/"+t)},setTargetSoC:function(t){m.post(this.apiPath("targetsoc")+"/"+t)},setTargetTime:function(t){const e=`${this.fmtDayString(t)}T${this.fmtTimeString(t)}:00`;m.post(this.apiPath("targetcharge")+"/"+this.targetSoC+"/"+e)},removeTargetTime:function(){m.delete(this.apiPath("targetcharge"))}}},ua=da,ma=Object(Z["a"])(ua,be,Ce,!1,null,null,null),pa=ma.exports,ha={name:"Site",components:{Loadpoint:pa,Energyflow:fe},mixins:[rt,Pe],props:{loadpoints:Array,gridConfigured:Boolean,gridPower:Number,homePower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number,gridCurrents:Array,prioritySoC:Number,siteTitle:String},computed:{energyflow:function(){return this.collectProps(fe)},activeLoadpointsCount:function(){return this.loadpoints.filter(t=>t.chargePower>0).length},loadpointsPower:function(){return this.loadpoints.reduce((t,e)=>(t+=e.chargePower||0,t),0)}}},ga=ha,va=Object(Z["a"])(ga,Vt,Ut,!1,null,null,null),fa=va.exports,ba={name:"Main",components:{Site:fa},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}}},Ca=ba,_a=Object(Z["a"])(Ca,Mt,Rt,!1,null,null,null),wa=_a.exports,ya=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,i){return a("div",{key:i,attrs:{id:"loadpoint-"+i,loadpoint:e}},[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.vehicleTitle||"—"))])]),a("div",{staticClass:"col-6 py-3"},[t._v(" Kapazität: "),a("span",{staticClass:"text-primary"},[t._v(t._s(e.vehicleCapacity)+"kWh")])])])])])])}))],2)},Sa=[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")])])}],xa={name:"Config",data:function(){return this.$root.$data.store.state}},Ta=xa,Da=Object(Z["a"])(Ta,ya,Sa,!1,null,null,null),ka=Da.exports;i["a"].use(jt["a"]);const Pa=[{path:"/",component:wa},{path:"/config",component:ka}];var $a=new jt["a"]({routes:Pa,linkExactActiveClass:"active"}),Na=a("a925"),La={header:{docs:"Dokumentation",blog:"Blog",github:"GitHub"},footer:{version:{versionShort:"v{installed}",versionLong:"Version {installed}",availableShort:"Update",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: "},savings:{footerShort:"{percent}% Sonne",footerLong:"{percent}% Sonnenstrom ",modalTitle:"{total} kWh Strom geladen",modalChartGrid:"Netzstrom {grid} kWh",modalChartSelf:"Sonnenstrom {self} kWh",modalSavingsPrice:"Effektiver Strompreis",modalSavingsTotal:"Ersparnis gegenüber Netzbezug",modalExplaination:"Berechnung",modalExplainationGrid:"Netzstrom {gridPrice}",modalExplainationFeedIn:"Einspeisung {feedInPrice}",modalServerStart:"Seit Serverstart {since}.",modalNoData:"noch nicht geladen",experimentalLabel:"experimentell",experimentalText:"Unplausible Werte? Fragen zur Ansicht? Meld dich gerne in den"},sponsor:{thanks:"Danke für deine Unterstützung {sponsor}! Das hilft uns bei der Weiterentwicklung.",confetti:"Lust auf etwas Sponsor-Konfetti?",supportUs:"Wir möchten effizientes Zuhause-Laden zum Standard für möglichst viele Menschen machen. Helfe uns indem du die Weiterentwicklung und Pflege des Projekts unterstützt.",sticker:"...oder evcc Sticker?",confettiPromise:"Es gibt auch Konfetti ;)",becomeSponsor:"Werde jetzt GitHub Sponsor"}},notifications:{modalTitle:"Meldungen",dismissAll:"Meldungen entfernen"},main:{energyflow:{noEnergy:"Kein Energiefluss",homePower:"Verbrauch",pvProduction:"Erzeugung",loadpoints:"Ladepunkt | Ladepunkt | {count} Ladepunkte",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}%"},targetCharge:{inactiveLabel:"Zielzeit",activeLabel:"bis {time} Uhr",modalTitle:"Zielzeit festlegen",description:"Wann soll das Fahrzeug auf {targetSoC}% geladen sein?",today:"heute",tomorrow:"morgen",targetIsInThePast:"Zeitpunkt liegt in der Vergangenheit.",remove:"Keine Zielzeit",activate:"Zielzeit aktivieren",experimentalLabel:"experimentell",experimentalText:"\n Diese Funktion ist in einem frühen Stadium. Der Algorithmus ist noch\n nicht perfekt. Die Zielzeit wird aktuell nicht persistiert - das\n heißt sie geht beim Neustart verloren. Verlasse dich also noch nicht\n zu sehr auf diese Funktion. Wir freuen uns aber über deine\n Erfahrungen und Verbessungsvorschläge in den\n "},loadpointDetails:{power:"Leistung",vehicleRange:"Reichweite",charged:"Geladen",duration:"Dauer",remaining:"Restzeit",tooltip:{phases:{scale1p:"Herunterschalten auf einphasig in {remaining}.",scale3p:"Hochschalten auf dreiphasig in {remaining}.",charge1p:"Lädt einphasig.",charge2p:"Lädt zweiphasig.",charge3p:"Lädt dreiphasig."},pv:{enable:"Überschuss verfügbar. Ladung startet in {remaining}.",disable:"Zu wenig Überschuss. Ladung pausiert in {remaining}."}}}}},Ia={header:{docs:"Documentation",blog:"Blog",github:"GitHub"},footer:{version:{versionShort:"v{installed}",versionLong:"Version {installed}",availableShort:"update",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: "},savings:{footerShort:"{percent}% solar",footerLong:"{percent}% solar energy",modalTitle:"{total} kWh solar energy charged",modalChartGrid:"Grid energy {grid} kWh",modalChartSelf:"Solar energy {self} kWh",modalSavingsPrice:"Effective energy price",modalSavingsTotal:"Savings compared to grid",modalExplaination:"Calculation",modalExplainationGrid:"grid tariff {gridPrice}",modalExplainationFeedIn:"feed-in rate {feedInPrice}",modalServerStart:"since server start {since}.",modalNoData:"nothing charged yet",experimentalLabel:"experimental",experimentalText:"Implausible values? Questions about this view? Feel free to join our "},sponsor:{thanks:"Thanks for your support {sponsor}! It helps us with the further development.",confetti:"Ready for some sponsor confetti?",supportUs:"We want to make efficient home charging the standard for as many people as possible. Help us by supporting the further development and maintenance of the project.",sticker:"...or evcc stickers?",confettiPromise:"There will be confetti ;)",becomeSponsor:"Become a GitHub Sponsor"}},notifications:{modalTitle:"Notifications",dismissAll:"Dismiss all"},main:{energyflow:{noEnergy:"No Energyflow",homePower:"Consumption",loadpoints:"Loadpoint | Loadpoint | {count} Loadpoints",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}%"},targetCharge:{inactiveLabel:"Target time",activeLabel:"until {time}",modalTitle:"Set Target Time",description:"When should the vehicle be charged to {targetSoC}%?",today:"today",tomorrow:"tomorrow",targetIsInThePast:"The chosen time is in the past.",remove:"Remove",activate:"Activate",experimentalLabel:"experimental",experimentalText:"\n This function is at an early stage.\n The algorithm is not perfect yet.\n The target time is currently not persisted - this means, it will be lost when your server restarts.\n So do not rely too much on this function.\n However, we look forward to your experiences and suggestions for improvement in the\n "},loadpointDetails:{power:"Power",vehicleRange:"Range",charged:"Charged",duration:"Duration",remaining:"Remaining",tooltip:{phases:{scale1p:"Switching to single-phase in {remaining}.",scale3p:"Switching to three-phase in {remaining}.",charge1p:"Single-phase charging.",charge2p:"Two-phase charging.",charge3p:"Three-phase charging."},pv:{enable:"Solar available. Resume charging in {remaining}.",disable:"Not enough solar. Pause charging in {remaining}."}}}}},Ea={header:{docs:"Documentazione",blog:"Blog",github:"GitHub"},footer:{version:{version:"versione",availableShort:"aggiornamento",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",homePower:"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",vehicleRange:"Autonomia",charged:"Ricaricato",duration:"Duarata",remaining:"Rimanenti"}}};function Aa(){const t=void 0!==navigator.languages?navigator.languages[0]:navigator.language;if(!t)return;const e=t.trim().split(/-|_/)[0];return e}i["a"].use(Na["a"]);var Ba=new Na["a"]({locale:Aa(),fallbackLocale:"en",messages:{de:La,en:Ia,it:Ea}}),ja=(a("096e"),a("e37d"));ja["a"].options.offset=[0,10],ja["a"].options.themes.tooltip.triggers=["click","focus"],i["a"].use(ja["a"]),i["a"].use(s["a"]),window.app=new i["a"]({el:"#app",router:$a,i18n:Ba,data:{store:Lt,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)}},render:function(t){return t(Bt,{props:{notifications:this.notifications}})}}),window.setInterval((function(){m.get("health").catch((function(){window.app.error({message:"Server unavailable"})}))}),5e3)},b19f:function(t,e,a){},c126:function(t,e,a){"use strict";a("0501")},c5c7:function(t,e,a){"use strict";a("0544")},d05f:function(t,e,a){"use strict";a("e747")},d7a7:function(t,e,a){"use strict";a("ea54")},e747:function(t,e,a){},ea54:function(t,e,a){},ec98:function(t,e,a){},ed92:function(t,e,a){}}); +//# sourceMappingURL=index.333afce9.js.map \ No newline at end of file diff --git a/dist/js/index.333afce9.js.map b/dist/js/index.333afce9.js.map new file mode 100644 index 000000000..2fec08391 --- /dev/null +++ b/dist/js/index.333afce9.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/components/Energyflow/GridIcon.vue?f546","webpack:///./assets/js/components/Version.vue?af13","webpack:///./assets/js/components/VehicleSoc.vue?a87b","webpack:///./assets/js/components/Mode.vue?9ba9","webpack:///./assets/js/components/Energyflow/Visualization.vue?e065","webpack:///./assets/js/views/App.vue?1e7c","webpack:///./assets/js/components/Energyflow/LabelBar.vue?2139","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?023c","webpack:///./assets/js/api.js","webpack:///./assets/js/views/App.vue?a406","webpack:///./assets/js/icons.js","webpack:///./assets/js/components/Logo.vue?d174","webpack:///assets/js/components/Logo.vue","webpack:///./assets/js/components/Logo.vue?a186","webpack:///./assets/js/components/Logo.vue","webpack:///./assets/js/components/Footer.vue?289c","webpack:///./assets/js/components/Version.vue?0e0d","webpack:///assets/js/components/Version.vue","webpack:///./assets/js/components/Version.vue?b577","webpack:///./assets/js/components/Version.vue","webpack:///./assets/js/components/Savings.vue?7a93","webpack:///./assets/js/mixins/formatter.js","webpack:///./assets/js/components/Sponsor.vue?41f0","webpack:///assets/js/components/Sponsor.vue","webpack:///./assets/js/components/Sponsor.vue?c9bd","webpack:///./assets/js/components/Sponsor.vue","webpack:///assets/js/components/Savings.vue","webpack:///./assets/js/components/Savings.vue?e254","webpack:///./assets/js/components/Savings.vue","webpack:///assets/js/components/Footer.vue","webpack:///./assets/js/components/Footer.vue?f6f1","webpack:///./assets/js/components/Footer.vue","webpack:///./assets/js/components/Notifications.vue?eb7b","webpack:///assets/js/components/Notifications.vue","webpack:///./assets/js/components/Notifications.vue?e1ad","webpack:///./assets/js/components/Notifications.vue","webpack:///./assets/js/store.js","webpack:///assets/js/views/App.vue","webpack:///./assets/js/views/App.vue?bc92","webpack:///./assets/js/views/App.vue","webpack:///./assets/js/views/Main.vue?7ab0","webpack:///./assets/js/components/Site.vue?b15c","webpack:///./assets/js/components/Energyflow/Energyflow.vue?789d","webpack:///./assets/js/components/Energyflow/Visualization.vue?7257","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?d292","webpack:///assets/js/components/Energyflow/BatteryIcon.vue","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?2d7d","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue","webpack:///./assets/js/components/Energyflow/GridIcon.vue?66db","webpack:///assets/js/components/Energyflow/GridIcon.vue","webpack:///./assets/js/components/Energyflow/GridIcon.vue?51d6","webpack:///./assets/js/components/Energyflow/GridIcon.vue","webpack:///./assets/js/components/Energyflow/LabelBar.vue?4b0d","webpack:///assets/js/components/Energyflow/LabelBar.vue","webpack:///./assets/js/components/Energyflow/LabelBar.vue?de93","webpack:///./assets/js/components/Energyflow/LabelBar.vue","webpack:///assets/js/components/Energyflow/Visualization.vue","webpack:///./assets/js/components/Energyflow/Visualization.vue?70bf","webpack:///./assets/js/components/Energyflow/Visualization.vue","webpack:///assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/Energyflow.vue?96c6","webpack:///./assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/index.js","webpack:///./assets/js/components/Loadpoint.vue?ad13","webpack:///./assets/js/components/Mode.vue?4460","webpack:///assets/js/components/Mode.vue","webpack:///./assets/js/components/Mode.vue?61d2","webpack:///./assets/js/components/Mode.vue","webpack:///./assets/js/components/Vehicle.vue?cf76","webpack:///./assets/js/mixins/collector.js","webpack:///./assets/js/components/VehicleSoc.vue?f150","webpack:///assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSoc.vue?52d1","webpack:///./assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSubline.vue?f343","webpack:///./assets/js/components/TargetCharge.vue?81cd","webpack:///assets/js/components/TargetCharge.vue","webpack:///./assets/js/components/TargetCharge.vue?15d2","webpack:///./assets/js/components/TargetCharge.vue","webpack:///assets/js/components/VehicleSubline.vue","webpack:///./assets/js/components/VehicleSubline.vue?853d","webpack:///./assets/js/components/VehicleSubline.vue","webpack:///assets/js/components/Vehicle.vue","webpack:///./assets/js/components/Vehicle.vue?f059","webpack:///./assets/js/components/Vehicle.vue","webpack:///./assets/js/components/LoadpointDetails.vue?4f26","webpack:///./assets/js/components/WaitingDots.vue?fd88","webpack:///assets/js/components/WaitingDots.vue","webpack:///./assets/js/components/WaitingDots.vue?55b4","webpack:///./assets/js/components/WaitingDots.vue","webpack:///assets/js/components/LoadpointDetails.vue","webpack:///./assets/js/components/LoadpointDetails.vue?3523","webpack:///./assets/js/components/LoadpointDetails.vue","webpack:///assets/js/components/Loadpoint.vue","webpack:///./assets/js/components/Loadpoint.vue?8e18","webpack:///./assets/js/components/Loadpoint.vue","webpack:///assets/js/components/Site.vue","webpack:///./assets/js/components/Site.vue?0ecf","webpack:///./assets/js/components/Site.vue","webpack:///assets/js/views/Main.vue","webpack:///./assets/js/views/Main.vue?05e7","webpack:///./assets/js/views/Main.vue","webpack:///./assets/js/views/Config.vue?ea9f","webpack:///assets/js/views/Config.vue","webpack:///./assets/js/views/Config.vue?2564","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/tooltip.js","webpack:///./assets/js/app.js","webpack:///./assets/js/components/Energyflow/Energyflow.vue?c982","webpack:///./assets/js/components/WaitingDots.vue?2e0c","webpack:///./assets/js/components/Sponsor.vue?e190","webpack:///./assets/js/components/Savings.vue?bb8a"],"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","protocol","location","api","a","baseURL","hostname","port","pathname","headers","Accept","interceptors","response","use","error","url","config","message","app","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","notifications","_m","_v","_s","$t","version","sponsor","savings","staticRenderFns","add","faAngleDown","faAngleUp","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faBox","faCar","faAngleDoubleLeft","faAngleDoubleRight","faClock","faExclamationCircle","faExclamationTriangle","faGift","faHome","faWrench","faSquare","faSun","faInfoCircle","faFlask","faTemperatureHigh","faTemperatureLow","faThermometerHalf","component","_b","installed","releaseNotesUrl","style","width","uploadProgress","updateStatus","uploadMessage","domProps","releaseNotes","available","updateStarted","on","update","props","String","commit","hasUpdater","Boolean","Number","computed","githubHashUrl","newVersionAvailable","methods","async","post","e","percent","ref","total","fmtKw","chargedTotal","self","chargedSelfConsumption","grid","chargedGrid","_e","pricePerKWh","savingAmount","gridPrice","fmtPricePerKWh","currency","feedInPrice","since","fmtTimeAgo","fmtLimit","fmtDigits","round","num","precision","base","Math","toFixed","fmt","val","undefined","abs","watt","kw","withUnit","digits","unit","$n","minimumFractionDigits","maximumFractionDigits","fmtUnit","fmtDuration","seconds","minutes","floor","hours","substr","fmtShortDuration","duration","padStart","fmtShortDurationUnit","fmtDayString","date","YY","getFullYear","MM","getMonth","DD","getDate","fmtTimeString","HH","getHours","mm","getMinutes","fmtAbsoluteDate","Intl","DateTimeFormat","$i18n","locale","weekday","hour","minute","format","fmtMoney","amout","includes","elapsed","units","day","second","rtf","RelativeTimeFormat","numeric","u","surprise","$el","$refs","confetti","angle","random","drift","top","height","left","getBoundingClientRect","x","innerWidth","y","innerHeight","origin","particleCount","spread","scalar","zIndex","colors","components","Sponsor","mixins","formatter","selfPercentage","type","default","$options","propsData","priceDiff","saving","perKWh","Version","Savings","directives","rawName","expression","class","iconClass","_l","msg","index","time","Date","count","clear","Array","iconVisible","find","created","interval","setInterval","$forceUpdate","destroyed","clearTimeout","setProperty","obj","prop","set","isArray","store","state","loadpoints","keys","forEach","k","split","Logo","Footer","Notifications","compact","$root","$data","installedVersion","evcc","availableVersion","title","siteTitle","savingsSince","savingsChargedTotal","savingsChargedSelfConsumption","savingsSelfPercentage","tariffGrid","tariffFeedIn","urlParams","URLSearchParams","search","setTimeout","connect","supportsWebSockets","loc","uri","ws","WebSocket","onerror","close","onclose","onmessage","evt","JSON","parse","reload","energyflow","loadpoint","id","toggleDetails","showDetails","gridImport","selfConsumption","loadpointsPower","pvExport","batteryCharge","batteryDischarge","pvProduction","homePower","batterySoC","valuesInKw","$tc","activeLoadpointsCount","batteryPower","visualizationReady","labelBarProps","widthTotal","selfConsumptionAdjusted","powerLabelEnoughSpace","powerLabelSomeSpace","kwNoUnit","gridImportAdjusted","pvExportAdjusted","totalAdjusted","charge","discharge","batteryIcon","soc","import","export","hideIcon","bottom","first","last","_t","BatteryIcon","LabelBar","GridIcon","gridExport","totalRaw","applyThreshold","watch","$nextTick","updateElementWidth","mounted","addEventListener","removeEventListener","power","powerLabelAvailableSpace","minWidth","site_progress","position","isLabel","labels","entries","reverse","entry","startsWith","hideLabelIcon","isLabelFirst","isLabelLast","Visualization","gridConfigured","gridPower","pvConfigured","pvPower","batteryConfigured","max","batteryPowerAdjusted","batteryPowerThreshold","min","ownPower","consumption","single","remoteDisabled","source","remoteDisabledSource","setTargetMode","setTargetSoC","setTargetTime","removeTargetTime","vehicle","details","active","$event","$emit","vehicleTitle","targetSocUpdated","vehicleSocProps","vehicleSubline","collectProps","_obj","_obj$1","charging","progressColor","vehicleSoCDisplayWidth","vehicleSoCDisplayValue","remainingSoCWidth","enabled","transition","allowSliderHiding","visibleTargetSoC","movedTargetSoC","changeTargetSoCStart","changeTargetSoCEnd","connected","vehiclePresent","vehicleSoC","minSoC","targetSoC","selectedTargetSoC","interactionStartScreenY","chargeStatus","minSoCActive","screenY","changedTouches","yDiff","preventDefault","target","minTargetSoC","targetCharge","invisible","targetTimeActive","modalId","targetTimeLabel","arguments","$$selectedVal","filter","options","selected","map","_value","selectedDay","multiple","dayOptions","opt","composing","selectedTime","selectedTargetTimeValid","DEFAULT_TARGET_HOUR","targetTime","targetTimeHourSuggestion","targetChargeEnabled","now","selectedTargetTime","initInputFields","targetDate","defaultDate","setSeconds","setMinutes","isInteger","setUTCHours","setHours","isInPast","setDate","targetTimeInTheFuture","dayNumber","toLocaleDateString","month","dayName","toISOString","minTime","TargetCharge","collector","VehicleSoc","VehicleSubline","chargePower","activePhases","content","phaseTooltip","phaseAction","climater","pvAction","remaining","pvRemainingInterpolated","staticStyle","chargedEnergy","vehicleRange","chargeDurationInterpolated","chargeRemainingDurationInterpolated","direction","WaitingDots","chargeDuration","chargeRemainingDuration","phaseRemaining","pvRemaining","tickerHandler","phaseRemainingInterpolated","phaseTimerActive","pvTimerActive","tick","clearInterval","LoadpointDetails","Mode","Vehicle","phases","minCurrent","maxCurrent","chargeCurrent","vehicleCapacity","connectedDuration","chargeCurrents","chargeConfigured","chargeRemainingEnergy","apiPath","func","formattedDate","delete","Loadpoint","Energyflow","gridCurrents","prioritySoC","lp","reduce","sum","Site","configured","isNaN","parseInt","routes","path","Main","Config","linkExactActiveClass","header","docs","blog","github","footer","versionShort","versionLong","availableShort","availableLong","modalTitle","modalUpdateStarted","modalInstalledVersion","modalNoReleaseNotes","modalCancel","modalUpdate","modalUpdateNow","modalDownload","modalUpdateStatusStart","modalUpdateStatusFailed","footerShort","footerLong","modalChartGrid","modalChartSelf","modalSavingsPrice","modalSavingsTotal","modalExplaination","modalExplainationGrid","modalExplainationFeedIn","modalServerStart","modalNoData","experimentalLabel","experimentalText","thanks","supportUs","sticker","confettiPromise","becomeSponsor","dismissAll","main","noEnergy","battery","stop","minpvShort","minpvLong","pvShort","pvLong","fallbackName","remoteDisabledSoft","remoteDisabledHard","disconnected","ready","mincharge","inactiveLabel","activeLabel","description","today","tomorrow","targetIsInThePast","remove","activate","loadpointDetails","charged","tooltip","scale1p","scale3p","charge1p","charge2p","charge3p","pv","enable","disable","sponsoredShort","sponsoredLong","supportProjectShort","supportProjectLong","getBrowserLocale","navigatorLocale","navigator","languages","language","trimmedLocale","trim","fallbackLocale","messages","de","en","it","offset","themes","triggers","el","router","i18n","raise","console","latestMsg","warn","h","App","catch"],"mappings":"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","file":"js/index.333afce9.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--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridIcon.vue?vue&type=style&index=0&id=c8e84f48&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=style&index=0&id=7872ae76&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleSoc.vue?vue&type=style&index=0&id=66f68a62&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=style&index=0&id=0c035ffc&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=69de83c0&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LabelBar.vue?vue&type=style&index=0&id=17da7e54&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatteryIcon.vue?vue&type=style&index=0&id=2dcca16c&scoped=true&lang=css&\"","import axios from \"axios\";\n\nconst { protocol, hostname, port, pathname } = window.location;\n\nconst api = axios.create({\n baseURL: protocol + \"//\" + hostname + (port ? \":\" + port : \"\") + pathname + \"api/\",\n headers: {\n Accept: \"application/json\",\n },\n});\n\n// global error handling\napi.interceptors.response.use(\n (response) => response,\n (error) => {\n const url = error.config.baseURL + error.config.url;\n const message = `${error.message}: API request failed ${url}`;\n window.app.error({ message });\n }\n);\n\nexport default api;\n","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://evcc.io/\",\"target\":\"_blank\"}},[_c('Logo',{staticClass:\"logo\"})],1),_c('div',{staticClass:\"d-flex flex-grow-1 justify-content-end\"},[_c('Notifications',{attrs:{\"notifications\":_vm.notifications}}),_vm._m(0)],1),_c('div',{staticClass:\"collapse navbar-collapse flex-grow-0\",attrs:{\"id\":\"navbarNavAltMarkup\"}},[_c('ul',{staticClass:\"navbar-nav\"},[_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"https://docs.evcc.io/blog/\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"header.blog\"))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"https://docs.evcc.io/docs/Home/\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"header.docs\"))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/evcc-io/evcc\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"header.github\"))+\" \")])])])])])]),_c('router-view',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-stretch\"})],1),_c('Footer',{attrs:{\"version\":_vm.version,\"sponsor\":_vm.sponsor,\"savings\":_vm.savings}})],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 { faSun as farSun } from \"@fortawesome/free-regular-svg-icons/faSun\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faFlask } from \"@fortawesome/free-solid-svg-icons/faFlask\";\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 { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\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 faWrench,\n farHeart,\n fasHeart,\n faSquare,\n faSun,\n farSun,\n faInfoCircle,\n faFlask,\n faTemperatureHigh,\n faTemperatureLow,\n faThermometerHalf\n);\n\n// eslint-disable-next-line vue/component-definition-name-casing\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--1-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--1-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('Savings',_vm._b({attrs:{\"sponsor\":_vm.sponsor}},'Savings',_vm.savings,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',[(_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-2\",attrs:{\"icon\":\"gift\"}}),_vm._v(\"v\"+_vm._s(_vm.installed)+\" \"),_c('span',{staticClass:\"d-none d-xs-inline d-sm-none text-muted text-decoration-underline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableShort\"))+\" \")]),_c('span',{staticClass:\"d-none d-sm-inline text-muted text-decoration-underline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableLong\"))+\" \")])],1):_c('a',{staticClass:\"btn btn-link ps-0 text-decoration-none link-dark text-nowrap\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.installed),\"target\":\"_blank\"}},[_c('span',{staticClass:\"d-inline d-xs-none d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.version.versionShort\", { installed: _vm.installed })))]),_c('span',{staticClass:\"d-none d-xs-inline d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.version.versionLong\", { installed: _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--1-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--1-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=7872ae76&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=7872ae76&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 \"7872ae76\",\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',{staticClass:\"btn btn-link pe-0 text-decoration-none link-dark text-nowrap\",attrs:{\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#savingsModal\"}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.savings.footerShort\", { percent: _vm.percent })))]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.savings.footerLong\", { percent: _vm.percent })))]),_c('fa-icon',{staticClass:\"icon ms-2 text-evcc\",attrs:{\"icon\":\"sun\"}})],1),_c('div',{ref:\"modal\",staticClass:\"modal fade\",attrs:{\"id\":\"savingsModal\",\"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.savings.modalTitle\", { total: _vm.fmtKw(_vm.chargedTotal * 1000, true, false), }))+\" \")]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('div',{staticClass:\"modal-body py-4\"},[_c('div',{staticClass:\"chart-container mb-3\"},[_c('div',{staticClass:\"chart-legend d-flex flex-wrap justify-content-between mb-1\"},[_c('div',{staticClass:\"text-nowrap\"},[_c('fa-icon',{staticClass:\"text-evcc\",attrs:{\"icon\":\"square\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalChartSelf\", { self: _vm.fmtKw(_vm.chargedSelfConsumption * 1000, true, false), }))+\" \")],1),_c('div',{staticClass:\"text-nowrap\"},[_c('fa-icon',{staticClass:\"text-grid\",attrs:{\"icon\":\"square\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalChartGrid\", { grid: _vm.fmtKw(_vm.chargedGrid * 1000, true, false), }))+\" \")],1)]),_c('div',{staticClass:\"chart d-flex justify-content-stretch mb-1 rounded overflow-hidden\"},[(_vm.chargedTotal > 0)?_c('div',{staticClass:\"chart-item chart-item--self d-flex justify-content-center text-white flex-shrink-1\",style:({ width: (_vm.percent + \"%\") })},[_c('span',{staticClass:\"text-truncate\"},[_vm._v(\" \"+_vm._s(_vm.percent)+\"% \")])]):_vm._e(),(_vm.chargedTotal > 0)?_c('div',{staticClass:\"chart-item chart-item--grid d-flex justify-content-center text-white flex-shrink-1\",style:({ width: ((100 - _vm.percent) + \"%\") })},[_c('span',{staticClass:\"text-truncate\"},[_vm._v(\" \"+_vm._s(100 - _vm.percent)+\"% \")])]):_vm._e(),(_vm.chargedTotal === 0)?_c('div',{staticClass:\"chart-item chart-item--no-data d-flex justify-content-center text-white w-100\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"footer.savings.modalNoData\")))])]):_vm._e()])]),_c('p',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalSavingsPrice\"))+\": \"),_c('strong',[_vm._v(_vm._s(_vm.pricePerKWh))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalSavingsTotal\"))+\": \"),_c('strong',[_vm._v(_vm._s(_vm.savingAmount))])]),_c('p',{staticClass:\"small text-muted mb-3\"},[_c('a',{staticClass:\"text-muted\",attrs:{\"href\":\"https://github.com/evcc-io/evcc/blob/master/README.md#energy-tariffs--savings-estimate\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalExplaination\")))]),_vm._v(\": \"),_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalExplainationGrid\", { gridPrice: _vm.fmtPricePerKWh(_vm.gridPrice, _vm.currency), })))]),_vm._v(\", \"),_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalExplainationFeedIn\", { feedInPrice: _vm.fmtPricePerKWh(_vm.feedInPrice, _vm.currency), }))+\" \")]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.modalServerStart\", { since: _vm.fmtTimeAgo(_vm.since * -1000), }))+\" \")]),_c('hr',{staticClass:\"mb-4\"}),_c('Sponsor',{staticClass:\"mb-4\",attrs:{\"sponsor\":_vm.sponsor}}),_c('p',{staticClass:\"small text-muted mb-0\"},[_c('strong',{staticClass:\"text-primary\"},[_c('fa-icon',{attrs:{\"icon\":\"flask\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.experimentalLabel\"))+\": \")],1),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.savings.experimentalText\"))+\" \"),_c('a',{attrs:{\"href\":\"https://github.com/evcc-io/evcc/discussions/2104\",\"target\":\"_blank\"}},[_vm._v(\"GitHub Discussions\")]),_vm._v(\". \")])],1)])])])])}\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 (duration = 0, withUnit = false) {\n if (duration <= 0) {\n return \"—\";\n }\n var seconds = duration % 60;\n var minutes = Math.floor(duration / 60) % 60;\n var hours = Math.floor(duration / 3600);\n var result = \"\";\n if (hours >= 1) {\n result = hours + \":\" + `${minutes}`.padStart(2, \"0\");\n } else if (minutes >= 1) {\n result = minutes + \":\" + `${seconds}`.padStart(2, \"0\");\n } else {\n result = `${seconds}`;\n }\n if (withUnit) {\n result += this.fmtShortDurationUnit(duration);\n }\n return result;\n },\n fmtShortDurationUnit: function (duration = 0) {\n if (duration <= 0) {\n return \"\";\n }\n var minutes = Math.floor(duration / 60) % 60;\n var hours = Math.floor(duration / 3600);\n if (hours >= 1) {\n return \"h\";\n }\n if (minutes >= 1) {\n return \"m\";\n }\n return \"s\";\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(this.$i18n.locale, {\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n }).format(date);\n },\n fmtMoney: function (amout = 0, currency = \"EUR\") {\n return this.$n(amout, { style: \"currency\", currency });\n },\n fmtPricePerKWh: function (amout = 0, currency = \"EUR\") {\n let unit = currency;\n let value = amout;\n if ([\"EUR\", \"USD\"].includes(currency)) {\n value *= 100;\n unit = \"ct\";\n }\n return `${this.$n(value, { style: \"decimal\" })} ${unit}/kWh`;\n },\n fmtTimeAgo: function (elapsed) {\n const units = {\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(this.$i18n.locale, { numeric: \"auto\" });\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.sponsor)?_c('div',[_c('p',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.thanks\", { sponsor: _vm.sponsor }))+\" \")]),_c('div',{staticClass:\"d-flex justify-content-center flex-column\"},[_c('button',{ref:\"confetti\",staticClass:\"btn btn-primary mb-2 confetti-button bg-evcc\",on:{\"click\":_vm.surprise}},[_c('fa-icon',{staticClass:\"icon me-1 solid\",attrs:{\"icon\":['fas', 'heart']}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.confetti\"))+\" \")],1),(false)?_c('a',{staticClass:\"small text-muted text-center\",attrs:{\"href\":\"https://evcc.io/sticker\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.sticker\"))+\" \")]):_vm._e()])]):_c('div',[_c('p',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.supportUs\"))+\" \")]),_c('div',{staticClass:\"d-flex justify-content-center flex-column\"},[_c('a',{staticClass:\"btn btn-outline-primary mb-2\",attrs:{\"target\":\"_blank\",\"href\":\"https://github.com/sponsors/andig\"}},[_c('fa-icon',{staticClass:\"icon me-1\",attrs:{\"icon\":['far', 'heart']}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.becomeSponsor\"))+\" \")],1),_c('div',{staticClass:\"small text-muted text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.sponsor.confettiPromise\"))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=bcb1af48&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=bcb1af48&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 \"bcb1af48\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Savings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Savings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Savings.vue?vue&type=template&id=68e21a90&scoped=true&\"\nimport script from \"./Savings.vue?vue&type=script&lang=js&\"\nexport * from \"./Savings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Savings.vue?vue&type=style&index=0&id=68e21a90&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 \"68e21a90\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=2627c98e&\"\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 - new Date()))+\" \")]),_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 }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=06be21d4&\"\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--1-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--1-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=69de83c0&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=69de83c0&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 \"69de83c0\",\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/evcc-io/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/evcc-io/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:{\"id\":id,\"single\":_vm.loadpoints.length === 1}},'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:\"col-12 offset-md-1 col-md-6 offset-lg-1 col-lg-8 offset-xl-1 col-xl-6 offset-xxl-1 col-xl-8 order-md-2\",attrs:{\"showDetails\":_vm.showDetails,\"gridImport\":_vm.gridImport,\"selfConsumption\":_vm.selfConsumption,\"loadpoints\":_vm.loadpointsPower,\"pvExport\":_vm.pvExport,\"batteryCharge\":_vm.batteryCharge,\"batteryDischarge\":_vm.batteryDischarge,\"pvProduction\":_vm.pvProduction,\"homePower\":_vm.homePower,\"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-home-power\":\"\"}},[_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.homePower\")))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.homePower)))])]),_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-loadpoints\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('fa-icon',{attrs:{\"icon\":\"car\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$tc(\"main.energyflow.loadpoints\", _vm.activeLoadpointsCount, { count: _vm.activeLoadpointsCount, })))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.loadpointsPower)))])]),(_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:\"col-12 col-sm-6 offset-md-6 col-md-6 offset-lg-4 col-lg-8 d-block d-md-flex order-md-3 justify-content-between mt-2\"},[_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-start\"},[_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('top', 'pvProduction'),false),[_c('fa-icon',{attrs:{\"icon\":\"sun\"}})],1),_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('top', 'batteryDischarge'),false),[_c('BatteryIcon',{attrs:{\"soc\":_vm.batterySoC,\"discharge\":\"\"}})],1),_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('top', 'gridImport'),false),[_c('GridIcon',{attrs:{\"import\":\"\"}})],1)],1)]),_c('div',{ref:\"site_progress\",staticClass:\"site-progress\"},[_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 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 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\"},[_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('bottom', 'homePower'),false),[_c('fa-icon',{attrs:{\"icon\":\"home\"}})],1),_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('bottom', 'loadpoints'),false),[_c('fa-icon',{attrs:{\"icon\":\"car\"}})],1),_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('bottom', 'batteryCharge'),false),[_c('BatteryIcon',{attrs:{\"soc\":_vm.batterySoC,\"charge\":\"\"}})],1),_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('bottom', 'gridExport'),false),[_c('GridIcon',{attrs:{\"export\":\"\"}})],1)],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',{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--1-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--1-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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'power-import': this.import, 'power-export': this.export }},[_c('svg',{staticClass:\"grid svg-inline--fa fa-home fa-w-18\",attrs:{\"viewBox\":\"0 0 512 512\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M217.529 46.629H83.817c-8.83 0-16 7.169-16 16v32c0 .196.004.391.011.586v51.22c0 6.209 5.041 11.25 11.25 11.25h22.5c6.209 0 11.25-5.041 11.25-11.25v-35.806h104.701v84.697H83.577c-8.83 0-16 7.169-16 16v32c0 .196.004.391.011.586v51.22c0 6.209 5.041 11.25 11.25 11.25h22.5c6.209 0 11.25-5.041 11.25-11.25v-35.806h104.941v49.925L176.47 506.932l160 .033-39.179-197.538v-50.101h100.402v35.756c0 6.257 5.08 11.337 11.337 11.337h22.674c6.257 0 11.337-5.08 11.337-11.337v-83.756c0-8.831-7.169-16-16-16h-129.75v-84.697h100.642v35.756c0 6.257 5.08 11.337 11.337 11.337h22.674c6.257 0 11.337-5.08 11.337-11.337V62.629c0-8.831-7.169-16-16-16h-129.99V26.162c-.043-12.777-40.058-18.846-40.159-18.633 0 0-39.66 6.092-39.603 18.633v20.467Z\"}})]),_c('fa-icon',{staticClass:\"arrow\",attrs:{\"icon\":\"angle-double-right\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridIcon.vue?vue&type=template&id=c8e84f48&scoped=true&\"\nimport script from \"./GridIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./GridIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridIcon.vue?vue&type=style&index=0&id=c8e84f48&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 \"c8e84f48\",\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:\"label-bar\",class:{\n\t\t'label-bar--hide-icon': _vm.hideIcon,\n\t\t'label-bar--hidden': !_vm.value,\n\t\t'label-bar--top': _vm.top,\n\t\t'label-bar--bottom': _vm.bottom,\n\t\t'label-bar--first': _vm.first,\n\t\t'label-bar--last': _vm.last,\n\t}},[_c('div',{staticClass:\"label-bar-scale\"},[_c('div',{staticClass:\"label-bar-icon\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LabelBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LabelBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LabelBar.vue?vue&type=template&id=17da7e54&scoped=true&\"\nimport script from \"./LabelBar.vue?vue&type=script&lang=js&\"\nexport * from \"./LabelBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LabelBar.vue?vue&type=style&index=0&id=17da7e54&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 \"17da7e54\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=0c035ffc&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=0c035ffc&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 \"0c035ffc\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=c2b4f05e&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=c2b4f05e&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 \"c2b4f05e\",\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,\"target-time-updated\":_vm.setTargetTime,\"target-time-removed\":_vm.removeTargetTime}},'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--1-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--1-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.vehicleTitle || _vm.$t(\"main.vehicle.fallbackName\"))+\" \")]),_c('VehicleSoc',_vm._b({on:{\"target-soc-updated\":_vm.targetSocUpdated}},'VehicleSoc',_vm.vehicleSocProps,false)),_c('VehicleSubline',_vm._b({staticClass:\"my-1\",on:{\"target-time-updated\":_vm.setTargetTime,\"target-time-removed\":_vm.removeTargetTime}},'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.vehicleSoCDisplayWidth + \"%\") }),attrs:{\"role\":\"progressbar\"}},[_vm._v(\" \"+_vm._s(_vm.vehicleSoCDisplayValue)+\" \")]),(_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()]),_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,\"mousedown\":_vm.changeTargetSoCStart,\"touchstart\":_vm.changeTargetSoCStart,\"mouseup\":_vm.changeTargetSoCEnd,\"touchend\":_vm.changeTargetSoCEnd}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=66f68a62&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=66f68a62&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 \"66f68a62\",\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()]),_c('TargetCharge',_vm._b({on:{\"target-time-updated\":_vm.setTargetTime,\"target-time-removed\":_vm.removeTargetTime}},'TargetCharge',_vm.targetCharge,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('button',{staticClass:\"target-time-button btn btn-link btn-sm pe-0\",class:{\n\t\t\tinvisible: !_vm.targetSoC,\n\t\t\t'text-dark': _vm.targetTimeActive,\n\t\t\t'text-secondary': !_vm.targetTimeActive,\n\t\t},attrs:{\"data-bs-toggle\":\"modal\",\"data-bs-target\":(\"#\" + _vm.modalId)}},[_vm._v(\" \"+_vm._s(_vm.targetTimeLabel())),_c('fa-icon',{staticClass:\"ms-1\",attrs:{\"icon\":\"clock\"}})],1),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":_vm.modalId,\"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(\"main.targetCharge.modalTitle\"))+\" \")]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.setTargetTime.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"mb-3\",attrs:{\"for\":\"targetTimeLabel\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('main.targetCharge.description', { targetSoC: _vm.targetSoC }))}}),_c('div',{staticClass:\"d-flex justify-content-between\",style:({ 'max-width': '350px' })},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedDay),expression:\"selectedDay\"}],staticClass:\"form-select me-2\",style:({ 'flex-basis': '60%' }),on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedDay=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.dayOptions()),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[_vm._v(\" \"+_vm._s(opt.name)+\" \")])}),0),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedTime),expression:\"selectedTime\"}],staticClass:\"form-control ms-2\",style:({ 'flex-basis': '40%' }),attrs:{\"type\":\"time\",\"step\":60 * 5,\"required\":\"\"},domProps:{\"value\":(_vm.selectedTime)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.selectedTime=$event.target.value}}})])]),(!_vm.selectedTargetTimeValid)?_c('p',{staticClass:\"text-danger mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.targetCharge.targetIsInThePast\"))+\" \")]):_vm._e(),_c('p',{staticClass:\"small mt-3 text-muted\"},[_c('strong',{staticClass:\"text-primary\"},[_c('fa-icon',{attrs:{\"icon\":\"flask\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"main.targetCharge.experimentalLabel\"))+\": \")],1),_vm._v(\" \"+_vm._s(_vm.$t(\"main.targetCharge.experimentalText\"))+\" \"),_c('a',{attrs:{\"href\":\"https://github.com/evcc-io/evcc/discussions/1433\",\"target\":\"_blank\"}},[_vm._v(\"GitHub Discussions\")]),_vm._v(\". \")])]),_c('div',{staticClass:\"modal-footer d-flex justify-content-between\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\"},on:{\"click\":_vm.removeTargetTime}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.targetCharge.remove\"))+\" \")]),_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\",\"data-bs-dismiss\":\"modal\",\"disabled\":!_vm.selectedTargetTimeValid}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.targetCharge.activate\"))+\" \")])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetCharge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetCharge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetCharge.vue?vue&type=template&id=28849959&\"\nimport script from \"./TargetCharge.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetCharge.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--1-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--1-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=339c9c59&\"\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--1-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--1-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=64726dc5&\"\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.chargePower && _vm.activePhases)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:({ content: _vm.phaseTooltip }),expression:\"{ content: phaseTooltip }\"}],staticClass:\"badge rounded-pill bg-secondary text-light cursor-pointer d-inline-flex align-items-center\",attrs:{\"tabindex\":\"0\"}},[_c('div',[_vm._v(_vm._s(_vm.activePhases)+\"P\")]),(_vm.phaseTimerVisible)?_c('WaitingDots',{attrs:{\"direction\":_vm.phaseAction === 'scale1p' ? 'down' : 'up'}}):_vm._e()],1):_vm._e(),(_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\")]),(_vm.pvTimerVisible)?_c('small',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:({\n\t\t\t\t\t\tcontent: _vm.$t((\"main.loadpointDetails.tooltip.pv.\" + _vm.pvAction), {\n\t\t\t\t\t\t\tremaining: _vm.fmtShortDuration(_vm.pvRemainingInterpolated, true),\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: $t(`main.loadpointDetails.tooltip.pv.${pvAction}`, {\\n\\t\\t\\t\\t\\t\\t\\tremaining: fmtShortDuration(pvRemainingInterpolated, true),\\n\\t\\t\\t\\t\\t\\t}),\\n\\t\\t\\t\\t\\t}\"}],staticClass:\"text-muted cursor-pointer d-inline-block align-bottom\",staticStyle:{\"margin-bottom\":\"0.1em\"},attrs:{\"tabindex\":\"0\"}},[_c('WaitingDots',{attrs:{\"direction\":_vm.pvAction === 'disable' ? 'down' : 'up'}})],1):_vm._e()])]),_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.vehicleRange && _vm.vehicleRange >= 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.vehicleRange\")))]),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(Math.round(_vm.vehicleRange))+\" \"),_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.chargeDurationInterpolated))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeDurationInterpolated)))])])]),(_vm.vehiclePresent)?_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.chargeRemainingDurationInterpolated))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeRemainingDurationInterpolated, true)))])])]):_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',{staticClass:\"root position-relative\",class:(\"direction-\" + _vm.direction)},[_c('shopicon-options-filled',{staticClass:\"dots dots-back\"}),_c('shopicon-options-filled',{staticClass:\"dots dots-front position-absolute start-0 top-0\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitingDots.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitingDots.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WaitingDots.vue?vue&type=template&id=60c12baf&scoped=true&\"\nimport script from \"./WaitingDots.vue?vue&type=script&lang=js&\"\nexport * from \"./WaitingDots.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WaitingDots.vue?vue&type=style&index=0&id=60c12baf&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 \"60c12baf\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--1-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=3c1cbb49&\"\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--1-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--1-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=71bb368e&\"\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--1-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--1-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=6fe80f62&\"\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--1-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--1-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=08f88740&\"\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:{\"id\":'loadpoint-' + id,\"loadpoint\":loadpoint}},[_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.vehicleTitle || \"—\"))])]),_c('div',{staticClass:\"col-6 py-3\"},[_vm._v(\" Kapazität: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.vehicleCapacity)+\"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--1-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--1-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=156c4242&\"\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