diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue index b79270b07..45b3ef944 100644 --- a/assets/js/components/Loadpoint.vue +++ b/assets/js/components/Loadpoint.vue @@ -64,7 +64,7 @@ export default { vehiclePresent: Boolean, climater: String, range: Number, - chargeEstimate: Number, + chargeRemainingDuration: Number, // other information phases: Number, diff --git a/assets/js/components/LoadpointDetails.stories.js b/assets/js/components/LoadpointDetails.stories.js index 17f0f42e6..5396ec845 100644 --- a/assets/js/components/LoadpointDetails.stories.js +++ b/assets/js/components/LoadpointDetails.stories.js @@ -32,7 +32,7 @@ Vehicle.args = { chargedEnergy: 11e3, chargeDuration: 95 * 60, vehiclePresent: true, - chargeEstimate: 5 * 3600, + chargeRemainingDuration: 5 * 3600, }; export const VehicleRange = Template.bind({}); @@ -42,7 +42,7 @@ VehicleRange.args = { chargeDuration: 95 * 60, vehiclePresent: true, range: 240.123, - chargeEstimate: 5 * 3600, + chargeRemainingDuration: 5 * 3600, }; export const VehicleClimater = Template.bind({}); @@ -52,7 +52,7 @@ VehicleClimater.args = { chargeDuration: 95 * 60, vehiclePresent: true, range: 240.123, - chargeEstimate: 5 * 3600, + chargeRemainingDuration: 5 * 3600, climater: "on", }; @@ -63,7 +63,7 @@ VehicleTimer.args = { chargeDuration: 95 * 60, vehiclePresent: true, range: 240.123, - chargeEstimate: 5 * 3600, + chargeRemainingDuration: 5 * 3600, timerSet: true, timerActive: true, }; diff --git a/assets/js/components/LoadpointDetails.vue b/assets/js/components/LoadpointDetails.vue index b00760a08..60061fab2 100644 --- a/assets/js/components/LoadpointDetails.vue +++ b/assets/js/components/LoadpointDetails.vue @@ -53,8 +53,10 @@
{{ $t("main.loadpointDetails.remaining") }}

- {{ fmtShortDuration(chargeEstimate) }} - {{ fmtShortDurationUnit(chargeEstimate) }} + {{ fmtShortDuration(chargeRemainingDuration) }} + {{ + fmtShortDurationUnit(chargeRemainingDuration) + }}

@@ -70,7 +72,7 @@ export default { props: { chargedEnergy: Number, chargeDuration: Number, - chargeEstimate: Number, + chargeRemainingDuration: Number, chargePower: Number, climater: String, vehiclePresent: Boolean, diff --git a/assets/js/components/Site.stories.js b/assets/js/components/Site.stories.js index f9854e62e..b6304485f 100644 --- a/assets/js/components/Site.stories.js +++ b/assets/js/components/Site.stories.js @@ -47,7 +47,7 @@ Single.args = { vehicleSoc: 66, targetSoC: 90, range: 344, - chargeEstimate: 999, + chargeRemainingDuration: 999, chargePower: 11232, chargeDuration: 123982, chargedEnergy: 23213, @@ -76,7 +76,7 @@ Multi.args = { vehicleSoc: 66, targetSoC: 90, range: 344, - chargeEstimate: 999, + chargeRemainingDuration: 999, chargePower: 11232, chargeDuration: 123982, chargedEnergy: 23213, @@ -96,7 +96,7 @@ Multi.args = { socCharge: 22, targetSoC: 100, range: 34, - chargeEstimate: 22, + chargeRemainingDuration: 22, chargePower: 1423, chargeDuration: 243, chargedEnergy: 235, diff --git a/core/loadpoint.go b/core/loadpoint.go index c2694b1c3..93c52d21c 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -129,9 +129,12 @@ type LoadPoint struct { pvTimer time.Time // PV enabled/disable timer phaseTimer time.Time // 1p3p switch timer - vehicleSoc float64 // Vehicle SoC - chargedEnergy float64 // Charged energy while connected in Wh - chargeDuration time.Duration // Charge duration + // charge progress + vehicleSoc float64 // Vehicle SoC + chargeDuration time.Duration // Charge duration + chargedEnergy float64 // Charged energy while connected in Wh + chargeRemainingDuration time.Duration // Remaining charge duration + chargeRemainingEnergy float64 // Remaining charge energy in Wh tasks []func() error // task list for repeated execution } @@ -1158,14 +1161,13 @@ func (lp *LoadPoint) publishSoCAndRange() { lp.log.DEBUG.Printf("vehicle soc: %.0f%%", lp.vehicleSoc) lp.publish("vehicleSoc", lp.vehicleSoc) - chargeEstimate := time.Duration(-1) if lp.charging() { - chargeEstimate = lp.socEstimator.RemainingChargeDuration(lp.chargePower, lp.SoC.Target) + lp.setRemainingDuration(lp.socEstimator.RemainingChargeDuration(lp.chargePower, lp.SoC.Target)) + } else { + lp.setRemainingDuration(-1) } - lp.publish("chargeEstimate", chargeEstimate) - chargeRemainingEnergy := 1e3 * lp.socEstimator.RemainingChargeEnergy(lp.SoC.Target) - lp.publish("chargeRemainingEnergy", chargeRemainingEnergy) + lp.setRemainingEnergy(1e3 * lp.socEstimator.RemainingChargeEnergy(lp.SoC.Target)) } else { if errors.Is(err, api.ErrMustRetry) { lp.socUpdated = time.Time{} @@ -1188,7 +1190,7 @@ func (lp *LoadPoint) publishSoCAndRange() { // reset if poll: connected/charging and not connected if lp.SoC.Poll.Mode != pollAlways && !lp.connected() { lp.publish("vehicleSoc", -1) - lp.publish("chargeEstimate", time.Duration(-1)) + lp.publish("chargeRemainingDuration", time.Duration(-1)) // range lp.publish("range", -1) diff --git a/core/loadpoint/api.go b/core/loadpoint/api.go index 8a9293f27..8521e7e7a 100644 --- a/core/loadpoint/api.go +++ b/core/loadpoint/api.go @@ -13,31 +13,69 @@ type Controller interface { // API is the external loadpoint API type API interface { + // Name returns the defined loadpoint name Name() string + // HasChargeMeter determines if a physical charge meter is attached HasChargeMeter() bool + // // status + // + + // GetStatus returns the charging status GetStatus() api.ChargeStatus + // // settings + // + + // GetMode returns the charge mode GetMode() api.ChargeMode + // SetMode sets the charge mode SetMode(api.ChargeMode) + // GetTargetSoC returns the charge target soc GetTargetSoC() int + // SetTargetSoC sets the charge target soc SetTargetSoC(int) error + // GetMinSoC returns the charge minimum soc GetMinSoC() int + // SetMinSoC sets the charge minimum soc SetMinSoC(int) error + // GetPhases returns the enabled phases GetPhases() int + // SetPhases sets the enabled phases SetPhases(int) error + // SetTargetCharge sets the charge targetSoC SetTargetCharge(time.Time, int) + // RemoteControl sets remote status demand RemoteControl(string, RemoteDemand) - // energy + // + // power and energy + // + + // GetChargePower returns the current charging power GetChargePower() float64 + // GetMinCurrent returns the min charging current GetMinCurrent() float64 + // SetMinCurrent returns the min charging current SetMinCurrent(float64) + // GetMaxCurrent returns the max charging current GetMaxCurrent() float64 + // SetMaxCurrent returns the max charging current SetMaxCurrent(float64) + // GetMinPower returns the min charging power for a single phase GetMinPower() float64 + // GetMaxPower returns the max charging power taking active phases into account GetMaxPower() float64 + + // + // charge progress + // + + // GetRemainingDuration is the estimated remaining charging duration + GetRemainingDuration() time.Duration + // GetRemainingEnergy is the remaining charge energy in Wh + GetRemainingEnergy() float64 } diff --git a/core/loadpoint_api.go b/core/loadpoint_api.go index 155d807ed..8690ab001 100644 --- a/core/loadpoint_api.go +++ b/core/loadpoint_api.go @@ -206,3 +206,39 @@ func (lp *LoadPoint) GetMinPower() float64 { func (lp *LoadPoint) GetMaxPower() float64 { return Voltage * lp.GetMaxCurrent() * float64(lp.GetPhases()) } + +// setRemainingDuration sets the estimated remaining charging duration +func (lp *LoadPoint) setRemainingDuration(chargeRemainingDuration time.Duration) { + lp.Lock() + defer lp.Unlock() + + if lp.chargeRemainingDuration != chargeRemainingDuration { + lp.chargeRemainingDuration = chargeRemainingDuration + lp.publish("chargeRemainingDuration", chargeRemainingDuration) + } +} + +// GetRemainingDuration is the estimated remaining charging duration +func (lp *LoadPoint) GetRemainingDuration() time.Duration { + lp.Lock() + defer lp.Unlock() + return lp.chargeRemainingDuration +} + +// setRemainingEnergy sets the remaining charge energy in Wh +func (lp *LoadPoint) setRemainingEnergy(chargeRemainingEnergy float64) { + lp.Lock() + defer lp.Unlock() + + if lp.chargeRemainingEnergy != chargeRemainingEnergy { + lp.chargeRemainingEnergy = chargeRemainingEnergy + lp.publish("chargeRemainingEnergy", chargeRemainingEnergy) + } +} + +// GetRemainingEnergy is the remaining charge energy in Wh +func (lp *LoadPoint) GetRemainingEnergy() float64 { + lp.Lock() + defer lp.Unlock() + return lp.chargeRemainingEnergy +} diff --git a/dist/index.html b/dist/index.html index 5b307b143..db9709e2b 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,4 +1,4 @@ -evcc
\ No newline at end of file + };
\ No newline at end of file diff --git a/dist/js/index.71929600.js.map b/dist/js/index.71929600.js.map deleted file mode 100644 index c636d181b..000000000 --- a/dist/js/index.71929600.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/components/Mode.vue?6d9a","webpack:///./assets/js/components/Sponsor.vue?4b35","webpack:///./assets/js/components/Energyflow/LabelBar.vue?6b30","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?7eb9","webpack:///./assets/js/views/App.vue?943c","webpack:///./assets/js/icons.js","webpack:///./assets/js/components/Logo.vue?c413","webpack:///assets/js/components/Logo.vue","webpack:///./assets/js/components/Logo.vue?6eb9","webpack:///./assets/js/components/Logo.vue","webpack:///./assets/js/components/Footer.vue?34a5","webpack:///./assets/js/components/Version.vue?54ad","webpack:///assets/js/components/Version.vue","webpack:///./assets/js/components/Version.vue?1d82","webpack:///./assets/js/components/Version.vue","webpack:///./assets/js/components/Sponsor.vue?48f8","webpack:///assets/js/components/Sponsor.vue","webpack:///./assets/js/components/Sponsor.vue?9052","webpack:///./assets/js/components/Sponsor.vue","webpack:///assets/js/components/Footer.vue","webpack:///./assets/js/components/Footer.vue?9347","webpack:///./assets/js/components/Footer.vue","webpack:///./assets/js/components/Notifications.vue?f6dd","webpack:///./assets/js/mixins/formatter.js","webpack:///assets/js/components/Notifications.vue","webpack:///./assets/js/components/Notifications.vue?ee9f","webpack:///./assets/js/components/Notifications.vue","webpack:///./assets/js/store.js","webpack:///assets/js/views/App.vue","webpack:///./assets/js/views/App.vue?9ed2","webpack:///./assets/js/views/App.vue","webpack:///./assets/js/views/Main.vue?ff54","webpack:///./assets/js/components/Site.vue?5350","webpack:///./assets/js/components/Energyflow/Energyflow.vue?eecf","webpack:///./assets/js/components/Energyflow/Visualization.vue?bf50","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?3aeb","webpack:///assets/js/components/Energyflow/BatteryIcon.vue","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue?4fc4","webpack:///./assets/js/components/Energyflow/BatteryIcon.vue","webpack:///./assets/js/components/Energyflow/LabelBar.vue?14d4","webpack:///assets/js/components/Energyflow/LabelBar.vue","webpack:///./assets/js/components/Energyflow/LabelBar.vue?11f2","webpack:///./assets/js/components/Energyflow/LabelBar.vue","webpack:///assets/js/components/Energyflow/Visualization.vue","webpack:///./assets/js/components/Energyflow/Visualization.vue?2f17","webpack:///./assets/js/components/Energyflow/Visualization.vue","webpack:///assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/Energyflow.vue?8be6","webpack:///./assets/js/components/Energyflow/Energyflow.vue","webpack:///./assets/js/components/Energyflow/index.js","webpack:///./assets/js/components/Loadpoint.vue?b84f","webpack:///./assets/js/components/Mode.vue?a20f","webpack:///assets/js/components/Mode.vue","webpack:///./assets/js/components/Mode.vue?fbb9","webpack:///./assets/js/components/Mode.vue","webpack:///./assets/js/components/Vehicle.vue?ac0c","webpack:///./assets/js/mixins/collector.js","webpack:///./assets/js/components/VehicleSoc.vue?95aa","webpack:///assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSoc.vue?8383","webpack:///./assets/js/components/VehicleSoc.vue","webpack:///./assets/js/components/VehicleSubline.vue?7f9e","webpack:///./assets/js/components/TargetCharge.vue?2a96","webpack:///assets/js/components/TargetCharge.vue","webpack:///./assets/js/components/TargetCharge.vue?61a6","webpack:///./assets/js/components/TargetCharge.vue","webpack:///assets/js/components/VehicleSubline.vue","webpack:///./assets/js/components/VehicleSubline.vue?a160","webpack:///./assets/js/components/VehicleSubline.vue","webpack:///assets/js/components/Vehicle.vue","webpack:///./assets/js/components/Vehicle.vue?5364","webpack:///./assets/js/components/Vehicle.vue","webpack:///./assets/js/components/LoadpointDetails.vue?0726","webpack:///assets/js/components/LoadpointDetails.vue","webpack:///./assets/js/components/LoadpointDetails.vue?3057","webpack:///./assets/js/components/LoadpointDetails.vue","webpack:///assets/js/components/Loadpoint.vue","webpack:///./assets/js/components/Loadpoint.vue?8199","webpack:///./assets/js/components/Loadpoint.vue","webpack:///assets/js/components/Site.vue","webpack:///./assets/js/components/Site.vue?af05","webpack:///./assets/js/components/Site.vue","webpack:///assets/js/views/Main.vue","webpack:///./assets/js/views/Main.vue?0821","webpack:///./assets/js/views/Main.vue","webpack:///./assets/js/views/Config.vue?74d7","webpack:///assets/js/views/Config.vue","webpack:///./assets/js/views/Config.vue?db1d","webpack:///./assets/js/views/Config.vue","webpack:///./assets/js/router.js","webpack:///./assets/js/i18n/de.js","webpack:///./assets/js/i18n/en.js","webpack:///./assets/js/i18n/it.js","webpack:///./assets/js/i18n/index.js","webpack:///./assets/js/app.js","webpack:///./assets/js/components/Energyflow/Energyflow.vue?5017","webpack:///./assets/js/components/VehicleSoc.vue?75dd","webpack:///./assets/js/components/Version.vue?7614","webpack:///./assets/js/views/App.vue?07e6","webpack:///./assets/js/components/Energyflow/Visualization.vue?7945"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","notifications","_m","_v","_s","$t","version","sponsor","staticRenderFns","add","faAngleDown","faAngleUp","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faBox","faCar","faAngleDoubleLeft","faAngleDoubleRight","faClock","faExclamationCircle","faExclamationTriangle","faGift","faHome","faSquare","faSun","faFlask","faTemperatureHigh","faTemperatureLow","faThermometerHalf","component","_b","available","releaseNotesUrl","installed","style","width","uploadProgress","updateStatus","uploadMessage","domProps","releaseNotes","updateStarted","on","update","props","String","hasUpdater","Boolean","Number","methods","async","a","post","e","computed","newVersionAvailable","ref","$event","stopPropagation","preventDefault","surprise","arguments","console","log","$refs","top","height","left","getBoundingClientRect","x","innerWidth","y","innerHeight","origin","angle","Math","random","particleCount","spread","drift","scalar","colors","components","Version","Sponsor","directives","rawName","expression","class","iconClass","_l","msg","index","fmtAbsoluteDate","time","fmtTimeAgo","type","message","count","_e","clear","fmtLimit","fmtDigits","round","num","precision","base","toFixed","fmt","val","undefined","abs","fmtKw","watt","kw","withUnit","digits","unit","$n","minimumFractionDigits","maximumFractionDigits","fmtUnit","fmtDuration","seconds","minutes","floor","hours","substr","fmtShortDuration","tm","fmtShortDurationUnit","fmtDayString","date","YY","getFullYear","MM","getMonth","padStart","DD","getDate","fmtTimeString","HH","getHours","mm","getMinutes","Intl","DateTimeFormat","weekday","hour","minute","format","units","year","month","day","second","rtf","RelativeTimeFormat","numeric","elapsed","Date","u","Array","iconVisible","find","app","created","interval","setInterval","$forceUpdate","destroyed","clearTimeout","mixins","formatter","setProperty","obj","prop","set","isArray","store","state","loadpoints","keys","forEach","k","split","Logo","Footer","Notifications","compact","$root","$data","installedVersion","evcc","connect","loc","location","protocol","uri","hostname","port","pathname","ws","WebSocket","self","onerror","close","onclose","setTimeout","onmessage","evt","JSON","parse","error","reload","title","availableVersion","siteTitle","urlParams","URLSearchParams","search","energyflow","loadpoint","id","toggleDetails","showDetails","gridImport","selfConsumption","loadpointsPower","pvExport","batteryCharge","batteryDischarge","pvProduction","houseConsumption","batterySoC","valuesInKw","$tc","activeLoadpointsCount","batteryPower","visualizationReady","labelBarProps","widthTotal","gridImportAdjusted","powerLabelEnoughSpace","powerLabelSomeSpace","kwNoUnit","selfConsumptionAdjusted","pvExportAdjusted","totalAdjusted","charge","discharge","batteryIcon","soc","default","hideIcon","bottom","first","last","_t","BatteryIcon","LabelBar","mounted","$nextTick","addEventListener","updateElementWidth","removeEventListener","totalRaw","applyThreshold","watch","power","percent","powerLabelAvailableSpace","minWidth","site_progress","position","isLabel","labels","entries","reverse","entry","startsWith","hideLabelIcon","isLabelFirst","isLabelLast","Visualization","gridConfigured","gridPower","pvConfigured","pvPower","batteryConfigured","max","pvConsumption","min","batteryPowerAdjusted","batteryPowerThreshold","single","remoteDisabled","source","remoteDisabledSource","setTargetMode","setTargetSoC","setTargetTime","vehicle","details","active","$emit","vehicleTitle","targetSocUpdated","vehicleSocProps","targetTimeUpdated","vehicleSubline","collectProps","_obj","_obj$1","charging","progressColor","vehicleSocDisplayWidth","vehicleSocDisplayValue","remainingSoCWidth","enabled","transition","connected","vehiclePresent","visibleTargetSoC","allowSliderHiding","movedTargetSoC","vehicleSoc","minSoC","targetSoC","selectedTargetSoC","chargeStatus","minSoCActive","minTargetSoC","target","targetCharge","invisible","timerActive","modalId","targetTimeLabel","saveTargetTime","$$selectedVal","filter","options","selected","map","_value","selectedDay","multiple","dayOptions","opt","composing","selectedTime","selectedTargetTimeValid","removeTargetTime","timerSet","targetTime","targetChargeEnabled","now","selectedTargetTime","initInputFields","targetDate","defaultDate","setHours","setMinutes","ceil","targetTimeInTheFuture","dayNumber","toLocaleDateString","dayName","toISOString","setDate","minTime","TargetCharge","collector","VehicleSoc","VehicleSubline","climater","chargePower","chargedEnergy","range","chargeDuration","chargeEstimate","phases","minCurrent","maxCurrent","activePhases","chargeCurrent","vehicleCapacity","connectedDuration","chargeCurrents","chargeConfigured","chargeRemainingEnergy","LoadpointDetails","Mode","Vehicle","tickerHandle","chargeDurationDisplayed","clearInterval","api","func","then","response","catch","formattedDate","gridCurrents","prioritySoC","Loadpoint","Energyflow","lp","reduce","sum","Site","configured","isNaN","parseInt","use","routes","path","Main","Config","linkExactActiveClass","header","support","footer","availableShort","availableLong","modalTitle","modalUpdateStarted","modalInstalledVersion","modalNoReleaseNotes","modalCancel","modalUpdate","modalUpdateNow","modalDownload","modalUpdateStatusStart","modalUpdateStatusFailed","sponsoredShort","sponsoredLong","supportProjectShort","supportProjectLong","dismissAll","main","noEnergy","battery","stop","minpvShort","minpvLong","pvShort","pvLong","fallbackName","remoteDisabledSoft","remoteDisabledHard","disconnected","ready","mincharge","inactiveLabel","activeLabel","description","today","tomorrow","targetIsInThePast","remove","activate","experimentalLabel","experimentalText","loadpointDetails","charged","duration","remaining","getBrowserLocale","navigatorLocale","navigator","languages","language","trimmedLocale","trim","locale","fallbackLocale","messages","de","en","it","defaults","baseURL","headers","el","router","i18n","h","App","raise","latestMsg","warn"],"mappings":"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","file":"js/index.71929600.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mode.vue?vue&type=style&index=0&id=1ff39d22&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sponsor.vue?vue&type=style&index=0&id=1eecc7b7&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatteryIcon.vue?vue&type=style&index=0&id=2dcca16c&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app d-flex flex-column justify-content-between overflow-hidden\"},[_c('div',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-between\"},[_c('nav',{staticClass:\"navbar navbar-expand-lg navbar-dark bg-dark\"},[_c('div',{staticClass:\"container\"},[_c('a',{staticClass:\"navbar-brand\",attrs:{\"href\":\"https://github.com/evcc-io/evcc\"}},[_c('Logo',{staticClass:\"logo\"})],1),_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"d-flex\"},[_c('Notifications',{attrs:{\"notifications\":_vm.notifications}}),_vm._m(0)],1),_c('div',{staticClass:\"collapse navbar-collapse flex-lg-grow-0\",attrs:{\"id\":\"navbarNavAltMarkup\"}},[_c('ul',{staticClass:\"navbar-nav\"},[_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/evcc-io/evcc/discussions\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"header.support\"))+\" \")])])])])])])]),_c('router-view',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-stretch\"})],1),_c('Footer',{attrs:{\"version\":_vm.version,\"sponsor\":_vm.sponsor}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"navbar-toggler\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":\"#navbarNavAltMarkup\",\"aria-controls\":\"navbarNavAltMarkup\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\nimport { faBatteryEmpty } from \"@fortawesome/free-solid-svg-icons/faBatteryEmpty\";\nimport { faBatteryFull } from \"@fortawesome/free-solid-svg-icons/faBatteryFull\";\nimport { faBatteryHalf } from \"@fortawesome/free-solid-svg-icons/faBatteryHalf\";\nimport { faBatteryQuarter } from \"@fortawesome/free-solid-svg-icons/faBatteryQuarter\";\nimport { faBatteryThreeQuarters } from \"@fortawesome/free-solid-svg-icons/faBatteryThreeQuarters\";\nimport { faAngleUp } from \"@fortawesome/free-solid-svg-icons/faAngleUp\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { faClock } from \"@fortawesome/free-solid-svg-icons/faClock\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { faSun } from \"@fortawesome/free-solid-svg-icons/faSun\";\nimport { 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 { faCar } from \"@fortawesome/free-solid-svg-icons/faCar\";\nimport { faSquare } from \"@fortawesome/free-solid-svg-icons/faSquare\";\nimport { faExclamationCircle } from \"@fortawesome/free-solid-svg-icons/faExclamationCircle\";\nimport { faAngleDoubleLeft } from \"@fortawesome/free-solid-svg-icons/faAngleDoubleLeft\";\nimport { faAngleDoubleRight } from \"@fortawesome/free-solid-svg-icons/faAngleDoubleRight\";\n\nlibrary.add(\n faAngleDown,\n faAngleUp,\n faBatteryEmpty,\n faBatteryFull,\n faBatteryHalf,\n faBatteryQuarter,\n faBatteryThreeQuarters,\n faBox,\n faCar,\n faAngleDoubleLeft,\n faAngleDoubleRight,\n faClock,\n faExclamationCircle,\n faExclamationTriangle,\n faGift,\n faHome,\n farHeart,\n fasHeart,\n faSquare,\n faSun,\n faFlask,\n faTemperatureHigh,\n faTemperatureLow,\n faThermometerHalf\n);\n\nVue.component(\"fa-icon\", FontAwesomeIcon);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 122 35\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"2\"}},[_c('path',{attrs:{\"d\":\"M13.082 29.071a12.384 12.384 0 01-9-3.42 12.192 12.192 0 01-3.54-9.12v-.64a15.394 15.394 0 011.47-6.83 10.825 10.825 0 014.17-4.64 11.64 11.64 0 016.15-1.63 10.45 10.45 0 018.21 3.26c2 2.194 3 5.297 3 9.31v2.76H7.382a6.348 6.348 0 002 4 5.997 5.997 0 004.16 1.49 7.305 7.305 0 006.1-2.84l3.31 3.73a10 10 0 01-4.13 3.39 13.309 13.309 0 01-5.74 1.18zm-.77-20.84a4.216 4.216 0 00-3.26 1.37 7.141 7.141 0 00-1.6 3.91h9.39v-.55a5.005 5.005 0 00-1.22-3.49 4.304 4.304 0 00-3.31-1.24zM36.452 20.331l4.7-17.09h7l-8.48 25.36h-6.44l-8.52-25.36h7l4.74 17.09zM85.542 23.611a4.444 4.444 0 003-1 3.638 3.638 0 001.22-2.75h6.32a8.668 8.668 0 01-1.4 4.73 9.145 9.145 0 01-3.79 3.3 11.736 11.736 0 01-5.29 1.19 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.868 10.868 0 018.51-3.5c2.791-.134 5.524.84 7.6 2.71a9.626 9.626 0 012.9 7.21h-6.3a4.663 4.663 0 00-1.2-3.22 4.005 4.005 0 00-3.08-1.24 4.068 4.068 0 00-3.56 1.73c-.8 1.15-1.2 3-1.2 5.6v.7c0 2.61.39 4.49 1.19 5.63a4.092 4.092 0 003.65 1.72zM110.422 23.611a4.454 4.454 0 003-1 3.63 3.63 0 001.21-2.75h6.33a8.668 8.668 0 01-1.4 4.73 9.143 9.143 0 01-3.73 3.3 11.76 11.76 0 01-5.29 1.18 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.85 10.85 0 018.57-3.49 10.575 10.575 0 017.6 2.71 9.598 9.598 0 012.91 7.21h-6.33a4.651 4.651 0 00-1.21-3.22 4.492 4.492 0 00-6.64.49c-.8 1.15-1.21 3-1.21 5.6v.7c0 2.607.4 4.484 1.2 5.63a4.09 4.09 0 003.56 1.72z\",\"fill\":\"#fff\",\"fill-rule\":\"nonzero\"}}),_c('path',{attrs:{\"d\":\"M58.462.751h9.22l-6.14 12.3h6.15l-11.53 21.51 2.3-15.36h-7.68l7.68-18.45z\",\"fill\":\"#0fdd42\",\"fill-rule\":\"nonzero\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M-24.458-22.109h170v76h-170z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=14334b81&\"\nimport script from \"./Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./Logo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"container\"},[_c('div',{staticClass:\"py-3 py-md-5 mt-3 mt-md-5 border-top\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('Version',_vm._b({},'Version',_vm.version,false)),_c('Sponsor',{attrs:{\"sponsor\":_vm.sponsor}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.newVersionAvailable)?_c('button',{staticClass:\"btn btn-link ps-0 text-decoration-none link-dark text-nowrap\",attrs:{\"href\":\"#\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#updateModal\"}},[_c('fa-icon',{staticClass:\"icon me-1\",attrs:{\"icon\":\"gift\"}}),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableLong\"))+\": \")]),_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.availableShort\"))+\": \")]),_vm._v(\" \"+_vm._s(_vm.available)+\" \")],1):_c('a',{staticClass:\"btn btn-link ps-0 text-decoration-none link-dark text-nowrap\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.installed),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.version\"))+\" \"+_vm._s(_vm.installed)+\" \")]),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"updateModal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered modal-dialog-scrollable\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"footer.version.modalTitle\")))]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('div',{staticClass:\"modal-body\"},[(_vm.updateStarted)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"footer.version.modalUpdateStarted\")))]),_c('div',{staticClass:\"progress my-3\"},[_c('div',{staticClass:\"progress-bar progress-bar-striped progress-bar-animated\",style:({ width: _vm.uploadProgress + '%' }),attrs:{\"role\":\"progressbar\"}})]),_c('p',[_vm._v(_vm._s(_vm.updateStatus)+_vm._s(_vm.uploadMessage))])]):_c('div',[_c('p',[_c('small',[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalInstalledVersion\"))+\": \"+_vm._s(_vm.installed)+\" \")])]),(_vm.releaseNotes)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.releaseNotes)}}):_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalNoReleaseNotes\"))+\" \"),_c('a',{attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\"GitHub\")]),_vm._v(\". \")])])]),_c('div',{staticClass:\"modal-footer d-flex justify-content-between\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"disabled\":_vm.updateStarted,\"data-bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalCancel\"))+\" \")]),_c('div',[(_vm.hasUpdater)?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":_vm.updateStarted},on:{\"click\":_vm.update}},[(_vm.updateStarted)?_c('span',[_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"role\":\"status\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalUpdate\"))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t(\"footer.version.modalUpdateNow\")))])]):_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":_vm.releaseNotesUrl(_vm.available)}},[_vm._v(\" \"+_vm._s(_vm.$t(\"footer.version.modalDownload\"))+\" \")])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Version.vue?vue&type=template&id=785de62e&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=785de62e&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 \"785de62e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.sponsor)?_c('div',{ref:\"sponsor\",staticClass:\"btn btn-link pe-0 text-decoration-none link-dark text-nowrap sponsor-button\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.surprise.apply(null, arguments)}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.sponsoredShort\")))]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.sponsoredLong\", { sponsor: _vm.sponsor })))]),_c('fa-icon',{staticClass:\"icon ms-1\",attrs:{\"icon\":['fas', 'heart']}})],1):_c('a',{staticClass:\"btn btn-link pe-0 text-decoration-none link-dark text-nowrap support-button\",attrs:{\"href\":\"https://github.com/sponsors/andig\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.supportProjectShort\")))]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(_vm._s(_vm.$t(\"footer.sponsor.supportProjectLong\")))]),_c('fa-icon',{staticClass:\"icon ms-1 outline\",attrs:{\"icon\":['far', 'heart']}}),_c('fa-icon',{staticClass:\"icon ms-1 solid\",attrs:{\"icon\":['fas', 'heart']}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sponsor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sponsor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sponsor.vue?vue&type=template&id=1eecc7b7&scoped=true&\"\nimport script from \"./Sponsor.vue?vue&type=script&lang=js&\"\nexport * from \"./Sponsor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sponsor.vue?vue&type=style&index=0&id=1eecc7b7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1eecc7b7\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=1125402b&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.iconVisible),expression:\"iconVisible\"}],staticClass:\"btn btn-link text-decoration-none link-light text-nowrap\",attrs:{\"href\":\"#\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#notificationModal\"}},[_c('fa-icon',{class:_vm.iconClass,attrs:{\"icon\":\"exclamation-triangle\"}})],1),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"notificationModal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"notifications.modalTitle\")))]),_c('button',{staticClass:\"btn-close\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"}})]),_c('div',{staticClass:\"modal-body\"},_vm._l((_vm.notifications),function(msg,index){return _c('div',{key:index},[_c('small',{staticClass:\"d-flex justify-content-end mt-3\",attrs:{\"title\":_vm.fmtAbsoluteDate(msg.time)}},[_vm._v(\" \"+_vm._s(_vm.fmtTimeAgo(msg.time))+\" \")]),_c('p',{staticClass:\"d-flex align-items-baseline\"},[_c('fa-icon',{staticClass:\"flex-grow-0 d-block\",class:{\n\t\t\t\t\t\t\t\t\t'text-danger': msg.type === 'error',\n\t\t\t\t\t\t\t\t\t'text-warning': msg.type === 'warn',\n\t\t\t\t\t\t\t\t},attrs:{\"icon\":\"exclamation-triangle\"}}),_c('span',{staticClass:\"flex-grow-1 px-2 py-1 text-break\"},[_vm._v(\" \"+_vm._s(msg.message)+\" \")]),(msg.count > 1)?_c('span',{staticClass:\"badge rounded-pill bg-secondary\"},[_vm._v(\" \"+_vm._s(msg.count)+\" \")]):_vm._e()],1)])}),0),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\",\"data-bs-dismiss\":\"modal\",\"aria-label\":\"Close\"},on:{\"click\":_vm.clear}},[_vm._v(\" \"+_vm._s(_vm.$t(\"notifications.dismissAll\"))+\" \")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n data: function () {\n return {\n fmtLimit: 100,\n fmtDigits: 1,\n };\n },\n methods: {\n round: function (num, precision) {\n var base = 10 ** precision;\n return (Math.round(num * base) / base).toFixed(precision);\n },\n fmt: function (val) {\n if (val === undefined || val === null) {\n return 0;\n }\n val = Math.abs(val);\n return val >= this.fmtLimit ? this.round(val / 1e3, this.fmtDigits) : this.round(val, 0);\n },\n fmtKw: function (watt, kw = true, withUnit = true) {\n const digits = kw ? 1 : 0;\n const value = kw ? watt / 1000 : watt;\n let unit = \"\";\n if (withUnit) {\n unit = kw ? \" kW\" : \" W\";\n }\n return (\n this.$n(value, { minimumFractionDigits: digits, maximumFractionDigits: digits }) + unit\n );\n },\n fmtUnit: function (val) {\n return Math.abs(val) >= this.fmtLimit ? \"k\" : \"\";\n },\n fmtDuration: function (d) {\n if (d <= 0 || d == null) {\n return \"—\";\n }\n var seconds = \"0\" + (d % 60);\n var minutes = \"0\" + (Math.floor(d / 60) % 60);\n var hours = \"\" + Math.floor(d / 3600);\n if (hours.length < 2) {\n hours = \"0\" + hours;\n }\n return hours + \":\" + minutes.substr(-2) + \":\" + seconds.substr(-2);\n },\n fmtShortDuration: function (d) {\n if (d <= 0 || d == null) {\n return \"—\";\n }\n var minutes = Math.floor(d / 60) % 60;\n var hours = Math.floor(d / 3600);\n var tm;\n if (hours >= 1) {\n minutes = \"0\" + minutes;\n tm = hours + \":\" + minutes.substr(-2);\n } else {\n var seconds = \"0\" + (d % 60);\n tm = minutes + \":\" + seconds.substr(-2);\n }\n return tm;\n },\n fmtShortDurationUnit: function (d) {\n if (d <= 0 || d == null) {\n return \"\";\n }\n var hours = Math.floor(d / 3600);\n if (hours >= 1) {\n return \"h\";\n }\n return \"m\";\n },\n fmtDayString: function (date) {\n const YY = `${date.getFullYear()}`;\n const MM = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const DD = `${date.getDate()}`.padStart(2, \"0\");\n return `${YY}-${MM}-${DD}`;\n },\n fmtTimeString: function (date) {\n const HH = `${date.getHours()}`.padStart(2, \"0\");\n const mm = `${date.getMinutes()}`.padStart(2, \"0\");\n return `${HH}:${mm}`;\n },\n fmtAbsoluteDate: function (date) {\n return new Intl.DateTimeFormat(\"default\", {\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n }).format(date);\n },\n fmtTimeAgo: function (date) {\n const units = {\n year: 24 * 60 * 60 * 1000 * 365,\n month: (24 * 60 * 60 * 1000 * 365) / 12,\n day: 24 * 60 * 60 * 1000,\n hour: 60 * 60 * 1000,\n minute: 60 * 1000,\n second: 1000,\n };\n\n const rtf = new Intl.RelativeTimeFormat(\"default\", { numeric: \"auto\" });\n const elapsed = date - new Date();\n\n // \"Math.abs\" accounts for both \"past\" & \"future\" scenarios\n for (var u in units)\n if (Math.abs(elapsed) > units[u] || u == \"second\")\n return rtf.format(Math.round(elapsed / units[u]), u);\n },\n },\n};\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notifications.vue?vue&type=template&id=17bdc310&\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js&\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\n\nfunction setProperty(obj, props, value) {\n const prop = props.shift();\n if (!obj[prop]) {\n Vue.set(obj, prop, {});\n }\n\n if (!props.length) {\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n obj[prop] = { ...obj[prop], ...value };\n } else {\n obj[prop] = value;\n }\n return;\n }\n\n setProperty(obj[prop], props, value);\n}\n\nconst store = {\n state: {\n loadpoints: [], // ensure array type\n },\n update: function (msg) {\n Object.keys(msg).forEach(function (k) {\n if (typeof window.app[k] === \"function\") {\n window.app[k]({ message: msg[k] });\n } else {\n setProperty(store.state, k.split(\".\"), msg[k]);\n }\n });\n },\n};\n\nexport default store;\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=152e128c&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=152e128c&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 \"152e128c\",\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:{\"single\":_vm.loadpoints.length === 1,\"id\":id}},'Loadpoint',loadpoint,false))]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row align-items-start align-items-md-center mt-4 energyflow\",on:{\"click\":_vm.toggleDetails}},[_c('Visualization',{staticClass:\"\\n\\t\\t\\t\\tcol-12\\n\\t\\t\\t\\toffset-md-1\\n\\t\\t\\t\\tcol-md-6\\n\\t\\t\\t\\toffset-lg-1\\n\\t\\t\\t\\tcol-lg-8\\n\\t\\t\\t\\toffset-xl-1\\n\\t\\t\\t\\tcol-xl-6\\n\\t\\t\\t\\toffset-xxl-1\\n\\t\\t\\t\\tcol-xl-8\\n\\t\\t\\t\\torder-md-2\\n\\t\\t\\t\",attrs:{\"showDetails\":_vm.showDetails,\"gridImport\":_vm.gridImport,\"selfConsumption\":_vm.selfConsumption,\"loadpoints\":_vm.loadpointsPower,\"pvExport\":_vm.pvExport,\"batteryCharge\":_vm.batteryCharge,\"batteryDischarge\":_vm.batteryDischarge,\"pvProduction\":_vm.pvProduction,\"houseConsumption\":_vm.houseConsumption,\"batterySoC\":_vm.batterySoC,\"valuesInKw\":_vm.valuesInKw}}),_c('div',{staticClass:\"col-12 col-sm-6 col-md-5 col-lg-3 col-xl-3 order-md-1 mt-2 mt-md-0\",class:(\"\" + (_vm.showDetails ? 'd-block' : \"d-none d-md-block\"))},[_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-pv-production\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('fa-icon',{attrs:{\"icon\":\"sun\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.pvProduction\")))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.pvProduction)))])]),_c('div',{staticClass:\"d-flex justify-content-between\",attrs:{\"data-test-house-consumption\":\"\"}},[_c('span',{staticClass:\"details-icon text-muted\"},[_c('fa-icon',{attrs:{\"icon\":\"home\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.houseConsumption\")))]),_c('span',{staticClass:\"text-end text-nowrap ps-1\"},[_vm._v(_vm._s(_vm.kw(_vm.houseConsumption)))])]),_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:\"\\n\\t\\t\\t\\tcol-12 col-sm-6\\n\\t\\t\\t\\toffset-md-6\\n\\t\\t\\t\\tcol-md-6\\n\\t\\t\\t\\toffset-lg-4\\n\\t\\t\\t\\tcol-lg-8\\n\\t\\t\\t\\td-block d-md-flex\\n\\t\\t\\t\\torder-md-3\\n\\t\\t\\t\\tjustify-content-between\\n\\t\\t\\t\\tmt-2\\n\\t\\t\\t\"},[_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-grid-import\":\"\"}},[_c('span',{staticClass:\"color-grid details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.gridImport\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.gridImport))+\" \")])]),_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-self-consumption\":\"\"}},[_c('span',{staticClass:\"color-self details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.selfConsumption\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.selfConsumption))+\" \")])]),_c('div',{staticClass:\"text-nowrap d-flex d-md-block\",attrs:{\"data-test-pv-export\":\"\"}},[_c('span',{staticClass:\"color-export details-icon\"},[_c('fa-icon',{attrs:{\"icon\":\"square\"}})],1),_c('span',{staticClass:\"text-nowrap flex-grow-1\"},[_vm._v(_vm._s(_vm.$t(\"main.energyflow.pvExport\")))]),_c('span',{staticClass:\"text-end text-nowrap d-md-none\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.pvExport))+\" \")])])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"visualization\",class:{ 'visualization--ready': _vm.visualizationReady }},[_c('div',{staticClass:\"label-scale\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_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', 'pvProduction'),false),[_c('fa-icon',{attrs:{\"icon\":\"sun\"}})],1)],1)]),_c('div',{ref:\"site_progress\",staticClass:\"site-progress\"},[_c('div',{staticClass:\"site-progress-bar grid-import\",style:({ width: _vm.widthTotal(_vm.gridImportAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.gridImport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.gridImport))+\" \")]):(_vm.powerLabelSomeSpace(_vm.gridImport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.gridImport))+\" \")]):_vm._e()]),_c('div',{staticClass:\"site-progress-bar self-consumption\",style:({ width: _vm.widthTotal(_vm.selfConsumptionAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.selfConsumption))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.selfConsumption))+\" \")]):(_vm.powerLabelSomeSpace(_vm.selfConsumption))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.selfConsumption))+\" \")]):_vm._e()]),_c('div',{staticClass:\"site-progress-bar pv-export\",style:({ width: _vm.widthTotal(_vm.pvExportAdjusted) })},[(_vm.powerLabelEnoughSpace(_vm.pvExport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kw(_vm.pvExport))+\" \")]):(_vm.powerLabelSomeSpace(_vm.pvExport))?_c('span',{staticClass:\"power\"},[_vm._v(\" \"+_vm._s(_vm.kwNoUnit(_vm.pvExport))+\" \")]):_vm._e()]),(_vm.totalAdjusted <= 0)?_c('div',{staticClass:\"site-progress-bar bg-light border no-wrap w-100\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"main.energyflow.noEnergy\")))])]):_vm._e()]),_c('div',{staticClass:\"label-scale\"},[_c('div',{staticClass:\"d-flex justify-content-start\"},[_c('LabelBar',_vm._b({},'LabelBar',_vm.labelBarProps('bottom', 'houseConsumption'),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)],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--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatteryIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatteryIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BatteryIcon.vue?vue&type=template&id=2dcca16c&scoped=true&\"\nimport script from \"./BatteryIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./BatteryIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BatteryIcon.vue?vue&type=style&index=0&id=2dcca16c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dcca16c\",\n null\n \n)\n\nexport default component.exports","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--0-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--0-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--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Visualization.vue?vue&type=template&id=787f3c3e&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=787f3c3e&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 \"787f3c3e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Energyflow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Energyflow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Energyflow.vue?vue&type=template&id=d9a8a664&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=d9a8a664&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 \"d9a8a664\",\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}},'Vehicle',_vm.vehicle,false))],1),_c('LoadpointDetails',_vm._b({},'LoadpointDetails',_vm.details,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"mb-3\"},[_vm._v(_vm._s(_vm.$t(\"main.mode.title\")))]),_c('div',{staticClass:\"btn-group w-100\",attrs:{\"role\":\"group\"}},[_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'off' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('off')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.stop\"))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'now' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('now')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.now\"))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'minpv' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('minpv')}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.minpvShort\"))+\" \")]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.minpvLong\"))+\" \")])]),_c('button',{staticClass:\"btn btn-outline-secondary\",class:{ active: _vm.mode == 'pv' },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setTargetMode('pv')}}},[_c('span',{staticClass:\"d-inline d-sm-none\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.pvShort\"))+\" \")]),_c('span',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.mode.pvLong\"))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Mode.vue?vue&type=template&id=1ff39d22&scoped=true&\"\nimport script from \"./Mode.vue?vue&type=script&lang=js&\"\nexport * from \"./Mode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mode.vue?vue&type=style&index=0&id=1ff39d22&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ff39d22\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(_vm.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.targetTimeUpdated}},'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()]),(_vm.connected && _vm.vehiclePresent && _vm.visibleTargetSoC)?_c('div',{staticClass:\"target\",class:{ 'target--slider-hidden': _vm.allowSliderHiding && _vm.visibleTargetSoC === 100 }},[_c('div',{staticClass:\"target-label d-flex align-items-center justify-content-center\",style:({ left: (_vm.visibleTargetSoC + \"%\") })},[_vm._v(\" \"+_vm._s(_vm.visibleTargetSoC)+\"% \")]),_c('input',{staticClass:\"target-slider\",attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"5\"},domProps:{\"value\":_vm.visibleTargetSoC},on:{\"input\":_vm.movedTargetSoC,\"change\":_vm.setTargetSoC}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleSoc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleSoc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VehicleSoc.vue?vue&type=template&id=61aaba9a&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=61aaba9a&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 \"61aaba9a\",\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.targetTimeUpdated}},'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.timerActive,\n\t\t\t'text-secondary': !_vm.timerActive,\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.saveTargetTime.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--0-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--0-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=ebfbec92&\"\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--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleSubline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleSubline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VehicleSubline.vue?vue&type=template&id=58f0af73&\"\nimport script from \"./VehicleSubline.vue?vue&type=script&lang=js&\"\nexport * from \"./VehicleSubline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vehicle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vehicle.vue?vue&type=template&id=ce7e774e&\"\nimport script from \"./Vehicle.vue?vue&type=script&lang=js&\"\nexport * from \"./Vehicle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3 offset-lg-4\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"main.loadpointDetails.power\"))+\" \"),(_vm.climater == 'heating')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"temperature-low\"}}):_vm._e(),(_vm.climater == 'cooling')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"temperature-high\"}}):_vm._e(),(_vm.climater == 'on')?_c('fa-icon',{staticClass:\"text-primary ms-1\",attrs:{\"icon\":\"thermometer-half\"}}):_vm._e()],1),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.chargePower))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.chargePower))+\"W\")])])]),_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.charged\")))]),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmt(_vm.chargedEnergy))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtUnit(_vm.chargedEnergy))+\"Wh\")])])]),(_vm.range && _vm.range >= 0)?_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.range\")))]),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(Math.round(_vm.range))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"km\")])])]):_c('div',{staticClass:\"col-6 col-sm-3 col-lg-2 mt-3\"},[_c('div',{staticClass:\"mb-2 value\"},[_vm._v(_vm._s(_vm.$t(\"main.loadpointDetails.duration\")))]),_c('h3',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.fmtShortDuration(_vm.chargeDuration))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeDuration)))])])]),(_vm.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.chargeEstimate))+\" \"),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.fmtShortDurationUnit(_vm.chargeEstimate)))])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadpointDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadpointDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadpointDetails.vue?vue&type=template&id=1f95be96&\"\nimport script from \"./LoadpointDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadpointDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loadpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loadpoint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loadpoint.vue?vue&type=template&id=d1481c30&\"\nimport script from \"./Loadpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Loadpoint.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Site.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Site.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Site.vue?vue&type=template&id=b6d9761e&\"\nimport script from \"./Site.vue?vue&type=script&lang=js&\"\nexport * from \"./Site.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Main.vue?vue&type=template&id=2ae046aa&\"\nimport script from \"./Main.vue?vue&type=script&lang=js&\"\nexport * from \"./Main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row mt-4 border-bottom\"},[_c('div',{staticClass:\"col-12\"},[_c('p',{staticClass:\"h1\"},[_vm._v(_vm._s(_vm.title || \"Home\"))])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Netzzähler: \"),(_vm.gridConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" PV Zähler: \"),(_vm.pvConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Batteriezähler: \"),(_vm.batteryConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])])]),_vm._l((_vm.loadpoints),function(loadpoint,id){return _c('div',{key:id,attrs:{\"loadpoint\":loadpoint,\"id\":'loadpoint-' + id}},[_c('div',{staticClass:\"row mt-4 border-bottom\"},[_c('div',{staticClass:\"col-12\"},[_c('p',{staticClass:\"h1\"},[_vm._v(_vm._s(loadpoint.title || \"Ladepunkt\"))])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Ladezähler: \"),(loadpoint.chargeConfigured)?_c('span',{staticClass:\"text-primary\"},[_vm._v(\"✓\")]):_c('span',{staticClass:\"text-primary\"},[_vm._v(\"—\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Phasen: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.phases)+\"p\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Min. Strom: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.minCurrent)+\"A\")])]),_c('div',{staticClass:\"col-6 col-md-2 py-3\"},[_vm._v(\" Max. Strom: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.maxCurrent)+\"A\")])])]),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-md-4\"}),_c('div',{staticClass:\"col-md-8 h2\"},[_vm._m(0,true),_c('div',{staticClass:\"row h5\"},[_c('div',{staticClass:\"col-6 py-3\"},[_vm._v(\" Modell: \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(loadpoint.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--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Config.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Config.vue?vue&type=template&id=1af090f7&\"\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