diff --git a/docs/Ladepunkte.md b/docs/Ladepunkte.md index b8e5b0c53e..0e6e8a695a 100644 --- a/docs/Ladepunkte.md +++ b/docs/Ladepunkte.md @@ -4,7 +4,7 @@ Die Einstellungen für Ladepunkte unterteilen sich in die spezifischen Einstellu Beim Hinzufügen eines Ladepunkts muss zunächst dessen Typ ausgewählt werden. Danach wird Ladepunkt-spezifisches, wie z.B. die Anzahl angeschlossener Phasen oder eine verbaute Phasenumschaltung, konfiguriert. -In dem Ladepunkt-Profil sind die Einstellungen zum automatischen Sperren (Autolock) und für die Freigabe von Ladepunkten durch ID-Tags enthalten. Ein Ladepunkt-Profil kann vom Benutzer mehreren Ladepunkte zugewiesen werden, sodass die Einstellungen für jeden Ladepunkte einzeln oder für eine Gruppe zugewiesen werden können. +In dem Ladepunkt-Profil sind die Einstellungen zum Sperren nach Uhrzeit und für die Freigabe von Ladepunkten durch ID-Tags enthalten. Ein Ladepunkt-Profil kann vom Benutzer mehreren Ladepunkte zugewiesen werden, sodass die Einstellungen für jeden Ladepunkte einzeln oder für eine Gruppe zugewiesen werden können. Das Erfassen eines RFID-Tags (verbauter RFID-Leser erforderlich) oder die Pin-Eingabe (Display erforderlich, Eingabefeld muss im Steuerungsmodus 'secondary' aktiviert werden) sowie die automatische Fahrzeugerkennung der openWB Pro (muss in den Einstellungen aktiviert werden) werden gleich verarbeitet. diff --git a/packages/control/algorithm/common.py b/packages/control/algorithm/common.py index c2f8d4eaf7..2e5e2b66f8 100644 --- a/packages/control/algorithm/common.py +++ b/packages/control/algorithm/common.py @@ -126,8 +126,12 @@ def update_raw_data(preferenced_chargepoints: List[Chargepoint], if diff_to_zero is False: if chargepoint.data.control_parameter.min_current < max_target_set_current: - diffs = [chargepoint.data.control_parameter.min_current - - max_target_set_current if required_currents[i] != 0 else 0 for i in range(3)] + if surplus: + diffs = [chargepoint.data.set.target_current - + max_target_set_current if required_currents[i] != 0 else 0 for i in range(3)] + else: + diffs = [chargepoint.data.control_parameter.min_current - + max_target_set_current if required_currents[i] != 0 else 0 for i in range(3)] else: continue else: diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index f3f909d332..4d9407a64e 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -150,14 +150,14 @@ def _is_autolock_inactive(self) -> Tuple[bool, Optional[str]]: if data.data.optional_data.data.rfid.active: if self.data.get.rfid is None and self.data.set.rfid is None: state = False - message = ("Keine Ladung, da der Ladepunkt durch Autolock gesperrt ist und erst per ID-Tag " - "freigeschaltet werden muss.") + message = ("Keine Ladung, da der Ladepunkt durch Sperren nach Uhrzeit gesperrt ist und erst " + "per ID-Tag freigeschaltet werden muss.") else: state = True message = None else: state = False - message = "Keine Ladung, da Autolock aktiv ist." + message = "Keine Ladung, da Sperren nach Uhrzeit aktiv ist." return state, message def _is_manual_lock_inactive(self) -> Tuple[bool, Optional[str]]: diff --git a/packages/control/chargepoint/chargepoint_template.py b/packages/control/chargepoint/chargepoint_template.py index 89d7accdb6..1e70a34af4 100644 --- a/packages/control/chargepoint/chargepoint_template.py +++ b/packages/control/chargepoint/chargepoint_template.py @@ -71,7 +71,7 @@ def is_locked_by_autolock(self, charge_state: bool) -> bool: else: return False else: - log.info("Keine Sperrung durch Autolock, weil keine Zeitpläne konfiguriert sind.") + log.info("Keine Sperrung durch Sperren nach Zeitplan, weil keine Zeitpläne konfiguriert sind.") return False else: return False diff --git a/packages/control/counter.py b/packages/control/counter.py index fb98a789ee..80531f12a9 100644 --- a/packages/control/counter.py +++ b/packages/control/counter.py @@ -335,7 +335,7 @@ def switch_on_timer_expired(self, chargepoint: Chargepoint) -> None: control_parameter.timestamp_switch_on_off = None self.data.set.reserved_surplus -= pv_config.switch_on_threshold*control_parameter.phases msg = self.SWITCH_ON_EXPIRED.format(pv_config.switch_on_threshold) - control_parameter.state = ChargepointState.CHARGING_ALLOWED + control_parameter.state = ChargepointState.WAIT_FOR_USING_PHASES if chargepoint.data.set.charging_ev_data.charge_template.data.chargemode.pv_charging.feed_in_limit: feed_in_yield = pv_config.feed_in_yield diff --git a/packages/helpermodules/abstract_plans.py b/packages/helpermodules/abstract_plans.py index 04ff4538b1..60586a9944 100644 --- a/packages/helpermodules/abstract_plans.py +++ b/packages/helpermodules/abstract_plans.py @@ -80,4 +80,4 @@ class TimeChargingPlan(TimeframePlan): @dataclass class AutolockPlan(TimeframePlan): - name: str = "neuer Autolock-Plan" + name: str = "neuer Plan für Sperren nach Uhrzeit" diff --git a/packages/helpermodules/command.py b/packages/helpermodules/command.py index c2aa3f9f70..edba8e6098 100644 --- a/packages/helpermodules/command.py +++ b/packages/helpermodules/command.py @@ -311,7 +311,7 @@ def addAutolockPlan(self, connection_id: str, payload: dict) -> None: Pub().pub("openWB/set/command/max_id/autolock_plan", new_id) pub_user_message( payload, connection_id, - f'Neuer Autolock-Plan mit ID \'{new_id}\' zu Profil ' + f'Neuer Plan für Sperren nach Uhrzeit mit ID \'{new_id}\' zu Profil ' f'\'{payload["data"]["template"]}\' hinzugefügt.', MessageType.SUCCESS) @@ -329,7 +329,7 @@ def removeAutolockPlan(self, connection_id: str, payload: dict) -> None: "") pub_user_message( payload, connection_id, - f'Autolock-Plan mit ID \'{payload["data"]["plan"]}\' vom Profil ' + f'Plan für Sperren nach Uhrzeit mit ID \'{payload["data"]["plan"]}\' vom Profil ' f'\'{payload["data"]["template"]}\' gelöscht.', MessageType.SUCCESS) diff --git a/packages/helpermodules/create_debug.py b/packages/helpermodules/create_debug.py index f5c1f1d657..461b46f802 100644 --- a/packages/helpermodules/create_debug.py +++ b/packages/helpermodules/create_debug.py @@ -203,7 +203,8 @@ def write_to_file(file_handler, func, default: Optional[Any] = None): data = f.read() req.get_http_session().put("https://openwb.de/tools/debug2.php", data=data, - params={'debugemail': debug_email}) + params={'debugemail': debug_email}, + timeout=10) log.info("***** cleanup...") os.remove(debug_file) diff --git a/packages/modules/chargepoints/openwb_pro/config.py b/packages/modules/chargepoints/openwb_pro/config.py index db54fe1672..cab0724e61 100644 --- a/packages/modules/chargepoints/openwb_pro/config.py +++ b/packages/modules/chargepoints/openwb_pro/config.py @@ -11,7 +11,7 @@ def __init__(self, ip_address: Optional[str] = None, duo_num: int = 0): class OpenWBPro(SetupChargepoint[OpenWBProConfiguration]): def __init__(self, - name: str = "openWB Pro", + name: str = "openWB Pro (nicht Pro+)", type: str = "openwb_pro", id: int = 0, configuration: OpenWBProConfiguration = None) -> None: diff --git a/packages/modules/common/hardware_check.py b/packages/modules/common/hardware_check.py index 4f19914f65..fcb5cb508c 100644 --- a/packages/modules/common/hardware_check.py +++ b/packages/modules/common/hardware_check.py @@ -19,7 +19,8 @@ METER_NO_SERIAL_NUMBER = ("Die Seriennummer des Zählers für das Ladelog kann nicht ausgelesen werden. Wenn Sie die " "Seriennummer für Abrechnungszwecke benötigen, wenden Sie sich bitte an unseren Support. Die " "Funktionalität wird dadurch nicht beeinträchtigt!") -EVSE_BROKEN = "Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID." +EVSE_BROKEN = ("Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID. " + "(Fehlermeldung nur relevant, wenn diese auf der Startseite oder im Status angezeigt wird.)") def check_meter_values(voltages: List[float]) -> Optional[str]: diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue index 3a4c51c4f0..6a2648ce41 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue @@ -235,7 +235,6 @@ ).toFixed(1) + ' ct' : '-' }} - { const modeStyle = computed(() => { switch (props.chargepoint.chargeMode) { case 'stop': - return { 'background-color': 'var(--fg)' } + return { 'background-color': 'var(--color-input)' } default: return { 'background-color': chargemodes[props.chargepoint.chargeMode].color, diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts index b629f6288b..8ea0944683 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts @@ -274,6 +274,8 @@ export class Vehicle { this.id = index } private _chargeTemplateId = 0 + isSocConfigured = false + isSocManual = false get chargeTemplateId() { return this._chargeTemplateId } diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts b/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts index eb9d11b74e..fd35958b08 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts @@ -173,6 +173,8 @@ export function processVehicleMessages(topic: string, message: string) { cp.isSocManual = config.type == 'manual' } }) + vehicles[index].isSocConfigured = config.type !== null + vehicles[index].isSocManual = config.type == 'manual' } else { // console.warn('Ignored vehicle message [' + topic + ']=' + message) } diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue index 56d5df951c..7385b562a5 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue @@ -1,32 +1,34 @@ @@ -75,7 +77,6 @@ const myline = computed(() => { : d['soc' + topVehicles.value[1]!], ) ?? yScale.value(0), ) - let p = path(graphData.data) return p ? p : '' }) @@ -116,11 +117,11 @@ const cpColor = computed(() => { const nameX = computed(() => { switch (props.order) { case 0: - return 3 + return 3 // first vehicle case 1: - return props.width - 3 + return props.width - 3 // 2nd vehicle case 2: - return props.width / 2 + return props.width / 2 // battery default: return 0 // error } @@ -130,15 +131,16 @@ const nameY = computed(() => { if (graphData.data.length > 0) { let index: number switch (props.order) { - case 0: - index = graphData.data.length - 1 + case 0: // 1st vehicle + index = 0 return yScale.value( graphData.data[index]['soc' + topVehicles.value[0]] + 2, ) case 1: - index = 0 - return yScale.value( - graphData.data[index]['soc' + topVehicles.value[1]] + 2, + index = graphData.data.length - 1 + return Math.max( + 12, + yScale.value(graphData.data[index]['soc' + topVehicles.value[1]] + 2), ) case 2: index = Math.round(graphData.data.length / 2) diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue index a64be7c66d..9630a561e2 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue @@ -103,14 +103,17 @@ const keysToUse = computed(() => { if (globalConfig.showInverters) { const pattern = /pv\d+/ if (graphData.data.length > 0) { - additionalKeys = Object.keys(graphData.data[0]).reduce( - (list: string[], element: string) => { - if (element.match(pattern)) { - list.push(element) + /* additionalKeys = Object.keys(graphData.data[0]).reduce( + (list: string[], itemKey: string) => { + if (itemKey.match(pattern)) { + list.push(itemKey) } return list }, [], + ) */ + additionalKeys = Object.keys(graphData.data[0]).filter((itemKey) => + itemKey.match(pattern), ) } } diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue index 7c16ad8c83..23f23d5f1a 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue @@ -141,23 +141,18 @@ const keysToUse = computed(() => { const pattern = /cp\d+/ let additionalKeys: string[] = [] if (graphData.data.length > 0) { - additionalKeys = Object.keys(graphData.data[0]).reduce( - (list: string[], element: string) => { - if (element.match(pattern)) { - list.push(element) - } - return list - }, - [], + additionalKeys = Object.keys(graphData.data[0]).filter((itemKey) => + itemKey.match(pattern), ) } additionalKeys.forEach((key, i) => { k.splice(idx + i, 0, key) - colors[key] = chargePoints[+key.slice(2)]?.color ?? 'black' + colors[key] = + chargePoints[+key.slice(2)]?.color ?? 'var(--color-charging)' }) - if (globalConfig.showInverters) { + /* if (globalConfig.showInverters) { k.push('evuOut') - } + } */ return k } }) diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue index 9d2b9e80b7..c2393f1740 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue @@ -5,7 +5,7 @@ :transform="'translate(' + 0 + ',' + (height / 2 + 9) + ')'" > - + diff --git a/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue b/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue index 0b9e9f8ad4..802aa52bd4 100755 --- a/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue +++ b/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue @@ -12,7 +12,21 @@ > - {{ Math.round(props.vehicle.soc) }} % + + + {{ Math.round(props.vehicle.range) }} km +
+ Ladestand einstellen: + + + + + + +
diff --git a/packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css b/packages/modules/web_themes/colors/web/assets/index-B_G6iZKy.css similarity index 78% rename from packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css rename to packages/modules/web_themes/colors/web/assets/index-B_G6iZKy.css index eb0b9099fb..df6e46376c 100644 --- a/packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css +++ b/packages/modules/web_themes/colors/web/assets/index-B_G6iZKy.css @@ -1,4 +1,4 @@ -@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-7cbcf9ef]{color:var(--color-menu)}.dateWbBadge[data-v-7cbcf9ef]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-7cbcf9ef]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}}.titlerow[data-v-e989060d]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-e989060d]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-b935eb33]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-b935eb33]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-b935eb33]{color:var(--color-fg);font-size:var(--font-settings)}.selectors[data-v-b935eb33],.configitem[data-v-b935eb33]{font-size:var(--font-settings)}.minlabel[data-v-267ede95],.maxlabel[data-v-267ede95]{color:var(--color-menu)}.valuelabel[data-v-267ede95]{color:var(--color-fg)}.minusButton[data-v-267ede95],.plusButton[data-v-267ede95]{color:var(--color-menu)}.rangeIndicator[data-v-267ede95]{margin:0;padding:0;line-height:10px}.radiobutton[data-v-df222cbe]{border:.5px solid var(--color-input);opacity:.5;font-size:var(--font-settings)}.btn-outline-secondary.active[data-v-df222cbe]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #00000026;opacity:1}.chargeConfigSelect[data-v-0303d179]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-0303d179]{color:var(--color-charging)}.chargeConfigSelect[data-v-faa69015]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-faa69015]{color:var(--color-pv)}.tablecell[data-v-e8f5ad9d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-e8f5ad9d]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-e8f5ad9d]{color:var(--color-battery)}.left[data-v-e8f5ad9d]{text-align:left}.tablecell[data-v-192e287b]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-192e287b]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-192e287b]{color:var(--color-battery)}.left[data-v-192e287b]{text-align:left}.right[data-v-192e287b]{text-align:right}.status-string[data-v-fcb57a44]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-fcb57a44]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-fcb57a44]{background:green;color:#00f}.nav-tabs .nav-link[data-v-fcb57a44]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-fcb57a44]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-fcb57a44]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-fcb57a44]{color:var(--color-charging)}.status-string[data-v-e348a34c]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-e348a34c]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-e348a34c]{background:green;color:#00f}.nav-tabs .nav-link[data-v-e348a34c]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-e348a34c]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-e348a34c]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-e348a34c]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-e348a34c]{color:var(--color-menu)}.color-charging[data-v-8d837517]{color:var(--color-charging)}.fa-circle-check[data-v-8d837517]{color:var(--color-menu)}.settingsheader[data-v-8d837517]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-8d837517]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-8d837517]{background-color:var(--color-menu);color:var(--color-bg);border:0}.status-string[data-v-1164316d]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-1164316d]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1164316d]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1164316d]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-1164316d]{color:var(--color-menu)}.item[data-v-1164316d]{grid-column:span 12}.tabarea[data-v-1164316d]{justify-self:stretch}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.wb-widget[data-v-1d5bc1d9]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-1d5bc1d9]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.fa-star[data-v-3a733de3]{color:var(--color-evu)}.fa-clock[data-v-3a733de3]{color:var(--color-charging)}.fa-car[data-v-3a733de3],.fa-ellipsis-vertical[data-v-3a733de3],.fa-circle-check[data-v-3a733de3]{color:var(--color-menu)}.fa-coins[data-v-3a733de3]{color:var(--color-battery)}.socEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.targetCurrent[data-v-3a733de3]{color:var(--color-menu)}.priceEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-3a733de3]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-3a733de3]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.errorWbBadge[data-v-3a733de3]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.divider[data-v-3a733de3]{color:var(--color-fg)}.blue[data-v-3a733de3]{color:var(--color-charging)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-25e4aa5d]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-25e4aa5d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-25e4aa5d]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-25e4aa5d]{text-align:left}.tablecell.right[data-v-25e4aa5d]{text-align:right}.tablecolum1[data-v-25e4aa5d]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-25e4aa5d]{color:var(--color-menu)}.fa-star[data-v-25e4aa5d]{color:var(--color-evu)}.fa-clock[data-v-25e4aa5d]{color:var(--color-battery)}.socEditor[data-v-25e4aa5d]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-25e4aa5d]{background-color:var(--color-bg)}.fa-circle-check[data-v-25e4aa5d]{color:var(--color-menu)}.socEditTitle[data-v-25e4aa5d]{color:var(--color-fg)}.statusbadge[data-v-25e4aa5d]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-25e4aa5d]{color:var(--color-bg)}.cpname[data-v-25e4aa5d]{font-size:var(--font-small)}.fa-edit[data-v-25e4aa5d]{color:var(--color-menu)}.infolist[data-v-25e4aa5d]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-6000c955]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-6000c955]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-6000c955]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-6000c955]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-d82b4b16]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-d82b4b16]{justify-self:end}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-47f3d429]{color:var(--color-menu)}.dateWbBadge[data-v-47f3d429]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-47f3d429]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}}.titlerow[data-v-e989060d]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-e989060d]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-b935eb33]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-b935eb33]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-b935eb33]{color:var(--color-fg);font-size:var(--font-settings)}.selectors[data-v-b935eb33],.configitem[data-v-b935eb33]{font-size:var(--font-settings)}.minlabel[data-v-267ede95],.maxlabel[data-v-267ede95]{color:var(--color-menu)}.valuelabel[data-v-267ede95]{color:var(--color-fg)}.minusButton[data-v-267ede95],.plusButton[data-v-267ede95]{color:var(--color-menu)}.rangeIndicator[data-v-267ede95]{margin:0;padding:0;line-height:10px}.radiobutton[data-v-df222cbe]{border:.5px solid var(--color-input);opacity:.5;font-size:var(--font-settings)}.btn-outline-secondary.active[data-v-df222cbe]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #00000026;opacity:1}.chargeConfigSelect[data-v-0303d179]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-0303d179]{color:var(--color-charging)}.chargeConfigSelect[data-v-faa69015]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-faa69015]{color:var(--color-pv)}.tablecell[data-v-e8f5ad9d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-e8f5ad9d]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-e8f5ad9d]{color:var(--color-battery)}.left[data-v-e8f5ad9d]{text-align:left}.tablecell[data-v-192e287b]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-192e287b]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-192e287b]{color:var(--color-battery)}.left[data-v-192e287b]{text-align:left}.right[data-v-192e287b]{text-align:right}.status-string[data-v-fcb57a44]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-fcb57a44]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-fcb57a44]{background:green;color:#00f}.nav-tabs .nav-link[data-v-fcb57a44]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-fcb57a44]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-fcb57a44]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-fcb57a44]{color:var(--color-charging)}.status-string[data-v-e348a34c]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-e348a34c]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-e348a34c]{background:green;color:#00f}.nav-tabs .nav-link[data-v-e348a34c]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-e348a34c]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-e348a34c]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-e348a34c]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-e348a34c]{color:var(--color-menu)}.color-charging[data-v-8d837517]{color:var(--color-charging)}.fa-circle-check[data-v-8d837517]{color:var(--color-menu)}.settingsheader[data-v-8d837517]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-8d837517]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-8d837517]{background-color:var(--color-menu);color:var(--color-bg);border:0}.status-string[data-v-1164316d]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-1164316d]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1164316d]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1164316d]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-1164316d]{color:var(--color-menu)}.item[data-v-1164316d]{grid-column:span 12}.tabarea[data-v-1164316d]{justify-self:stretch}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.wb-widget[data-v-1d5bc1d9]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-1d5bc1d9]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.fa-star[data-v-f8832de1]{color:var(--color-evu)}.fa-clock[data-v-f8832de1]{color:var(--color-charging)}.fa-car[data-v-f8832de1],.fa-ellipsis-vertical[data-v-f8832de1],.fa-circle-check[data-v-f8832de1]{color:var(--color-menu)}.fa-coins[data-v-f8832de1]{color:var(--color-battery)}.socEditor[data-v-f8832de1]{border:1px solid var(--color-menu);justify-self:stretch}.targetCurrent[data-v-f8832de1]{color:var(--color-menu)}.priceEditor[data-v-f8832de1]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-f8832de1]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-f8832de1]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.errorWbBadge[data-v-f8832de1]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.divider[data-v-f8832de1]{color:var(--color-fg)}.blue[data-v-f8832de1]{color:var(--color-charging)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-ba15dbc4]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-ba15dbc4]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-ba15dbc4]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-ba15dbc4]{text-align:left}.tablecell.right[data-v-ba15dbc4]{text-align:right}.tablecolum1[data-v-ba15dbc4]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-ba15dbc4]{color:var(--color-menu)}.fa-star[data-v-ba15dbc4]{color:var(--color-evu)}.fa-clock[data-v-ba15dbc4]{color:var(--color-battery)}.socEditor[data-v-ba15dbc4]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-ba15dbc4]{background-color:var(--color-bg)}.fa-circle-check[data-v-ba15dbc4]{color:var(--color-menu)}.socEditTitle[data-v-ba15dbc4]{color:var(--color-fg)}.statusbadge[data-v-ba15dbc4]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-ba15dbc4]{color:var(--color-bg)}.cpname[data-v-ba15dbc4]{font-size:var(--font-small)}.fa-edit[data-v-ba15dbc4]{color:var(--color-menu)}.infolist[data-v-ba15dbc4]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-04addecf]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-04addecf]{text-align:center}.vehiclename[data-v-04addecf]{font-size:var(--font-medium)}.socEditor[data-v-04addecf]{border:1px solid var(--color-menu);justify-self:stretch}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-6000c955]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-6000c955]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-6000c955]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-6000c955]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-d82b4b16]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-d82b4b16]{justify-self:end}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. diff --git a/packages/modules/web_themes/colors/web/assets/index-CaUGgs4L.js b/packages/modules/web_themes/colors/web/assets/index-CaUGgs4L.js deleted file mode 100644 index ca3365b8a6..0000000000 --- a/packages/modules/web_themes/colors/web/assets/index-CaUGgs4L.js +++ /dev/null @@ -1,6 +0,0 @@ -var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as ee,i as Ha,e as Ve,u as Ft,t as et,b as xt,s as ce,d as L,p as wa,f as ka,w as Ra,o as l,g as f,h as S,j as n,n as q,k as $,l as w,q as pe,v as _,x as H,y as i,z as v,F,A as te,B as xa,C as He,D as ft,E as nt,G as rt,H as dt,I as ht,J as st,K as Ja,L as Ne,M as K,N as Ya,O as Le,P as vt,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var ve=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(ve||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,ne()}setShowInGraph(e){this._showInGraph=e}}const ae=le(new Map);function Yt(a){ae.has(a)?console.info("Duplicate sh device message: "+a):(ae.set(a,new un(a)),ae.get(a).color="var(--color-sh"+ae.size+")")}const dn=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},St={topic:"",qos:dn};let Ce;const{host:hn,port:pn,endpoint:gn,...Ia}=Pa,sa=`${Ia.protocol}://${hn}:${pn}${gn}`;try{console.debug("connectURL",sa),Ce=Na.connect(sa,Ia),Ce.on("connect",()=>{console.info("MQTT connection successful")}),Ce.on("disconnect",()=>{console.info("MQTT disconnected")}),Ce.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Ce?Ce.on("message",a):console.error("MqttRegister: MQTT client not available")}function Xe(a){St.topic=a;const{topic:e,qos:t}=St;Ce.subscribe(e,{qos:t},r=>{if(r){console.error("MQTT Subscription error: "+r);return}})}function ot(a){St.topic=a;const{topic:e}=St;Ce.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Nt(a,e){let r=Ce.connected,s=0;for(;!r&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),r=Ce.connected,s+=1;if(s<20)try{Ce.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function qt(){return Pa.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",ve.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,oe("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,oe("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].soc:0}set soc(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,oe("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,oe("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,oe("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,oe("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,oe("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,oe("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,oe("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,oe("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,oe("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,oe("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,oe("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,oe("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].etActive:!1}set etActive(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].etActive=e)}get etMaxPrice(){return Y[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){oe("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class yn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,oe("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,oe("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&oe("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),Y=le({}),_e=le({}),pt=le({}),gt=le({}),Ht=le({});function bn(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function _n(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(Y).filter(o=>o.visible);let r=-1;switch(e.length){case 0:r=t[0]?t[0].id:-1;break;default:r=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return r==s&&(s=t[1]?t[1].id:-1),r!=-1&&a.push(r),s!=-1&&a.push(s),a}),wn={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function oe(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let r=wn[a];if(!r){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",O[t].chargeTemplate.toString());break;default:r=r.replace("%",String(t))}switch(typeof e){case"number":Nt(r,JSON.stringify(+e));break;default:Nt(r,JSON.stringify(e))}}function Qt(a){Nt("openWB/set/command/"+qt()+"/todo",JSON.stringify(a))}const be=500,Se=500,j={top:15,right:20,bottom:10,left:25},Zt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new kn),Ca=ee(Ha),Ye=m(()=>[0,be-j.left-2*j.right].map(a=>Ca.value.applyX(a)));let mt=!0,it=!0;function ia(){mt=!1}function la(){mt=!0}function ca(){it=!1}function ua(){it=!0}function xn(a){it=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Xe(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],In(),lt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),ot(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Xe(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)ot(this.refreshTopicPrefix+a)},subscribeUpdates(){Xe(this.updateTopic)},unsubscribeUpdates(){ot(this.updateTopic)}}),ue=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getDailyLog",data:{day:e}})}},deactivate(){ot(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getMonthlyLog",data:{month:e}})},deactivate(){ot(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Re=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getYearlyLog",data:{year:e}})},deactivate(){ot(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function $n(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],qe=ee(!1);function Xt(a,e){Object.entries(a).length>0?(qe.value=!1,Object.entries(a.counter).forEach(([t,r])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=r.energy_imported,T.items.evuOut.energy+=r.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,r])=>{t=="all"?(T.setEnergy("charging",r.energy_imported),r.energy_imported_pv!=null&&(T.setEnergyPv("charging",r.energy_imported_pv),T.setEnergyBat("charging",r.energy_imported_bat))):T.setEnergy(t,r.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,r])=>{T.setEnergy(t,r.energy_imported);const s=t.substring(2);ae.get(+s).countAsHouse||(T.items.devices.energy+=r.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{Pn.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Zt.includes(t)&&(U[t].energy=T.items[t].energy,U[t].energyPv=T.items[t].energyPv,U[t].energyBat=T.items[t].energyBat,U[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const r=T.items["cp"+t.id];r&&(t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}),ae.forEach(t=>{const r=T.items["sh"+t.id];r&&(t.energy=r.energy,t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}))):qe.value=!0,lt.value=!0}const Be=m(()=>{const a=Ve(y.data,e=>new Date(e.date));return a[0]&&a[1]?Ft().domain(a).range([0,be-j.left-2*j.right]):et().range([0,0])});function In(){T.keys().forEach(a=>{Zt.includes(a)&&(U[a].energy=T.items[a].energy,U[a].energyPv=0,U[a].energyBat=0,U[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ae.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Je=m(()=>{const a=Ve(y.data,e=>e.date);return a[1]?xt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-j.left-2]):xt().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,fe();break;case"today":y.graphMode="day",ue.deactivate(),ue.back(),ue.activate(),fe();break;case"day":ue.back(),fe();break;case"month":Ee.back();break;case"year":Re.back();break}}function Kt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,fe();break;case"day":ue.forward(),ue.date.getDate()==a.getDate()&&ue.date.getMonth()==a.getMonth()&&ue.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),fe();break;case"month":Ee.forward();break;case"year":Re.forward();break}}function ea(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",fe();break;case"month":y.graphMode="year",fe();break}}function ta(){switch(y.graphMode){case"year":y.graphMode="month",fe();break;case"month":y.graphMode="today",fe();break;case"today":case"day":y.graphMode="live",fe();break}}function da(a){if(y.graphMode=="day"||y.graphMode=="today"){ue.setDate(a);const e=new Date;ue.date.getDate()==e.getDate()&&ue.date.getMonth()==e.getMonth()&&ue.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",fe()}}const Fe=ee(new Map);class Cn{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,ne()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,ne()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,ne()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,On(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,ne()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,ne()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,ha(e),ne()}setSmartHomeColors(e){this._smartHomeColors=e,ha(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,ne()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,ne()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,ne()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,ne()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,ne()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,ne()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,ne()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,ne()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,ne()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,ne()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,ne()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,ne()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,ne()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,ne()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,ne()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,la(),ua(),ne()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,la(),ua(),ne()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,ne()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,ne()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new Cn);function Ba(){En();const a=ce("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Bn=992,Mt=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){Mt.x=document.documentElement.clientWidth,Mt.y=document.documentElement.clientHeight,Ba()}const De=m(()=>Mt.x>=Bn),ye={instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,oe("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function ne(){Tn()}function On(a){const e=ce("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),ne()}function An(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,ne()}function ha(a){const e=ce("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Tn(){const a={};a.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(r=>{ae.get(r)==null&&Yt(r),ae.get(r).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function aa(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),U=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Ln);ee("");const lt=ee(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Rt=ee(new Date),we=ee(new Map),zn=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},Wn=["origin"],Dn=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=r;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ce("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let r=Q.pv.power+Q.evuIn.power+Q.batOut.power;r>g.maxPower&&(g.maxPower=r)}),(r,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Wn))}}),Gn=["origin"],jn=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[U.evuOut,U.charging].concat([...ae.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([U.batIn,U.house]).concat(r),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ce("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(r,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function $e(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ct(a,e=1,t=!1){let r;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:r=Math.round(a/1e3);break;case 1:r=Math.round(a/100)/10;break;case 2:r=Math.round(a/10)/100;break;case 3:r=Math.round(a)/1e3;break;default:r=Math.round(a/100)/10;break}return r.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function Un(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString(["de-DE"],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>$e(e.watt,g.decimalPlaces));return(r,s)=>S(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),r=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),f("g",Hn,[n("text",{x:h.x,y:h.y,fill:r.value,"text-anchor":h.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:q(o.value)},S(t.value),3),n("tspan",null,[h.data!==void 0?(l(),$(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),Yn={class:"wb-widget p-0 m-0 shadow"},qn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:q(["p-2 m-0 d-flex",t.value])},[n("div",Yn,[n("div",qn,[n("h3",Qn,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),pe(r.$slots,"subtitle")]),n("div",Zn,[pe(r.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[pe(r.$slots,"default")])])])]),r.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[pe(r.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=re.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const re=le(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Ze=500,Ue=20,pa=1,hr=L({__name:"PowerMeter",setup(a){const e=Ze,t=Math.PI/40,r=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ze/2-Ue),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+$e(U.house.power+U.charging.power+U.devices.power+U.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?$e(g.maxPower,g.decimalPlaces):$e(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[U.evuOut,U.charging,U.devices,U.batIn,U.house].filter(B=>B.power>0)),k=m(()=>r[c.value.length-1]);function P(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const D=m(()=>{const[B]=re.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),$(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Ze+" "+i(e)},[n("g",{transform:"translate("+Ze/2+","+i(e)/2+")"},[v(Dn,{radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),v(jn,{"sh-device":i(ae),radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(re).active?(l(),$(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(F,null,te(c.value,(V,J)=>(l(),$(Ae,{key:J,x:P(J).x,y:P(J).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(Y)[i(me)[0]]!=null?(l(),$(Ae,{key:1,x:-500/2-Ue/4+10,y:-i(e)/2+Ue+5,labeltext:z(i(Y)[i(me)[0]].name)+": "+Math.round(i(Y)[i(me)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(Y)[i(me)[1]]!=null?(l(),$(Ae,{key:2,x:Ze/2+Ue/4-10,y:-i(e)/2+Ue+5,labeltext:z(i(Y)[i(me)[1]].name)+": "+Math.round(i(Y)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),$(Ae,{key:3,x:-500/2-Ue/4+10,y:i(e)/2-Ue+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(U).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(re).active?(l(),$(Ae,{key:4,x:Ze/2+Ue/4-10,y:i(e)/2-Ue+15,value:D.value,labeltext:i(re).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),f("text",{key:5,x:Ze/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),pr=["origin","origin2","transform"],gr=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var r,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ce("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?J(M,Je.value):V(M,Be.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(D.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>He().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const I=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).reduce((x,G)=>(G.match(I)&&x.push(G),x),[]))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach((I,x)=>{t[I]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=m(()=>{let M=Ve(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>ft(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const I=nt().x((G,xe)=>E(y.data[xe].date)).y(c.value(0)).curve(rt),x=nt().x((G,xe)=>E(y.data[xe].date)).y0(G=>c.value(y.graphMode=="year"?G[0]/1e3:G[0])).y1(G=>c.value(y.graphMode=="year"?G[1]/1e3:G[1])).curve(rt);mt?(M.selectAll("*").remove(),r=M.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(xe,W)=>t[k.value[W]]).attr("d",xe=>I(xe)),r.transition().duration(o).delay(h).ease(dt).attr("d",xe=>x(xe)),ia()):r.data(p.value).transition().duration(0).ease(dt).attr("d",G=>x(G))}function J(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(I,x)=>t[k.value[x]]).selectAll("rect").data(I=>I).enter().append("rect").attr("x",(I,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",I=>y.graphMode=="year"?c.value(I[0]/1e3)-c.value(I[1]/1e3):c.value(I[0])-c.value(I[1])).attr("y",I=>y.graphMode=="year"?c.value(I[1]/1e3):c.value(I[1])),ia()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(I,x)=>t[k.value[x]]).selectAll("rect").data(I=>I).enter().append("rect").attr("x",(I,x)=>E(y.data[x].date)??0).attr("y",I=>y.graphMode=="year"?c.value(I[1]/1e3):c.value(I[1])).attr("width",E.bandwidth()).attr("height",I=>y.graphMode=="year"?c.value(I[0]/1e3)-c.value(I[1]/1e3):c.value(I[0])-c.value(I[1]))))}const C=m(()=>{const M=ce("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Be.value.range(Ye.value);const E=nt().x((I,x)=>Be.value(y.data[x].date)).y0(I=>c.value(I[0])).y1(I=>c.value(I[1])).curve(rt);M.selectAll("path").attr("d",I=>I?E(I):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",I=>Be.value(I.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),f("g",{id:"pgSourceGraph",origin:d.value,origin2:C.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pr))}}),mr=["origin","origin2","transform"],fr=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]:[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]),r={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const C=ce("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(C):A(C),C.selectAll(".axis").remove();const M=C.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((C,M)=>C[M]??0).keys(P.value)),c=m(()=>p.value(y.data)),k=m(()=>He().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),P=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const C=t.value[e.stackOrder].slice(),M=C.indexOf("charging");C.splice(M,1);const E=/cp\d+/;let I=[];return y.data.length>0&&(I=Object.keys(y.data[0]).reduce((x,G)=>(G.match(E)&&x.push(G),x),[])),I.forEach((x,G)=>{var xe;C.splice(M+G,0,x),r[x]=((xe=O[+x.slice(2)])==null?void 0:xe.color)??"black"}),g.showInverters&&C.push("evuOut"),C}}),z=m(()=>{let C=Ve(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return C[0]!=null&&C[1]!=null?(y.graphMode=="year"&&(C[0]=C[0]/1e3,C[1]=C[1]/1e3),C):[0,0]}),D=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>ft(k.value).tickSizeInner(D.value).ticks(4).tickFormat(C=>(C==0?"":Math.round(C*10)/10).toLocaleString(void 0)));function A(C){const M=nt().x((I,x)=>Be.value(y.data[x].date)).y(k.value(0)).curve(rt),E=nt().x((I,x)=>Be.value(y.data[x].date)).y0(I=>k.value(I[0])).y1(I=>k.value(I[1])).curve(rt);g.showAnimations?it?(C.selectAll("*").remove(),s=C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>M(x)).attr("fill",(x,G)=>r[P.value[G]]),s.transition().duration(300).delay(100).ease(dt).attr("d",x=>E(x)),ca()):(C.selectAll("*").remove(),C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,G)=>r[P.value[G]])):(C.selectAll("*").remove(),C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,G)=>r[P.value[G]]))}function V(C){it?(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Je.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ca()):(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Je.value.bandwidth()))}const J=m(()=>{const C=ce("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Be.value.range(Ye.value);const M=nt().x((E,I)=>Be.value(y.data[I].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(rt);C.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(C,M)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:J.value,transform:"translate("+C.margin.left+","+C.margin.top+")"},null,8,mr))}}),vr=["width"],yr=["transform"],br=["x","width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],Mr={key:1},$r=["y","width","height"],Bt=12,Pr=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Be.value).ticks(6).tickSizeInner(h.value).tickFormat(st("%H:%M"))),r=m(()=>Ja(Be.value).ticks(6).tickSizeInner(h.value+3).tickFormat(st(""))),s=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ce("g#PGXAxis"),k=ce("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,z)=>z>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ce("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(r.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ce("g#PGXAxis"),k=ce("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Je.value.range(Ye.value),c.call(s.value),k.call(o.value)):(Be.value.range(Ye.value),c.call(t.value),k.call(r.value))}return"zoomed"});return(c,k)=>(l(),f(F,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,yr)],8,vr)),(l(),f("svg",{x:e.margin.left,width:e.width},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,kr),i(g).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(g).showGrid?(l(),f("g",Mr,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,$r)])):w("",!0)],8,_r)],8,br))],64))}}),Ir=["width"],Cr=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let P=Ve(y.data,z=>z.date);return P[0]&&P[1]?et().domain(P).range([0,e.width]):et().range([0,0])}),r=m(()=>He().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=Ne().x(D=>t.value(D.date)).y(D=>r.value(e.order==2?D.batSoc:e.order==0?D["soc"+me.value[0]]:D["soc"+me.value[1]])??r.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return Y[me.value[1]]!=null?Y[me.value[1]].name:"???";default:return Y[me.value[0]]!=null?Y[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=y.data.length-1,r.value(y.data[P]["soc"+me.value[0]]+2);case 1:return P=0,r.value(y.data[P]["soc"+me.value[1]]+2);case 2:return P=Math.round(y.data.length/2),r.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=ce("path#soc-"+o.value),z=ce("path#socdashes-"+o.value);t.value.range(Ye.value);const D=Ne().x(B=>t.value(B.date)).y(B=>r.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??r.value(0));P.attr("d",D(y.data)),z.attr("d",D(y.data))}return"zoomed"});return(P,z)=>(l(),f("svg",{x:"0",width:e.width},[n("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Cr),n("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:p.value,style:K({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Vr)],8,Ir))}}),Lr=["transform"],Or=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>He().range([e.height-10,0]).domain([0,100])),r=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ce("g#PGSocAxis");o.call(r.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Le(()=>{s()}),(o,h)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,Lr))}}),Ar={class:"d-flex align-self-top justify-content-center align-items-center"},Tr={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Wr={class:"table optiontable"},Dr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jr={class:"dropdown-menu"},Ur={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],Yr=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=new Date().getFullYear();let s=Array.from({length:10},(z,D)=>r-D);const o=ee(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=ee(t.modelValue.getDate()),p=ee(t.modelValue.getMonth()),c=ee(t.modelValue.getFullYear()),k=m(()=>{const D=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],J=D;for(let C=0;C(l(),f("span",Ar,[n("div",Tr,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,S(u.value),1)):w("",!0),n("div",zr,[n("table",Wr,[(l(!0),f(F,null,te(k.value,(B,A)=>(l(),f("tr",{key:A,class:""},[(l(!0),f(F,null,te(B,(V,J)=>(l(),f("td",{key:J},[V!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:C=>u.value=V},S(V),9,Dr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,S(p.value+1),1)):w("",!0),n("div",jr,[n("table",Ur,[(l(),f(F,null,te(d,(B,A)=>n("tr",{key:A,class:""},[(l(!0),f(F,null,te(B,(V,J)=>(l(),f("td",{key:J,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:C=>p.value=V},S(V+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,S(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(F,null,te(i(s),(B,A)=>(l(),f("tr",{key:A,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},D[0]||(D[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[r,s]of e)t[r]=s;return t},qr=R(Yr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(F,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p.value,key:c,class:q(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:K(o(c)),onClick:h},[n("span",{style:K(o(c))},[p.icon?(l(),f("i",{key:0,class:q(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Zr))),128))])]))}}),Oa=R(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=ee(0),r=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ue.date.getDate()+"."+(ue.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return Re.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(J){switch(J){case"day":k();break;case"today":P();break;case"live":c();break;case"month":z();break;case"year":D()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ue.getDate();case"month":return Ee.getDate();default:return ue.getDate()}});function u(J){da(J)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",fe())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",fe())}function P(){y.graphMode!="today"&&(y.graphMode="today",da(new Date),fe())}function z(){y.graphMode!="month"&&(y.graphMode="month",fe())}function D(){y.graphMode!="year"&&(y.graphMode="year",fe())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(J,C)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:K(B.value)},[t.value==2?(l(),$(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":C[0]||(C[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:q(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:C[1]||(C[1]=M=>J.$emit("shiftUp"))},C[6]||(C[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:q(["d-flex align-items-center",V.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:q(["p-1",{disabled:!e.showLeftButton}]),onClick:C[2]||(C[2]=M=>J.$emit("shiftLeft"))},C[7]||(C[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(r.value),1)):w("",!0),t.value==2?(l(),$(qr,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:C[3]||(C[3]=M=>J.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:q(["d-flex align-items-center",A.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:p},C[8]||(C[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:C[4]||(C[4]=M=>J.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:C[5]||(C[5]=M=>t.value=0)},C[9]||(C[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ie=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,r)=>(l(),f(F,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:q(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),$(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),r=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:r.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(st)("%H:%M")(new Date(u.entry.date))),9,oo),p[0]||(p[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ie,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(s.value,c=>(l(),$(Ie,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(o.value,c=>(l(),$(Ie,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(h.value,c=>(l(),$(Ie,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],ga=140,co=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right]):et().range([0,0])}),r=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right-ga]):et().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Ye.value),ce("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(Ye.value[1]-Ye.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),f(F,null,te(o.data,d=>(l(),f("g",{key:d.date,class:"ttarea"},[n("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:d,boxwidth:ga,"x-scale":r.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},po=["viewBox"],go=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",yo=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>fo&&(h=0),g.usageStackOrder=h,xn(!0)}function t(h){const d=[[0,j.top],[be,Se-j.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,Se]]).extent(d).filter(s).on("zoom",r))}function r(h){Ca.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Le(()=>{const h=ce("svg#powergraph");t(h)}),(h,d)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(vo))]),buttons:_(()=>[n("div",uo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[vt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(be)+" "+i(Se)},[v(gr,{width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"]),v(fr,{width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(be)-i(j).left-2*i(j).right,height:i(Se)-i(j).top-i(j).bottom,margin:i(j)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(j).left+","+i(j).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>0?(l(),$(Vt,{key:0,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>1?(l(),$(Vt,{key:1,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),$(Vt,{key:2,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),$(Or,{key:3,width:i(be)-i(j).left-i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"])):w("",!0)],8,go),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),$(co,{key:0,width:i(be)-i(j).left-i(j).right,height:i(Se)-i(j).top-i(j).bottom,margin:i(j),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(be)-10,y:i(Se)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,mo)])],8,po))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),bo=R(yo,[["__scopeId","data-v-7cbcf9ef"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:r.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),Mo={id:"emBargraph"},$o=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Mo,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(So,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Io=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>ft(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),r=m(()=>{const o=ce("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:r.value},null,8,Po))}}),Co=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],Oo=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),r=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":r.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(u.item.energy,i(g).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":r.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":r.value,"text-anchor":"middle",fill:u.item.color,class:q(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Lo)],8,Co))}}),Ao={id:"emBarLabels"},To=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Ao,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(Oo,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Wo={viewBox:"0 0 500 500"},Do=["transform"],Go=["x"],jo={key:0},ma=500,Lt=500,fa=12,Uo="Energie",Fo=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?qe.value=!0:(qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),ae.forEach((P,z)=>{P.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),r=m(()=>xt().range([0,ma-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>He().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ae.values()].filter(k=>k.configured).length;let c=U;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ae.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([U.batIn,U.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(Uo))]),buttons:_(()=>[n("div",Eo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Wo,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v($o,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Io,{"y-scale":s.value,width:ma,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(To,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,Do)]))]),i(qe)?(l(),f("p",jo,"No data")):w("",!0)]),_:1}))}}),No=R(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],Yo=["y","x","width"],qo=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:r.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:r.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,Yo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,r)=>(l(),f("g",Qo,[(l(!0),f(F,null,te(e.plotdata,(s,o)=>(l(),f("g",{key:o},[v(qo,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Ot=24,as=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function r(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:q(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(o.item.energy,i(g).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(r()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",ns,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(as,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":r(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new ss);const he=ee(new Map),Aa=a=>{he.value.set(a,new os(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function is(){he.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],ps={key:0},va=500,At=60,gs=12,ms="Energie",fs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>r.value.length*At+e.top+e.bottom),r=m(()=>{let c=Object.values(Q),k=h.value;const P=T.items;let z=[];switch(g.debug&&u(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?qe.value=!0:(qe.value=!1,z=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(D=>{P["cp"+D]&&z.push(P["cp"+D])}),z.push(P.devices),ae.forEach((D,B)=>{D.showInGraph&&P["sh"+B]&&z.push(P["sh"+B])}),z=z.concat([P.batIn,P.house]))}return z.filter(D=>D.energy&&D.energy>0)}),s=m(()=>He().range([0,va-e.left-e.right]).domain([0,Sa(r.value,c=>c.energy)])),o=m(()=>xt().range([e.top,t.value-e.bottom]).domain(r.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ae.values()].filter(z=>z.configured).length;let P=U;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[P.devices].concat(k>1?[...ae.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([U.batIn,U.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(ms))]),buttons:_(()=>[n("div",ls,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:r.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":gs},S(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:r.value,yscale:o.value,width:va,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(qe)?(l(),f("p",ps,"No data")):w("",!0)]),_:1}))}}),vs=R(fs,[["__scopeId","data-v-63a4748e"]]),ys={class:"d-flex flex-column align-items-center justify-content-start infoitem"},bs=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),r=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),f("span",ys,[n("span",{class:q(["d-flex heading",s.value]),style:K(t.value)},S(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:K(r.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),X=R(bs,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),r=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),f("div",{class:q(["wb-subwidget px-3 pt-2 my-0",r.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:K(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[pe(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),tt=R(xs,[["__scopeId","data-v-e989060d"]]),Ss={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},Ms={class:"titlecolumn m-0 p-0 d-flex align-items-center"},$s={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},Ps={class:"justify-content-stretch d-flex"},Is=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=ee(!1);function r(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),$(tt,{fullwidth:!!o.fullwidth},{default:_(()=>[n("div",Ss,[n("div",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:r},[e.icon?(l(),f("i",{key:0,class:q(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),n("span",null,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:K(s.value),onClick:r},null,4)):w("",!0)])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:r},[h[0]||(h[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),n("div",$s,[n("span",Ps,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),N=R(Is,[["__scopeId","data-v-b935eb33"]]),Cs={class:"d-flex flex-column"},Bs={class:"d-flex flex-fill justify-content-between align-items-center"},Vs={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Ls={key:0,id:"rangeIndicator",class:"rangeIndicator"},Os={viewBox:"0 0 100 2"},As=["width"],Ts=["x","width"],Es=["x","width"],zs=["id","min","max","step"],Ws={class:"d-flex justify-content-between align-items-center"},Ds={class:"minlabel ps-4"},Gs={class:"valuelabel"},js={class:"maxlabel pe-4"},Us=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,r))/Math.pow(10,r)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,r))/Math.pow(10,r))}function d(){o.valueHe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Cs,[n("span",Bs,[n("span",{type:"button",class:"minusButton",onClick:h},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Vs,[t.showSubrange?(l(),f("figure",Ls,[(l(),f("svg",Os,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,As),n("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ts),n("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Es)])]))])):w("",!0),vt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,zs),[[Za,o.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:d},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Ws,[n("span",Ds,S(k.min),1),n("span",Gs,S(o.value)+" "+S(k.unit),1),n("span",js,S(k.max),1)])]))}}),Me=R(Us,[["__scopeId","data-v-267ede95"]]),Fs=["id","value"],Ns=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[(l(!0),f(F,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p[1],key:c,class:q(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:K(o(c)),onClick:h},[n("span",{style:K(o(c))},[p[3]?(l(),f("i",{key:0,class:q(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Fs))),128))]))}}),We=R(Ns,[["__scopeId","data-v-df222cbe"]]),Hs={class:"mt-2"},Rs={key:0},Js=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),r=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),f("div",Hs,[h[4]||(h[4]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(N,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(Me,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Rs)):w("",!0),v(N,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:r.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),$(N,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),$(N,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ys=R(Js,[["__scopeId","data-v-0303d179"]]),qs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(h){r("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),f("div",qs,[vt(n("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:K(o.value)},null,4),[[Ma,s.value]])]))}}),Qs={class:"pt-2"},Zs={key:3},Xs=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),r=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),f("div",Qs,[d[8]||(d[8]=n("p",{class:"heading ms-1"},"PV-Laden:",-1)),v(N,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),$(N,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),v(N,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),v(N,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[v(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),$(N,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[v(Me,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),$(N,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[v(Me,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),r.value||s.value?(l(),f("hr",Zs)):w("",!0),v(N,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[v(se,{modelValue:r.value,"onUpdate:modelValue":d[6]||(d[6]=u=>r.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),r.value?(l(),$(N,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[v(Me,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ks=R(Xs,[["__scopeId","data-v-faa69015"]]),ei={class:"table table-borderless"},ti={class:"tablecell"},ai={class:"tablecell"},ni={class:"tablecell"},ri={class:"tablecell"},oi={class:"tablecell left"},si=["href"],ii=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return r.value[d].time}function o(d){return{color:r.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":r.value[d].active?"bold":"regular"}}return(d,u)=>(l(),f(F,null,[u[1]||(u[1]=n("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),n("table",ei,[u[0]||(u[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Limit"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader"})])],-1)),n("tbody",null,[(l(!0),f(F,null,te(r.value,(p,c)=>(l(),f("tr",{key:c,style:K(h(c))},[n("td",ti,S(p.limit.soc_scheduled)+"%",1),n("td",ai,S(p.limit.soc_limit)+"%",1),n("td",ni,S(s(c)),1),n("td",ri,S(e[p.frequency.selected]),1),n("td",oi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:q([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(o(c)),type:"button"},null,6)],8,si)])],4))),128))])])],64))}}),li=R(ii,[["__scopeId","data-v-e8f5ad9d"]]),ci={class:"table table-borderless"},ui={class:"tablecell"},di={class:"tablecell"},hi={class:"tablecell"},pi={class:"tablecell"},gi={class:"tablecell left"},mi=["href"],fi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:r.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":r.value[h].active?"bold":"regular"}}return(h,d)=>(l(),f(F,null,[d[1]||(d[1]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",ci,[d[0]||(d[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Ladestrom"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(F,null,te(r.value,(u,p)=>(l(),f("tr",{key:p,style:K(o(p))},[n("td",ui,S(u.time[0]),1),n("td",di,S(u.time[1]),1),n("td",hi,S(u.current)+" A",1),n("td",pi,S(e[u.frequency.selected]),1),n("td",gi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:q([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(s(p)),type:"button"},null,6)],8,mi)])],4))),128))])])],64))}}),vi=R(fi,[["__scopeId","data-v-192e287b"]]),yi={class:"settingsheader mt-2 ms-1"},bi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,r)=>(l(),f(F,null,[n("p",yi," Profile für "+S(i(Y)[e.vehicleId].name)+": ",1),v(N,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(Y)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":r[0]||(r[0]=s=>i(Y)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),v(N,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(Y)[e.vehicleId].evTemplateId,"onUpdate:modelValue":r[1]||(r[1]=s=>i(Y)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Ht)).map(s=>[i(Ht)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),_i=R(bi,[["__scopeId","data-v-fcb57a44"]]),wi={class:"settingsheader mt-2 ms-1"},ki=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(r,s)=>(l(),f(F,null,[n("p",wi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),v(N,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(N,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(Y)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(N,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(N,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(N,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),$(N,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(re).active?(l(),$(N,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),xi=R(ki,[["__scopeId","data-v-e348a34c"]]),Si={class:"providername ms-1"},Mi={class:"container"},$i={id:"pricechart",class:"p-0 m-0"},Pi={viewBox:"0 0 400 300"},Ii=["id","origin","transform"],Ci={key:0,class:"p-3"},Bi={key:1,class:"d-flex justify-content-end"},Vi=["disabled"],at=400,ya=250,ba=12,Li=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?ee(e.chargepoint.etMaxPrice):ee(0);const r=ee(!1),s=ee(e.chargepoint),o=m({get(){return t.value},set(W){t.value=W,r.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),r.value=!1}const d=ee(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let W=[];return re.etPriceList.size>0&&re.etPriceList.forEach((Z,Oe)=>{W.push([Oe,Z])}),W}),c=m(()=>p.value.length>1?(at-u.left-u.right)/p.value.length-1:0),k=m(()=>r.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=m(()=>{let W=Ve(p.value,Z=>Z[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),et().range([u.left,at-u.right]).domain(W)}),z=m(()=>{let W=[0,0];return p.value.length>0?(W=Ve(p.value,Z=>Z[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),D=m(()=>He().range([ya-u.bottom,0]).domain(z.value)),B=m(()=>{const W=Ne(),Z=[[u.left,D.value(o.value)],[at-u.right,D.value(o.value)]];return W(Z)}),A=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.lowerPriceBound)],[at-u.right,D.value(g.lowerPriceBound)]];return W(Z)}),V=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.upperPriceBound)],[at-u.right,D.value(g.upperPriceBound)]];return W(Z)}),J=m(()=>{const W=Ne(),Z=[[u.left,D.value(0)],[at-u.right,D.value(0)]];return W(Z)}),C=m(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(st("%H:%M"))),M=m(()=>ft(D.value).ticks(z.value[1]-z.value[0]).tickSizeInner(-375).tickFormat(W=>W.toString())),E=m(()=>{d.value==!0;const W=ce("g#"+I.value);W.selectAll("*").remove(),W.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Qe=>P.value(Qe[0])).attr("y",Qe=>D.value(Qe[1])).attr("width",c.value).attr("height",Qe=>D.value(z.value[0])-D.value(Qe[1])).attr("fill",Qe=>Qe[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(C.value);Oe.attr("transform","translate(0,"+(ya-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const wt=W.append("g").attr("class","axis").call(M.value);return wt.attr("transform","translate("+u.left+",0)"),wt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),wt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),wt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&W.append("path").attr("d",J.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",A.value).attr("stroke","green"),W.append("path").attr("d",V.value).attr("stroke","red"),W.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),I=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let W=[];return re.etPriceList.forEach(Z=>{W.push(Z)}),W.sort((Z,Oe)=>Z-Oe)});function G(){let W=x.value[0];for(let Z of x.value){if(Z>=o.value)break;W=Z}o.value=W}function xe(){let W=x.value[0];for(let Z of x.value)if(Z>o.value){W=Z;break}else W=Z;o.value=W}return Le(()=>{d.value=!d.value}),(W,Z)=>(l(),f(F,null,[Z[3]||(Z[3]=n("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),n("p",Si,"Anbieter: "+S(i(re).etProvider),1),Z[4]||(Z[4]=n("hr",null,null,-1)),n("div",Mi,[n("figure",$i,[(l(),f("svg",Pi,[n("g",{id:I.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ii)]))])]),W.chargepoint!=null?(l(),f("div",Ci,[W.chargepoint.etActive?(l(),$(Me,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:G},Z[1]||(Z[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:xe},Z[2]||(Z[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Bi,[n("span",{class:"me-3 pt-0",onClick:h},[n("button",{type:"button",class:"btn btn-secondary",style:K(k.value),disabled:!r.value}," Bestätigen ",12,Vi)])])):w("",!0)],64))}}),Ta=R(Li,[["__scopeId","data-v-8d837517"]]),Oi={class:"status-string"},Ai={style:{color:"red"}},Ti={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Ei={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi=["data-bs-target"],ji=["data-bs-target"],Ui=["data-bs-target"],Fi=["data-bs-target"],Ni={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},Hi=["id"],Ri=["id"],Ji=["id"],Yi=["id"],qi=["id"],Qi=["id"],Zi=["id"],Xi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,r=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Le(()=>{}),(o,h)=>(l(),f(F,null,[v(N,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",Oi,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),$(N,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",Ai,S(i(t).faultStr),1)]),_:1})):w("",!0),n("div",Ti,[n("nav",Ei,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,zi),o.chargepoint.chargeMode=="instant_charging"?(l(),f("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Wi)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),f("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Di)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),f("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Gi)):w("",!0),o.chargepoint.timedCharging?(l(),f("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,ji)):w("",!0),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[n("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Ui),i(re).active&&i(t).etActive?(l(),f("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[n("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Fi)):w("",!0)]),n("div",Ni,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(xi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,Hi),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Ys,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ri),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(Ks,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ji),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[r.value!=null?(l(),$(li,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Yi),n("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[r.value!=null?(l(),$(vi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,qi),n("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),$(_i,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Qi),n("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Zi)])])],64))}}),Jt=R(Xi,[["__scopeId","data-v-1164316d"]]),Ki={class:"d-flex justify-content-center align-items-center"},el=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),r=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),f("span",Ki,[n("i",{class:q(["fa me-1",t.value]),style:K(r.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),Ct=R(el,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ct(e.wattH,g.decimalPlaces));return(r,s)=>(l(),f("span",null,S(t.value),1))}}),tl={class:"wb-widget p-0 m-0 shadow widgetWidth"},al={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},nl={class:"d-flex align-items-center widgetname p-0 m-0"},rl={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ol={class:"grid12 pb-3"},sl=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:q(["p-2 m-0",t.value])},[n("div",tl,[n("div",al,[n("div",nl,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(r.$slots,"subtitle",{},void 0,!0)]),n("div",rl,[pe(r.$slots,"buttons",{},void 0,!0)])]),n("div",ol,[pe(r.$slots,"default",{},void 0,!0)])])],2))}}),je=R(sl,[["__scopeId","data-v-1d5bc1d9"]]),il=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(r,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:K(t.value)},[pe(r.$slots,"default",{},void 0,!0)],4))}}),Pe=R(il,[["__scopeId","data-v-36112fa3"]]),ll={class:"d-flex justify-content-center align-items-center"},cl={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},ul={key:0},dl={key:1,class:"row m-0 mt-0 p-0"},hl={class:"col m-0 p-0"},pl={key:0},gl={class:"row"},ml={class:"col"},fl={class:"carTitleLine d-flex justify-content-between align-items-center"},vl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},yl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},bl={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},_l={class:"grid12"},wl={style:{color:"var(--color-charging)"}},kl={style:{color:"var(--color-charging)"}},xl={style:{color:"var(--color-charging)"}},Sl={class:"targetCurrent"},Ml={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},$l={class:"d-flex justify-content-stretch align-items-center"},Pl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Il=["id"],Cl=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=ee(e.chargepoint),r=m({get(){return e.chargepoint.chargeMode},set(I){O[e.chargepoint.id].chargeMode=I}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const I=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,G=e.chargepoint.dailyYield;return x>0?Math.round(I/x*G).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let I="";return e.chargepoint.isLocked?I="fa-lock":e.chargepoint.isCharging?I=" fa-bolt":e.chargepoint.isPluggedIn&&(I="fa-plug"),"fa "+I}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),P=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),D=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=ee(!1),A=ee(!1);function V(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function J(){oe("setSoc",C.value,e.chargepoint.connectedVehicle),A.value=!1}const C=m({get(){return e.chargepoint.soc},set(I){O[e.chargepoint.id].soc=I}}),M=m(()=>{const[I]=re.etPriceList.values();return(Math.round(I*10)/10).toFixed(1)}),E=ee(!1);return(I,x)=>(l(),f(F,null,[B.value?w("",!0):(l(),$(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",ll,[n("span",{style:K(P.value),onClick:x[0]||(x[0]=G=>B.value=!B.value)},[x[12]||(x[12]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",cl,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:K(c.value),onClick:x[1]||(x[1]=G=>B.value=!B.value)},x[13]||(x[13]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),f("div",pl,[n("div",gl,[n("div",ml,[n("div",fl,[n("h3",{onClick:x[3]||(x[3]=G=>B.value=!B.value)},[x[14]||(x[14]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S(I.chargepoint.vehicleName)+" ",1),I.chargepoint.hasPriority?(l(),f("span",vl)):w("",!0),I.chargepoint.etActive?(l(),f("span",yl)):w("",!0),I.chargepoint.timedCharging?(l(),f("span",bl)):w("",!0)]),I.chargepoint.isSocConfigured?(l(),$(Pe,{key:0,bgcolor:D.value},{default:_(()=>[v(Ct,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),I.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=G=>A.value=!A.value)})):w("",!0),I.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:q(["fa-solid fa-sm",I.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),n("div",_l,[v(Oa,{id:"chargemode-"+I.chargepoint.name,modelValue:r.value,"onUpdate:modelValue":x[5]||(x[5]=G=>r.value=G),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(G=>({text:i(ye)[G].name,value:G,color:i(ye)[G].color,icon:i(ye)[G].icon,active:i(ye)[G].mode==I.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),$(X,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",wl,[v(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",kl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",xl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Sl,S(s.value),1)]),_:1})):w("",!0),v(X,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":Math.max(I.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(X,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),I.chargepoint.isSocConfigured?(l(),$(X,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Y)[e.chargepoint.connectedVehicle]?Math.round(i(Y)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),f("div",Ml,[x[15]||(x[15]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",$l,[n("span",null,[v(Me,{id:"manualSoc",modelValue:C.value,"onUpdate:modelValue":x[6]||(x[6]=G=>C.value=G),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:J})])):w("",!0),x[17]||(x[17]=n("hr",{class:"divider grid-col-12"},null,-1)),i(re).active?(l(),$(X,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=G=>t.value.etActive=G)},null,8,["modelValue"])]),_:1})):w("",!0),i(re).active?(l(),$(X,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:x[8]||(x[8]=G=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Pl)):w("",!0)])]),_:1})):w("",!0),i(re).active?(l(),$(X,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[n("span",{style:K(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),f("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(Y)[e.chargepoint.connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:K(c.value),onClick:x[9]||(x[9]=G=>E.value=!1)},x[16]||(x[16]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Il)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),f("div",ul,[n("div",{class:"grid12",onClick:x[2]||(x[2]=G=>B.value=!B.value)},[v(X,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:K({color:u.value})},[n("i",{class:q(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),v(X,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":I.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),f("div",dl,[n("div",hl,[I.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:I.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),$(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:K(P.value),onClick:x[10]||(x[10]=G=>B.value=!B.value)},[x[18]||(x[18]=n("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:K(c.value),onClick:x[11]||(x[11]=G=>B.value=!B.value)},x[19]||(x[19]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[I.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:I.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),Bl=R(Cl,[["__scopeId","data-v-3a733de3"]]),Vl=["id"],Ll={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Ol={class:"modal-content"},Al={class:"modal-header"},Tl={class:"modal-title"},El={class:"modal-body",style:{"background-color":"var(--color-bg)"}},zl=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Le(()=>{}),(t,r)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",Ll,[n("div",Ol,[n("div",Al,[n("h3",Tl,[pe(t.$slots,"title",{},void 0,!0)]),r[0]||(r[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",El,[pe(t.$slots,"default",{},void 0,!0),r[1]||(r[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Vl))}}),Ea=R(zl,[["__scopeId","data-v-eaefae30"]]),Wl={class:"d-flex align-items-center"},Dl={class:"cpname"},Gl={class:"d-flex float-right justify-content-end align-items-center"},jl=["data-bs-target"],Ul=["data-bs-target"],Fl={class:"subgrid"},Nl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},Hl={class:"d-flex flex-column align-items-center px-0"},Rl={class:"d-flex justify-content-center flex-wrap"},Jl={class:"d-flex align-items-center"},Yl={class:"badge phasesInUse rounded-pill"},ql={class:"d-flex flex-wrap justify-content-center chargeinfo"},Ql={class:"me-1"},Zl={key:0,class:"subgrid socEditRow m-0 p-0"},Xl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},Kl={class:"d-flex justify-content-stretch align-items-center"},ec=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=ee(!1),r=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--fg)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>$e(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ct(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=m(()=>ye[e.chargepoint.chargeMode].name);function z(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function D(){oe("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,J)=>(l(),f(F,null,[v(tt,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",Wl,[n("span",Dl,S(V.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:K(o.value)},[n("i",{class:q([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[n("div",Gl,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:K(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[n("i",{class:q(["fa me-1",r.value])},null,2),H(" "+S(P.value),1)],12,jl),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Ul)])]),default:_(()=>[n("div",Fl,[v(X,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),f("span",Nl,[V.chargepoint.soc?(l(),$(Ct,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:J[0]||(J[0]=C=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:q(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(X,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",Hl,[n("span",Rl,[n("span",null,S(d.value),1),n("span",Jl,[n("span",Yl,S(p.value),1),n("span",null,S(u.value),1)])])])]),_:1}),v(X,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",ql,[n("span",Ql,S(c.value),1),n("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),f("div",Zl,[n("div",Xl,[J[2]||(J[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",Kl,[n("span",null,[v(Me,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":J[1]||(J[1]=C=>B.value=C),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:D})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),$(Xa,{to:"body"},[(l(),$(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),tc=R(ec,[["__scopeId","data-v-25e4aa5d"]]),ac=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,r)=>(l(),$(je,{"variable-width":!0},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(re).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(re).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(F,null,te(e.value,(s,o)=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(tc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),nc=R(ac,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const r=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+r.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Le(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),f(F,null,[r.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:q(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),f(F,null,te(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:q([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Bl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),r.compact?(l(),$(nc,{key:1})):w("",!0)],64))}}),rc={class:"container-fluid p-0 m-0"},oc={class:"row p-0 m-0"},sc={class:"d-grid gap-2"},ic=["onClick"],lc={class:"col-md-4 p-1"},cc={class:"d-grid gap-2"},uc={key:0},dc={class:"row justify-content-center m-1 p-0"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc={class:"col-lg-4 p-1 m-0"},mc={class:"d-grid gap-2"},fc={class:"col-lg-4 p-1 m-0"},vc={class:"d-grid gap-2"},yc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],r=m(()=>O[e.cpId]);function s(p){return p==r.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){r.value.chargeMode=p}function d(p){r.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),f("div",rc,[n("div",oc,[(l(),f(F,null,te(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",sc,[n("button",{type:"button",class:q(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,ic)])])),64)),n("div",lc,[n("div",cc,[r.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),r.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),f("div",uc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",dc,[n("div",hc,[n("div",pc,[n("button",{id:"evPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",gc,[n("div",mc,[n("button",{id:"batteryPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",fc,[n("div",vc,[n("button",{id:"minsocPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),bc={class:"col-lg-4 p-0 m-0 mt-1"},_c={class:"d-grid gap-2"},wc=["data-bs-target"],kc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},xc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Sc={key:0,class:"ms-2"},Mc={class:"m-0 p-0"},$c={key:0,class:"ps-1"},Pc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,r=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case ve.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case ve.standby:case ve.stop:c.background="darkgrey",c.color="black";break;case ve.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",bc,[n("div",_c,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:K(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",kc,[n("span",xc,[n("i",{class:q(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Sc,S(i($e)(c.chargepoint.power)),1)):w("",!0)]),n("span",Mc,S(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:K(o.value)},[n("i",{class:q(["fa me-1",h.value])},null,2),H(" "+S(r.value)+" ",1),c.chargepoint.chargeMode==i(ve).pv_charging&&i(de).isBatteryConfigured?(l(),f("span",$c,[k[0]||(k[0]=H(" ( ")),n("i",{class:q(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,wc)]),v(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[v(yc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Ic=R(Pc,[["__scopeId","data-v-31df6764"]]),Cc={class:"row p-0 mt-0 mb-1 m-0"},Bc={class:"col p-0 m-0"},Vc={class:"container-fluid p-0 m-0"},Lc={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Oc={key:0,class:"col time-display"},Ac=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Cc,[n("div",Bc,[n("div",Vc,[n("div",Lc,[i(g).showClock=="buttonbar"?(l(),f("span",Oc,S(i(La)(i(Rt))),1)):w("",!0),(l(!0),f(F,null,te(i(O),(r,s)=>(l(),$(Ic,{key:s,chargepoint:r,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Tc=R(Ac,[["__scopeId","data-v-791e4be0"]]),Ec={class:"battery-title"},zc={class:"subgrid pt-1"},Wc=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${$e(-e.bat.power)})`:e.bat.power>0?`Lädt (${$e(e.bat.power)})`:"Bereit"),r=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Ec,S(s.bat.name),1)]),buttons:_(()=>[v(Pe,{bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",zc,[v(X,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(X,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(X,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Dc=R(Wc,[["__scopeId","data-v-f7f825f7"]]),Gc={class:"px-3 subgrid grid-12"},jc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${$e(Q.batOut.power)})`:U.batIn.power>0?`Lädt (${$e(U.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":U.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),r=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),$(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Pe,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",Gc,[v(X,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),v(X,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(r.value)),1)]),_:1}),v(X,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),f(F,null,te(i(he),([h,d])=>(l(),$(Dc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(jc,[["__scopeId","data-v-cc4da23c"]]),Uc={class:"devicename"},Fc={class:"subgrid"},Nc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),r=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?oe("shSwitchOn",0,e.device.id):oe("shSwitchOn",1,e.device.id),ae.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?oe("shSetManual",1,e.device.id):oe("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),$(tt,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[n("span",Uc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),f(F,null,te(d.device.temp,(p,c)=>(l(),f("span",{key:c},[p<300?(l(),$(Pe,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,S(i(Nn)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:q([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:K(r.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),$(Pe,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Fc,[v(X,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),v(X,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),v(X,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Un)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),Hc=R(Nc,[["__scopeId","data-v-20651ac6"]]),Rc={class:"sh-title py-4"},Jc=["id","onUpdate:modelValue","value"],Yc=["for"],qc=3,Qc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=qc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ae.values()].filter(h=>h.configured));function r(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=ee(!1);return(h,d)=>(l(),f(F,null,[(l(!0),f(F,null,te(e.value,(u,p)=>(l(),$(je,{key:p,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[d[0]||(d[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",Rc,S(r(p)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(F,null,te(u,c=>(l(),$(Hc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),$(je,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[n("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(N,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(F,null,te(t.value,(u,p)=>(l(),f("div",{key:p},[vt(n("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Jc),[[Ma,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Yc)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Qc,[["__scopeId","data-v-5b5cf6b3"]]),Zc={class:"countername"},Xc={class:"subgrid pt-1"},Kc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),r=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Zc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),$(Pe,{key:0,bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Pe,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",Xc,[v(X,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(X,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(X,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),eu=R(Kc,[["__scopeId","data-v-01dd8c4d"]]);class tu{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function au(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new tu(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const nu=L({__name:"CounterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(F,null,te(i(ke),(r,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(eu,{counter:r},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(nu,[["__scopeId","data-v-5f059284"]]),ru={class:"vehiclename"},ou={class:"subgrid"},su=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=m(()=>{let s="Unterwegs",o=e.vehicle.chargepoint;return o!=null&&(o.isCharging?s="Lädt ("+o.name+")":o.isPluggedIn&&(s="Bereit ("+o.name+")")),s}),r=m(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ru,S(e.vehicle.name),1)]),default:_(()=>[n("div",ou,[v(X,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:K({color:r.value}),class:"d-flex justify-content-center align-items-center status-string"},S(t.value),5)]),_:1}),v(X,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),v(X,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),iu=R(su,[["__scopeId","data-v-9e2cb63e"]]),lu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(F,null,te(Object.values(i(Y)).filter(r=>r.visible),(r,s)=>(l(),f("div",{key:s,class:"subgrid"},[v(iu,{vehicle:r},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(lu,[["__scopeId","data-v-23b437ea"]]),cu={class:"grapharea"},uu={id:"pricechart",class:"p-1 m-0 pricefigure"},du={viewBox:"0 0 400 280"},hu=["id","origin","transform"],ut=380,_a=250,Gt=12,pu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=ee(!1),r={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return re.etPriceList.size>0&&re.etPriceList.forEach((V,J)=>{A.push([J,V])}),A}),o=m(()=>s.value.length>1?(ut-r.left-r.right)/s.value.length:0),h=m(()=>{let A=Ve(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),et().range([r.left,ut-r.right]).domain(A)}),d=m(()=>{let A=[0,0];return s.value.length>0&&(A=Ve(s.value,V=>V[1]),A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1),A}),u=m(()=>He().range([_a-r.bottom,0]).domain(d.value)),p=m(()=>{const A=Ne(),V=[[r.left,u.value(g.lowerPriceBound)],[ut-r.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=Ne(),V=[[r.left,u.value(g.upperPriceBound)],[ut-r.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=Ne(),V=[[r.left,u.value(0)],[ut-r.right,u.value(0)]];return A(V)}),P=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(A=>A.getHours()%6==0?st("%H:%M")(A):"")),z=m(()=>ft(u.value).ticks(d.value[1]-d.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(A=>A.toString())),D=m(()=>{t.value==!0;const A=ce("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const J=A.append("g").attr("class","axis").call(P.value);J.attr("transform","translate(0,"+(_a-r.bottom)+")"),J.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),J.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),J.select(".domain").attr("stroke","var(--color-bg");const C=A.append("g").attr("class","axis").call(z.value);C.attr("transform","translate("+r.left+",0)"),C.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),C.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),C.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const I=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Gt).attr("fill","var(--color-bg)");return I.append("tspan").attr("x",30).attr("dy","0em").text(x=>st("%H:%M")(x[0])),I.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Le(()=>{t.value=!t.value}),(A,V)=>(l(),$(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(re).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(re).etCurrentPriceString),1)]),_:1})):w("",!0),i(re).active?(l(),$(Pe,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(re).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",cu,[n("figure",uu,[(l(),f("svg",du,[n("g",{id:B.value,origin:D.value,transform:"translate("+r.top+","+r.left+") "},null,8,hu)]))])])]),_:1}))}}),jt=R(pu,[["__scopeId","data-v-6000c955"]]),gu={class:"subgrid pt-1"},mu=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(r,s)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:K(t.value)},S(r.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",gu,[v(X,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(X,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(X,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),fu=R(mu,[["__scopeId","data-v-258d8f17"]]),vu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(F,null,te(i(we),([r,s])=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(fu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=R(vu,[["__scopeId","data-v-b7a71f81"]]),yu={class:"row py-0 px-0 m-0"},bu=["breakpoints"],_u=L({__name:"CarouselFix",setup(a){let e,t;const r=ee(!1),s=m(()=>r.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Le(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),f("div",yu,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,bu)]))}}),wu=R(_u,[["__scopeId","data-v-17424929"]]);function ku(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?xu(a,e):a=="openWB/graph/lastlivevaluesJson"?Su(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function xu(a,e){if(!ge.initialized){let t=[];const r=e.toString().split(` -`);r.length>1?t=r.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),o=s?s[0]:"";o!=""&&typeof ge.rawDataPacks[+o-1]>"u"&&(ge.rawDataPacks[+o-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(r=>{r.forEach(s=>{const o=za(s);t.push(o)})}),yt(t),ge.subscribeUpdates()}}function Su(a,e){const t=JSON.parse(e),r=za(t);ge.graphRefreshCounter++,yt(y.data.concat(r)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,r="ev"+e+"-soc",s="ev"+t+"-soc",o={};o.date=+a.timestamp*1e3,+a.grid>0?(o.evuIn=+a.grid,o.evuOut=0):+a.grid<=0?(o.evuIn=0,o.evuOut=-a.grid):(o.evuIn=0,o.evuOut=0),+a["pv-all"]>=0?(o.pv=+a["pv-all"],o.inverter=0):(o.pv=0,o.inverter=-a["pv-all"]),o.house=+a["house-power"],+a["bat-all-power"]>0?(o.batOut=0,o.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(o.batOut=-a["bat-all-power"],o.batIn=0):(o.batOut=0,o.batIn=0),a["bat-all-soc"]?o.batSoc=+a["bat-all-soc"]:o.batSoc=0,a[r]&&(o["soc"+e]=+a[r]),a[s]&&(o["soc"+t]=+a[s]),o.charging=+a["charging-all"];for(let h=0;h<10;h++){const d="cp"+h;o[d]=+(a[d+"-power"]??0)}return o.selfUsage=o.pv-o.evuOut,o.selfUsage<0&&(o.selfUsage=0),o.devices=0,o}const Mu=["evuIn","pv","batOut","evuOut","charging","house"];let $t=[];function $u(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),$t=[],Zt.forEach(h=>{T.setEnergyPv(h,0),T.setEnergyBat(h,0)});const o=Pu(t);yt(o),Xt(s,$t),g.debug&&Cu(t,s,o),y.graphMode=="today"&&setTimeout(()=>ue.activate(),3e5)}function Pu(a){const e=[];let t={};return a.forEach(r=>{t=Iu(r);const s=t;e.push(s)}),e}function Iu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,$t.includes(s)||$t.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,o])=>{s!="all"?e[s]=o.power_exported:e.pv=o.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,o])=>{s!="all"?(e[s]=o.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=o.power_imported}),Object.entries(a.ev).forEach(([s,o])=>{s!="all"&&(e["soc"+s.substring(2)]=o.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,o])=>{var h;s!="all"&&(e[s]=o.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ae.get(+s.slice(2)).showInGraph),(h=ae.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=o.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!Mu.includes(s)&&s!="charging").forEach(s=>{Mn(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Cu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let kt={};const ra=["charging","house","batIn","devices"],Bu=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let Ke=[];function Vu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Lu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Wa(a){const e=[];let t={};return kt={},a.forEach(r=>{t=Ou(r),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),kt[s]?kt[s]+=t[s]:kt[s]=t[s])})}),e}function Ou(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let r=0,s=0;return Object.entries(a.counter).forEach(([h,d])=>{r+=d.energy_exported,s+=d.energy_imported,d.grid&&(e.evuOut+=d.energy_exported,e.evuIn+=d.energy_imported,Ke.includes(h)||Ke.push(h))}),Ke.length==0&&(e.evuOut=r,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,d])=>{h!="all"?(T.keys().includes(h)||T.addItem(h),e[h]=d.energy_imported):e.charging=d.energy_imported}),Object.entries(a.ev).forEach(([h,d])=>{h!="all"&&(e["soc-"+h]=d.soc)}),e.devices=Object.entries(a.sh).reduce((h,d)=>(T.keys().includes(d[0])||T.addItem(d[0]),d[1].energy_imported>=0?h+=d[1].energy_imported:console.warn(`Negative energy value for device ${d[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(h=>!Bu.includes(h)).forEach(h=>{$n(h,e)}):ra.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function Au(a,e){const t=Tu(a);if(t&&!he.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(U.batIn.power=+e,Q.batOut.power=0):(U.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?U.batIn.energy=+e:t&&he.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?he.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?he.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he.value.get(t).soc=+e))}function Tu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Eu(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?re.active=!1:(re.active=!0,re.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);re.etPriceList=new Map,Object.keys(t).forEach(r=>{re.etPriceList.set(new Date(+r*1e3),t[r]*1e5)})}}function zu(a,e){const t=Da(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?U.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(U.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t){if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const r=JSON.parse(e);O[t].name=r.name,O[t].icon=r.name,ie["cp"+t]?(ie["cp"+t].name=r.name,ie["cp"+t].icon=r.name):ie["cp"+t]={name:r.name,icon:r.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const r=JSON.parse(e);O[t].chargedSincePlugged=r.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const r=JSON.parse(e);O[t].soc=r.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=r.range_charged,O[t].rangeUnit=r.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const r=JSON.parse(e);O[t].vehicleName=String(r.name),O[t].updateConnectedVehicle(+r.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const r=JSON.parse(e);switch(r.chargemode){case"instant_charging":O[t].updateChargeMode(ve.instant_charging);break;case"pv_charging":O[t].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":O[t].updateChargeMode(ve.scheduled_charging);break;case"standby":O[t].updateChargeMode(ve.standby);break;case"stop":O[t].updateChargeMode(ve.stop);break}O[t].chargeTemplate=r.charge_template,O[t].averageConsumption=r.average_consumption}}}function Wu(a,e){const t=Da(a);if(t!=null){if(!(t in Y)){const r=new yn(t);Y[t]=r}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(r=>{r.connectedVehicle==t&&(r.vehicleName=JSON.parse(e))}),Y[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))Y[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?Y[t].range=0:Y[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))Y[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))Y[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const r=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=r.type!==null,s.isSocManual=r.type=="manual")})}}}function Du(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);_e[r]=s,Gu(r,s)}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in gt||(gt[s]=[]),gt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in pt||(pt[s]=[]),pt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);Ht[r]=s}}}function Gu(a,e){Object.values(O).forEach(t=>{t.chargeTemplate==a&&(t.updateCpPriority(e.prio),t.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),t.updateInstantTargetCurrent(e.chargemode.instant_charging.current),t.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),t.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),t.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),t.updatePvMinCurrent(e.chargemode.pv_charging.min_current),t.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),t.updatePvMinSoc(e.chargemode.pv_charging.min_soc),t.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function Da(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function ju(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?Uu(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Fu(a,e)}function Uu(a,e){const t=Ga(a);if(t==null)return;ae.has(t)||Yt(t);const r=ae.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?r.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(r.name=e.toString(),r.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?r.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?r.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?r.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(r.tempConfigured=+e)}function Fu(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ae.has(t)||Yt(t);const r=ae.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))r.power=+e,Nu("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))r.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))r.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))r.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))r.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:r.status="off";break;case 11:r.status="on";break;case 20:r.status="detection";break;case 30:r.status="timeout";break;default:r.status="off"}}}function Nu(a){switch(a){case"power":U.devices.power=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":U.devices.energy=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Pt=le([]);class oa{constructor(e,t,r,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=r,this.lastValue=s}insert(e,t){if(e.length){const r=e.splice(1);if(e[0]==this.name)if(r.length){let s=!1;if(this.children.forEach(o=>{o.name==r[0]&&(o.insert(r,t),s=!0)}),!s){const o=new oa(r[0],[],0,"");o.insert(r,t),this.children.push(o)}}else this.count=this.count+1,this.lastValue=t}}}function Hu(a,e){const t=a.split("/");if(t.length){let r=!1;if(Pt.forEach(s=>{s.name==t[0]&&(s.insert(t,e),r=!0)}),!r){const s=new oa(t[0],[],0,"");Pt.push(s),s.insert(t,e)}}}const Ru=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+qt()+"/#"];function Ju(){mn(Yu),Ru.forEach(a=>{Xe(a)}),fe()}function Yu(a,e){Hu(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?qu(a,t):a.match(/^openwb\/counter\//i)?Qu(a,t):a.match(/^openwb\/bat\//i)?Au(a,t):a.match(/^openwb\/pv\//i)?Zu(a,t):a.match(/^openwb\/chargepoint\//i)?zu(a,t):a.match(/^openwb\/vehicle\/template\//i)?Du(a,t):a.match(/^openwb\/vehicle\//i)?Wu(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Xu(a,t):a.match(/^openwb\/graph\//i)?ku(a,t):a.match(/^openwb\/log\/daily\//i)?$u(a,t):a.match(/^openwb\/log\/monthly\//i)?Vu(a,t):a.match(/^openwb\/log\/yearly\//i)?Lu(a,t):a.match(/^openwb\/optional\/et\//i)?Eu(a,t):a.match(/^openwb\/system\//i)?ed(a,t):a.match(/^openwb\/LegacySmartHome\//i)?ju(a,t):a.match(/^openwb\/command\//i)&&td(a,t)}function qu(a,e){const t=a.split("/"),r=+t[2];if(r==de.evuId?Ku(a,e):t[3]=="config",t[3]=="get"&&r in ke)switch(t[4]){case"power":ke[r].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ke[r].energy_imported=+e;break;case"daily_exported":ke[r].energy_exported=+e;break}}function Qu(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){_n(),is();for(const r of t)r.type=="counter"&&(de.evuId=r.id);ja(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?U.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(U.house.energy=+e)}function ja(a){switch(a.type){case"counter":au(a.id,a.type);break;case"cp":bn(a.id);break;case"bat":Aa(a.id);break}a.children.forEach(e=>ja(e))}function Zu(a,e){const t=ad(a);t&&!we.value.has(t)&&zn(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function Xu(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function Ku(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,U.evuOut.power=0):(Q.evuIn.power=0,U.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":U.evuOut.energy=+e;break}}function ed(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":ke[t.id]&&(ke[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":he.value.has(t.id)||Aa(t.id),he.value.get(t.id).name=t.name}}}function td(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==qt()){const r=JSON.parse(e);console.error(`Error message from openWB: -Command: ${r.command} -Data: JSON.stringify(err.data) -Error: - ${r.error}`)}}function ad(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const nd={key:0,class:"fas fa-caret-down"},rd={key:1,class:"fas fa-caret-right"},od={key:0,class:"content p-2 m-2"},sd={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},id=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=ee(!e.hide),r=ee(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(r.value=!r.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(F,null,[n("div",{class:"name py-2 px-2 m-0",style:K(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(r)?(l(),f("span",nd)):(l(),f("span",rd)),H(" "+S(s.value)+S(h.value),1)],4),i(r)?(l(),f("div",od,[n("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),f("div",sd,[(l(!0),f(F,null,te(o.value,(z,D)=>(l(),$(P,{key:D,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),ld=R(id,[["__scopeId","data-v-df7e578a"]]),cd={class:"mqviewer"},ud={class:"row pt-2"},dd={class:"col"},hd={key:0,class:"topiclist"},pd=L({__name:"MQTTViewer",setup(a){Le(()=>{});const e=ee(!1);function t(){e.value=!e.value}const r=m(()=>e.value?"active":"");return(s,o)=>(l(),f("div",cd,[n("div",ud,[n("div",dd,[o[0]||(o[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=n("hr",null,null,-1)),n("button",{class:q(["btn btn-small btn-outline-primary ms-2",r.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=n("hr",null,null,-1))])]),i(Pt)[0]?(l(),f("div",hd,[(l(!0),f(F,null,te(i(Pt)[0].children.sort((h,d)=>h.name(l(),$(ld,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),gd=R(pd,[["__scopeId","data-v-a349646d"]]),md=["value"],fd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(o){r("update:modelValue",o)}});return(o,h)=>vt((l(),f("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),f(F,null,te(o.options,(d,u)=>(l(),f("option",{key:u,value:d[1]},S(d[0]),9,md))),128))],512)),[[an,s.value]])}}),vd=R(fd,[["__scopeId","data-v-5e33ce1f"]]),yd={class:"subgrid m-0 p-0"},bd={class:"settingscolumn"},_d={class:"settingscolumn"},wd={class:"settingscolumn"},kd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,r=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),$(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",yd,[n("div",bd,[v(N,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:r},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[v(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[v(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),$(N,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(N,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(vd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1})]),n("div",_d,[v(N,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[v(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[v(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[v(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[v(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[v(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[v(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[v(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[v(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1})]),n("div",wd,[v(N,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[v(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[v(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[v(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(Me,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(Me,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{default:_(()=>[v(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[v(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),xd=R(kd,[["__scopeId","data-v-d82b4b16"]]),Sd={class:"container-fluid px-2 m-0 theme-colors"},Md={id:"themesettings",class:"collapse"},$d={class:"row py-0 px-0 m-0"},Pd={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Id={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Cd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Bd={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Vd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Ld={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Od={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Ad={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},Td={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},Ed={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},zd={class:"row py-0 m-0 d-flex justify-content-center"},Wd={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Fd={class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},Hd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},qd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Qd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Xd={key:0,class:"row p-2 mt-5"},Kd={class:"col p-2"},eh={class:"d-flex justify-content-between"},th={class:"mx-4"},ah={key:0},nh=L({__name:"ColorsTheme",setup(a){const e=ee(!1),t=m(()=>[...ae.values()].filter(h=>h.configured).length>0);function r(){Ba()}function s(){e.value=!e.value}Le(()=>{r(),window.addEventListener("resize",Vn),window.addEventListener("focus",o),Ju()});function o(){document.hasFocus()&&fe(!0)}return(h,d)=>(l(),f(F,null,[n("div",Sd,[n("div",Md,[v(xd,{onResetArcs:i(An)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),$(Tc,{key:0})):w("",!0),n("div",$d,[v(wu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(bo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(g).showQuickAccess?w("",!0):(l(),f("div",Pd,[v(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),f("nav",Id,[d[6]||(d[6]=rn('AllesLadepunkte',2)),i(g).showPrices?(l(),f("a",Cd,d[0]||(d[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),f("a",Bd,d[1]||(d[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),f("a",Vd,d[2]||(d[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",Ld,d[3]||(d[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),f("a",Od,d[4]||(d[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),f("a",Ad,d[5]||(d[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),f("div",Td,[n("div",Ed,[n("div",zd,[v(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])]),n("div",Wd,[n("div",Dd,[v(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),n("div",Gd,[i(g).showVehicles?(l(),f("div",jd,[v(Dt)])):w("",!0)]),n("div",Ud,[n("div",Fd,[v(Et)])]),n("div",Nd,[t.value?(l(),f("div",Hd,[v(zt)])):w("",!0)]),n("div",Rd,[i(g).showCounters?(l(),f("div",Jd,[v(Wt)])):w("",!0)]),n("div",Yd,[i(g).showInverters?(l(),f("div",qd,[v(Ut)])):w("",!0)]),n("div",Qd,[i(g).showPrices?(l(),f("div",Zd,[v(jt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),f("div",Xd,[n("div",Kd,[d[7]||(d[7]=n("hr",null,null,-1)),n("div",eh,[n("p",th,"Screen Width: "+S(i(Mt).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",ah)):w("",!0),e.value?(l(),$(gd,{key:1})):w("",!0)])])):w("",!0)],64))}}),rh=R(nh,[["__scopeId","data-v-0542a138"]]),oh={class:"navbar navbar-expand-lg px-0 mb-0"},sh={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},ih=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Le(()=>{e=setInterval(()=>{Rt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(r,s)=>(l(),f(F,null,[n("nav",oh,[n("div",{class:q(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),f("span",sh,S(i(La)(i(Rt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[H("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:q(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),lh=R(ih,[["__scopeId","data-v-ed619966"]]),ch={id:"app",class:"m-0 p-0"},uh={class:"row p-0 m-0"},dh={class:"col-12 p-0 m-0"},hh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,r)=>(l(),f("div",ch,[v(lh),n("div",{class:q(["p-0",e.value])},[n("div",uh,[n("div",dh,[v(rh)])])],2)]))}}),ph=sn(hh);ln();ph.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js b/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js new file mode 100644 index 0000000000..a6196c1c4d --- /dev/null +++ b/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js @@ -0,0 +1,6 @@ +var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as X,i as Ha,e as Ve,u as Ft,t as et,b as St,s as ce,d as L,p as wa,f as ka,w as Ra,o as l,g as f,h as S,j as n,n as J,k as $,l as w,q as pe,v as _,x as H,y as i,z as v,F as U,A as te,B as xa,C as He,D as ft,E as nt,G as rt,H as dt,I as ht,J as st,K as Ja,L as Ne,M as ee,N as Ya,O as Le,P as vt,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var ve=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(ve||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,re()}setShowInGraph(e){this._showInGraph=e}}const ne=le(new Map);function Yt(a){ne.has(a)?console.info("Duplicate sh device message: "+a):(ne.set(a,new un(a)),ne.get(a).color="var(--color-sh"+ne.size+")")}const dn=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},Mt={topic:"",qos:dn};let Ie;const{host:hn,port:pn,endpoint:gn,...Ca}=Pa,sa=`${Ca.protocol}://${hn}:${pn}${gn}`;try{console.debug("connectURL",sa),Ie=Na.connect(sa,Ca),Ie.on("connect",()=>{console.info("MQTT connection successful")}),Ie.on("disconnect",()=>{console.info("MQTT disconnected")}),Ie.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Ie?Ie.on("message",a):console.error("MqttRegister: MQTT client not available")}function Xe(a){Mt.topic=a;const{topic:e,qos:t}=Mt;Ie.subscribe(e,{qos:t},r=>{if(r){console.error("MQTT Subscription error: "+r);return}})}function ot(a){Mt.topic=a;const{topic:e}=Mt;Ie.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Nt(a,e){let r=Ie.connected,s=0;for(;!r&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),r=Ie.connected,s+=1;if(s<20)try{Ie.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function qt(){return Pa.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",ve.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,ae("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,ae("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return N[this.connectedVehicle]?N[this.connectedVehicle].soc:0}set soc(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,ae("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,ae("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,ae("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,ae("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,ae("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,ae("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,ae("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,ae("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,ae("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,ae("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,ae("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,ae("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return N[this.connectedVehicle]?N[this.connectedVehicle].etActive:!1}set etActive(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].etActive=e)}get etMaxPrice(){return N[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){ae("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class yn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"isSocConfigured",!1);b(this,"isSocManual",!1);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,ae("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,ae("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&ae("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),N=le({}),_e=le({}),pt=le({}),gt=le({}),Ht=le({});function bn(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function _n(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(N).filter(o=>o.visible);let r=-1;switch(e.length){case 0:r=t[0]?t[0].id:-1;break;default:r=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return r==s&&(s=t[1]?t[1].id:-1),r!=-1&&a.push(r),s!=-1&&a.push(s),a}),wn={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function ae(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let r=wn[a];if(!r){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",O[t].chargeTemplate.toString());break;default:r=r.replace("%",String(t))}switch(typeof e){case"number":Nt(r,JSON.stringify(+e));break;default:Nt(r,JSON.stringify(e))}}function Qt(a){Nt("openWB/set/command/"+qt()+"/todo",JSON.stringify(a))}const be=500,Me=500,G={top:15,right:20,bottom:10,left:25},Zt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new kn),Ia=X(Ha),Ye=m(()=>[0,be-G.left-2*G.right].map(a=>Ia.value.applyX(a)));let mt=!0,it=!0;function ia(){mt=!1}function la(){mt=!0}function ca(){it=!1}function ua(){it=!0}function xn(a){it=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Xe(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Cn(),lt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),ot(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Xe(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)ot(this.refreshTopicPrefix+a)},subscribeUpdates(){Xe(this.updateTopic)},unsubscribeUpdates(){ot(this.updateTopic)}}),ue=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getDailyLog",data:{day:e}})}},deactivate(){ot(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getMonthlyLog",data:{month:e}})},deactivate(){ot(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Re=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getYearlyLog",data:{year:e}})},deactivate(){ot(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function $n(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],qe=X(!1);function Xt(a,e){Object.entries(a).length>0?(qe.value=!1,Object.entries(a.counter).forEach(([t,r])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=r.energy_imported,T.items.evuOut.energy+=r.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,r])=>{t=="all"?(T.setEnergy("charging",r.energy_imported),r.energy_imported_pv!=null&&(T.setEnergyPv("charging",r.energy_imported_pv),T.setEnergyBat("charging",r.energy_imported_bat))):T.setEnergy(t,r.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,r])=>{T.setEnergy(t,r.energy_imported);const s=t.substring(2);ne.get(+s).countAsHouse||(T.items.devices.energy+=r.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{Pn.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Zt.includes(t)&&(j[t].energy=T.items[t].energy,j[t].energyPv=T.items[t].energyPv,j[t].energyBat=T.items[t].energyBat,j[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const r=T.items["cp"+t.id];r&&(t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}),ne.forEach(t=>{const r=T.items["sh"+t.id];r&&(t.energy=r.energy,t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}))):qe.value=!0,lt.value=!0}const Be=m(()=>{const a=Ve(y.data,e=>new Date(e.date));return a[0]&&a[1]?Ft().domain(a).range([0,be-G.left-2*G.right]):et().range([0,0])});function Cn(){T.keys().forEach(a=>{Zt.includes(a)&&(j[a].energy=T.items[a].energy,j[a].energyPv=0,j[a].energyBat=0,j[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ne.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Je=m(()=>{const a=Ve(y.data,e=>e.date);return a[1]?St().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-G.left-2]):St().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,fe();break;case"today":y.graphMode="day",ue.deactivate(),ue.back(),ue.activate(),fe();break;case"day":ue.back(),fe();break;case"month":Ee.back();break;case"year":Re.back();break}}function Kt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,fe();break;case"day":ue.forward(),ue.date.getDate()==a.getDate()&&ue.date.getMonth()==a.getMonth()&&ue.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),fe();break;case"month":Ee.forward();break;case"year":Re.forward();break}}function ea(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",fe();break;case"month":y.graphMode="year",fe();break}}function ta(){switch(y.graphMode){case"year":y.graphMode="month",fe();break;case"month":y.graphMode="today",fe();break;case"today":case"day":y.graphMode="live",fe();break}}function da(a){if(y.graphMode=="day"||y.graphMode=="today"){ue.setDate(a);const e=new Date;ue.date.getDate()==e.getDate()&&ue.date.getMonth()==e.getMonth()&&ue.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",fe()}}const Fe=X(new Map);class In{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,re()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,re()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,re()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,On(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,re()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,re()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,ha(e),re()}setSmartHomeColors(e){this._smartHomeColors=e,ha(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,re()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,re()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,re()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,re()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,re()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,re()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,re()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,re()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,re()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,re()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,re()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,re()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,re()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,re()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,re()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,la(),ua(),re()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,la(),ua(),re()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,re()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,re()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new In);function Ba(){En();const a=ce("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Bn=992,$t=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){$t.x=document.documentElement.clientWidth,$t.y=document.documentElement.clientHeight,Ba()}const De=m(()=>$t.x>=Bn),ye={instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,ae("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function re(){Tn()}function On(a){const e=ce("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),re()}function An(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,re()}function ha(a){const e=ce("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Tn(){const a={};a.hideSH=[...ne.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(r=>{ne.get(r)==null&&Yt(r),ne.get(r).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function aa(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),j=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Ln);X("");const lt=X(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Rt=X(new Date),we=X(new Map),zn=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},Wn=["origin"],Dn=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=r;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ce("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let r=Q.pv.power+Q.evuIn.power+Q.batOut.power;r>g.maxPower&&(g.maxPower=r)}),(r,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Wn))}}),Gn=["origin"],jn=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[j.evuOut,j.charging].concat([...ne.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([j.batIn,j.house]).concat(r),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ce("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(r,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function $e(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ct(a,e=1,t=!1){let r;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:r=Math.round(a/1e3);break;case 1:r=Math.round(a/100)/10;break;case 2:r=Math.round(a/10)/100;break;case 3:r=Math.round(a)/1e3;break;default:r=Math.round(a/100)/10;break}return r.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function Un(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString(["de-DE"],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>$e(e.watt,g.decimalPlaces));return(r,s)=>S(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),r=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),f("g",Hn,[n("text",{x:h.x,y:h.y,fill:r.value,"text-anchor":h.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:J(o.value)},S(t.value),3),n("tspan",null,[h.data!==void 0?(l(),$(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),Yn={class:"wb-widget p-0 m-0 shadow"},qn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:J(["p-2 m-0 d-flex",t.value])},[n("div",Yn,[n("div",qn,[n("h3",Qn,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),pe(r.$slots,"subtitle")]),n("div",Zn,[pe(r.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[pe(r.$slots,"default")])])])]),r.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[pe(r.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=oe.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const oe=le(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Ze=500,Ue=20,pa=1,hr=L({__name:"PowerMeter",setup(a){const e=Ze,t=Math.PI/40,r=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ze/2-Ue),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+$e(j.house.power+j.charging.power+j.devices.power+j.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?$e(g.maxPower,g.decimalPlaces):$e(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[j.evuOut,j.charging,j.devices,j.batIn,j.house].filter(B=>B.power>0)),k=m(()=>r[c.value.length-1]);function P(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const D=m(()=>{const[B]=oe.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),$(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Ze+" "+i(e)},[n("g",{transform:"translate("+Ze/2+","+i(e)/2+")"},[v(Dn,{radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),v(jn,{"sh-device":i(ne),radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(oe).active?(l(),$(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(U,null,te(c.value,(V,Y)=>(l(),$(Ae,{key:Y,x:P(Y).x,y:P(Y).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(N)[i(me)[0]]!=null?(l(),$(Ae,{key:1,x:-500/2-Ue/4+10,y:-i(e)/2+Ue+5,labeltext:z(i(N)[i(me)[0]].name)+": "+Math.round(i(N)[i(me)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(N)[i(me)[1]]!=null?(l(),$(Ae,{key:2,x:Ze/2+Ue/4-10,y:-i(e)/2+Ue+5,labeltext:z(i(N)[i(me)[1]].name)+": "+Math.round(i(N)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),$(Ae,{key:3,x:-500/2-Ue/4+10,y:i(e)/2-Ue+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(j).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(oe).active?(l(),$(Ae,{key:4,x:Ze/2+Ue/4-10,y:i(e)/2-Ue+15,value:D.value,labeltext:i(oe).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),f("text",{key:5,x:Ze/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),pr=["origin","origin2","transform"],gr=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var r,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ce("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?Y(M,Je.value):V(M,Be.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(D.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>He().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const C=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).filter(x=>x.match(C)))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach((C,x)=>{t[C]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=m(()=>{let M=Ve(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>ft(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const C=nt().x((q,xe)=>E(y.data[xe].date)).y(c.value(0)).curve(rt),x=nt().x((q,xe)=>E(y.data[xe].date)).y0(q=>c.value(y.graphMode=="year"?q[0]/1e3:q[0])).y1(q=>c.value(y.graphMode=="year"?q[1]/1e3:q[1])).curve(rt);mt?(M.selectAll("*").remove(),r=M.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(xe,W)=>t[k.value[W]]).attr("d",xe=>C(xe)),r.transition().duration(o).delay(h).ease(dt).attr("d",xe=>x(xe)),ia()):r.data(p.value).transition().duration(0).ease(dt).attr("d",q=>x(q))}function Y(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(C,x)=>t[k.value[x]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",C=>y.graphMode=="year"?c.value(C[0]/1e3)-c.value(C[1]/1e3):c.value(C[0])-c.value(C[1])).attr("y",C=>y.graphMode=="year"?c.value(C[1]/1e3):c.value(C[1])),ia()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(C,x)=>t[k.value[x]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,x)=>E(y.data[x].date)??0).attr("y",C=>y.graphMode=="year"?c.value(C[1]/1e3):c.value(C[1])).attr("width",E.bandwidth()).attr("height",C=>y.graphMode=="year"?c.value(C[0]/1e3)-c.value(C[1]/1e3):c.value(C[0])-c.value(C[1]))))}const I=m(()=>{const M=ce("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Be.value.range(Ye.value);const E=nt().x((C,x)=>Be.value(y.data[x].date)).y0(C=>c.value(C[0])).y1(C=>c.value(C[1])).curve(rt);M.selectAll("path").attr("d",C=>C?E(C):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",C=>Be.value(C.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),f("g",{id:"pgSourceGraph",origin:d.value,origin2:I.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pr))}}),mr=["origin","origin2","transform"],fr=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]:[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]),r={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const I=ce("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(I):A(I),I.selectAll(".axis").remove();const M=I.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((I,M)=>I[M]??0).keys(P.value)),c=m(()=>p.value(y.data)),k=m(()=>He().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),P=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const I=t.value[e.stackOrder].slice(),M=I.indexOf("charging");I.splice(M,1);const E=/cp\d+/;let C=[];return y.data.length>0&&(C=Object.keys(y.data[0]).filter(x=>x.match(E))),C.forEach((x,q)=>{var xe;I.splice(M+q,0,x),r[x]=((xe=O[+x.slice(2)])==null?void 0:xe.color)??"var(--color-charging)"}),I}}),z=m(()=>{let I=Ve(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return I[0]!=null&&I[1]!=null?(y.graphMode=="year"&&(I[0]=I[0]/1e3,I[1]=I[1]/1e3),I):[0,0]}),D=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>ft(k.value).tickSizeInner(D.value).ticks(4).tickFormat(I=>(I==0?"":Math.round(I*10)/10).toLocaleString(void 0)));function A(I){const M=nt().x((C,x)=>Be.value(y.data[x].date)).y(k.value(0)).curve(rt),E=nt().x((C,x)=>Be.value(y.data[x].date)).y0(C=>k.value(C[0])).y1(C=>k.value(C[1])).curve(rt);g.showAnimations?it?(I.selectAll("*").remove(),s=I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>M(x)).attr("fill",(x,q)=>r[P.value[q]]),s.transition().duration(300).delay(100).ease(dt).attr("d",x=>E(x)),ca()):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,q)=>r[P.value[q]])):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,q)=>r[P.value[q]]))}function V(I){it?(I.selectAll("*").remove(),o=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Je.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ca()):(I.selectAll("*").remove(),o=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Je.value.bandwidth()))}const Y=m(()=>{const I=ce("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Be.value.range(Ye.value);const M=nt().x((E,C)=>Be.value(y.data[C].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(rt);I.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(I,M)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:Y.value,transform:"translate("+I.margin.left+","+I.margin.top+")"},null,8,mr))}}),vr=["width"],yr=["transform"],br=["width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],Mr={key:1},$r=["y","width","height"],Bt=12,Pr=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Be.value).ticks(6).tickSizeInner(h.value).tickFormat(st("%H:%M"))),r=m(()=>Ja(Be.value).ticks(6).tickSizeInner(h.value+3).tickFormat(st(""))),s=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ce("g#PGXAxis"),k=ce("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,z)=>z>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ce("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(r.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ce("g#PGXAxis"),k=ce("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Je.value.range(Ye.value),c.call(s.value),k.call(o.value)):(Be.value.range(Ye.value),c.call(t.value),k.call(r.value))}return"zoomed"});return(c,k)=>(l(),f(U,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,yr)],8,vr)),(l(),f("svg",{x:0,width:e.width},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,kr),i(g).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(g).showGrid?(l(),f("g",Mr,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,$r)])):w("",!0)],8,_r)],8,br))],64))}}),Cr=["width"],Ir=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let P=Ve(y.data,z=>z.date);return P[0]&&P[1]?et().domain(P).range([0,e.width]):et().range([0,0])}),r=m(()=>He().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=Ne().x(D=>t.value(D.date)).y(D=>r.value(e.order==2?D.batSoc:e.order==0?D["soc"+me.value[0]]:D["soc"+me.value[1]])??r.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return N[me.value[1]]!=null?N[me.value[1]].name:"???";default:return N[me.value[0]]!=null?N[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=0,r.value(y.data[P]["soc"+me.value[0]]+2);case 1:return P=y.data.length-1,Math.max(12,r.value(y.data[P]["soc"+me.value[1]]+2));case 2:return P=Math.round(y.data.length/2),r.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=ce("path#soc-"+o.value),z=ce("path#socdashes-"+o.value);t.value.range(Ye.value);const D=Ne().x(B=>t.value(B.date)).y(B=>r.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??r.value(0));P.attr("d",D(y.data)),z.attr("d",D(y.data))}return"zoomed"});return(P,z)=>(l(),f("svg",{x:"0",width:e.width},[n("g",null,[n("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Ir),n("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:p.value,style:ee({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Vr)])],8,Cr))}}),Lr=["transform"],Or=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>He().range([e.height-10,0]).domain([0,100])),r=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ce("g#PGSocAxis");o.call(r.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Le(()=>{s()}),(o,h)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,Lr))}}),Ar={class:"d-flex align-self-top justify-content-center align-items-center"},Tr={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Wr={class:"table optiontable"},Dr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jr={class:"dropdown-menu"},Ur={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],Yr=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=new Date().getFullYear();let s=Array.from({length:10},(z,D)=>r-D);const o=X(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=X(t.modelValue.getDate()),p=X(t.modelValue.getMonth()),c=X(t.modelValue.getFullYear()),k=m(()=>{const D=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],Y=D;for(let I=0;I(l(),f("span",Ar,[n("div",Tr,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,S(u.value),1)):w("",!0),n("div",zr,[n("table",Wr,[(l(!0),f(U,null,te(k.value,(B,A)=>(l(),f("tr",{key:A,class:""},[(l(!0),f(U,null,te(B,(V,Y)=>(l(),f("td",{key:Y},[V!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:I=>u.value=V},S(V),9,Dr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,S(p.value+1),1)):w("",!0),n("div",jr,[n("table",Ur,[(l(),f(U,null,te(d,(B,A)=>n("tr",{key:A,class:""},[(l(!0),f(U,null,te(B,(V,Y)=>(l(),f("td",{key:Y,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:I=>p.value=V},S(V+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,S(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(U,null,te(i(s),(B,A)=>(l(),f("tr",{key:A,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},D[0]||(D[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[r,s]of e)t[r]=s;return t},qr=R(Yr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(U,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p.value,key:c,class:J(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:ee(o(c)),onClick:h},[n("span",{style:ee(o(c))},[p.icon?(l(),f("i",{key:0,class:J(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Zr))),128))])]))}}),Oa=R(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=X(0),r=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ue.date.getDate()+"."+(ue.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return Re.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(Y){switch(Y){case"day":k();break;case"today":P();break;case"live":c();break;case"month":z();break;case"year":D()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ue.getDate();case"month":return Ee.getDate();default:return ue.getDate()}});function u(Y){da(Y)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",fe())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",fe())}function P(){y.graphMode!="today"&&(y.graphMode="today",da(new Date),fe())}function z(){y.graphMode!="month"&&(y.graphMode="month",fe())}function D(){y.graphMode!="year"&&(y.graphMode="year",fe())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(Y,I)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:ee(B.value)},[t.value==2?(l(),$(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":I[0]||(I[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:J(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:I[1]||(I[1]=M=>Y.$emit("shiftUp"))},I[6]||(I[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:J(["d-flex align-items-center",V.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:J(["p-1",{disabled:!e.showLeftButton}]),onClick:I[2]||(I[2]=M=>Y.$emit("shiftLeft"))},I[7]||(I[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(r.value),1)):w("",!0),t.value==2?(l(),$(qr,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:J(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:I[3]||(I[3]=M=>Y.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:J(["d-flex align-items-center",A.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:p},I[8]||(I[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:J(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:I[4]||(I[4]=M=>Y.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:I[5]||(I[5]=M=>t.value=0)},I[9]||(I[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ce=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,r)=>(l(),f(U,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:J(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),$(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),r=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:r.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(st)("%H:%M")(new Date(u.entry.date))),9,oo),p[0]||(p[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ce,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(s.value,c=>(l(),$(Ce,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(o.value,c=>(l(),$(Ce,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(h.value,c=>(l(),$(Ce,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],ga=140,co=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right]):et().range([0,0])}),r=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right-ga]):et().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Ye.value),ce("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(Ye.value[1]-Ye.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),f(U,null,te(o.data,d=>(l(),f("g",{key:d.date,class:"ttarea"},[n("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:d,boxwidth:ga,"x-scale":r.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},po=["viewBox"],go=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",yo=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>fo&&(h=0),g.usageStackOrder=h,xn(!0)}function t(h){const d=[[0,G.top],[be,Me-G.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,Me]]).extent(d).filter(s).on("zoom",r))}function r(h){Ia.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Le(()=>{const h=ce("svg#powergraph");t(h)}),(h,d)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(vo))]),buttons:_(()=>[n("div",uo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[vt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(be)+" "+i(Me)},[v(gr,{width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"]),v(fr,{width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(be)-i(G).left-i(G).right,height:i(Me)-i(G).top-i(G).bottom,margin:i(G)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(G).left+","+i(G).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(N)).filter(u=>u.visible).length>0?(l(),$(Vt,{key:0,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(N)).filter(u=>u.visible).length>1?(l(),$(Vt,{key:1,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),$(Vt,{key:2,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),$(Or,{key:3,width:i(be)-i(G).left-i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"])):w("",!0)],8,go),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),$(co,{key:0,width:i(be)-i(G).left-i(G).right,height:i(Me)-i(G).top-i(G).bottom,margin:i(G),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(be)-10,y:i(Me)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,mo)])],8,po))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),bo=R(yo,[["__scopeId","data-v-47f3d429"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:r.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),Mo={id:"emBargraph"},$o=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Mo,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(So,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Co=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>ft(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),r=m(()=>{const o=ce("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:r.value},null,8,Po))}}),Io=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],Oo=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),r=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":r.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(u.item.energy,i(g).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":r.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":r.value,"text-anchor":"middle",fill:u.item.color,class:J(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Lo)],8,Io))}}),Ao={id:"emBarLabels"},To=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Ao,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(Oo,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Wo={viewBox:"0 0 500 500"},Do=["transform"],Go=["x"],jo={key:0},ma=500,Lt=500,fa=12,Uo="Energie",Fo=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?qe.value=!0:(qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),ne.forEach((P,z)=>{P.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),r=m(()=>St().range([0,ma-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>He().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ne.values()].filter(k=>k.configured).length;let c=j;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ne.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([j.batIn,j.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(Uo))]),buttons:_(()=>[n("div",Eo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Wo,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v($o,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Co,{"y-scale":s.value,width:ma,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(To,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,Do)]))]),i(qe)?(l(),f("p",jo,"No data")):w("",!0)]),_:1}))}}),No=R(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],Yo=["y","x","width"],qo=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:r.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:r.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,Yo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,r)=>(l(),f("g",Qo,[(l(!0),f(U,null,te(e.plotdata,(s,o)=>(l(),f("g",{key:o},[v(qo,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Ot=24,as=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function r(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:J(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(o.item.energy,i(g).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(r()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",ns,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(as,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":r(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new ss);const he=X(new Map),Aa=a=>{he.value.set(a,new os(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function is(){he.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],ps={key:0},va=500,At=60,gs=12,ms="Energie",fs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>r.value.length*At+e.top+e.bottom),r=m(()=>{let c=Object.values(Q),k=h.value;const P=T.items;let z=[];switch(g.debug&&u(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?qe.value=!0:(qe.value=!1,z=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(D=>{P["cp"+D]&&z.push(P["cp"+D])}),z.push(P.devices),ne.forEach((D,B)=>{D.showInGraph&&P["sh"+B]&&z.push(P["sh"+B])}),z=z.concat([P.batIn,P.house]))}return z.filter(D=>D.energy&&D.energy>0)}),s=m(()=>He().range([0,va-e.left-e.right]).domain([0,Sa(r.value,c=>c.energy)])),o=m(()=>St().range([e.top,t.value-e.bottom]).domain(r.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ne.values()].filter(z=>z.configured).length;let P=j;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[P.devices].concat(k>1?[...ne.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([j.batIn,j.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(ms))]),buttons:_(()=>[n("div",ls,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:r.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":gs},S(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:r.value,yscale:o.value,width:va,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(qe)?(l(),f("p",ps,"No data")):w("",!0)]),_:1}))}}),vs=R(fs,[["__scopeId","data-v-63a4748e"]]),ys={class:"d-flex flex-column align-items-center justify-content-start infoitem"},bs=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),r=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),f("span",ys,[n("span",{class:J(["d-flex heading",s.value]),style:ee(t.value)},S(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:ee(r.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),K=R(bs,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),r=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),f("div",{class:J(["wb-subwidget px-3 pt-2 my-0",r.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:ee(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[pe(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),tt=R(xs,[["__scopeId","data-v-e989060d"]]),Ss={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},Ms={class:"titlecolumn m-0 p-0 d-flex align-items-center"},$s={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},Ps={class:"justify-content-stretch d-flex"},Cs=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=X(!1);function r(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),$(tt,{fullwidth:!!o.fullwidth},{default:_(()=>[n("div",Ss,[n("div",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:r},[e.icon?(l(),f("i",{key:0,class:J(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),n("span",null,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:ee(s.value),onClick:r},null,4)):w("",!0)])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:r},[h[0]||(h[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),n("div",$s,[n("span",Ps,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),F=R(Cs,[["__scopeId","data-v-b935eb33"]]),Is={class:"d-flex flex-column"},Bs={class:"d-flex flex-fill justify-content-between align-items-center"},Vs={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Ls={key:0,id:"rangeIndicator",class:"rangeIndicator"},Os={viewBox:"0 0 100 2"},As=["width"],Ts=["x","width"],Es=["x","width"],zs=["id","min","max","step"],Ws={class:"d-flex justify-content-between align-items-center"},Ds={class:"minlabel ps-4"},Gs={class:"valuelabel"},js={class:"maxlabel pe-4"},Us=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,r))/Math.pow(10,r)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,r))/Math.pow(10,r))}function d(){o.valueHe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Is,[n("span",Bs,[n("span",{type:"button",class:"minusButton",onClick:h},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Vs,[t.showSubrange?(l(),f("figure",Ls,[(l(),f("svg",Os,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,As),n("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ts),n("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Es)])]))])):w("",!0),vt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,zs),[[Za,o.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:d},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Ws,[n("span",Ds,S(k.min),1),n("span",Gs,S(o.value)+" "+S(k.unit),1),n("span",js,S(k.max),1)])]))}}),Se=R(Us,[["__scopeId","data-v-267ede95"]]),Fs=["id","value"],Ns=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[(l(!0),f(U,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p[1],key:c,class:J(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:ee(o(c)),onClick:h},[n("span",{style:ee(o(c))},[p[3]?(l(),f("i",{key:0,class:J(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Fs))),128))]))}}),We=R(Ns,[["__scopeId","data-v-df222cbe"]]),Hs={class:"mt-2"},Rs={key:0},Js=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=X(a.chargepoint),r=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),f("div",Hs,[h[4]||(h[4]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(F,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(Se,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Rs)):w("",!0),v(F,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:r.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),$(F,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),$(F,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ys=R(Js,[["__scopeId","data-v-0303d179"]]),qs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(h){r("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),f("div",qs,[vt(n("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:ee(o.value)},null,4),[[Ma,s.value]])]))}}),Qs={class:"pt-2"},Zs={key:3},Xs=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=X(a.chargepoint),r=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),f("div",Qs,[d[8]||(d[8]=n("p",{class:"heading ms-1"},"PV-Laden:",-1)),v(F,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),$(F,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),v(F,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),v(F,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[v(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),$(F,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[v(Se,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),$(F,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[v(Se,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),r.value||s.value?(l(),f("hr",Zs)):w("",!0),v(F,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[v(se,{modelValue:r.value,"onUpdate:modelValue":d[6]||(d[6]=u=>r.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),r.value?(l(),$(F,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[v(Se,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ks=R(Xs,[["__scopeId","data-v-faa69015"]]),ei={class:"table table-borderless"},ti={class:"tablecell"},ai={class:"tablecell"},ni={class:"tablecell"},ri={class:"tablecell"},oi={class:"tablecell left"},si=["href"],ii=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return r.value[d].time}function o(d){return{color:r.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":r.value[d].active?"bold":"regular"}}return(d,u)=>(l(),f(U,null,[u[1]||(u[1]=n("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),n("table",ei,[u[0]||(u[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Limit"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader"})])],-1)),n("tbody",null,[(l(!0),f(U,null,te(r.value,(p,c)=>(l(),f("tr",{key:c,style:ee(h(c))},[n("td",ti,S(p.limit.soc_scheduled)+"%",1),n("td",ai,S(p.limit.soc_limit)+"%",1),n("td",ni,S(s(c)),1),n("td",ri,S(e[p.frequency.selected]),1),n("td",oi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:J([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ee(o(c)),type:"button"},null,6)],8,si)])],4))),128))])])],64))}}),li=R(ii,[["__scopeId","data-v-e8f5ad9d"]]),ci={class:"table table-borderless"},ui={class:"tablecell"},di={class:"tablecell"},hi={class:"tablecell"},pi={class:"tablecell"},gi={class:"tablecell left"},mi=["href"],fi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:r.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":r.value[h].active?"bold":"regular"}}return(h,d)=>(l(),f(U,null,[d[1]||(d[1]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",ci,[d[0]||(d[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Ladestrom"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(U,null,te(r.value,(u,p)=>(l(),f("tr",{key:p,style:ee(o(p))},[n("td",ui,S(u.time[0]),1),n("td",di,S(u.time[1]),1),n("td",hi,S(u.current)+" A",1),n("td",pi,S(e[u.frequency.selected]),1),n("td",gi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:J([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ee(s(p)),type:"button"},null,6)],8,mi)])],4))),128))])])],64))}}),vi=R(fi,[["__scopeId","data-v-192e287b"]]),yi={class:"settingsheader mt-2 ms-1"},bi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,r)=>(l(),f(U,null,[n("p",yi," Profile für "+S(i(N)[e.vehicleId].name)+": ",1),v(F,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(N)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":r[0]||(r[0]=s=>i(N)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),v(F,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(N)[e.vehicleId].evTemplateId,"onUpdate:modelValue":r[1]||(r[1]=s=>i(N)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Ht)).map(s=>[i(Ht)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),_i=R(bi,[["__scopeId","data-v-fcb57a44"]]),wi={class:"settingsheader mt-2 ms-1"},ki=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(r,s)=>(l(),f(U,null,[n("p",wi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),v(F,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(F,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(N)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(F,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(F,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(F,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),$(F,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(oe).active?(l(),$(F,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),xi=R(ki,[["__scopeId","data-v-e348a34c"]]),Si={class:"providername ms-1"},Mi={class:"container"},$i={id:"pricechart",class:"p-0 m-0"},Pi={viewBox:"0 0 400 300"},Ci=["id","origin","transform"],Ii={key:0,class:"p-3"},Bi={key:1,class:"d-flex justify-content-end"},Vi=["disabled"],at=400,ya=250,ba=12,Li=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?X(e.chargepoint.etMaxPrice):X(0);const r=X(!1),s=X(e.chargepoint),o=m({get(){return t.value},set(W){t.value=W,r.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),r.value=!1}const d=X(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let W=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((Z,Oe)=>{W.push([Oe,Z])}),W}),c=m(()=>p.value.length>1?(at-u.left-u.right)/p.value.length-1:0),k=m(()=>r.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=m(()=>{let W=Ve(p.value,Z=>Z[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),et().range([u.left,at-u.right]).domain(W)}),z=m(()=>{let W=[0,0];return p.value.length>0?(W=Ve(p.value,Z=>Z[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),D=m(()=>He().range([ya-u.bottom,0]).domain(z.value)),B=m(()=>{const W=Ne(),Z=[[u.left,D.value(o.value)],[at-u.right,D.value(o.value)]];return W(Z)}),A=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.lowerPriceBound)],[at-u.right,D.value(g.lowerPriceBound)]];return W(Z)}),V=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.upperPriceBound)],[at-u.right,D.value(g.upperPriceBound)]];return W(Z)}),Y=m(()=>{const W=Ne(),Z=[[u.left,D.value(0)],[at-u.right,D.value(0)]];return W(Z)}),I=m(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(st("%H:%M"))),M=m(()=>ft(D.value).ticks(z.value[1]-z.value[0]).tickSizeInner(-375).tickFormat(W=>W.toString())),E=m(()=>{d.value==!0;const W=ce("g#"+C.value);W.selectAll("*").remove(),W.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Qe=>P.value(Qe[0])).attr("y",Qe=>D.value(Qe[1])).attr("width",c.value).attr("height",Qe=>D.value(z.value[0])-D.value(Qe[1])).attr("fill",Qe=>Qe[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(I.value);Oe.attr("transform","translate(0,"+(ya-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const kt=W.append("g").attr("class","axis").call(M.value);return kt.attr("transform","translate("+u.left+",0)"),kt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),kt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),kt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&W.append("path").attr("d",Y.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",A.value).attr("stroke","green"),W.append("path").attr("d",V.value).attr("stroke","red"),W.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),C=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let W=[];return oe.etPriceList.forEach(Z=>{W.push(Z)}),W.sort((Z,Oe)=>Z-Oe)});function q(){let W=x.value[0];for(let Z of x.value){if(Z>=o.value)break;W=Z}o.value=W}function xe(){let W=x.value[0];for(let Z of x.value)if(Z>o.value){W=Z;break}else W=Z;o.value=W}return Le(()=>{d.value=!d.value}),(W,Z)=>(l(),f(U,null,[Z[3]||(Z[3]=n("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),n("p",Si,"Anbieter: "+S(i(oe).etProvider),1),Z[4]||(Z[4]=n("hr",null,null,-1)),n("div",Mi,[n("figure",$i,[(l(),f("svg",Pi,[n("g",{id:C.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ci)]))])]),W.chargepoint!=null?(l(),f("div",Ii,[W.chargepoint.etActive?(l(),$(Se,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:q},Z[1]||(Z[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:xe},Z[2]||(Z[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Bi,[n("span",{class:"me-3 pt-0",onClick:h},[n("button",{type:"button",class:"btn btn-secondary",style:ee(k.value),disabled:!r.value}," Bestätigen ",12,Vi)])])):w("",!0)],64))}}),Ta=R(Li,[["__scopeId","data-v-8d837517"]]),Oi={class:"status-string"},Ai={style:{color:"red"}},Ti={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Ei={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi=["data-bs-target"],ji=["data-bs-target"],Ui=["data-bs-target"],Fi=["data-bs-target"],Ni={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},Hi=["id"],Ri=["id"],Ji=["id"],Yi=["id"],qi=["id"],Qi=["id"],Zi=["id"],Xi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,r=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Le(()=>{}),(o,h)=>(l(),f(U,null,[v(F,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",Oi,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),$(F,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",Ai,S(i(t).faultStr),1)]),_:1})):w("",!0),n("div",Ti,[n("nav",Ei,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,zi),o.chargepoint.chargeMode=="instant_charging"?(l(),f("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Wi)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),f("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Di)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),f("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Gi)):w("",!0),o.chargepoint.timedCharging?(l(),f("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,ji)):w("",!0),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[n("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Ui),i(oe).active&&i(t).etActive?(l(),f("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[n("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Fi)):w("",!0)]),n("div",Ni,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(xi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,Hi),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Ys,{chargepoint:i(t),vehicles:i(N),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ri),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(Ks,{chargepoint:i(t),vehicles:i(N),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ji),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[r.value!=null?(l(),$(li,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Yi),n("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[r.value!=null?(l(),$(vi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,qi),n("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(N)[i(t).connectedVehicle]!=null?(l(),$(_i,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Qi),n("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(N)[i(t).connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Zi)])])],64))}}),Jt=R(Xi,[["__scopeId","data-v-1164316d"]]),Ki={class:"d-flex justify-content-center align-items-center"},el=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),r=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),f("span",Ki,[n("i",{class:J(["fa me-1",t.value]),style:ee(r.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),wt=R(el,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ct(e.wattH,g.decimalPlaces));return(r,s)=>(l(),f("span",null,S(t.value),1))}}),tl={class:"wb-widget p-0 m-0 shadow widgetWidth"},al={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},nl={class:"d-flex align-items-center widgetname p-0 m-0"},rl={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ol={class:"grid12 pb-3"},sl=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:J(["p-2 m-0",t.value])},[n("div",tl,[n("div",al,[n("div",nl,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(r.$slots,"subtitle",{},void 0,!0)]),n("div",rl,[pe(r.$slots,"buttons",{},void 0,!0)])]),n("div",ol,[pe(r.$slots,"default",{},void 0,!0)])])],2))}}),je=R(sl,[["__scopeId","data-v-1d5bc1d9"]]),il=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(r,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:ee(t.value)},[pe(r.$slots,"default",{},void 0,!0)],4))}}),Pe=R(il,[["__scopeId","data-v-36112fa3"]]),ll={class:"d-flex justify-content-center align-items-center"},cl={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},ul={key:0},dl={key:1,class:"row m-0 mt-0 p-0"},hl={class:"col m-0 p-0"},pl={key:0},gl={class:"row"},ml={class:"col"},fl={class:"carTitleLine d-flex justify-content-between align-items-center"},vl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},yl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},bl={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},_l={class:"grid12"},wl={style:{color:"var(--color-charging)"}},kl={style:{color:"var(--color-charging)"}},xl={style:{color:"var(--color-charging)"}},Sl={class:"targetCurrent"},Ml={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},$l={class:"d-flex justify-content-stretch align-items-center"},Pl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Cl=["id"],Il=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=X(e.chargepoint),r=m({get(){return e.chargepoint.chargeMode},set(C){O[e.chargepoint.id].chargeMode=C}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const C=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,q=e.chargepoint.dailyYield;return x>0?Math.round(C/x*q).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let C="";return e.chargepoint.isLocked?C="fa-lock":e.chargepoint.isCharging?C=" fa-bolt":e.chargepoint.isPluggedIn&&(C="fa-plug"),"fa "+C}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),P=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),D=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=X(!1),A=X(!1);function V(){ae("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function Y(){ae("setSoc",I.value,e.chargepoint.connectedVehicle),A.value=!1}const I=m({get(){return e.chargepoint.soc},set(C){O[e.chargepoint.id].soc=C}}),M=m(()=>{const[C]=oe.etPriceList.values();return(Math.round(C*10)/10).toFixed(1)}),E=X(!1);return(C,x)=>(l(),f(U,null,[B.value?w("",!0):(l(),$(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",ll,[n("span",{style:ee(P.value),onClick:x[0]||(x[0]=q=>B.value=!B.value)},[x[12]||(x[12]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",cl,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:ee(c.value),onClick:x[1]||(x[1]=q=>B.value=!B.value)},x[13]||(x[13]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),f("div",pl,[n("div",gl,[n("div",ml,[n("div",fl,[n("h3",{onClick:x[3]||(x[3]=q=>B.value=!B.value)},[x[14]||(x[14]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S(C.chargepoint.vehicleName)+" ",1),C.chargepoint.hasPriority?(l(),f("span",vl)):w("",!0),C.chargepoint.etActive?(l(),f("span",yl)):w("",!0),C.chargepoint.timedCharging?(l(),f("span",bl)):w("",!0)]),C.chargepoint.isSocConfigured?(l(),$(Pe,{key:0,bgcolor:D.value},{default:_(()=>[v(wt,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),C.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=q=>A.value=!A.value)})):w("",!0),C.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:J(["fa-solid fa-sm",C.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),n("div",_l,[v(Oa,{id:"chargemode-"+C.chargepoint.name,modelValue:r.value,"onUpdate:modelValue":x[5]||(x[5]=q=>r.value=q),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(q=>({text:i(ye)[q].name,value:q,color:i(ye)[q].color,icon:i(ye)[q].icon,active:i(ye)[q].mode==C.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),$(K,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",wl,[v(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",kl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",xl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Sl,S(s.value),1)]),_:1})):w("",!0),v(K,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":Math.max(C.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(K,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),C.chargepoint.isSocConfigured?(l(),$(K,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(N)[e.chargepoint.connectedVehicle]?Math.round(i(N)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),f("div",Ml,[x[15]||(x[15]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",$l,[n("span",null,[v(Se,{id:"manualSoc",modelValue:I.value,"onUpdate:modelValue":x[6]||(x[6]=q=>I.value=q),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:Y})])):w("",!0),x[17]||(x[17]=n("hr",{class:"divider grid-col-12"},null,-1)),i(oe).active?(l(),$(K,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=q=>t.value.etActive=q)},null,8,["modelValue"])]),_:1})):w("",!0),i(oe).active?(l(),$(K,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:x[8]||(x[8]=q=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Pl)):w("",!0)])]),_:1})):w("",!0),i(oe).active?(l(),$(K,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[n("span",{style:ee(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),f("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(N)[e.chargepoint.connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:ee(c.value),onClick:x[9]||(x[9]=q=>E.value=!1)},x[16]||(x[16]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Cl)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),f("div",ul,[n("div",{class:"grid12",onClick:x[2]||(x[2]=q=>B.value=!B.value)},[v(K,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:ee({color:u.value})},[n("i",{class:J(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),v(K,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":C.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),f("div",dl,[n("div",hl,[C.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:C.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),$(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:ee(P.value),onClick:x[10]||(x[10]=q=>B.value=!B.value)},[x[18]||(x[18]=n("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:ee(c.value),onClick:x[11]||(x[11]=q=>B.value=!B.value)},x[19]||(x[19]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[C.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:C.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),Bl=R(Il,[["__scopeId","data-v-f8832de1"]]),Vl=["id"],Ll={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Ol={class:"modal-content"},Al={class:"modal-header"},Tl={class:"modal-title"},El={class:"modal-body",style:{"background-color":"var(--color-bg)"}},zl=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Le(()=>{}),(t,r)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",Ll,[n("div",Ol,[n("div",Al,[n("h3",Tl,[pe(t.$slots,"title",{},void 0,!0)]),r[0]||(r[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",El,[pe(t.$slots,"default",{},void 0,!0),r[1]||(r[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Vl))}}),Ea=R(zl,[["__scopeId","data-v-eaefae30"]]),Wl={class:"d-flex align-items-center"},Dl={class:"cpname"},Gl={class:"d-flex float-right justify-content-end align-items-center"},jl=["data-bs-target"],Ul=["data-bs-target"],Fl={class:"subgrid"},Nl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},Hl={class:"d-flex flex-column align-items-center px-0"},Rl={class:"d-flex justify-content-center flex-wrap"},Jl={class:"d-flex align-items-center"},Yl={class:"badge phasesInUse rounded-pill"},ql={class:"d-flex flex-wrap justify-content-center chargeinfo"},Ql={class:"me-1"},Zl={key:0,class:"subgrid socEditRow m-0 p-0"},Xl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},Kl={class:"d-flex justify-content-stretch align-items-center"},ec=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=X(!1),r=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--color-input)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>$e(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ct(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=m(()=>ye[e.chargepoint.chargeMode].name);function z(){ae("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function D(){ae("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,Y)=>(l(),f(U,null,[v(tt,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",Wl,[n("span",Dl,S(V.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:ee(o.value)},[n("i",{class:J([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[n("div",Gl,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:ee(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[n("i",{class:J(["fa me-1",r.value])},null,2),H(" "+S(P.value),1)],12,jl),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Ul)])]),default:_(()=>[n("div",Fl,[v(K,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),f("span",Nl,[V.chargepoint.soc?(l(),$(wt,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:Y[0]||(Y[0]=I=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:J(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(K,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",Hl,[n("span",Rl,[n("span",null,S(d.value),1),n("span",Jl,[n("span",Yl,S(p.value),1),n("span",null,S(u.value),1)])])])]),_:1}),v(K,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",ql,[n("span",Ql,S(c.value),1),n("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),f("div",Zl,[n("div",Xl,[Y[2]||(Y[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",Kl,[n("span",null,[v(Se,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":Y[1]||(Y[1]=I=>B.value=I),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:D})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),$(Xa,{to:"body"},[(l(),$(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),tc=R(ec,[["__scopeId","data-v-ba15dbc4"]]),ac=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,r)=>(l(),$(je,{"variable-width":!0},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(oe).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(U,null,te(e.value,(s,o)=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(tc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),nc=R(ac,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const r=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+r.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Le(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),f(U,null,[r.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:J(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),f(U,null,te(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:J([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Bl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),r.compact?(l(),$(nc,{key:1})):w("",!0)],64))}}),rc={class:"container-fluid p-0 m-0"},oc={class:"row p-0 m-0"},sc={class:"d-grid gap-2"},ic=["onClick"],lc={class:"col-md-4 p-1"},cc={class:"d-grid gap-2"},uc={key:0},dc={class:"row justify-content-center m-1 p-0"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc={class:"col-lg-4 p-1 m-0"},mc={class:"d-grid gap-2"},fc={class:"col-lg-4 p-1 m-0"},vc={class:"d-grid gap-2"},yc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],r=m(()=>O[e.cpId]);function s(p){return p==r.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){r.value.chargeMode=p}function d(p){r.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),f("div",rc,[n("div",oc,[(l(),f(U,null,te(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",sc,[n("button",{type:"button",class:J(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,ic)])])),64)),n("div",lc,[n("div",cc,[r.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),r.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),f("div",uc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",dc,[n("div",hc,[n("div",pc,[n("button",{id:"evPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",gc,[n("div",mc,[n("button",{id:"batteryPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",fc,[n("div",vc,[n("button",{id:"minsocPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),bc={class:"col-lg-4 p-0 m-0 mt-1"},_c={class:"d-grid gap-2"},wc=["data-bs-target"],kc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},xc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Sc={key:0,class:"ms-2"},Mc={class:"m-0 p-0"},$c={key:0,class:"ps-1"},Pc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,r=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case ve.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case ve.standby:case ve.stop:c.background="darkgrey",c.color="black";break;case ve.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",bc,[n("div",_c,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:ee(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",kc,[n("span",xc,[n("i",{class:J(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Sc,S(i($e)(c.chargepoint.power)),1)):w("",!0)]),n("span",Mc,S(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:ee(o.value)},[n("i",{class:J(["fa me-1",h.value])},null,2),H(" "+S(r.value)+" ",1),c.chargepoint.chargeMode==i(ve).pv_charging&&i(de).isBatteryConfigured?(l(),f("span",$c,[k[0]||(k[0]=H(" ( ")),n("i",{class:J(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,wc)]),v(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[v(yc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Cc=R(Pc,[["__scopeId","data-v-31df6764"]]),Ic={class:"row p-0 mt-0 mb-1 m-0"},Bc={class:"col p-0 m-0"},Vc={class:"container-fluid p-0 m-0"},Lc={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Oc={key:0,class:"col time-display"},Ac=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Ic,[n("div",Bc,[n("div",Vc,[n("div",Lc,[i(g).showClock=="buttonbar"?(l(),f("span",Oc,S(i(La)(i(Rt))),1)):w("",!0),(l(!0),f(U,null,te(i(O),(r,s)=>(l(),$(Cc,{key:s,chargepoint:r,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Tc=R(Ac,[["__scopeId","data-v-791e4be0"]]),Ec={class:"battery-title"},zc={class:"subgrid pt-1"},Wc=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${$e(-e.bat.power)})`:e.bat.power>0?`Lädt (${$e(e.bat.power)})`:"Bereit"),r=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Ec,S(s.bat.name),1)]),buttons:_(()=>[v(Pe,{bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",zc,[v(K,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(wt,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(K,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(K,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Dc=R(Wc,[["__scopeId","data-v-f7f825f7"]]),Gc={class:"px-3 subgrid grid-12"},jc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${$e(Q.batOut.power)})`:j.batIn.power>0?`Lädt (${$e(j.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":j.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),r=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),$(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Pe,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",Gc,[v(K,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(wt,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),v(K,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(r.value)),1)]),_:1}),v(K,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),f(U,null,te(i(he),([h,d])=>(l(),$(Dc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(jc,[["__scopeId","data-v-cc4da23c"]]),Uc={class:"devicename"},Fc={class:"subgrid"},Nc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),r=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?ae("shSwitchOn",0,e.device.id):ae("shSwitchOn",1,e.device.id),ne.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?ae("shSetManual",1,e.device.id):ae("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),$(tt,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[n("span",Uc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),f(U,null,te(d.device.temp,(p,c)=>(l(),f("span",{key:c},[p<300?(l(),$(Pe,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,S(i(Nn)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:J([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:ee(r.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),$(Pe,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Fc,[v(K,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),v(K,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),v(K,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Un)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),Hc=R(Nc,[["__scopeId","data-v-20651ac6"]]),Rc={class:"sh-title py-4"},Jc=["id","onUpdate:modelValue","value"],Yc=["for"],qc=3,Qc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=qc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ne.values()].filter(h=>h.configured));function r(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=X(!1);return(h,d)=>(l(),f(U,null,[(l(!0),f(U,null,te(e.value,(u,p)=>(l(),$(je,{key:p,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[d[0]||(d[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",Rc,S(r(p)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(U,null,te(u,c=>(l(),$(Hc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),$(je,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[n("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(F,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(U,null,te(t.value,(u,p)=>(l(),f("div",{key:p},[vt(n("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Jc),[[Ma,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Yc)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Qc,[["__scopeId","data-v-5b5cf6b3"]]),Zc={class:"countername"},Xc={class:"subgrid pt-1"},Kc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),r=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Zc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),$(Pe,{key:0,bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Pe,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",Xc,[v(K,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(K,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(K,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),eu=R(Kc,[["__scopeId","data-v-01dd8c4d"]]);class tu{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function au(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new tu(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const nu=L({__name:"CounterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(U,null,te(i(ke),(r,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(eu,{counter:r},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(nu,[["__scopeId","data-v-5f059284"]]),ru={class:"vehiclename"},ou={class:"subgrid"},su={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},iu={class:"d-flex justify-content-stretch align-items-center"},lu=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=X(!1),r=m(()=>{let c="Unterwegs",k=e.vehicle.chargepoint;return k!=null&&(k.isCharging?c="Lädt ("+k.name+")":k.isPluggedIn&&(c="Bereit ("+k.name+")")),c}),s=m(()=>{let c=e.vehicle.chargepoint;return c!=null?c.isLocked?"var(--color-evu)":c.isCharging?"var(--color-charging)":c.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"}),o=m(()=>e.vehicle.soc);function h(){e.vehicle.chargepoint!=null&&(ae("socUpdate",1,e.vehicle.id),O[e.vehicle.chargepoint.id].waitingForSoc=!0)}function d(){ae("setSoc",u.value,e.vehicle.id),t.value=!1}const u=m({get(){return e.vehicle.soc},set(c){e.vehicle.chargepoint!=null&&(O[e.vehicle.chargepoint.id].soc=c)}}),p=m(()=>e.vehicle.chargepoint?e.vehicle.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync":"");return(c,k)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ru,S(e.vehicle.name),1)]),default:_(()=>[n("div",ou,[v(K,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:ee({color:s.value}),class:"d-flex justify-content-center align-items-center status-string"},S(r.value),5)]),_:1}),v(K,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[v(wt,{soc:o.value??0,color:"var(--color-fg)",class:"me-2"},null,8,["soc"]),c.vehicle.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",type:"button",style:{color:"var(--color-fg)"},onClick:k[0]||(k[0]=P=>t.value=!t.value)})):w("",!0),c.vehicle.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:J(["fa-solid fa-sm",p.value]),onClick:h},null,2))]),_:1}),v(K,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1}),t.value?(l(),f("div",su,[k[2]||(k[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",iu,[n("span",null,[v(Se,{id:"manualSoc",modelValue:u.value,"onUpdate:modelValue":k[1]||(k[1]=P=>u.value=P),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:d})])):w("",!0)])]),_:1}))}}),cu=R(lu,[["__scopeId","data-v-04addecf"]]),uu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(U,null,te(Object.values(i(N)).filter(r=>r.visible),(r,s)=>(l(),f("div",{key:s,class:"subgrid"},[v(cu,{vehicle:r},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(uu,[["__scopeId","data-v-23b437ea"]]),du={class:"grapharea"},hu={id:"pricechart",class:"p-1 m-0 pricefigure"},pu={viewBox:"0 0 400 280"},gu=["id","origin","transform"],ut=380,_a=250,Gt=12,mu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=X(!1),r={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((V,Y)=>{A.push([Y,V])}),A}),o=m(()=>s.value.length>1?(ut-r.left-r.right)/s.value.length:0),h=m(()=>{let A=Ve(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),et().range([r.left,ut-r.right]).domain(A)}),d=m(()=>{let A=[0,0];return s.value.length>0&&(A=Ve(s.value,V=>V[1]),A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1),A}),u=m(()=>He().range([_a-r.bottom,0]).domain(d.value)),p=m(()=>{const A=Ne(),V=[[r.left,u.value(g.lowerPriceBound)],[ut-r.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=Ne(),V=[[r.left,u.value(g.upperPriceBound)],[ut-r.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=Ne(),V=[[r.left,u.value(0)],[ut-r.right,u.value(0)]];return A(V)}),P=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(A=>A.getHours()%6==0?st("%H:%M")(A):"")),z=m(()=>ft(u.value).ticks(d.value[1]-d.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(A=>A.toString())),D=m(()=>{t.value==!0;const A=ce("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const Y=A.append("g").attr("class","axis").call(P.value);Y.attr("transform","translate(0,"+(_a-r.bottom)+")"),Y.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),Y.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),Y.select(".domain").attr("stroke","var(--color-bg");const I=A.append("g").attr("class","axis").call(z.value);I.attr("transform","translate("+r.left+",0)"),I.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),I.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),I.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const C=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Gt).attr("fill","var(--color-bg)");return C.append("tspan").attr("x",30).attr("dy","0em").text(x=>st("%H:%M")(x[0])),C.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Le(()=>{t.value=!t.value}),(A,V)=>(l(),$(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(oe).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0),i(oe).active?(l(),$(Pe,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(oe).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",du,[n("figure",hu,[(l(),f("svg",pu,[n("g",{id:B.value,origin:D.value,transform:"translate("+r.top+","+r.left+") "},null,8,gu)]))])])]),_:1}))}}),jt=R(mu,[["__scopeId","data-v-6000c955"]]),fu={class:"subgrid pt-1"},vu=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(r,s)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:ee(t.value)},S(r.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",fu,[v(K,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(K,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(K,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),yu=R(vu,[["__scopeId","data-v-258d8f17"]]),bu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(U,null,te(i(we),([r,s])=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(yu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=R(bu,[["__scopeId","data-v-b7a71f81"]]),_u={class:"row py-0 px-0 m-0"},wu=["breakpoints"],ku=L({__name:"CarouselFix",setup(a){let e,t;const r=X(!1),s=m(()=>r.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Le(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),f("div",_u,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,wu)]))}}),xu=R(ku,[["__scopeId","data-v-17424929"]]);function Su(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?Mu(a,e):a=="openWB/graph/lastlivevaluesJson"?$u(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function Mu(a,e){if(!ge.initialized){let t=[];const r=e.toString().split(` +`);r.length>1?t=r.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),o=s?s[0]:"";o!=""&&typeof ge.rawDataPacks[+o-1]>"u"&&(ge.rawDataPacks[+o-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(r=>{r.forEach(s=>{const o=za(s);t.push(o)})}),yt(t),ge.subscribeUpdates()}}function $u(a,e){const t=JSON.parse(e),r=za(t);ge.graphRefreshCounter++,yt(y.data.concat(r)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,r="ev"+e+"-soc",s="ev"+t+"-soc",o={};o.date=+a.timestamp*1e3,+a.grid>0?(o.evuIn=+a.grid,o.evuOut=0):+a.grid<=0?(o.evuIn=0,o.evuOut=-a.grid):(o.evuIn=0,o.evuOut=0),+a["pv-all"]>=0?(o.pv=+a["pv-all"],o.inverter=0):(o.pv=0,o.inverter=-a["pv-all"]),o.house=+a["house-power"],+a["bat-all-power"]>0?(o.batOut=0,o.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(o.batOut=-a["bat-all-power"],o.batIn=0):(o.batOut=0,o.batIn=0),a["bat-all-soc"]?o.batSoc=+a["bat-all-soc"]:o.batSoc=0,a[r]&&(o["soc"+e]=+a[r]),a[s]&&(o["soc"+t]=+a[s]),o.charging=+a["charging-all"];for(let h=0;h<10;h++){const d="cp"+h;o[d]=+(a[d+"-power"]??0)}return o.selfUsage=o.pv-o.evuOut,o.selfUsage<0&&(o.selfUsage=0),o.devices=0,o}const Pu=["evuIn","pv","batOut","evuOut","charging","house"];let Pt=[];function Cu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Pt=[],Zt.forEach(h=>{T.setEnergyPv(h,0),T.setEnergyBat(h,0)});const o=Iu(t);yt(o),Xt(s,Pt),g.debug&&Vu(t,s,o),y.graphMode=="today"&&setTimeout(()=>ue.activate(),3e5)}function Iu(a){const e=[];let t={};return a.forEach(r=>{t=Bu(r);const s=t;e.push(s)}),e}function Bu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,Pt.includes(s)||Pt.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,o])=>{s!="all"?e[s]=o.power_exported:e.pv=o.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,o])=>{s!="all"?(e[s]=o.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=o.power_imported}),Object.entries(a.ev).forEach(([s,o])=>{s!="all"&&(e["soc"+s.substring(2)]=o.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,o])=>{var h;s!="all"&&(e[s]=o.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ne.get(+s.slice(2)).showInGraph),(h=ne.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=o.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!Pu.includes(s)&&s!="charging").forEach(s=>{Mn(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Vu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let xt={};const ra=["charging","house","batIn","devices"],Lu=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let Ke=[];function Ou(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Au(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Wa(a){const e=[];let t={};return xt={},a.forEach(r=>{t=Tu(r),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),xt[s]?xt[s]+=t[s]:xt[s]=t[s])})}),e}function Tu(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let r=0,s=0;return Object.entries(a.counter).forEach(([h,d])=>{r+=d.energy_exported,s+=d.energy_imported,d.grid&&(e.evuOut+=d.energy_exported,e.evuIn+=d.energy_imported,Ke.includes(h)||Ke.push(h))}),Ke.length==0&&(e.evuOut=r,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,d])=>{h!="all"?(T.keys().includes(h)||T.addItem(h),e[h]=d.energy_imported):e.charging=d.energy_imported}),Object.entries(a.ev).forEach(([h,d])=>{h!="all"&&(e["soc-"+h]=d.soc)}),e.devices=Object.entries(a.sh).reduce((h,d)=>(T.keys().includes(d[0])||T.addItem(d[0]),d[1].energy_imported>=0?h+=d[1].energy_imported:console.warn(`Negative energy value for device ${d[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(h=>!Lu.includes(h)).forEach(h=>{$n(h,e)}):ra.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function Eu(a,e){const t=zu(a);if(t&&!he.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(j.batIn.power=+e,Q.batOut.power=0):(j.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?j.batIn.energy=+e:t&&he.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?he.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?he.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he.value.get(t).soc=+e))}function zu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Wu(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?oe.active=!1:(oe.active=!0,oe.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);oe.etPriceList=new Map,Object.keys(t).forEach(r=>{oe.etPriceList.set(new Date(+r*1e3),t[r]*1e5)})}}function Du(a,e){const t=Da(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?j.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(j.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t){if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const r=JSON.parse(e);O[t].name=r.name,O[t].icon=r.name,ie["cp"+t]?(ie["cp"+t].name=r.name,ie["cp"+t].icon=r.name):ie["cp"+t]={name:r.name,icon:r.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const r=JSON.parse(e);O[t].chargedSincePlugged=r.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const r=JSON.parse(e);O[t].soc=r.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=r.range_charged,O[t].rangeUnit=r.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const r=JSON.parse(e);O[t].vehicleName=String(r.name),O[t].updateConnectedVehicle(+r.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const r=JSON.parse(e);switch(r.chargemode){case"instant_charging":O[t].updateChargeMode(ve.instant_charging);break;case"pv_charging":O[t].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":O[t].updateChargeMode(ve.scheduled_charging);break;case"standby":O[t].updateChargeMode(ve.standby);break;case"stop":O[t].updateChargeMode(ve.stop);break}O[t].chargeTemplate=r.charge_template,O[t].averageConsumption=r.average_consumption}}}function Gu(a,e){const t=Da(a);if(t!=null){if(!(t in N)){const r=new yn(t);N[t]=r}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(r=>{r.connectedVehicle==t&&(r.vehicleName=JSON.parse(e))}),N[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))N[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?N[t].range=0:N[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))N[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))N[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const r=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=r.type!==null,s.isSocManual=r.type=="manual")}),N[t].isSocConfigured=r.type!==null,N[t].isSocManual=r.type=="manual"}}}function ju(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);_e[r]=s,Uu(r,s)}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in gt||(gt[s]=[]),gt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in pt||(pt[s]=[]),pt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);Ht[r]=s}}}function Uu(a,e){Object.values(O).forEach(t=>{t.chargeTemplate==a&&(t.updateCpPriority(e.prio),t.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),t.updateInstantTargetCurrent(e.chargemode.instant_charging.current),t.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),t.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),t.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),t.updatePvMinCurrent(e.chargemode.pv_charging.min_current),t.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),t.updatePvMinSoc(e.chargemode.pv_charging.min_soc),t.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function Da(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Fu(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?Nu(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Hu(a,e)}function Nu(a,e){const t=Ga(a);if(t==null)return;ne.has(t)||Yt(t);const r=ne.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?r.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(r.name=e.toString(),r.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?r.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?r.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?r.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(r.tempConfigured=+e)}function Hu(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ne.has(t)||Yt(t);const r=ne.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))r.power=+e,Ru("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))r.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))r.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))r.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))r.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:r.status="off";break;case 11:r.status="on";break;case 20:r.status="detection";break;case 30:r.status="timeout";break;default:r.status="off"}}}function Ru(a){switch(a){case"power":j.devices.power=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":j.devices.energy=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Ct=le([]);class oa{constructor(e,t,r,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=r,this.lastValue=s}insert(e,t){if(e.length){const r=e.splice(1);if(e[0]==this.name)if(r.length){let s=!1;if(this.children.forEach(o=>{o.name==r[0]&&(o.insert(r,t),s=!0)}),!s){const o=new oa(r[0],[],0,"");o.insert(r,t),this.children.push(o)}}else this.count=this.count+1,this.lastValue=t}}}function Ju(a,e){const t=a.split("/");if(t.length){let r=!1;if(Ct.forEach(s=>{s.name==t[0]&&(s.insert(t,e),r=!0)}),!r){const s=new oa(t[0],[],0,"");Ct.push(s),s.insert(t,e)}}}const Yu=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+qt()+"/#"];function qu(){mn(Qu),Yu.forEach(a=>{Xe(a)}),fe()}function Qu(a,e){Ju(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?Zu(a,t):a.match(/^openwb\/counter\//i)?Xu(a,t):a.match(/^openwb\/bat\//i)?Eu(a,t):a.match(/^openwb\/pv\//i)?Ku(a,t):a.match(/^openwb\/chargepoint\//i)?Du(a,t):a.match(/^openwb\/vehicle\/template\//i)?ju(a,t):a.match(/^openwb\/vehicle\//i)?Gu(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?ed(a,t):a.match(/^openwb\/graph\//i)?Su(a,t):a.match(/^openwb\/log\/daily\//i)?Cu(a,t):a.match(/^openwb\/log\/monthly\//i)?Ou(a,t):a.match(/^openwb\/log\/yearly\//i)?Au(a,t):a.match(/^openwb\/optional\/et\//i)?Wu(a,t):a.match(/^openwb\/system\//i)?ad(a,t):a.match(/^openwb\/LegacySmartHome\//i)?Fu(a,t):a.match(/^openwb\/command\//i)&&nd(a,t)}function Zu(a,e){const t=a.split("/"),r=+t[2];if(r==de.evuId?td(a,e):t[3]=="config",t[3]=="get"&&r in ke)switch(t[4]){case"power":ke[r].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ke[r].energy_imported=+e;break;case"daily_exported":ke[r].energy_exported=+e;break}}function Xu(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){_n(),is();for(const r of t)r.type=="counter"&&(de.evuId=r.id);ja(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?j.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(j.house.energy=+e)}function ja(a){switch(a.type){case"counter":au(a.id,a.type);break;case"cp":bn(a.id);break;case"bat":Aa(a.id);break}a.children.forEach(e=>ja(e))}function Ku(a,e){const t=rd(a);t&&!we.value.has(t)&&zn(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function ed(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function td(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,j.evuOut.power=0):(Q.evuIn.power=0,j.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":j.evuOut.energy=+e;break}}function ad(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":ke[t.id]&&(ke[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":he.value.has(t.id)||Aa(t.id),he.value.get(t.id).name=t.name}}}function nd(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==qt()){const r=JSON.parse(e);console.error(`Error message from openWB: +Command: ${r.command} +Data: JSON.stringify(err.data) +Error: + ${r.error}`)}}function rd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const od={key:0,class:"fas fa-caret-down"},sd={key:1,class:"fas fa-caret-right"},id={key:0,class:"content p-2 m-2"},ld={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},cd=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=X(!e.hide),r=X(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(r.value=!r.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(U,null,[n("div",{class:"name py-2 px-2 m-0",style:ee(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(r)?(l(),f("span",od)):(l(),f("span",sd)),H(" "+S(s.value)+S(h.value),1)],4),i(r)?(l(),f("div",id,[n("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),f("div",ld,[(l(!0),f(U,null,te(o.value,(z,D)=>(l(),$(P,{key:D,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),ud=R(cd,[["__scopeId","data-v-df7e578a"]]),dd={class:"mqviewer"},hd={class:"row pt-2"},pd={class:"col"},gd={key:0,class:"topiclist"},md=L({__name:"MQTTViewer",setup(a){Le(()=>{});const e=X(!1);function t(){e.value=!e.value}const r=m(()=>e.value?"active":"");return(s,o)=>(l(),f("div",dd,[n("div",hd,[n("div",pd,[o[0]||(o[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=n("hr",null,null,-1)),n("button",{class:J(["btn btn-small btn-outline-primary ms-2",r.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=n("hr",null,null,-1))])]),i(Ct)[0]?(l(),f("div",gd,[(l(!0),f(U,null,te(i(Ct)[0].children.sort((h,d)=>h.name(l(),$(ud,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),fd=R(md,[["__scopeId","data-v-a349646d"]]),vd=["value"],yd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(o){r("update:modelValue",o)}});return(o,h)=>vt((l(),f("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),f(U,null,te(o.options,(d,u)=>(l(),f("option",{key:u,value:d[1]},S(d[0]),9,vd))),128))],512)),[[an,s.value]])}}),bd=R(yd,[["__scopeId","data-v-5e33ce1f"]]),_d={class:"subgrid m-0 p-0"},wd={class:"settingscolumn"},kd={class:"settingscolumn"},xd={class:"settingscolumn"},Sd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,r=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),$(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",_d,[n("div",wd,[v(F,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:r},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[v(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[v(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),$(F,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(F,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(bd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1})]),n("div",kd,[v(F,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[v(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[v(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[v(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[v(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[v(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[v(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[v(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[v(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1})]),n("div",xd,[v(F,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[v(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[v(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[v(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(Se,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(Se,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{default:_(()=>[v(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[v(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),Md=R(Sd,[["__scopeId","data-v-d82b4b16"]]),$d={class:"container-fluid px-2 m-0 theme-colors"},Pd={id:"themesettings",class:"collapse"},Cd={class:"row py-0 px-0 m-0"},Id={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Bd={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Vd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Ld={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Od={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Ad={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Td={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Ed={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},zd={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},Wd={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},jd={class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},Fd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Hd={class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},qd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Qd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},Zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Xd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Kd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},eh={key:0,class:"row p-2 mt-5"},th={class:"col p-2"},ah={class:"d-flex justify-content-between"},nh={class:"mx-4"},rh={key:0},oh=L({__name:"ColorsTheme",setup(a){const e=X(!1),t=m(()=>[...ne.values()].filter(h=>h.configured).length>0);function r(){Ba()}function s(){e.value=!e.value}Le(()=>{r(),window.addEventListener("resize",Vn),window.addEventListener("focus",o),qu()});function o(){document.hasFocus()&&fe(!0)}return(h,d)=>(l(),f(U,null,[n("div",$d,[n("div",Pd,[v(Md,{onResetArcs:i(An)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),$(Tc,{key:0})):w("",!0),n("div",Cd,[v(xu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(bo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(g).showQuickAccess?w("",!0):(l(),f("div",Id,[v(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),f("nav",Bd,[d[6]||(d[6]=rn('AllesLadepunkte',2)),i(g).showPrices?(l(),f("a",Vd,d[0]||(d[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),f("a",Ld,d[1]||(d[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),f("a",Od,d[2]||(d[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",Ad,d[3]||(d[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),f("a",Td,d[4]||(d[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),f("a",Ed,d[5]||(d[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),f("div",zd,[n("div",Wd,[n("div",Dd,[v(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])]),n("div",Gd,[n("div",jd,[v(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),n("div",Ud,[i(g).showVehicles?(l(),f("div",Fd,[v(Dt)])):w("",!0)]),n("div",Nd,[n("div",Hd,[v(Et)])]),n("div",Rd,[t.value?(l(),f("div",Jd,[v(zt)])):w("",!0)]),n("div",Yd,[i(g).showCounters?(l(),f("div",qd,[v(Wt)])):w("",!0)]),n("div",Qd,[i(g).showInverters?(l(),f("div",Zd,[v(Ut)])):w("",!0)]),n("div",Xd,[i(g).showPrices?(l(),f("div",Kd,[v(jt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),f("div",eh,[n("div",th,[d[7]||(d[7]=n("hr",null,null,-1)),n("div",ah,[n("p",nh,"Screen Width: "+S(i($t).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",rh)):w("",!0),e.value?(l(),$(fd,{key:1})):w("",!0)])])):w("",!0)],64))}}),sh=R(oh,[["__scopeId","data-v-0542a138"]]),ih={class:"navbar navbar-expand-lg px-0 mb-0"},lh={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},ch=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Le(()=>{e=setInterval(()=>{Rt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(r,s)=>(l(),f(U,null,[n("nav",ih,[n("div",{class:J(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),f("span",lh,S(i(La)(i(Rt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[H("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:J(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),uh=R(ch,[["__scopeId","data-v-ed619966"]]),dh={id:"app",class:"m-0 p-0"},hh={class:"row p-0 m-0"},ph={class:"col-12 p-0 m-0"},gh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,r)=>(l(),f("div",dh,[v(uh),n("div",{class:J(["p-0",e.value])},[n("div",hh,[n("div",ph,[v(sh)])])],2)]))}}),mh=sn(gh);ln();mh.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/index.html b/packages/modules/web_themes/colors/web/index.html index 928892965c..95e6c4cd15 100644 --- a/packages/modules/web_themes/colors/web/index.html +++ b/packages/modules/web_themes/colors/web/index.html @@ -24,9 +24,9 @@ openWB - + - + diff --git a/runs/setup_network.sh b/runs/setup_network.sh index 76854d548f..f3da7a03b3 100755 --- a/runs/setup_network.sh +++ b/runs/setup_network.sh @@ -63,7 +63,7 @@ function setup_pnp_network() { } function check_internet_connection() { - if curl -s --head --request GET "https://www.github.com" >/dev/null; then + if curl -s --head --connect-timeout 3 --request GET "https://www.github.com" >/dev/null; then echo "Internet connection is up" else echo "ERROR: no internet connection!" diff --git a/web/settings/assets/ChargeLog-a086d2f8.js b/web/settings/assets/ChargeLog-7f7c5fe2.js similarity index 98% rename from web/settings/assets/ChargeLog-a086d2f8.js rename to web/settings/assets/ChargeLog-7f7c5fe2.js index b2c6551e34..cd5bb5a5e7 100644 --- a/web/settings/assets/ChargeLog-a086d2f8.js +++ b/web/settings/assets/ChargeLog-7f7c5fe2.js @@ -1,3 +1,3 @@ -import{l as N,_ as k,$ as x,F as B}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as E,a0 as S,u as h,l as u,m as c,G as g,E as s,x as i,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-ea36120f.js";import{C as W}from"./index-ad11aee2.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";N.add(k,x);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:B},mixins:[W],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` +import{l as N,Z as k,_ as x,F as B}from"./vendor-fortawesome-433470db.js";import{_ as E,a0 as S,u as h,l as u,m as c,G as g,E as s,x as i,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-ea36120f.js";import{C as W}from"./index-cc8f65ba.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";N.add(k,x);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:B},mixins:[W],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` `)+` `}},chargeLogRead:{get(){return this.chargeLogDataset!=null}},chargeLogHasEntries:{get(){return this.chargeLogDataset==null?!1:this.chargeLogDataset.length>0}},totalRecordCount(){return this.chargeLogDataset.length},chargeModeList(){let t=this.chargeModes.map(e=>({value:e,text:this.translateChargeMode(e)}));return t.unshift({value:void 0,text:"Alle"}),t},chargePointList(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[{value:void 0,text:"Alle"}];for(const[,o]of Object.entries(t))e.push({value:o.id,text:o.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[o,f]of Object.entries(t)){let l=parseInt(o.match(/\/([0-9]+)\/name$/)[1]);e.push({value:l,text:f})}return e}},beforeMount(){this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data")},mounted(){const t=new Date;this.currentMonth=this.chargeLogDate=t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0"),this.requestChargeLog()},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(t=>t!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(t=>t!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(t=>t!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(t){var e=new Blob([t],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(e),this.downloadFile},downloadChargeLog(){this.$refs.downloadChargeLogLink.setAttribute("download","Ladeprotokoll-"+this.chargeLogDate+".csv"),this.$refs.downloadChargeLogLink.href=this.makeTextFile(this.chargeLogCsv),this.$refs.downloadChargeLogLink.dispatchEvent(new MouseEvent("click"))},addClasses(t){return this.$store.state.mqtt["openWB/general/charge_log_data_config"]!==void 0&&Object.hasOwn(this.$store.state.mqtt["openWB/general/charge_log_data_config"],t)?this.$store.state.mqtt["openWB/general/charge_log_data_config"][t]?[]:["d-none"]:[]},getProgressTitle(t){return`Netz: ${this.formatNumber(t.grid,0,0)}%, Ladepunkte: ${this.formatNumber(t.cp,0,0)}%, Speicher: ${this.formatNumber(t.bat,0,0)}%, PV: ${this.formatNumber(t.pv,0,0)}%`},formatBool(t){return t?"Ja":"Nein"},formatW(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kW":o},formatWh(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kWh":o},formatRange(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"km":o},formatSoc(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"%":o},formatCosts(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,2));return e?o+"€":o},dashIfNotSet(t){return t==null||t==""||t==null?"-":t},getChargeModeClass(t){switch(t){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},y={class:"chargeLog"},T={key:0},U={key:1},M={name:"chargeLogForm"},P=["href"],z=["href"],O={key:1},Z={class:"td-end"},A={class:"td-end"},j=["title"],J=["aria-valuenow"],K=["aria-valuenow"],Y=["aria-valuenow"],G=["aria-valuenow"],H={key:1,class:"td-center"},Q={class:"td-end"},X={class:"no-wrap"},$={class:"no-wrap"},ee={class:"td-end"},te={class:"no-wrap"},ae={class:"no-wrap"},re={class:"td-end"},ie={class:"no-wrap"},se={class:"no-wrap"},oe={class:"td-end"},ne={class:"td-end"},le={key:0},de={class:"row justify-content-center"},ge={ref:"downloadChargeLogLink",class:"hide"},he={class:"td-end"},ue={class:"td-end"},ce={class:"td-end"},_e={class:"td-end"};function me(t,e,o,f,l,r){const m=h("openwb-base-alert"),D=h("openwb-base-text-input"),b=h("font-awesome-icon"),C=h("openwb-base-button-group-input"),p=h("openwb-base-select-input"),q=h("openwb-base-array-input"),v=h("openwb-base-card"),L=h("vue3-table-lite"),R=h("openwb-base-click-button");return u(),c("div",y,[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),c("div",T,[g(m,{subtype:"info"},{default:s(()=>e[13]||(e[13]=[d(' Das Ladeprotokoll ist nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Ladevorgänge in der openWB, die sich im Steuerungsmodus "primary" befindet. ')])),_:1})])):(u(),c("div",U,[i("form",M,[g(v,{title:"Filter"},{default:s(()=>[g(D,{modelValue:r.chargeLogDate,"onUpdate:modelValue":[e[0]||(e[0]=a=>r.chargeLogDate=a),e[1]||(e[1]=a=>r.requestChargeLog())],title:"Zeitraum",subtype:"month",min:"2018-01","show-quick-buttons":!0,max:l.currentMonth},null,8,["modelValue","max"]),g(v,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[g(b,{"fixed-width":"",icon:["fas","filter"]}),e[14]||(e[14]=d(" Erweiterte Optionen "))]),default:s(()=>[g(C,{modelValue:l.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[e[2]||(e[2]=a=>l.chargeLogRequestData.filter.vehicle.prio=a),e[3]||(e[3]=a=>r.requestChargeLog())],title:"Priorität",buttons:[{buttonValue:void 0,text:"Alle"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[e[4]||(e[4]=a=>l.chargeLogRequestData.filter.vehicle.chargemode=a),e[5]||(e[5]=a=>r.requestChargeLog())],title:"Lademodus",multiple:"",options:r.chargeModeList},{help:s(()=>e[15]||(e[15]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[e[6]||(e[6]=a=>l.chargeLogRequestData.filter.chargepoint.id=a),e[7]||(e[7]=a=>r.requestChargeLog())],title:"Ladepunkt",multiple:"",options:r.chargePointList},{help:s(()=>e[16]||(e[16]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[e[8]||(e[8]=a=>l.chargeLogRequestData.filter.vehicle.id=a),e[9]||(e[9]=a=>r.requestChargeLog())],title:"Fahrzeug",multiple:"",options:r.vehicleList},{help:s(()=>e[17]||(e[17]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(q,{modelValue:l.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[e[10]||(e[10]=a=>l.chargeLogRequestData.filter.vehicle.tag=a),e[11]||(e[11]=a=>r.requestChargeLog())],title:"ID-Tags"},{help:s(()=>e[18]||(e[18]=[d(" Es können mehrere Tags als Filter verwendet werden. ")])),_:1},8,["modelValue"])]),_:1})]),_:1}),g(m,{subtype:"info"},{default:s(()=>[e[19]||(e[19]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlMonth},n(r.downloadUrlMonth),9,P),e[20]||(e[20]=d()),e[21]||(e[21]=i("br",null,null,-1)),e[22]||(e[22]=d(" Das komplette Ladeprotokoll für das gesamte Jahr kann automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlYear},n(r.downloadUrlYear),9,z)]),_:1}),r.chargeLogRead?(u(),c("div",O,[g(L,{class:"charge-log-table","is-static-mode":!0,columns:r.chargeLogColumns,rows:r.chargeLogDataset,total:r.totalRecordCount,sortable:l.table.sortable,messages:l.table.messages,"page-options":l.table.pageOptions,limit:25,"is-slot-mode":!0},{time_begin:s(a=>[d(n(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:s(a=>[d(n(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:s(a=>[i("div",Z,n(a.value.time_time_charged),1)]),data_costs:s(a=>[i("div",A,n(r.formatCosts(a.value.data_costs)),1)]),data_power_source:s(a=>[a.value.data_power_source?(u(),c("div",{key:0,class:"progress td-center",title:r.getProgressTitle(a.value.data_power_source)},[i("div",{class:"progress-bar bg-danger",role:"progressbar",style:_({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J),i("div",{class:"progress-bar bg-primary",role:"progressbar",style:_({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K),i("div",{class:"progress-bar bg-warning",role:"progressbar",style:_({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,Y),i("div",{class:"progress-bar bg-success",role:"progressbar",style:_({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,G)],8,j)):(u(),c("div",H," - "))]),vehicle_chargemode:s(a=>[i("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},n(a.value.vehicle_chargemode),3)]),vehicle_prio:s(a=>[i("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},n(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:s(a=>[d(n(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:s(a=>[i("div",Q,[i("span",X,n(r.formatSoc(a.value.vehicle_soc_at_start)),1),i("span",$," ("+n(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:s(a=>[i("div",ee,[i("span",te,n(r.formatSoc(a.value.vehicle_soc_at_end)),1),i("span",ae," ("+n(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:s(a=>[i("div",re,[i("span",ie,n(r.formatWh(a.value.data_imported_since_mode_switch)),1),i("span",se," ("+n(r.formatRange(a.value.data_range_charged))+") ",1)])]),chargepoint_imported_at_start:s(a=>[i("div",oe,n(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:s(a=>[i("div",ne,n(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(u(),c("div",le,[i("div",de,[g(R,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:s(()=>[e[24]||(e[24]=d(" Als CSV exportieren ")),g(b,{"fixed-width":"",icon:["fas","download"]})]),_:1}),i("a",ge,null,512)]),e[25]||(e[25]=i("div",{class:"row"},[i("div",{class:"col"},[i("h2",null,"Summe")])],-1)),g(L,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:l.totals.columns,rows:r.chargeLogTotals,total:1,"is-slot-mode":!0},{time_charged:s(a=>[i("div",he,n(a.value.time_charged),1)]),imported_since_mode_switch:s(a=>[i("div",ue,n(r.formatWh(a.value.imported_since_mode_switch)),1)]),range_charged:s(a=>[i("div",ce,n(r.formatRange(a.value.range_charged)),1)]),costs:s(a=>[i("div",_e,n(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):I("",!0)])):(u(),V(m,{key:0,subtype:"info"},{default:s(()=>e[23]||(e[23]=[d(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])]))])}const Ce=E(F,[["render",me],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{Ce as default}; diff --git a/web/settings/assets/ChargePointInstallation-408ee2ed.js b/web/settings/assets/ChargePointInstallation-408ee2ed.js new file mode 100644 index 0000000000..49552759b1 --- /dev/null +++ b/web/settings/assets/ChargePointInstallation-408ee2ed.js @@ -0,0 +1 @@ +import{l as Z,d as J,a6 as H,A as G,af as Q,ag as X,L as Y,ah as K,F as ee,H as te}from"./vendor-fortawesome-433470db.js";import{_ as P,C as ne}from"./index-cc8f65ba.js";import{_ as D}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,l as i,m as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as E,a2 as q,N as A,M as x,B as g,D as F,q as ae,A as oe}from"./vendor-ea36120f.js";const ie={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=S(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[le]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return i(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(i(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(i(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return i(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),E({loader:()=>D(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-6c271d6b.js"),["assets/chargePoint-6c271d6b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-ba464cf4.js"),["assets/chargePoint-ba464cf4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-776647d8.js"),["assets/chargePoint-776647d8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-84c8e28d.js"),["assets/chargePoint-84c8e28d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-542a9664.js"),["assets/chargePoint-542a9664.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-f16b10ce.js"),["assets/chargePoint-f16b10ce.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-e230a14a.js"),["assets/chargePoint-e230a14a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),E({loader:()=>D(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-38fd7ea5.js"),["assets/commands-38fd7ea5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-b3575711.js"),["assets/commands-b3575711.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return i(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.getChargePointSettingsComponent()),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.getChargePointCommandsComponent()),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}})},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}})},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation();let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}})},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},Ue={key:2},xe={key:4},Ie=["onClick"],Te={key:0},ze={key:1},De={key:2},Ee={key:2};function qe(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),M=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),U=h("openwb-base-card"),O=h("font-awesome-layers"),T=h("openwb-base-alert"),N=h("openwb-base-array-input"),z=h("openwb-base-range-input"),$=h("openwb-base-number-input"),R=h("openwb-base-submit-buttons");return i(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=l=>u.removeChargePoint(c.modalChargePointIndex,l))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=l=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,l))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=l=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,l))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(U,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(i(!0),p(A,null,x(u.installedChargePoints,(l,s)=>(i(),f(U,{key:s,title:l.name+" (ID: "+l.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(i(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":l.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(M,{"charge-point":l,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&l.charging_type!=="DC"?(i(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":l.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":l.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(i(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=l=>c.chargePointToAdd=l),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[37]||(e[37]=d("hr",{class:"border-secondary"},null,-1)),a(U,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(O,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),p("div",We,[(i(!0),p(A,null,x(u.chargePointTemplates,(l,s)=>(i(),f(U,{key:s,title:l.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},F({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},F({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(i(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":l.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(i(),p("div",Ae,[l.disable_after_unplug?(i(),f(N,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":l.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),l.charging_type==="AC"?(i(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),l.charging_type==="AC"||u.dcChargingEnabled!==!0?(i(),p("div",Ue,[a(z,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":l.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":l.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(i(),f($,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(l.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),m.installAssistantActive?g("",!0):(i(),p("div",xe,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Sperren nach Uhrzeit (Komplettsperrung - keine Freischaltung per ID-Tag möglich) ")])]),_:1}),a(C,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" WirdSperren nach Uhrzeit aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. In dieser Zeit ist keine Freischaltung per RFID, Fahrzeugerkennung oder Pin möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan Sperren nach Uhrzeit aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für Sperren nach Uhrzeit "))]),_:2},1024)])),(i(!0),p(A,null,x(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(i(),f(U,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(i(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(i(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(i(),p("span",ze,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(i(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(i(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(i(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(i(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(i(),p("div",Ee,[(i(!0),p(A,null,x(t.weekdays,(b,W)=>(i(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":j=>t.updateState(v,j,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(R,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=l=>t.$emit("save")),onReset:e[5]||(e[5]=l=>t.$emit("reset")),onDefaults:e[6]||(e[6]=l=>t.$emit("defaults"))})])])],64)}const Fe=S(ke,[["render",qe],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),Re=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));export{le as C,ge as a,Fe as b,Re as c}; diff --git a/web/settings/assets/ChargePointInstallation-e034ae7d.js b/web/settings/assets/ChargePointInstallation-e034ae7d.js deleted file mode 100644 index fe080661ca..0000000000 --- a/web/settings/assets/ChargePointInstallation-e034ae7d.js +++ /dev/null @@ -1 +0,0 @@ -import{l as Z,d as J,a7 as H,A as G,ag as Q,ah as X,M as Y,ai as K,F as ee,I as te}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as P,C as ne}from"./index-ad11aee2.js";import{_ as z}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,l,m as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as E,a2 as q,N as A,M as U,B as g,D as M,q as ae,A as oe}from"./vendor-ea36120f.js";const le={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=S(le,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[ie]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return l(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(l(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return l(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),E({loader:()=>z(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-b0a6debe.js"),["assets/chargePoint-b0a6debe.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-1fdab31c.js"),["assets/chargePoint-1fdab31c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-4841a797.js"),["assets/chargePoint-4841a797.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-83d3fcec.js"),["assets/chargePoint-83d3fcec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-49393003.js"),["assets/chargePoint-49393003.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-5d1371bf.js"),["assets/chargePoint-5d1371bf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-684f2a93.js"),["assets/chargePoint-684f2a93.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),E({loader:()=>z(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-b4417123.js"),["assets/commands-b4417123.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-79d9ab52.js"),["assets/commands-79d9ab52.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return l(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(q(u.getChargePointSettingsComponent()),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(q(u.getChargePointCommandsComponent()),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}})},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}})},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation();let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}})},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},xe={key:2},Ue={key:4},Ie=["onClick"],Te={key:0},De={key:1},ze={key:2},Ee={key:2};function qe(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),O=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),x=h("openwb-base-card"),F=h("font-awesome-layers"),T=h("openwb-base-alert"),N=h("openwb-base-array-input"),D=h("openwb-base-range-input"),$=h("openwb-base-number-input"),j=h("openwb-base-submit-buttons");return l(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=i=>u.removeChargePoint(c.modalChargePointIndex,i))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=i=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,i))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=i=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,i))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(x,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(l(!0),p(A,null,U(u.installedChargePoints,(i,s)=>(l(),f(x,{key:s,title:i.name+" (ID: "+i.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":i.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(O,{"charge-point":i,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&i.charging_type!=="DC"?(l(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":i.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":i.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(l(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=i=>c.chargePointToAdd=i),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[37]||(e[37]=d("hr",{class:"border-secondary"},null,-1)),a(x,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(F,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),p("div",We,[(l(!0),p(A,null,U(u.chargePointTemplates,(i,s)=>(l(),f(x,{key:s,title:i.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},M({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},M({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(l(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":i.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(l(),p("div",Ae,[i.disable_after_unplug?(l(),f(N,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":i.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),i.charging_type==="AC"?(l(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),i.charging_type==="AC"||u.dcChargingEnabled!==!0?(l(),p("div",xe,[a(D,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":i.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(D,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":i.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),f($,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(i.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),m.installAssistantActive?g("",!0):(l(),p("div",Ue,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Automatische Sperre ")])]),_:1}),a(C,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für die automatische Sperre "))]),_:2},1024)])),(l(!0),p(A,null,U(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(l(),f(x,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(l(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(l(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(l(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(l(),p("span",ze,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(l(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(l(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(l(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(l(),p("div",Ee,[(l(!0),p(A,null,U(t.weekdays,(b,W)=>(l(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":R=>t.updateState(v,R,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(j,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=i=>t.$emit("save")),onReset:e[5]||(e[5]=i=>t.$emit("reset")),onDefaults:e[6]||(e[6]=i=>t.$emit("defaults"))})])])],64)}const Me=S(ke,[["render",qe],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{ie as C,ge as a,Me as b,je as c}; diff --git a/web/settings/assets/Chart-3a165819.js b/web/settings/assets/Chart-3a165819.js deleted file mode 100644 index 5c29efa076..0000000000 --- a/web/settings/assets/Chart-3a165819.js +++ /dev/null @@ -1 +0,0 @@ -import{l as L,M as T,W as H,V as q,U as O,a0 as j,a1 as M,F as V}from"./vendor-fortawesome-c5ffc2b2.js";import{C as z}from"./index-ad11aee2.js";import{C as P,p as E,a as B,L as N,b as F,B as K,f as $,P as J,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-1398beb1.js";import{_ as ee,u as h,l as s,m as o,G as l,E as d,x as A,z as f,y as b,N as k,M as x,F as C,B as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,q,O,j,M);P.register(E,B,N,F,K,$,J,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var u="",y="";switch(this.chartRange){case"month":u=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),y="day";break;case"year":u=a.substring(0,4)+"-"+a.substring(4,6),y="month";break}this.blockChartInit=!0,this.chartDate=u,this.chartRange=y},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={key:0},ie={key:1},ne={name:"chartForm"},se={key:1},oe={key:1},le={class:"openwb-chart"},de={key:1};function ce(e,t,r,n,i,a){const u=h("openwb-base-alert"),y=h("openwb-base-select-input"),v=h("openwb-base-text-input"),g=h("openwb-base-card"),R=h("chartjs-line"),w=h("font-awesome-icon"),S=h("openwb-base-heading");return s(),o("div",ae,[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),o("div",re,[l(u,{subtype:"info"},{default:d(()=>t[3]||(t[3]=[b(' Die Auswertungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Auswertungen in der openWB, welche sich im Steuerungsmodus "primary" befindet. ')])),_:1})])):(s(),o("div",ie,[A("form",ne,[l(g,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[l(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=p=>i.chartRange=p),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),l(v,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=p=>a.chartDate=p),t[2]||(t[2]=p=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(s(),o("div",se,[a.chartDataHasEntries?(s(),o("div",oe,[l(g,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",le,[l(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),l(g,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(s(!0),o(k,null,x(a.chartTotals,(p,c)=>(s(),o("div",{key:c},[Object.keys(p).length>0?(s(),f(g,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(c)},{header:d(()=>[l(w,{"fixed-width":"",icon:a.getCardIcon(c)},null,8,["icon"]),b(" "+C(a.getTotalsLabel(c)),1)]),default:d(()=>[(s(!0),o(k,null,x(p,(I,m)=>(s(),o("div",{key:m},[c!=="hc"?(s(),f(S,{key:0},{default:d(()=>[b(C(a.getTotalsLabel(c,m)),1)]),_:2},1024)):_("",!0),(s(!0),o(k,null,x(I,(W,D)=>(s(),o("div",{key:D},[l(v,{title:a.getTotalsLabel(c,m,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),m=="all"&&c!="hc"?(s(),o("hr",de)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[5]||(t[5]=[b(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[b(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])]))])}const xe=ee(te,[["render",ce],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{xe as default}; diff --git a/web/settings/assets/Chart-bf602480.js b/web/settings/assets/Chart-bf602480.js new file mode 100644 index 0000000000..4a9ab03c2e --- /dev/null +++ b/web/settings/assets/Chart-bf602480.js @@ -0,0 +1 @@ +import{l as L,L as T,V as H,U as q,T as O,$ as j,a0 as M,F as V}from"./vendor-fortawesome-433470db.js";import{C as z}from"./index-cc8f65ba.js";import{C as P,p as E,a as B,L as N,b as F,B as K,f as $,P as J,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-1398beb1.js";import{_ as ee,u as h,l as s,m as o,G as l,E as d,x as A,z as f,y as b,N as k,M as x,F as C,B as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,q,O,j,M);P.register(E,B,N,F,K,$,J,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var u="",y="";switch(this.chartRange){case"month":u=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),y="day";break;case"year":u=a.substring(0,4)+"-"+a.substring(4,6),y="month";break}this.blockChartInit=!0,this.chartDate=u,this.chartRange=y},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={key:0},ie={key:1},ne={name:"chartForm"},se={key:1},oe={key:1},le={class:"openwb-chart"},de={key:1};function ce(e,t,r,n,i,a){const u=h("openwb-base-alert"),y=h("openwb-base-select-input"),v=h("openwb-base-text-input"),g=h("openwb-base-card"),R=h("chartjs-line"),w=h("font-awesome-icon"),S=h("openwb-base-heading");return s(),o("div",ae,[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),o("div",re,[l(u,{subtype:"info"},{default:d(()=>t[3]||(t[3]=[b(' Die Auswertungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Auswertungen in der openWB, welche sich im Steuerungsmodus "primary" befindet. ')])),_:1})])):(s(),o("div",ie,[A("form",ne,[l(g,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[l(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=p=>i.chartRange=p),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),l(v,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=p=>a.chartDate=p),t[2]||(t[2]=p=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(s(),o("div",se,[a.chartDataHasEntries?(s(),o("div",oe,[l(g,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",le,[l(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),l(g,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(s(!0),o(k,null,x(a.chartTotals,(p,c)=>(s(),o("div",{key:c},[Object.keys(p).length>0?(s(),f(g,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(c)},{header:d(()=>[l(w,{"fixed-width":"",icon:a.getCardIcon(c)},null,8,["icon"]),b(" "+C(a.getTotalsLabel(c)),1)]),default:d(()=>[(s(!0),o(k,null,x(p,(I,m)=>(s(),o("div",{key:m},[c!=="hc"?(s(),f(S,{key:0},{default:d(()=>[b(C(a.getTotalsLabel(c,m)),1)]),_:2},1024)):_("",!0),(s(!0),o(k,null,x(I,(W,D)=>(s(),o("div",{key:D},[l(v,{title:a.getTotalsLabel(c,m,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),m=="all"&&c!="hc"?(s(),o("hr",de)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[5]||(t[5]=[b(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[b(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])]))])}const xe=ee(te,[["render",ce],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{xe as default}; diff --git a/web/settings/assets/CloudConfig-81a9f407.js b/web/settings/assets/CloudConfig-c17b71a6.js similarity index 98% rename from web/settings/assets/CloudConfig-81a9f407.js rename to web/settings/assets/CloudConfig-c17b71a6.js index fde521a8e5..f11306c7a0 100644 --- a/web/settings/assets/CloudConfig-81a9f407.js +++ b/web/settings/assets/CloudConfig-c17b71a6.js @@ -1 +1 @@ -import{l as S,a6 as q,F as z}from"./vendor-fortawesome-c5ffc2b2.js";import{C as P}from"./index-ad11aee2.js";import{_ as h,u as a,l,m as b,G as r,E as t,x as m,z as p,B as i,D as Z,N as I,y as s,q as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";S.add(q);const x={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:z},mixins:[P],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let n=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,B]of Object.entries(n))B.remote.is_openwb_cloud||delete n[e];return n}},cloudBridgeKey:{get(){for(const[n,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return n}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(n){return parseInt(n.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(n){n.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(n){this.showCloudRemoveModal=!1,n=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},K={class:"cloud-config"},M={key:1},R={key:1,name:"cloudConfigCreateForm"},N={key:2,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},A={class:"row justify-content-center"};function j(n,e,B,G,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),w=a("openwb-base-card"),f=a("openwb-base-text-input"),y=a("openwb-base-button-group-input"),C=a("font-awesome-icon"),v=a("openwb-base-array-input"),k=a("openwb-base-click-button"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),b(I,null,[r(D,{show:u.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>d.removeCloud(o))},{default:t(()=>e[13]||(e[13]=[s(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",K,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=s(" Du musst der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[14]||(e[14]=[s(" Datenschutzerklärung ")])),_:1}),e[16]||(e[16]=s(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),b("div",M,[r(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=s(" Du hast der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[17]||(e[17]=[s(" Datenschutzerklärung ")])),_:1}),e[19]||(e[19]=s(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),u.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[20]||(e[20]=[s(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),d.cloudBridgeKey?i("",!0):(l(),b("form",R,[r(w,{title:"Neuen Zugang erstellen"},{default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[21]||(e[21]=[s(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),s(" . ")])),_:1})]),_:1})])),d.cloudBridgeKey?i("",!0):(l(),b("form",N,[r(w,{title:"Vorhandenen Zugang einrichten"},Z({default:t(()=>[r(f,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(f,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(y,{modelValue:u.connectCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=o=>u.connectCloudData.partner=o),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[22]||(e[22]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[23]||(e[23]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",U,[r(k,{class:_(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>e[24]||(e[24]=[s(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),b("form",F,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[25]||(e[25]=[s(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(w,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",A,[r(k,{class:_(["col-4",u.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!u.enableRemoveCloudButton,onButtonClicked:e[9]||(e[9]=o=>d.removeCloudModal(o))},{default:t(()=>e[29]||(e[29]=[s(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(V,null,{default:t(()=>e[26]||(e[26]=[m("span",null,[s(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),s(" anmelden. ")],-1)])),_:1}),r(f,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(f,{modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[6]||(e[6]=o=>d.cloudSettings.password=o),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[30]||(e[30]=m("hr",null,null,-1)),r(y,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":d.cloudSettings.partner,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateState(d.cloudBridgeKey,o,"access.partner"))},{help:t(()=>e[27]||(e[27]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[28]||(e[28]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),d.cloudBridgeKey?(l(),p(W,{key:4,"form-name":"cloudConfigured",onSave:e[10]||(e[10]=o=>n.$emit("save")),onReset:e[11]||(e[11]=o=>n.$emit("reset")),onDefaults:e[12]||(e[12]=o=>n.$emit("defaults"))})):i("",!0)]))])],64)}const X=h(x,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{X as default}; +import{l as S,a5 as q,F as z}from"./vendor-fortawesome-433470db.js";import{C as P}from"./index-cc8f65ba.js";import{_ as h,u as a,l,m as b,G as r,E as t,x as m,z as p,B as i,D as Z,N as I,y as s,q as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";S.add(q);const x={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:z},mixins:[P],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let n=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,B]of Object.entries(n))B.remote.is_openwb_cloud||delete n[e];return n}},cloudBridgeKey:{get(){for(const[n,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return n}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(n){return parseInt(n.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(n){n.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(n){this.showCloudRemoveModal=!1,n=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},K={class:"cloud-config"},M={key:1},R={key:1,name:"cloudConfigCreateForm"},N={key:2,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},A={class:"row justify-content-center"};function j(n,e,B,G,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),w=a("openwb-base-card"),f=a("openwb-base-text-input"),y=a("openwb-base-button-group-input"),C=a("font-awesome-icon"),v=a("openwb-base-array-input"),k=a("openwb-base-click-button"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),b(I,null,[r(D,{show:u.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>d.removeCloud(o))},{default:t(()=>e[13]||(e[13]=[s(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",K,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=s(" Du musst der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[14]||(e[14]=[s(" Datenschutzerklärung ")])),_:1}),e[16]||(e[16]=s(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),b("div",M,[r(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=s(" Du hast der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[17]||(e[17]=[s(" Datenschutzerklärung ")])),_:1}),e[19]||(e[19]=s(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),u.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[20]||(e[20]=[s(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),d.cloudBridgeKey?i("",!0):(l(),b("form",R,[r(w,{title:"Neuen Zugang erstellen"},{default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[21]||(e[21]=[s(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),s(" . ")])),_:1})]),_:1})])),d.cloudBridgeKey?i("",!0):(l(),b("form",N,[r(w,{title:"Vorhandenen Zugang einrichten"},Z({default:t(()=>[r(f,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(f,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(y,{modelValue:u.connectCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=o=>u.connectCloudData.partner=o),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[22]||(e[22]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[23]||(e[23]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",U,[r(k,{class:_(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>e[24]||(e[24]=[s(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),b("form",F,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[25]||(e[25]=[s(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(w,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",A,[r(k,{class:_(["col-4",u.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!u.enableRemoveCloudButton,onButtonClicked:e[9]||(e[9]=o=>d.removeCloudModal(o))},{default:t(()=>e[29]||(e[29]=[s(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(V,null,{default:t(()=>e[26]||(e[26]=[m("span",null,[s(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),s(" anmelden. ")],-1)])),_:1}),r(f,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(f,{modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[6]||(e[6]=o=>d.cloudSettings.password=o),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[30]||(e[30]=m("hr",null,null,-1)),r(y,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":d.cloudSettings.partner,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateState(d.cloudBridgeKey,o,"access.partner"))},{help:t(()=>e[27]||(e[27]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[28]||(e[28]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),d.cloudBridgeKey?(l(),p(W,{key:4,"form-name":"cloudConfigured",onSave:e[10]||(e[10]=o=>n.$emit("save")),onReset:e[11]||(e[11]=o=>n.$emit("reset")),onDefaults:e[12]||(e[12]=o=>n.$emit("defaults"))})):i("",!0)]))])],64)}const X=h(x,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{X as default}; diff --git a/web/settings/assets/DataManagement-675df4b8.js b/web/settings/assets/DataManagement-675df4b8.js deleted file mode 100644 index 7d1f2917cf..0000000000 --- a/web/settings/assets/DataManagement-675df4b8.js +++ /dev/null @@ -1 +0,0 @@ -import{l as E,ak as P,al as R,am as $,an as q,ao as U,F as H}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as B,C as N}from"./index-ad11aee2.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,l as u,m,z as C,E as s,y as i,F as h,G as n,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-ea36120f.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(t.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(t.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(t.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-3edceff1.js"),["assets/backup_cloud-3edceff1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-54444a00.js"),["assets/backup_cloud-54444a00.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-fdee2220.js"),["assets/backup_cloud-fdee2220.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-7d5285df.js"),["assets/backup_cloud-7d5285df.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})},updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function te(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.getBackupCloudComponent()),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const ne=w(ee,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(t.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-6cb4f3e9.js"),["assets/monitoring-6cb4f3e9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function de(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.getMonitoringComponent()),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);E.add(P,R,$,q,U);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:ne,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(t))e.push({value:l.id,text:l.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(t)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(t))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(t){const e=this.monitoringList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",t),{})},updateSelectedMonitoring(t){this.updateState("openWB/optional/monitoring/config",t,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(t))},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},ze={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},je=["disabled"],Ee={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},Re={key:1,name:"resetForm"},$e={class:"row justify-content-center"},qe={class:"col-md-4 d-flex py-1 justify-content-center"},Ue={key:2,name:"zabbixConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(t,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),z=f("openwb-base-button-input"),V=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),j=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),n(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[n(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[n(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[n(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),n(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[n(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),n(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=t.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=t.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[n(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>t.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),n(z,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),n(V,{"backup-cloud":t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),n(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>t.$emit("save")),onReset:e[11]||(e[11]=c=>t.$emit("reset")),onDefaults:e[12]||(e[12]=c=>t.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),!l.installAssistantActive&&!t.$store.state.mqtt["openWB/general/extern"]?(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[n(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",ze,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Ve,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,je)])]),n(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[n(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",Ee,[o("div",Pe,[n(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})):_("",!0),l.installAssistantActive?_("",!0):(u(),m("form",Re,[n(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",$e,[o("div",qe,[n(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[n(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",Ue,[n(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[n(F,{"form-name":t.zabbixConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>t.$emit("save")),onReset:e[20]||(e[20]=p=>t.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[n(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[n(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),n(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":t.$store.state.mqtt["openWB/optional/monitoring/config"]?t.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/monitoring/config"]&&t.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[n(j,{monitoring:t.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DataManagement-f14600c5.js b/web/settings/assets/DataManagement-f14600c5.js new file mode 100644 index 0000000000..0d5db413a7 --- /dev/null +++ b/web/settings/assets/DataManagement-f14600c5.js @@ -0,0 +1 @@ +import{l as z,aj as P,ak as R,al as $,am as U,an as q,F as H}from"./vendor-fortawesome-433470db.js";import{_ as B,C as N}from"./index-cc8f65ba.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,l as u,m,z as C,E as s,y as i,F as h,G as t,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-ea36120f.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(n,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(n.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[t(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),t(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-30cf5664.js"),["assets/backup_cloud-30cf5664.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-b39f2e48.js"),["assets/backup_cloud-b39f2e48.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-30fea215.js"),["assets/backup_cloud-30fea215.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-c3181aad.js"),["assets/backup_cloud-c3181aad.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function ne(n,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[t(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.getBackupCloudComponent()),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const te=w(ee,[["render",ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(n,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[t(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),t(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-f3474b05.js"),["assets/monitoring-f3474b05.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function de(n,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[t(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.getMonitoringComponent()),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);z.add(P,R,$,U,q);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:te,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let n=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(n))e.push({value:l.id,text:l.name});return e},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&n.push({value:e.id,text:e.name});return n},inverterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&n.push({value:e.id,text:e.name});return n},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&n.push({value:e.id,text:e.name});return n},vehicleOptions(){let n=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(n)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(n))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(l=>l.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",n),{})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})},getMigrationOptions(n){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return n.includes("chargePoint")&&e.push(...this.chargePointOptions),n.includes("counter")&&e.push(...this.counterOptions),n.includes("inverter")&&e.push(...this.inverterOptions),n.includes("battery")&&e.push(...this.batteryOptions),n.includes("vehicle")&&e.push(...this.vehicleOptions),n.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},updateSelectedBackupCloud(n){this.updateState("openWB/system/backup_cloud/config",n,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(n))},updateSelectedRestoreFile(n){this.selectedRestoreFile=n.target.files[0]},updateSelectedDataMigrationFile(n){this.selectedDataMigrationFile=n.target.files[0]},uploadFile(n,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",n),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(l=>l.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",n),{})},updateSelectedMonitoring(n){this.updateState("openWB/optional/monitoring/config",n,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(n))},async uploadRestoreFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n)},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,n)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},Ve={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},je={class:"input-group-append"},Ee=["disabled"],ze={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},Re={key:1,name:"resetForm"},$e={class:"row justify-content-center"},Ue={class:"col-md-4 d-flex py-1 justify-content-center"},qe={key:2,name:"monitoringConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(n,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),V=f("openwb-base-button-input"),j=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),E=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),t(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[t(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[t(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[t(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),t(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),t(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[t(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),t(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[t(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),t(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),t(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),t(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[t(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>n.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),t(V,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),t(j,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),t(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>n.$emit("save")),onReset:e[11]||(e[11]=c=>n.$emit("reset")),onDefaults:e[12]||(e[12]=c=>n.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),!l.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[t(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung aus den älteren Software Versionen 1.9.303 oder 1.9.304 hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren."),o("br",null,null,-1),i(" Ein Import aus Versionen kleiner als 1.9.303 ist nicht möglich. Falls eine Datenübernahme aus 1.9er Versionen gewünscht ist, muss erst ein Upgrade auf 1.9.303 oder 1.9.304 durchgeführt werden! Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[t(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",Ve,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",je,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),t(v,{"fixed-width":"",icon:["fas","upload"]})],10,Ee)])]),t(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[t(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",ze,[o("div",Pe,[t(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),t(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})):_("",!0),l.installAssistantActive?_("",!0):(u(),m("form",Re,[t(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",$e,[o("div",Ue,[t(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[t(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),t(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[t(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",qe,[t(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[t(F,{"form-name":n.monitoringConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>n.$emit("save")),onReset:e[20]||(e[20]=p=>n.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[t(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[t(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),t(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[t(E,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DebugConfig-ca826d8c.js b/web/settings/assets/DebugConfig-ee93cd2f.js similarity index 97% rename from web/settings/assets/DebugConfig-ca826d8c.js rename to web/settings/assets/DebugConfig-ee93cd2f.js index 207f6a95f5..a78832a04f 100644 --- a/web/settings/assets/DebugConfig-ca826d8c.js +++ b/web/settings/assets/DebugConfig-ee93cd2f.js @@ -1,2 +1,2 @@ -import{C as k}from"./index-ad11aee2.js";import{l as B,a8 as D,a9 as L,F as W}from"./vendor-fortawesome-c5ffc2b2.js";import{_,u as s,l as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,m as b,N as y,M as N,y as f}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! +import{C as k}from"./index-cc8f65ba.js";import{l as B,a7 as D,a8 as L,F as W}from"./vendor-fortawesome-433470db.js";import{_,u as s,l as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,m as b,N as y,M as N,y as f}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! `+t.response.status+" "+t.response.statusText+": "+t.response.request.responseURL:t.request?t.request:t.message)},async loadLog(n){this.logData="wird aktualisiert...",this.loading=!0;var e="";for(let r=4;r>=1;r--){const a=await this.getFilePromise(n+"."+r,!0);e+=a}const t=await this.getFilePromise(n);e+=t,this.logData=e,this.loading=!1}}},S={class:"log-data mb-0"};function P(n,e,t,r,a,g){const u=s("font-awesome-icon"),m=s("openwb-base-avatar"),p=s("openwb-base-card");return d(),w(p,{title:t.title,class:"log-card",collapsible:!0,collapsed:!0},{actions:l(()=>[i(m,{class:"bg-success clickable",onClick:e[0]||(e[0]=F(c=>g.loadLog(t.logFile),["stop"]))},{default:l(()=>[i(u,{"fixed-width":"",class:C(a.loading?"fa-spin-pulse":""),icon:a.loading?["fas","spinner"]:["fas","file-download"]},null,8,["class","icon"])]),_:1})]),default:l(()=>[v("pre",S,x(a.logData),1)]),_:1},8,["title"])}const I=_($,[["render",P],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),q={name:"OpenwbDebuggingView",components:{OpenwbLogCard:I},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/debug_level"],logFiles:[{title:"Main-Log",fileName:"/openWB/ramdisk/main.log"},{title:"Log des internen Ladepunktes",fileName:"/openWB/ramdisk/internal_chargepoint.log"},{title:"MQTT-Log",fileName:"/openWB/ramdisk/mqtt.log"},{title:"SoC-Log",fileName:"/openWB/ramdisk/soc.log"},{title:"Protokoll des letzten Updates",fileName:"/openWB/data/log/update.log"},{title:"Protokoll des Remote-Dienstes",fileName:"/openWB/ramdisk/remote_support.log"},{title:"Protokoll des SmartHome Dienstes",fileName:"/openWB/ramdisk/smarthome.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"}]}}},z={class:"debugging"},V={name:"debugConfigForm"};function T(n,e,t,r,a,g){const u=s("openwb-base-button-group-input"),m=s("openwb-base-alert"),p=s("openwb-base-card"),c=s("openwb-base-submit-buttons"),h=s("openwb-log-card");return d(),b("div",z,[v("form",V,[i(p,{title:"Protokollierung"},{default:l(()=>[i(u,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":n.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateState("openWB/system/debug_level",o))},{help:l(()=>e[4]||(e[4]=[f(' Wenn der Debug Level auf "Info" oder "Details" gesetzt wird, werden mehr Informationen in die Logdateien geschrieben. Im normalen Betrieb sollte immer "Warnungen und Fehler" gewählt werden, um die Schreibvorgänge auf der SD-Karte zu reduzieren. ')])),_:1},8,["model-value"]),i(m,{subtype:"warning"},{default:l(()=>e[5]||(e[5]=[f(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Passwörter enthalten sein. Diese sollten vor dem Veröffentlichen z.B. im Forum unkenntlich gemacht werden. Private IP-Adressen (z.B. 192.168.x.x) müssen nicht maskiert werden, da diese nicht über das Internet erreichbar sind. ')])),_:1})]),_:1}),i(c,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=o=>n.$emit("save")),onReset:e[2]||(e[2]=o=>n.$emit("reset")),onDefaults:e[3]||(e[3]=o=>n.$emit("defaults"))})]),(d(!0),b(y,null,N(a.logFiles,o=>(d(),w(h,{key:o.fileName,title:o.title,"log-file":o.fileName},null,8,["title","log-file"]))),128))])}const G=_(q,[["render",T],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{G as default}; diff --git a/web/settings/assets/GeneralChargeConfig-bd028832.js b/web/settings/assets/GeneralChargeConfig-401ab7d4.js similarity index 92% rename from web/settings/assets/GeneralChargeConfig-bd028832.js rename to web/settings/assets/GeneralChargeConfig-401ab7d4.js index 23ece9b7ad..40ba3e3685 100644 --- a/web/settings/assets/GeneralChargeConfig-bd028832.js +++ b/web/settings/assets/GeneralChargeConfig-401ab7d4.js @@ -1 +1 @@ -import{_ as b,C as L}from"./index-ad11aee2.js";import{_ as q}from"./dynamic-import-helper-be004503.js";import{_ as h,u,l as a,m as l,G as n,E as o,y as i,F as B,x as s,a1 as O,z as W,a2 as F,N as D,B as y}from"./vendor-ea36120f.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-textarea");return a(),l("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[s("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.type}`),O({loader:()=>q(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-b31a1dbf.js"),["assets/electricity_tariff-b31a1dbf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-da29313e.js"),["assets/electricity_tariff-da29313e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-01c67cfa.js"),["assets/electricity_tariff-01c67cfa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-8a0715f0.js"),["assets/electricity_tariff-8a0715f0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-4d16bc31.js"),["assets/electricity_tariff-4d16bc31.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,k,z,g){const d=u("openwb-base-heading");return a(),l(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.getTariffComponent()),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:1},ie={key:2},re={key:0},oe={key:1},ae={key:0};function le(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-button-group-input"),_=u("openwb-base-range-input"),c=u("openwb-base-number-input"),v=u("openwb-base-heading"),w=u("openwb-base-card"),S=u("openwb-base-select-input"),V=u("openwb-electricity-tariff-proxy"),$=u("openwb-base-text-input"),T=u("openwb-base-submit-buttons");return a(),l("div",J,[s("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),s("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),s("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),s("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=s("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),s("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),l("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),s("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),l("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0),e[31]||(e[31]=s("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),l("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),s("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),s("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),s("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),l("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",oe,[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),l("div",ae,[n(d,{subtype:"info"},{default:o(()=>e[33]||(e[33]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),s("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]))]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const se=h(G,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),ge=Object.freeze(Object.defineProperty({__proto__:null,default:se},Symbol.toStringTag,{value:"Module"}));export{A as E,ge as G}; +import{_ as b,C as L}from"./index-cc8f65ba.js";import{_ as q}from"./dynamic-import-helper-be004503.js";import{_ as h,u,l as a,m as l,G as n,E as o,y as i,F as B,x as s,a1 as O,z as W,a2 as F,N as D,B as y}from"./vendor-ea36120f.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-textarea");return a(),l("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[s("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.type}`),O({loader:()=>q(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-8330f492.js"),["assets/electricity_tariff-8330f492.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-a0cf3a14.js"),["assets/electricity_tariff-a0cf3a14.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-0d285d7d.js"),["assets/electricity_tariff-0d285d7d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-4d29c538.js"),["assets/electricity_tariff-4d29c538.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-0c46c1ec.js"),["assets/electricity_tariff-0c46c1ec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,k,z,g){const d=u("openwb-base-heading");return a(),l(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.getTariffComponent()),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:1},ie={key:2},re={key:0},oe={key:1},ae={key:0};function le(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-button-group-input"),_=u("openwb-base-range-input"),c=u("openwb-base-number-input"),v=u("openwb-base-heading"),w=u("openwb-base-card"),S=u("openwb-base-select-input"),V=u("openwb-electricity-tariff-proxy"),$=u("openwb-base-text-input"),T=u("openwb-base-submit-buttons");return a(),l("div",J,[s("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),s("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),s("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),s("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=s("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),s("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),l("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),s("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),l("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0),e[31]||(e[31]=s("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),l("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),s("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),s("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),s("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),l("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",oe,[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),l("div",ae,[n(d,{subtype:"info"},{default:o(()=>e[33]||(e[33]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),s("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]))]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const se=h(G,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),ge=Object.freeze(Object.defineProperty({__proto__:null,default:se},Symbol.toStringTag,{value:"Module"}));export{A as E,ge as G}; diff --git a/web/settings/assets/GeneralConfig-233a15bd.js b/web/settings/assets/GeneralConfig-233a15bd.js deleted file mode 100644 index 35feeaf506..0000000000 --- a/web/settings/assets/GeneralConfig-233a15bd.js +++ /dev/null @@ -1 +0,0 @@ -import{l as J,a2 as X,a3 as Q,F,Y,M as ee,z as te,ab as ne,ac as oe,ad as ae}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as L,C as re}from"./index-ad11aee2.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as h,u as b,l,m as p,z as v,E as o,y as a,F as c,G as n,x as s,a1 as j,a2 as I,N as G,B as _}from"./vendor-ea36120f.js";const ie={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=h(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),se={name:"WebThemeFallback",mixins:[le]},ue={class:"web-theme-fallback"},de={key:1};function pe(t,e,u,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),p("div",ue,[Object.keys(t.webTheme.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+c(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),p("div",de,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const ge=h(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(X,Q);const me={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),j({loader:()=>M(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:ge})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function be(t,e,u,B,y,m){const g=b("font-awesome-icon"),r=b("openwb-base-alert"),w=b("openwb-base-heading");return l(),p(G,null,[u.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+c(u.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(w,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+c(u.webTheme.name)+'" ',1)]),_:1}),(l(),v(I(m.getThemeComponent()),{"web-theme":u.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>m.updateConfiguration(W))},null,40,["web-theme"]))],64)}const fe=h(me,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),ce={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_e=h(ce,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),ve={name:"RippleControlReceiverConfigFallback",mixins:[_e]},we={class:"ripple-control-receiver-fallback"},he={key:1};function We(t,e,u,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),p("div",we,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),p("div",he,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const Be=h(ve,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),ye={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getRippleControlReceiverComponent(){return console.debug(`loading ripple control receiver: ${this.rippleControlReceiver.type}`),j({loader:()=>M(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-33dac337.js"),["assets/ripple_control_receiver-33dac337.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-30efb719.js"),["assets/ripple_control_receiver-30efb719.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:Be})},updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Se(t,e,u,B,y,m){const g=b("openwb-base-heading");return l(),p(G,null,[n(g,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+c(u.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(I(m.getRippleControlReceiverComponent()),{"ripple-control-receiver":u.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>m.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>m.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const ke=h(ye,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);J.add(Y,ee,te,ne,oe,ae);const Ce={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:fe,OpenwbRippleControlReceiverProxy:ke,FontAwesomeIcon:F},mixins:[re],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.webThemeList)==null||e.forEach(u=>{u.official===!0?t[0].options.push(u):t[1].options.push(u)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ve={class:"generalConfig"},Re={name:"generalConfigForm"},$e={key:0},Te={key:1},qe={key:1},ze={class:"border border-info w-100 p-1"},Oe={class:"border border-info w-100 p-1"},De={key:0},Ee={key:1},Ne={key:0},Ae={key:2},Pe={key:0},xe={key:0},Ue={key:1},Le={key:0},Je={key:0},Fe={key:1};function Me(t,e,u,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-button-group-input"),w=b("openwb-base-copy-to-clipboard"),W=b("openwb-base-card"),S=b("openwb-base-heading"),k=b("openwb-base-select-input"),H=b("openwb-ripple-control-receiver-proxy"),K=b("openwb-web-theme-proxy"),f=b("font-awesome-icon"),Z=b("openwb-base-submit-buttons");return l(),p("div",Ve,[s("form",Re,[n(W,{title:"Steuerungsmodus"},{default:o(()=>[n(g,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[s("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),s("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),s("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),s("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=d=>t.updateState("openWB/general/extern",d))},null,8,["model-value"]),u.installAssistantActive?_("",!0):(l(),p("div",$e,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=d=>t.updateState("openWB/general/modbus_control",d))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),s("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),p("div",Te,[n(g,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):_("",!0)])),u.installAssistantActive?_("",!0):(l(),p("div",qe,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=d=>t.updateState("openWB/general/http_api",d))},{help:o(()=>[e[38]||(e[38]=s("p",null," Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs (Port 8443) abfragen oder neu setzen. Topics können über GET oder POST abgefragt, neue Werte nur mit POST gesetzt werden. ",-1)),e[39]||(e[39]=s("p",null,"Beispiel 1: Abfrage des aktuellen Systemzeitstempels",-1)),s("ul",null,[s("li",null,[e[32]||(e[32]=a(" GET-Request:")),e[33]||(e[33]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[a(" https://"+c(m.getIpAddress())+":8443/v1/?topic=openWB/system/time ",1)]),_:1})]),s("li",null,[e[34]||(e[34]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[35]||(e[35]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic":"openWB/system/time"}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[40]||(e[40]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",ze,c(JSON.stringify({status:"success",topic:"openWB/system/time",message:1721287000646975e-6},null,4)),1),e[41]||(e[41]=s("p",null,'Im Fehlerfall wird der Status auf "failed" gesetzt und eine Fehlermeldung zurückgegeben.',-1)),e[42]||(e[42]=s("p",null,"Beispiel 2: integriertes Display abschalten",-1)),s("ul",null,[s("li",null,[e[36]||(e[36]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[37]||(e[37]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic": "openWB/set/optional/int_display/active", "message": false}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[43]||(e[43]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",Oe,c(JSON.stringify({status:"success",topic:"openWB/set/optional/int_display/active",message:!1},null,4)),1)]),_:1},8,["model-value"])]))]),_:1}),n(W,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",De,[n(g,{subtype:"info"},{default:o(()=>e[44]||(e[44]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):_("",!0),u.installAssistantActive?_("",!0):(l(),p("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),p("div",Ne,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=d=>t.updateState("openWB/general/control_interval",d))},{help:o(()=>e[45]||(e[45]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),s("br",null,null,-1),s("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=d=>t.updateState("openWB/general/grid_protection_configured",d))},{help:o(()=>e[46]||(e[46]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),s("br",null,null,-1),s("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):_("",!0),e[47]||(e[47]=s("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),p("div",Ae,[n(S,{class:"mt-0"},{default:o(()=>e[48]||(e[48]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(g,{sub_type:"info"},{default:o(()=>e[49]||(e[49]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(k,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:m.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=d=>m.updateSelectedRippleControlReceiverModule(d))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),p("div",Pe,[n(H,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=d=>m.updateConfiguration("openWB/general/ripple_control_receiver/module",d))},null,8,["ripple-control-receiver"])])):_("",!0)])):_("",!0)]),_:1}),u.installAssistantActive?_("",!0):(l(),v(W,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",xe,[n(g,{subtype:"info"},{default:o(()=>e[50]||(e[50]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),p("div",Ue,[n(S,{class:"mt-0"},{default:o(()=>e[51]||(e[51]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),p("div",Le,[n(k,{class:"mb-2",title:"Theme",groups:m.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=d=>m.updateSelectedWebTheme(d))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(K,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=d=>m.updateConfiguration("openWB/general/web_theme",d))},null,8,["web-theme"])):_("",!0)])):_("",!0)]))]),_:1})),u.installAssistantActive?_("",!0):(l(),v(W,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var d,C,V,R,$,T,q,z,O,D,E,N,A,P,x,U;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",Je,[n(g,{subtype:"info"},{default:o(()=>e[52]||(e[52]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),p("div",Fe,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(S,null,{default:o(()=>e[53]||(e[53]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(d=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:d.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[54]||(e[54]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[55]||(e[55]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","clock"]}),e[56]||(e[56]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","coins"]}),e[57]||(e[57]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","pie-chart"]}),e[58]||(e[58]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[59]||(e[59]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[60]||(e[60]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[61]||(e[61]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[62]||(e[62]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[63]||(e[63]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[64]||(e[64]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[65]||(e[65]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[66]||(e[66]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[67]||(e[67]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[68]||(e[68]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[69]||(e[69]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(Z,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=d=>t.$emit("save")),onReset:e[27]||(e[27]=d=>t.$emit("reset")),onDefaults:e[28]||(e[28]=d=>t.$emit("defaults"))})])])}const je=h(Ce,[["render",Me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ze=Object.freeze(Object.defineProperty({__proto__:null,default:je},Symbol.toStringTag,{value:"Module"}));export{je as G,_e as R,Ze as a}; diff --git a/web/settings/assets/GeneralConfig-b0e93144.js b/web/settings/assets/GeneralConfig-b0e93144.js new file mode 100644 index 0000000000..eb9d70afb0 --- /dev/null +++ b/web/settings/assets/GeneralConfig-b0e93144.js @@ -0,0 +1 @@ +import{l as P,a1 as Z,a2 as Q,F as J,X,L as Y,z as ee,aa as te,ab as ne,ac as oe}from"./vendor-fortawesome-433470db.js";import{_ as L,C as ae}from"./index-cc8f65ba.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as h,u as g,l,m as d,z as v,E as o,y as a,F as w,G as n,x as f,a1 as F,a2 as j,N as G,B as c}from"./vendor-ea36120f.js";const re={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=h(re,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),le={name:"WebThemeFallback",mixins:[ie]},se={class:"web-theme-fallback"},ue={key:1};function de(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-textarea");return l(),d("div",se,[Object.keys(t.webTheme.configuration).length==0?(l(),v(p,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",ue,[n(p,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+w(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(p,{subtype:"info"},{default:o(()=>[f("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const pe=h(le,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);P.add(Z,Q);const ge={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:J},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),F({loader:()=>M(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:pe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,e,s,B,y,b){const p=g("font-awesome-icon"),r=g("openwb-base-alert"),_=g("openwb-base-heading");return l(),d(G,null,[s.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(p,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+w(s.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(p,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(_,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+w(s.webTheme.name)+'" ',1)]),_:1}),(l(),v(j(b.getThemeComponent()),{"web-theme":s.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>b.updateConfiguration(W))},null,40,["web-theme"]))],64)}const be=h(ge,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),fe={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ce=h(fe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),_e={name:"RippleControlReceiverConfigFallback",mixins:[ce]},ve={class:"ripple-control-receiver-fallback"},we={key:1};function he(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-textarea");return l(),d("div",ve,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(p,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+w(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",we,[n(p,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+w(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(p,{subtype:"info"},{default:o(()=>[f("pre",null,w(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const We=h(_e,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),Be={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getRippleControlReceiverComponent(){return console.debug(`loading ripple control receiver: ${this.rippleControlReceiver.type}`),F({loader:()=>M(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-14c898b9.js"),["assets/ripple_control_receiver-14c898b9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-cd0099ce.js"),["assets/ripple_control_receiver-cd0099ce.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:We})},updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function ye(t,e,s,B,y,b){const p=g("openwb-base-heading");return l(),d(G,null,[n(p,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+w(s.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(j(b.getRippleControlReceiverComponent()),{"ripple-control-receiver":s.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>b.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>b.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const Ce=h(Be,[["render",ye],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);P.add(X,Y,ee,te,ne,oe);const Se={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:be,OpenwbRippleControlReceiverProxy:Ce,FontAwesomeIcon:J},mixins:[ae],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.webThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ve={class:"generalConfig"},ke={name:"generalConfigForm"},$e={key:0},Re={key:1},Te={key:1},qe={key:0},Ee={key:1},ze={key:0},De={key:2},Ne={key:0},Ae={key:0},Oe={key:1},Ue={key:0},xe={key:0},Le={key:1};function Pe(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-button-group-input"),_=g("openwb-base-card"),W=g("openwb-base-heading"),C=g("openwb-base-select-input"),I=g("openwb-ripple-control-receiver-proxy"),H=g("openwb-web-theme-proxy"),m=g("font-awesome-icon"),K=g("openwb-base-submit-buttons");return l(),d("div",Ve,[f("form",ke,[n(_,{title:"Steuerungsmodus"},{default:o(()=>[n(p,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[f("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),f("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),f("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),f("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateState("openWB/general/extern",u))},null,8,["model-value"]),s.installAssistantActive?c("",!0):(l(),d("div",$e,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=u=>t.updateState("openWB/general/modbus_control",u))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),f("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),d("div",Re,[n(p,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):c("",!0)])),s.installAssistantActive?c("",!0):(l(),d("div",Te,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=u=>t.updateState("openWB/general/http_api",u))},{help:o(()=>e[32]||(e[32]=[f("p",null,[a(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),f("a",{href:"https://openwb.de/main/wp-content/uploads/2025/02/HTTP-API-fuer-openWB-series1-und-series2.pdf",target:"_blank",rel:"noopener noreferrer"}," hier "),a(" dokumentiert. ")],-1)])),_:1},8,["model-value"])]))]),_:1}),n(_,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",qe,[n(p,{subtype:"info"},{default:o(()=>e[33]||(e[33]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):c("",!0),s.installAssistantActive?c("",!0):(l(),d("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",ze,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=u=>t.updateState("openWB/general/control_interval",u))},{help:o(()=>e[34]||(e[34]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),f("br",null,null,-1),f("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=u=>t.updateState("openWB/general/grid_protection_configured",u))},{help:o(()=>e[35]||(e[35]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),f("br",null,null,-1),f("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):c("",!0),e[36]||(e[36]=f("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",De,[n(W,{class:"mt-0"},{default:o(()=>e[37]||(e[37]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(p,{sub_type:"info"},{default:o(()=>e[38]||(e[38]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(C,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:b.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=u=>b.updateSelectedRippleControlReceiverModule(u))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),d("div",Ne,[n(I,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=u=>b.updateConfiguration("openWB/general/ripple_control_receiver/module",u))},null,8,["ripple-control-receiver"])])):c("",!0)])):c("",!0)]),_:1}),s.installAssistantActive?c("",!0):(l(),v(_,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",Ae,[n(p,{subtype:"info"},{default:o(()=>e[39]||(e[39]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Oe,[n(W,{class:"mt-0"},{default:o(()=>e[40]||(e[40]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),d("div",Ue,[n(C,{class:"mb-2",title:"Theme",groups:b.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=u=>b.updateSelectedWebTheme(u))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(H,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=u=>b.updateConfiguration("openWB/general/web_theme",u))},null,8,["web-theme"])):c("",!0)])):c("",!0)]))]),_:1})),s.installAssistantActive?c("",!0):(l(),v(_,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var u,S,V,k,$,R,T,q,E,z,D,N,A,O,U,x;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[n(p,{subtype:"info"},{default:o(()=>e[41]||(e[41]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Le,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(W,null,{default:o(()=>e[42]||(e[42]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(u=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:u.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","calendar"]}),e[43]||(e[43]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(S=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:S.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","calendar"]}),e[44]||(e[44]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","clock"]}),e[45]||(e[45]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(k=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:k.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","coins"]}),e[46]||(e[46]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","pie-chart"]}),e[47]||(e[47]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[48]||(e[48]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[49]||(e[49]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[50]||(e[50]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[51]||(e[51]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[52]||(e[52]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[53]||(e[53]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[54]||(e[54]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[55]||(e[55]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[56]||(e[56]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[57]||(e[57]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[58]||(e[58]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(K,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=u=>t.$emit("save")),onReset:e[27]||(e[27]=u=>t.$emit("reset")),onDefaults:e[28]||(e[28]=u=>t.$emit("defaults"))})])])}const Je=h(Se,[["render",Pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ie=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{Je as G,ce as R,Ie as a}; diff --git a/web/settings/assets/HardwareInstallation-46934147.js b/web/settings/assets/HardwareInstallation-3a644290.js similarity index 51% rename from web/settings/assets/HardwareInstallation-46934147.js rename to web/settings/assets/HardwareInstallation-3a644290.js index 0bf0eaada4..8719cf3fca 100644 --- a/web/settings/assets/HardwareInstallation-46934147.js +++ b/web/settings/assets/HardwareInstallation-3a644290.js @@ -1 +1 @@ -import{l as S,d as U,t as q,ae as G,a7 as N,W as K,V as F,U as H,F as $}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as e,C as J}from"./index-ad11aee2.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{_ as T,u as p,l as s,m as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-ea36120f.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(o,t=void 0){this.$emit("update:configuration",{value:o,object:t})}}},B=T(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},te={key:1};function oe(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(o.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(o.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",te,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(o.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.device.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=T(Y,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=T(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(o.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(o.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(o.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.component.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=T(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],methods:{getComponent(){var o;return console.debug(`loading component: ${this.device.type} / ${(o=this.component)==null?void 0:o.type}`),this.component!==void 0?z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-bdb7ee31.js"),["assets/device-bdb7ee31.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-09841d8b.js"),["assets/device-09841d8b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-136769e2.js"),["assets/device-136769e2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-632eca64.js"),["assets/device-632eca64.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-fb149eda.js"),["assets/device-fb149eda.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-85e0c624.js"),["assets/inverter-85e0c624.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-3ed98b6b.js"),["assets/device-3ed98b6b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-a7b1730a.js"),["assets/counter-a7b1730a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-e6722c9e.js"),["assets/device-e6722c9e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-b4e9bceb.js"),["assets/bat-b4e9bceb.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-6896bad2.js"),["assets/counter-6896bad2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-9b1836ed.js"),["assets/device-9b1836ed.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-d1d09c4d.js"),["assets/inverter-d1d09c4d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-2caf628e.js"),["assets/counter-2caf628e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-a75468b6.js"),["assets/device-a75468b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-8c113ebb.js"),["assets/inverter-8c113ebb.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-656a0fe6.js"),["assets/device-656a0fe6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-a538082d.js"),["assets/counter-a538082d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-af3ace43.js"),["assets/device-af3ace43.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-a8f5061e.js"),["assets/inverter-a8f5061e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-a90615ec.js"),["assets/bat-a90615ec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-e8305ae6.js"),["assets/device-e8305ae6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-0aa56025.js"),["assets/bat-0aa56025.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-df1f5edc.js"),["assets/counter-df1f5edc.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-8bcf90b2.js"),["assets/device-8bcf90b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-2ac7ad76.js"),["assets/inverter-2ac7ad76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-b3d020db.js"),["assets/bat-b3d020db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-19094893.js"),["assets/counter_sm-19094893.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-674ad066.js"),["assets/device-674ad066.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-3350696f.js"),["assets/inverter_secondary-3350696f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-9d2d833c.js"),["assets/bat-9d2d833c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-7f0773b1.js"),["assets/counter-7f0773b1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-4e22ef76.js"),["assets/device-4e22ef76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-ead4b7bc.js"),["assets/inverter-ead4b7bc.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-9c8b1e53.js"),["assets/bat-9c8b1e53.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-7ab3fa2c.js"),["assets/counter-7ab3fa2c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-7d4d7a73.js"),["assets/device-7d4d7a73.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-f32ffec2.js"),["assets/inverter-f32ffec2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-66b22761.js"),["assets/bat-66b22761.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-c2e620f6.js"),["assets/counter-c2e620f6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-84ff4ad2.js"),["assets/device-84ff4ad2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-5e49cb2e.js"),["assets/inverter-5e49cb2e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-18d6df42.js"),["assets/counter-18d6df42.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-68a79bec.js"),["assets/device-68a79bec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-b1ac3de9.js"),["assets/device-b1ac3de9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-29037061.js"),["assets/device-29037061.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-4d2687d9.js"),["assets/bat-4d2687d9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-b05d8575.js"),["assets/counter-b05d8575.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-af12c066.js"),["assets/device-af12c066.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-b2abe08d.js"),["assets/inverter-b2abe08d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-2b0f8622.js"),["assets/counter-2b0f8622.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-d08a4407.js"),["assets/device-d08a4407.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-398f77a3.js"),["assets/counter-398f77a3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-284a01d3.js"),["assets/device-284a01d3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-59117996.js"),["assets/inverter-59117996.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-a553438d.js"),["assets/device-a553438d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-94c87478.js"),["assets/counter-94c87478.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8c9cf6be.js"),["assets/device-8c9cf6be.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-efbfc637.js"),["assets/counter-efbfc637.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-9625c714.js"),["assets/device-9625c714.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-c4626b45.js"),["assets/device-c4626b45.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-fbcf2fc3.js"),["assets/inverter-fbcf2fc3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-bfc4954f.js"),["assets/device-bfc4954f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-bdfa6cbb.js"),["assets/bat-bdfa6cbb.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-923aa168.js"),["assets/counter-923aa168.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-9392298b.js"),["assets/device-9392298b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-6e41134d.js"),["assets/inverter-6e41134d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-67d90ef7.js"),["assets/device-67d90ef7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-578fb2b4.js"),["assets/inverter-578fb2b4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-2b9d9b7e.js"),["assets/bat-2b9d9b7e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-a1835ea4.js"),["assets/bat-a1835ea4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-553c86c3.js"),["assets/counter-553c86c3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-4f5f2f02.js"),["assets/inverter-4f5f2f02.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-9ecb8002.js"),["assets/bat-9ecb8002.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-d1753a60.js"),["assets/consumption_counter-d1753a60.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-ec4cdbb2.js"),["assets/counter-ec4cdbb2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-7775f241.js"),["assets/device-7775f241.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-969246d9.js"),["assets/inverter-969246d9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-c3ea9f3b.js"),["assets/inverter-c3ea9f3b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-ae097566.js"),["assets/counter-ae097566.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-cc2ee49c.js"),["assets/device-cc2ee49c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-24175a05.js"),["assets/counter-24175a05.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-61b7e9a3.js"),["assets/device-61b7e9a3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-2c56a86f.js"),["assets/inverter-2c56a86f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-f070f46c.js"),["assets/device-f070f46c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-64c77c03.js"),["assets/device-64c77c03.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-a956ceef.js"),["assets/device-a956ceef.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-9825d5aa.js"),["assets/counter-9825d5aa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-df82d4f8.js"),["assets/device-df82d4f8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-0a7cbd91.js"),["assets/device-0a7cbd91.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-88332cb4.js"),["assets/device-88332cb4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-3ba6d87c.js"),["assets/bat-3ba6d87c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-2d3c1e68.js"),["assets/counter-2d3c1e68.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-39b62289.js"),["assets/device-39b62289.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-46ad8553.js"),["assets/inverter-46ad8553.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-d537077a.js"),["assets/counter-d537077a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-143d43a1.js"),["assets/inverter-143d43a1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-1b4b17bb.js"),["assets/bat-1b4b17bb.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-29045de7.js"),["assets/bat_smart_energy-29045de7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-504d9f7d.js"),["assets/counter-504d9f7d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-b57ef569.js"),["assets/device-b57ef569.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-4cc7432e.js"),["assets/inverter-4cc7432e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-e14ea1ce.js"),["assets/bat-e14ea1ce.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-14ca9649.js"),["assets/device-14ca9649.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-ca2ff40d.js"),["assets/device-ca2ff40d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-cbdd1a16.js"),["assets/counter-cbdd1a16.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-21407938.js"),["assets/device-21407938.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-3cf3af51.js"),["assets/inverter-3cf3af51.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-9d4c53e5.js"),["assets/device-9d4c53e5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-e18d4fc2.js"),["assets/device-e18d4fc2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-eff0e3ae.js"),["assets/counter-eff0e3ae.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-1575de24.js"),["assets/device-1575de24.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-3e072659.js"),["assets/device-3e072659.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-244b0fb1.js"),["assets/inverter-244b0fb1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-f4441f40.js"),["assets/device-f4441f40.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-14dde0de.js"),["assets/device-14dde0de.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-c3d1bd22.js"),["assets/bat-c3d1bd22.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-b548a7dd.js"),["assets/counter-b548a7dd.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-7b06f275.js"),["assets/device-7b06f275.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-3f34bf8f.js"),["assets/external_inverter-3f34bf8f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-d9546c9a.js"),["assets/inverter-d9546c9a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-3b53fbe2.js"),["assets/bat-3b53fbe2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-ccff4af8.js"),["assets/device-ccff4af8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-c3378375.js"),["assets/inverter-c3378375.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-5c8a06f7.js"),["assets/device-5c8a06f7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-b41a5e09.js"),["assets/bat-b41a5e09.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-f6930635.js"),["assets/counter-f6930635.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-953102b6.js"),["assets/device-953102b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-54ad97d6.js"),["assets/inverter-54ad97d6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-b71afa10.js"),["assets/counter-b71afa10.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-bb762753.js"),["assets/device-bb762753.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-de385fc9.js"),["assets/bat-de385fc9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-57353c76.js"),["assets/device-57353c76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-0740191b.js"),["assets/inverter-0740191b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-2751af54.js"),["assets/device-2751af54.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-6ab8fcfa.js"),["assets/device-6ab8fcfa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-daeda226.js"),["assets/device-daeda226.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-da0b2985.js"),["assets/counter-da0b2985.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-7de31de4.js"),["assets/device-7de31de4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-7ff18a77.js"),["assets/device-7ff18a77.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-6f8aee42.js"),["assets/inverter-6f8aee42.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-1bf83758.js"),["assets/bat-1bf83758.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-3bd980da.js"),["assets/counter-3bd980da.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-5e0c6b57.js"),["assets/device-5e0c6b57.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-bc8c3cac.js"),["assets/inverter-bc8c3cac.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-5521134d.js"),["assets/counter-5521134d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-b7468734.js"),["assets/device-b7468734.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-aaf64a8b.js"),["assets/inverter-aaf64a8b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-42cfcbe9.js"),["assets/device-42cfcbe9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-a1fcf9bf.js"),["assets/inverter-a1fcf9bf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-bdb7ee31.js"),["assets/device-bdb7ee31.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-09841d8b.js"),["assets/device-09841d8b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-136769e2.js"),["assets/device-136769e2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-632eca64.js"),["assets/device-632eca64.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-fb149eda.js"),["assets/device-fb149eda.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-3ed98b6b.js"),["assets/device-3ed98b6b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-e6722c9e.js"),["assets/device-e6722c9e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-9b1836ed.js"),["assets/device-9b1836ed.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-a75468b6.js"),["assets/device-a75468b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-656a0fe6.js"),["assets/device-656a0fe6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-af3ace43.js"),["assets/device-af3ace43.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-e8305ae6.js"),["assets/device-e8305ae6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-8bcf90b2.js"),["assets/device-8bcf90b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-674ad066.js"),["assets/device-674ad066.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-4e22ef76.js"),["assets/device-4e22ef76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-7d4d7a73.js"),["assets/device-7d4d7a73.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-84ff4ad2.js"),["assets/device-84ff4ad2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-68a79bec.js"),["assets/device-68a79bec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-b1ac3de9.js"),["assets/device-b1ac3de9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-29037061.js"),["assets/device-29037061.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-af12c066.js"),["assets/device-af12c066.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-d08a4407.js"),["assets/device-d08a4407.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-284a01d3.js"),["assets/device-284a01d3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-a553438d.js"),["assets/device-a553438d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8c9cf6be.js"),["assets/device-8c9cf6be.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-9625c714.js"),["assets/device-9625c714.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-c4626b45.js"),["assets/device-c4626b45.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-bfc4954f.js"),["assets/device-bfc4954f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-9392298b.js"),["assets/device-9392298b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-67d90ef7.js"),["assets/device-67d90ef7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-7775f241.js"),["assets/device-7775f241.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-cc2ee49c.js"),["assets/device-cc2ee49c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-61b7e9a3.js"),["assets/device-61b7e9a3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-f070f46c.js"),["assets/device-f070f46c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-64c77c03.js"),["assets/device-64c77c03.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-a956ceef.js"),["assets/device-a956ceef.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-df82d4f8.js"),["assets/device-df82d4f8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-0a7cbd91.js"),["assets/device-0a7cbd91.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-88332cb4.js"),["assets/device-88332cb4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-39b62289.js"),["assets/device-39b62289.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-b57ef569.js"),["assets/device-b57ef569.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-14ca9649.js"),["assets/device-14ca9649.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-ca2ff40d.js"),["assets/device-ca2ff40d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-21407938.js"),["assets/device-21407938.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-9d4c53e5.js"),["assets/device-9d4c53e5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-e18d4fc2.js"),["assets/device-e18d4fc2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-1575de24.js"),["assets/device-1575de24.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-3e072659.js"),["assets/device-3e072659.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-f4441f40.js"),["assets/device-f4441f40.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-14dde0de.js"),["assets/device-14dde0de.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-7b06f275.js"),["assets/device-7b06f275.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-ccff4af8.js"),["assets/device-ccff4af8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-5c8a06f7.js"),["assets/device-5c8a06f7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-953102b6.js"),["assets/device-953102b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-bb762753.js"),["assets/device-bb762753.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-57353c76.js"),["assets/device-57353c76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-2751af54.js"),["assets/device-2751af54.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-6ab8fcfa.js"),["assets/device-6ab8fcfa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-daeda226.js"),["assets/device-daeda226.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-7de31de4.js"),["assets/device-7de31de4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-7ff18a77.js"),["assets/device-7ff18a77.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-5e0c6b57.js"),["assets/device-5e0c6b57.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-b7468734.js"),["assets/device-b7468734.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-42cfcbe9.js"),["assets/device-42cfcbe9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(o){this.$emit("update:configuration",o)}}};function me(o,t,i,m,v,n){return s(),E(Z(n.getComponent()),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":t[0]||(t[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=T(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,H);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([o,t])=>({label:t.group_name,options:Object.entries(t.vendors).map(([i,m])=>({value:[o,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((o,t)=>-o.label.localeCompare(t.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[o,t]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][o].vendors[t].devices).map(([i,m])=>({value:[t,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(o){return o.match(/^(.+_)?counter(_.+)?$/)?"danger":o.match(/^(.+_)?inverter(_.+)?$/)?"success":o.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(o){return o.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:o.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:o.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(o){return this.getWildcardTopics("openWB/system/device/"+o+"/component/+/config")},deviceHasConfiguredComponents(o){return Object.keys(this.getMyInstalledComponents(o)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(o,t,i){i.stopPropagation(),this.modalDevice=o,this.modalDeviceName=t,this.showDeviceRemoveModal=!0},removeDevice(o){this.showDeviceRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(o,t,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:o,deviceType:i,deviceVendor:t,type:m}})},removeComponentModal(o,t,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:o,id:t,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(o){this.showComponentRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(o,t){if(o===void 0||t===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[o]!==void 0?(m.vendors[o].devices[t]!==void 0&&(i=Object.entries(m.vendors[o].devices[t].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(o,t){console.debug("updateConfiguration",o,t),this.updateState(o,t.value,t.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(o,t,i,m,v,n){const l=p("openwb-base-modal-dialog"),I=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),x=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[t[7]||(t[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(I,{to:"/LoadManagementConfiguration"},{default:r(()=>t[6]||(t[6]=[d(" Lastmanagement ")])),_:1}),t[8]||(t[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[o.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>t[9]||(t[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>o.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),t[17]||(t[17]=c("hr",null,null,-1)),u(x,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),t[18]||(t[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...t[10]||(t[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...t[11]||(t[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>o.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>o.updateState(f,b,"info.manufacturer")},{help:r(()=>[...t[12]||(t[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>o.updateState(f,b,"info.model")},{help:r(()=>[...t[13]||(t[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t[14]||(t[14]=c("hr",null,null,-1)),u(x,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),t[19]||(t[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...t[15]||(t[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...t[16]||(t[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":t[0]||(t[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[t[1]||(t[1]=_=>v.deviceToAdd=_),t[2]||(t[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>t[20]||(t[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:t[3]||(t[3]=_=>o.$emit("save")),onReset:t[4]||(t[4]=_=>o.$emit("reset")),onDefaults:t[5]||(t[5]=_=>o.$emit("defaults"))})])])],64)}const Te=T(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Te as H,Le as a}; +import{l as S,d as U,t as q,ad as G,a6 as N,V as K,U as F,T as H,F as $}from"./vendor-fortawesome-433470db.js";import{_ as e,C as J}from"./index-cc8f65ba.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{_ as T,u as p,l as s,m as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-ea36120f.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(o,t=void 0){this.$emit("update:configuration",{value:o,object:t})}}},B=T(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},te={key:1};function oe(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(o.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(o.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",te,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(o.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.device.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=T(Y,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=T(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(o.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(o.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(o.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.component.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=T(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],methods:{getComponent(){var o;return console.debug(`loading component: ${this.device.type} / ${(o=this.component)==null?void 0:o.type}`),this.component!==void 0?z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-e44ec84b.js"),["assets/device-e44ec84b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-509a4ac4.js"),["assets/device-509a4ac4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-d1c48c2c.js"),["assets/device-d1c48c2c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-249da548.js"),["assets/device-249da548.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-dd9fc66e.js"),["assets/device-dd9fc66e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-f447aa74.js"),["assets/inverter-f447aa74.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-88e6829b.js"),["assets/device-88e6829b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-b03c0db9.js"),["assets/counter-b03c0db9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-67811713.js"),["assets/device-67811713.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-e36a210d.js"),["assets/bat-e36a210d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-fa232f15.js"),["assets/counter-fa232f15.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-1565347a.js"),["assets/device-1565347a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-39ce3cb1.js"),["assets/inverter-39ce3cb1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-cfb2a7aa.js"),["assets/counter-cfb2a7aa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-eb9518f3.js"),["assets/device-eb9518f3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-d75d32f1.js"),["assets/inverter-d75d32f1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-52c218d2.js"),["assets/device-52c218d2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-d5ce341d.js"),["assets/counter-d5ce341d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-716c4065.js"),["assets/device-716c4065.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-f9eaf59e.js"),["assets/inverter-f9eaf59e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-d47d1fd1.js"),["assets/bat-d47d1fd1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-aacbf2a5.js"),["assets/device-aacbf2a5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-845b945a.js"),["assets/bat-845b945a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-8b96457f.js"),["assets/counter-8b96457f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-8c5dabb3.js"),["assets/device-8c5dabb3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-62de90f4.js"),["assets/inverter-62de90f4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-13f506c4.js"),["assets/bat-13f506c4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-66058b82.js"),["assets/counter_sm-66058b82.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-a9846396.js"),["assets/device-a9846396.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-daf65789.js"),["assets/inverter_secondary-daf65789.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-5d86d2d0.js"),["assets/bat-5d86d2d0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-7311f96b.js"),["assets/counter-7311f96b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-9749c9e1.js"),["assets/device-9749c9e1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-db7c45b0.js"),["assets/inverter-db7c45b0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-d9cdd38d.js"),["assets/bat-d9cdd38d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-40d2f2a6.js"),["assets/counter-40d2f2a6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-354918a0.js"),["assets/device-354918a0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-6157a590.js"),["assets/inverter-6157a590.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-5bcb481a.js"),["assets/bat-5bcb481a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-8d45ef9c.js"),["assets/counter-8d45ef9c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-6659803e.js"),["assets/device-6659803e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-c0d3b643.js"),["assets/inverter-c0d3b643.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-3492fd19.js"),["assets/counter-3492fd19.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-ae68eae2.js"),["assets/device-ae68eae2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-99e093c0.js"),["assets/device-99e093c0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-99900f00.js"),["assets/device-99900f00.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-ba97b9ec.js"),["assets/bat-ba97b9ec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-bef0b821.js"),["assets/counter-bef0b821.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-4c55f797.js"),["assets/device-4c55f797.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-4a2cdfd9.js"),["assets/inverter-4a2cdfd9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-7a033879.js"),["assets/counter-7a033879.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-dbe167d8.js"),["assets/device-dbe167d8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-018e7196.js"),["assets/counter-018e7196.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-5ceb63e9.js"),["assets/device-5ceb63e9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-e8d6d647.js"),["assets/inverter-e8d6d647.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-45df0691.js"),["assets/device-45df0691.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-19e7f139.js"),["assets/counter-19e7f139.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8de467ac.js"),["assets/device-8de467ac.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-ab315ba3.js"),["assets/counter-ab315ba3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-9befb1d4.js"),["assets/device-9befb1d4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-30d7c2e0.js"),["assets/device-30d7c2e0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-456adc79.js"),["assets/inverter-456adc79.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-4e960663.js"),["assets/device-4e960663.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-b459c554.js"),["assets/bat-b459c554.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-55c27daf.js"),["assets/counter-55c27daf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-f1c2a7a5.js"),["assets/device-f1c2a7a5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-c1990994.js"),["assets/inverter-c1990994.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-3e5adae7.js"),["assets/device-3e5adae7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-5571eba7.js"),["assets/inverter-5571eba7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-a09a1026.js"),["assets/bat-a09a1026.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-508dda8e.js"),["assets/bat-508dda8e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-d1809224.js"),["assets/counter-d1809224.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-82378537.js"),["assets/inverter-82378537.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-8885d269.js"),["assets/bat-8885d269.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-704c01f7.js"),["assets/consumption_counter-704c01f7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-958da48c.js"),["assets/counter-958da48c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-4f5bf65a.js"),["assets/device-4f5bf65a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-0931beee.js"),["assets/inverter-0931beee.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-1eaedb65.js"),["assets/inverter-1eaedb65.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-ccad25ea.js"),["assets/counter-ccad25ea.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-c8cf6368.js"),["assets/device-c8cf6368.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-7668209b.js"),["assets/counter-7668209b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-1830d04b.js"),["assets/device-1830d04b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-896676a9.js"),["assets/inverter-896676a9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-3be14789.js"),["assets/device-3be14789.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-968183c7.js"),["assets/device-968183c7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-fcda5bd2.js"),["assets/device-fcda5bd2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-48217739.js"),["assets/counter-48217739.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-fd0ed77c.js"),["assets/device-fd0ed77c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-f3f81832.js"),["assets/device-f3f81832.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-357d44c6.js"),["assets/device-357d44c6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-09e11c39.js"),["assets/bat-09e11c39.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-00141858.js"),["assets/counter-00141858.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-906beffa.js"),["assets/device-906beffa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-25109ec8.js"),["assets/inverter-25109ec8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-76eff543.js"),["assets/counter-76eff543.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-cad24111.js"),["assets/inverter-cad24111.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-47aea623.js"),["assets/bat-47aea623.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-8db62ce9.js"),["assets/bat_smart_energy-8db62ce9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-5a3251ce.js"),["assets/counter-5a3251ce.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-3d86bc85.js"),["assets/device-3d86bc85.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-a427739c.js"),["assets/inverter-a427739c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-1c531740.js"),["assets/bat-1c531740.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-8c6a7cd7.js"),["assets/device-8c6a7cd7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-a0c4f59d.js"),["assets/device-a0c4f59d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-8520ea8e.js"),["assets/counter-8520ea8e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-6656b07f.js"),["assets/device-6656b07f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-498c1656.js"),["assets/inverter-498c1656.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-7075a0a8.js"),["assets/device-7075a0a8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-2f945435.js"),["assets/device-2f945435.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-95bdcdb7.js"),["assets/counter-95bdcdb7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-264114d8.js"),["assets/device-264114d8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-31e5797e.js"),["assets/device-31e5797e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-30cf9ccf.js"),["assets/inverter-30cf9ccf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-c61fae76.js"),["assets/device-c61fae76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-4f7aad98.js"),["assets/device-4f7aad98.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-6ae70208.js"),["assets/bat-6ae70208.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-a31f5e7d.js"),["assets/counter-a31f5e7d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-23e00b31.js"),["assets/device-23e00b31.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-19cf6472.js"),["assets/external_inverter-19cf6472.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-68f31134.js"),["assets/inverter-68f31134.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-655f55cd.js"),["assets/bat-655f55cd.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-123cfe52.js"),["assets/device-123cfe52.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-997c828c.js"),["assets/inverter-997c828c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-b21c21f9.js"),["assets/device-b21c21f9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-5d80d1b1.js"),["assets/bat-5d80d1b1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-394e8014.js"),["assets/counter-394e8014.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-e29a0ff7.js"),["assets/device-e29a0ff7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-1e549543.js"),["assets/inverter-1e549543.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-1b273ac4.js"),["assets/counter-1b273ac4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-1b11a3ea.js"),["assets/device-1b11a3ea.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-c05ee012.js"),["assets/bat-c05ee012.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-7f7452f2.js"),["assets/device-7f7452f2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-0dee4ab1.js"),["assets/inverter-0dee4ab1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-a319d4b6.js"),["assets/device-a319d4b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-54f1a203.js"),["assets/device-54f1a203.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-04b7418e.js"),["assets/device-04b7418e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-aed75c81.js"),["assets/counter-aed75c81.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-653a19f8.js"),["assets/device-653a19f8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-3f9eff90.js"),["assets/device-3f9eff90.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-f413f2e1.js"),["assets/inverter-f413f2e1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-434d0404.js"),["assets/bat-434d0404.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-75e3d92e.js"),["assets/counter-75e3d92e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-3435a852.js"),["assets/device-3435a852.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-f287a1d4.js"),["assets/inverter-f287a1d4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-f0638cd4.js"),["assets/counter-f0638cd4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-5cc2cdfa.js"),["assets/device-5cc2cdfa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-617b5e4a.js"),["assets/inverter-617b5e4a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-f0eb9f12.js"),["assets/device-f0eb9f12.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-2d9123ee.js"),["assets/inverter-2d9123ee.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-e44ec84b.js"),["assets/device-e44ec84b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-509a4ac4.js"),["assets/device-509a4ac4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-d1c48c2c.js"),["assets/device-d1c48c2c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-249da548.js"),["assets/device-249da548.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-dd9fc66e.js"),["assets/device-dd9fc66e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-88e6829b.js"),["assets/device-88e6829b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-67811713.js"),["assets/device-67811713.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-1565347a.js"),["assets/device-1565347a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-eb9518f3.js"),["assets/device-eb9518f3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-52c218d2.js"),["assets/device-52c218d2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-716c4065.js"),["assets/device-716c4065.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-aacbf2a5.js"),["assets/device-aacbf2a5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-8c5dabb3.js"),["assets/device-8c5dabb3.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-a9846396.js"),["assets/device-a9846396.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-9749c9e1.js"),["assets/device-9749c9e1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-354918a0.js"),["assets/device-354918a0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-6659803e.js"),["assets/device-6659803e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-ae68eae2.js"),["assets/device-ae68eae2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-99e093c0.js"),["assets/device-99e093c0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-99900f00.js"),["assets/device-99900f00.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-4c55f797.js"),["assets/device-4c55f797.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-dbe167d8.js"),["assets/device-dbe167d8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-5ceb63e9.js"),["assets/device-5ceb63e9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-45df0691.js"),["assets/device-45df0691.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8de467ac.js"),["assets/device-8de467ac.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-9befb1d4.js"),["assets/device-9befb1d4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-30d7c2e0.js"),["assets/device-30d7c2e0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-4e960663.js"),["assets/device-4e960663.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-f1c2a7a5.js"),["assets/device-f1c2a7a5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-3e5adae7.js"),["assets/device-3e5adae7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-4f5bf65a.js"),["assets/device-4f5bf65a.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-c8cf6368.js"),["assets/device-c8cf6368.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-1830d04b.js"),["assets/device-1830d04b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-3be14789.js"),["assets/device-3be14789.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-968183c7.js"),["assets/device-968183c7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-fcda5bd2.js"),["assets/device-fcda5bd2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-fd0ed77c.js"),["assets/device-fd0ed77c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-f3f81832.js"),["assets/device-f3f81832.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-357d44c6.js"),["assets/device-357d44c6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-906beffa.js"),["assets/device-906beffa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-3d86bc85.js"),["assets/device-3d86bc85.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-8c6a7cd7.js"),["assets/device-8c6a7cd7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-a0c4f59d.js"),["assets/device-a0c4f59d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-6656b07f.js"),["assets/device-6656b07f.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-7075a0a8.js"),["assets/device-7075a0a8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-2f945435.js"),["assets/device-2f945435.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-264114d8.js"),["assets/device-264114d8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-31e5797e.js"),["assets/device-31e5797e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-c61fae76.js"),["assets/device-c61fae76.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-4f7aad98.js"),["assets/device-4f7aad98.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-23e00b31.js"),["assets/device-23e00b31.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-123cfe52.js"),["assets/device-123cfe52.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-b21c21f9.js"),["assets/device-b21c21f9.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-e29a0ff7.js"),["assets/device-e29a0ff7.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-1b11a3ea.js"),["assets/device-1b11a3ea.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-7f7452f2.js"),["assets/device-7f7452f2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-a319d4b6.js"),["assets/device-a319d4b6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-54f1a203.js"),["assets/device-54f1a203.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-04b7418e.js"),["assets/device-04b7418e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-653a19f8.js"),["assets/device-653a19f8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-3f9eff90.js"),["assets/device-3f9eff90.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-3435a852.js"),["assets/device-3435a852.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-5cc2cdfa.js"),["assets/device-5cc2cdfa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-f0eb9f12.js"),["assets/device-f0eb9f12.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(o){this.$emit("update:configuration",o)}}};function me(o,t,i,m,v,n){return s(),E(Z(n.getComponent()),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":t[0]||(t[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=T(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,H);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([o,t])=>({label:t.group_name,options:Object.entries(t.vendors).map(([i,m])=>({value:[o,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((o,t)=>-o.label.localeCompare(t.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[o,t]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][o].vendors[t].devices).map(([i,m])=>({value:[t,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(o){return o.match(/^(.+_)?counter(_.+)?$/)?"danger":o.match(/^(.+_)?inverter(_.+)?$/)?"success":o.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(o){return o.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:o.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:o.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(o){return this.getWildcardTopics("openWB/system/device/"+o+"/component/+/config")},deviceHasConfiguredComponents(o){return Object.keys(this.getMyInstalledComponents(o)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(o,t,i){i.stopPropagation(),this.modalDevice=o,this.modalDeviceName=t,this.showDeviceRemoveModal=!0},removeDevice(o){this.showDeviceRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(o,t,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:o,deviceType:i,deviceVendor:t,type:m}})},removeComponentModal(o,t,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:o,id:t,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(o){this.showComponentRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(o,t){if(o===void 0||t===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[o]!==void 0?(m.vendors[o].devices[t]!==void 0&&(i=Object.entries(m.vendors[o].devices[t].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(o,t){console.debug("updateConfiguration",o,t),this.updateState(o,t.value,t.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(o,t,i,m,v,n){const l=p("openwb-base-modal-dialog"),I=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),x=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[t[7]||(t[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(I,{to:"/LoadManagementConfiguration"},{default:r(()=>t[6]||(t[6]=[d(" Lastmanagement ")])),_:1}),t[8]||(t[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[o.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>t[9]||(t[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>o.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),t[17]||(t[17]=c("hr",null,null,-1)),u(x,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),t[18]||(t[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...t[10]||(t[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...t[11]||(t[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>o.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>o.updateState(f,b,"info.manufacturer")},{help:r(()=>[...t[12]||(t[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>o.updateState(f,b,"info.model")},{help:r(()=>[...t[13]||(t[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t[14]||(t[14]=c("hr",null,null,-1)),u(x,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),t[19]||(t[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...t[15]||(t[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...t[16]||(t[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":t[0]||(t[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[t[1]||(t[1]=_=>v.deviceToAdd=_),t[2]||(t[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>t[20]||(t[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:t[3]||(t[3]=_=>o.$emit("save")),onReset:t[4]||(t[4]=_=>o.$emit("reset")),onDefaults:t[5]||(t[5]=_=>o.$emit("defaults"))})])])],64)}const Te=T(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Te as H,Le as a}; diff --git a/web/settings/assets/InstallAssistant-65380186.js b/web/settings/assets/InstallAssistant-06ef733c.js similarity index 51% rename from web/settings/assets/InstallAssistant-65380186.js rename to web/settings/assets/InstallAssistant-06ef733c.js index b86a282b52..94fc946b2f 100644 --- a/web/settings/assets/InstallAssistant-65380186.js +++ b/web/settings/assets/InstallAssistant-06ef733c.js @@ -1 +1 @@ -import{C as r,_ as t}from"./index-ad11aee2.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,l as i,m as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},methods:{getInstallAssistantStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-68306e3f.js"),["assets/InstallAssistantStep0-68306e3f.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-692e44e9.js"),["assets/InstallAssistantStep1-692e44e9.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-675df4b8.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-f626998c.js"),["assets/InstallAssistantStep10-f626998c.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-2a39146c.js"),["assets/InstallAssistantStep2-2a39146c.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-4169c132.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-3d904596.js"),["assets/InstallAssistantStep3-3d904596.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-233a15bd.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-7e765fb5.js"),["assets/InstallAssistantStep4-7e765fb5.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e034ae7d.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-5d16bdf0.js"),["assets/InstallAssistantStep5-5d16bdf0.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-46934147.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-65249f16.js"),["assets/InstallAssistantStep6-65249f16.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e034ae7d.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-4d960679.js"),["assets/InstallAssistantStep7-4d960679.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-64d3beba.js","assets/OpenwbSortableList-84f65f8b.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-fe619032.js"),["assets/InstallAssistantStep8-fe619032.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-42b044ac.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-74412e79.js"),["assets/InstallAssistantStep9-74412e79.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-947f4c7a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-675df4b8.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-947f4c7a.js"),["assets/InstallAssistantStepTemplate-947f4c7a.js","assets/index-ad11aee2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})},switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.getInstallAssistantStepComponent()),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; +import{C as r,_ as t}from"./index-cc8f65ba.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,l as i,m as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},methods:{getInstallAssistantStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-e773f28e.js"),["assets/InstallAssistantStep0-e773f28e.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-e0d32a00.js"),["assets/InstallAssistantStep1-e0d32a00.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-f14600c5.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-1b3e0f38.js"),["assets/InstallAssistantStep10-1b3e0f38.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-50ad5d87.js"),["assets/InstallAssistantStep2-50ad5d87.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-20e6cb5e.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-ac7124e1.js"),["assets/InstallAssistantStep3-ac7124e1.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-b0e93144.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-b1f7c847.js"),["assets/InstallAssistantStep4-b1f7c847.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-408ee2ed.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-133577c4.js"),["assets/InstallAssistantStep5-133577c4.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-3a644290.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-fe6bd91e.js"),["assets/InstallAssistantStep6-fe6bd91e.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-408ee2ed.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-51125106.js"),["assets/InstallAssistantStep7-51125106.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-c15dfafe.js","assets/OpenwbSortableList-bde71f66.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-1047f636.js"),["assets/InstallAssistantStep8-1047f636.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-a49bda81.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-bd70c725.js"),["assets/InstallAssistantStep9-bd70c725.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-3bdc8973.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-f14600c5.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-3bdc8973.js"),["assets/InstallAssistantStepTemplate-3bdc8973.js","assets/index-cc8f65ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})},switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.getInstallAssistantStepComponent()),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; diff --git a/web/settings/assets/InstallAssistantStep0-68306e3f.js b/web/settings/assets/InstallAssistantStep0-e773f28e.js similarity index 92% rename from web/settings/assets/InstallAssistantStep0-68306e3f.js rename to web/settings/assets/InstallAssistantStep0-e773f28e.js index 8697cd9e4f..fe39c9431f 100644 --- a/web/settings/assets/InstallAssistantStep0-68306e3f.js +++ b/web/settings/assets/InstallAssistantStep0-e773f28e.js @@ -1 +1 @@ -import{C as u}from"./index-ad11aee2.js";import d from"./InstallAssistantStepTemplate-947f4c7a.js";import{_ as p,u as i,l as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; +import{C as u}from"./index-cc8f65ba.js";import d from"./InstallAssistantStepTemplate-3bdc8973.js";import{_ as p,u as i,l as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; diff --git a/web/settings/assets/InstallAssistantStep1-692e44e9.js b/web/settings/assets/InstallAssistantStep1-e0d32a00.js similarity index 85% rename from web/settings/assets/InstallAssistantStep1-692e44e9.js rename to web/settings/assets/InstallAssistantStep1-e0d32a00.js index 574b93bf86..3ecc62dd60 100644 --- a/web/settings/assets/InstallAssistantStep1-692e44e9.js +++ b/web/settings/assets/InstallAssistantStep1-e0d32a00.js @@ -1 +1 @@ -import{C as m}from"./index-ad11aee2.js";import p from"./InstallAssistantStepTemplate-947f4c7a.js";import{D as l}from"./DataManagement-675df4b8.js";import{_ as d,u as a,l as u,z as g,E as o,x as f,G as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; +import{C as m}from"./index-cc8f65ba.js";import p from"./InstallAssistantStepTemplate-3bdc8973.js";import{D as l}from"./DataManagement-f14600c5.js";import{_ as d,u as a,l as u,z as g,E as o,x as f,G as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; diff --git a/web/settings/assets/InstallAssistantStep10-f626998c.js b/web/settings/assets/InstallAssistantStep10-1b3e0f38.js similarity index 87% rename from web/settings/assets/InstallAssistantStep10-f626998c.js rename to web/settings/assets/InstallAssistantStep10-1b3e0f38.js index b8de717326..249694bf7d 100644 --- a/web/settings/assets/InstallAssistantStep10-f626998c.js +++ b/web/settings/assets/InstallAssistantStep10-1b3e0f38.js @@ -1 +1 @@ -import{C as a}from"./index-ad11aee2.js";import o from"./InstallAssistantStepTemplate-947f4c7a.js";import{_ as r,u as l,l as m,z as p,E as d,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; +import{C as a}from"./index-cc8f65ba.js";import o from"./InstallAssistantStepTemplate-3bdc8973.js";import{_ as r,u as l,l as m,z as p,E as d,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; diff --git a/web/settings/assets/InstallAssistantStep2-2a39146c.js b/web/settings/assets/InstallAssistantStep2-50ad5d87.js similarity index 88% rename from web/settings/assets/InstallAssistantStep2-2a39146c.js rename to web/settings/assets/InstallAssistantStep2-50ad5d87.js index 341eeccfb3..276b0878a1 100644 --- a/web/settings/assets/InstallAssistantStep2-2a39146c.js +++ b/web/settings/assets/InstallAssistantStep2-50ad5d87.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import u from"./InstallAssistantStepTemplate-947f4c7a.js";import d from"./System-4169c132.js";import{_ as p,u as a,l as f,z as g,E as o,x as s,G as S}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; +import{C as l}from"./index-cc8f65ba.js";import u from"./InstallAssistantStepTemplate-3bdc8973.js";import d from"./System-20e6cb5e.js";import{_ as p,u as a,l as f,z as g,E as o,x as s,G as S}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; diff --git a/web/settings/assets/InstallAssistantStep3-3d904596.js b/web/settings/assets/InstallAssistantStep3-ac7124e1.js similarity index 91% rename from web/settings/assets/InstallAssistantStep3-3d904596.js rename to web/settings/assets/InstallAssistantStep3-ac7124e1.js index 82db2b5517..85dd5476d1 100644 --- a/web/settings/assets/InstallAssistantStep3-3d904596.js +++ b/web/settings/assets/InstallAssistantStep3-ac7124e1.js @@ -1 +1 @@ -import{C as u}from"./index-ad11aee2.js";import d from"./InstallAssistantStepTemplate-947f4c7a.js";import{G as m}from"./GeneralConfig-233a15bd.js";import{_ as p,u as a,l as g,z as f,E as i,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; +import{C as u}from"./index-cc8f65ba.js";import d from"./InstallAssistantStepTemplate-3bdc8973.js";import{G as m}from"./GeneralConfig-b0e93144.js";import{_ as p,u as a,l as g,z as f,E as i,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep4-7e765fb5.js b/web/settings/assets/InstallAssistantStep4-b1f7c847.js similarity index 90% rename from web/settings/assets/InstallAssistantStep4-7e765fb5.js rename to web/settings/assets/InstallAssistantStep4-b1f7c847.js index a8e1700f8d..952fb125d1 100644 --- a/web/settings/assets/InstallAssistantStep4-7e765fb5.js +++ b/web/settings/assets/InstallAssistantStep4-b1f7c847.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import p from"./InstallAssistantStepTemplate-947f4c7a.js";import{b as u}from"./ChargePointInstallation-e034ae7d.js";import{_ as m,u as a,l as g,z as f,E as o,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; +import{C as l}from"./index-cc8f65ba.js";import p from"./InstallAssistantStepTemplate-3bdc8973.js";import{b as u}from"./ChargePointInstallation-408ee2ed.js";import{_ as m,u as a,l as g,z as f,E as o,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; diff --git a/web/settings/assets/InstallAssistantStep5-5d16bdf0.js b/web/settings/assets/InstallAssistantStep5-133577c4.js similarity index 91% rename from web/settings/assets/InstallAssistantStep5-5d16bdf0.js rename to web/settings/assets/InstallAssistantStep5-133577c4.js index 35bd312c79..9889682fc8 100644 --- a/web/settings/assets/InstallAssistantStep5-5d16bdf0.js +++ b/web/settings/assets/InstallAssistantStep5-133577c4.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import m from"./InstallAssistantStepTemplate-947f4c7a.js";import{H as u}from"./HardwareInstallation-46934147.js";import{_ as p,u as r,l as g,z as f,E as a,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; +import{C as l}from"./index-cc8f65ba.js";import m from"./InstallAssistantStepTemplate-3bdc8973.js";import{H as u}from"./HardwareInstallation-3a644290.js";import{_ as p,u as r,l as g,z as f,E as a,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep6-65249f16.js b/web/settings/assets/InstallAssistantStep6-fe6bd91e.js similarity index 92% rename from web/settings/assets/InstallAssistantStep6-65249f16.js rename to web/settings/assets/InstallAssistantStep6-fe6bd91e.js index 05db73cc9c..34733acb3b 100644 --- a/web/settings/assets/InstallAssistantStep6-65249f16.js +++ b/web/settings/assets/InstallAssistantStep6-fe6bd91e.js @@ -1 +1 @@ -import{C as d}from"./index-ad11aee2.js";import u from"./InstallAssistantStepTemplate-947f4c7a.js";import{b as p}from"./ChargePointInstallation-e034ae7d.js";import{_ as m,u as a,l as g,z as h,E as r,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; +import{C as d}from"./index-cc8f65ba.js";import u from"./InstallAssistantStepTemplate-3bdc8973.js";import{b as p}from"./ChargePointInstallation-408ee2ed.js";import{_ as m,u as a,l as g,z as h,E as r,x as n,G as w}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; diff --git a/web/settings/assets/InstallAssistantStep7-4d960679.js b/web/settings/assets/InstallAssistantStep7-51125106.js similarity index 89% rename from web/settings/assets/InstallAssistantStep7-4d960679.js rename to web/settings/assets/InstallAssistantStep7-51125106.js index b2473f27c4..673be718c0 100644 --- a/web/settings/assets/InstallAssistantStep7-4d960679.js +++ b/web/settings/assets/InstallAssistantStep7-51125106.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import m from"./InstallAssistantStepTemplate-947f4c7a.js";import p from"./LoadManagementConfig-64d3beba.js";import{_ as u,u as r,l as g,z as h,E as a,x as n,G as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./OpenwbSortableList-84f65f8b.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; +import{C as l}from"./index-cc8f65ba.js";import m from"./InstallAssistantStepTemplate-3bdc8973.js";import p from"./LoadManagementConfig-c15dfafe.js";import{_ as u,u as r,l as g,z as h,E as a,x as n,G as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./OpenwbSortableList-bde71f66.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; diff --git a/web/settings/assets/InstallAssistantStep8-fe619032.js b/web/settings/assets/InstallAssistantStep8-1047f636.js similarity index 91% rename from web/settings/assets/InstallAssistantStep8-fe619032.js rename to web/settings/assets/InstallAssistantStep8-1047f636.js index c2614582e1..7b83fe2890 100644 --- a/web/settings/assets/InstallAssistantStep8-fe619032.js +++ b/web/settings/assets/InstallAssistantStep8-1047f636.js @@ -1 +1 @@ -import{C as g}from"./index-ad11aee2.js";import p from"./InstallAssistantStepTemplate-947f4c7a.js";import{a as h}from"./VehicleConfig-42b044ac.js";import{F as f}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as z,u as r,l as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; +import{C as g}from"./index-cc8f65ba.js";import p from"./InstallAssistantStepTemplate-3bdc8973.js";import{a as h}from"./VehicleConfig-a49bda81.js";import{F as f}from"./vendor-fortawesome-433470db.js";import{_ as z,u as r,l as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; diff --git a/web/settings/assets/InstallAssistantStep9-74412e79.js b/web/settings/assets/InstallAssistantStep9-bd70c725.js similarity index 88% rename from web/settings/assets/InstallAssistantStep9-74412e79.js rename to web/settings/assets/InstallAssistantStep9-bd70c725.js index b28a8b8392..bce073fa64 100644 --- a/web/settings/assets/InstallAssistantStep9-74412e79.js +++ b/web/settings/assets/InstallAssistantStep9-bd70c725.js @@ -1 +1 @@ -import{C as m}from"./index-ad11aee2.js";import p from"./InstallAssistantStepTemplate-947f4c7a.js";import{D as u}from"./DataManagement-675df4b8.js";import{_ as d,u as i,l as g,z as f,E as o,x as a,G as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; +import{C as m}from"./index-cc8f65ba.js";import p from"./InstallAssistantStepTemplate-3bdc8973.js";import{D as u}from"./DataManagement-f14600c5.js";import{_ as d,u as i,l as g,z as f,E as o,x as a,G as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; diff --git a/web/settings/assets/InstallAssistantStepTemplate-947f4c7a.js b/web/settings/assets/InstallAssistantStepTemplate-3bdc8973.js similarity index 92% rename from web/settings/assets/InstallAssistantStepTemplate-947f4c7a.js rename to web/settings/assets/InstallAssistantStepTemplate-3bdc8973.js index e6193e6103..94f1bc6d39 100644 --- a/web/settings/assets/InstallAssistantStepTemplate-947f4c7a.js +++ b/web/settings/assets/InstallAssistantStepTemplate-3bdc8973.js @@ -1 +1 @@ -import{C as g}from"./index-ad11aee2.js";import{l as v,ap as y,aq as w,F as x}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as k,u as r,l as i,m as a,G as t,E as s,x as n,y as c,B as p,p as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,q,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; +import{C as g}from"./index-cc8f65ba.js";import{l as v,ao as y,ap as w,F as x}from"./vendor-fortawesome-433470db.js";import{_ as k,u as r,l as i,m as a,G as t,E as s,x as n,y as c,B as p,p as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,W,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; diff --git a/web/settings/assets/InstantChargeConfig-ab3ef774.js b/web/settings/assets/InstantChargeConfig-8da1d692.js similarity index 93% rename from web/settings/assets/InstantChargeConfig-ab3ef774.js rename to web/settings/assets/InstantChargeConfig-8da1d692.js index 337238fd17..cb194175e6 100644 --- a/web/settings/assets/InstantChargeConfig-ab3ef774.js +++ b/web/settings/assets/InstantChargeConfig-8da1d692.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import{_ as b,u as o,l as a,m as i,x as _,G as s,E as r,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const m=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(m,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; +import{C as l}from"./index-cc8f65ba.js";import{_ as b,u as o,l as a,m as i,x as _,G as s,E as r,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const m=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(m,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; diff --git a/web/settings/assets/LegalSettings-91ac676c.js b/web/settings/assets/LegalSettings-0ab5ea05.js similarity index 95% rename from web/settings/assets/LegalSettings-91ac676c.js rename to web/settings/assets/LegalSettings-0ab5ea05.js index 0fd753a2ea..47231b94ce 100644 --- a/web/settings/assets/LegalSettings-91ac676c.js +++ b/web/settings/assets/LegalSettings-0ab5ea05.js @@ -1 +1 @@ -import{l as _,aa as k,F as y}from"./vendor-fortawesome-c5ffc2b2.js";import{C as v}from"./index-ad11aee2.js";import{_ as B,u as n,l as i,m as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; +import{l as _,a9 as k,F as y}from"./vendor-fortawesome-433470db.js";import{C as v}from"./index-cc8f65ba.js";import{_ as B,u as n,l as i,m as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; diff --git a/web/settings/assets/LoadManagementConfig-64d3beba.js b/web/settings/assets/LoadManagementConfig-c15dfafe.js similarity index 98% rename from web/settings/assets/LoadManagementConfig-64d3beba.js rename to web/settings/assets/LoadManagementConfig-c15dfafe.js index c92333c1e1..ec496d6ee5 100644 --- a/web/settings/assets/LoadManagementConfig-64d3beba.js +++ b/web/settings/assets/LoadManagementConfig-c15dfafe.js @@ -1 +1 @@ -import{l as y,V as C,U as L,F as x}from"./vendor-fortawesome-c5ffc2b2.js";import{C as V}from"./index-ad11aee2.js";import{S as $}from"./OpenwbSortableList-84f65f8b.js";import{_ as q,u as l,l as u,m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; +import{l as y,U as C,T as L,F as x}from"./vendor-fortawesome-433470db.js";import{C as V}from"./index-cc8f65ba.js";import{S as $}from"./OpenwbSortableList-bde71f66.js";import{_ as q,u as l,l as u,m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; diff --git a/web/settings/assets/MqttBridgeConfig-509bcf1a.js b/web/settings/assets/MqttBridgeConfig-74fa4482.js similarity index 98% rename from web/settings/assets/MqttBridgeConfig-509bcf1a.js rename to web/settings/assets/MqttBridgeConfig-74fa4482.js index bccbfdd605..1e2abd60e6 100644 --- a/web/settings/assets/MqttBridgeConfig-509bcf1a.js +++ b/web/settings/assets/MqttBridgeConfig-74fa4482.js @@ -1 +1 @@ -import{l as x,d as C,a7 as A,F as q}from"./vendor-fortawesome-c5ffc2b2.js";import{C as z}from"./index-ad11aee2.js";import{_ as D,u,l as m,m as b,G as o,E as a,x as f,N as M,y as s,F as E,z as k,B as T,M as W}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},I={class:"mqttBridgeConfiguration"},P={key:0},Q={key:1},Z=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",I,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",P,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Q,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,Z))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; +import{l as x,d as C,a6 as A,F as q}from"./vendor-fortawesome-433470db.js";import{C as z}from"./index-cc8f65ba.js";import{_ as D,u,l as m,m as b,G as o,E as a,x as f,N as M,y as s,F as E,z as k,B as T,M as W}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},I={class:"mqttBridgeConfiguration"},P={key:0},Q={key:1},Z=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",I,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",P,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Q,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,Z))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; diff --git a/web/settings/assets/OpenwbSortableList-84f65f8b.js b/web/settings/assets/OpenwbSortableList-bde71f66.js similarity index 67% rename from web/settings/assets/OpenwbSortableList-84f65f8b.js rename to web/settings/assets/OpenwbSortableList-bde71f66.js index d0def61ea3..271b377b72 100644 --- a/web/settings/assets/OpenwbSortableList-84f65f8b.js +++ b/web/settings/assets/OpenwbSortableList-bde71f66.js @@ -1 +1 @@ -import{O as v}from"./index-ad11aee2.js";import{_ as b,a3 as V,u as l,l as o,z as i,E as d,x as p,q as S,G as f,B as k,y as _,F as g,D as O,p as m,m as B}from"./vendor-ea36120f.js";import{l as L,af as E,M as N,W as x,V as C,U as q,F as A}from"./vendor-fortawesome-c5ffc2b2.js";L.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function W(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:S(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):k("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const $=b(U,[["render",W],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),j={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:$},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},D={key:1};function F(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[m(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),B("div",D,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=b(j,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S}; +import{O as v}from"./index-cc8f65ba.js";import{_ as b,a3 as V,u as l,l as o,z as i,E as d,x as p,q as S,G as f,B as k,y as _,F as g,D as O,p as m,m as L}from"./vendor-ea36120f.js";import{l as B,ae as E,L as N,V as x,U as C,T as q,F as A}from"./vendor-fortawesome-433470db.js";B.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function $(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:S(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):k("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const j=b(U,[["render",$],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),D={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:j},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},F={key:1};function I(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[m(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),L("div",F,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const T=b(D,[["render",I],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{T as S}; diff --git a/web/settings/assets/OptionalComponents-d5d7da10.js b/web/settings/assets/OptionalComponents-f79f9835.js similarity index 94% rename from web/settings/assets/OptionalComponents-d5d7da10.js rename to web/settings/assets/OptionalComponents-f79f9835.js index 8af30b78ba..ad18d2fec4 100644 --- a/web/settings/assets/OptionalComponents-d5d7da10.js +++ b/web/settings/assets/OptionalComponents-f79f9835.js @@ -1,2 +1,2 @@ -import{_ as T,C}from"./index-ad11aee2.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a2 as z,a3 as V,F as E}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as v,u as p,l as s,m as d,z as y,E as o,y as i,F as g,G as n,x as l,a1 as L,a2 as I,N as F,B as _}from"./vendor-ea36120f.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,m){const r=p("openwb-base-alert"),b=p("openwb-base-textarea");return s(),d("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(r,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),d("div",P,[n(r,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getDisplayThemeComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),L({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-573c9744.js"),["assets/displayTheme-573c9744.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-db2e7dea.js"),["assets/displayTheme-db2e7dea.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,u,c,w,m){const r=p("font-awesome-icon"),b=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),d(F,null,[u.displayTheme.official?(s(),y(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(m.getDisplayThemeComponent()),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>m.updateConfiguration(h))},null,40,["display-theme"]))],64)}const H=v(U,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:H},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,m){const r=p("openwb-base-button-group-input"),b=p("openwb-base-alert"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),B=p("openwb-base-heading"),D=p("openwb-base-range-input"),W=p("openwb-base-select-input"),k=p("openwb-display-theme-proxy"),$=p("openwb-base-submit-buttons");return s(),d("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[n(r,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[10]||(e[10]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null,"Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen)."),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),d("div",Z,[n(b,{subtype:"info"},{default:o(()=>e[11]||(e[11]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),d("div",Q,[t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),d("div",X,[n(b,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":m.idTagList.join(` +import{_ as T,C}from"./index-cc8f65ba.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a1 as z,a2 as V,F as E}from"./vendor-fortawesome-433470db.js";import{_ as v,u as p,l as s,m as d,z as y,E as o,y as i,F as g,G as n,x as l,a1 as L,a2 as I,N as F,B as _}from"./vendor-ea36120f.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,m){const r=p("openwb-base-alert"),b=p("openwb-base-textarea");return s(),d("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(r,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),d("div",P,[n(r,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getDisplayThemeComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),L({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-64a8b4a0.js"),["assets/displayTheme-64a8b4a0.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-1e1ee4eb.js"),["assets/displayTheme-1e1ee4eb.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,u,c,w,m){const r=p("font-awesome-icon"),b=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),d(F,null,[u.displayTheme.official?(s(),y(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(m.getDisplayThemeComponent()),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>m.updateConfiguration(h))},null,40,["display-theme"]))],64)}const H=v(U,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:H},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,m){const r=p("openwb-base-button-group-input"),b=p("openwb-base-alert"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),B=p("openwb-base-heading"),D=p("openwb-base-range-input"),W=p("openwb-base-select-input"),k=p("openwb-display-theme-proxy"),$=p("openwb-base-submit-buttons");return s(),d("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[n(r,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[10]||(e[10]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null,"Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen)."),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),d("div",Z,[n(b,{subtype:"info"},{default:o(()=>e[11]||(e[11]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),d("div",Q,[t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),d("div",X,[n(b,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":m.idTagList.join(` `)},{help:o(()=>e[16]||(e[16]=[i(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. Bei der openWB Pro/Pro+ nur bei angestecktem Fahrzeug. ")])),_:1},8,["model-value"])])):_("",!0)]))]),_:1}),n(h,{title:"Display (intern oder extern)"},{default:o(()=>[n(r,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateState("openWB/optional/int_display/active",a))},{help:o(()=>e[17]||(e[17]=[i(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(s(),d("div",ee,[n(r,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateState("openWB/optional/int_display/rotation",a))},{help:o(()=>e[18]||(e[18]=[i(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),l("br",null,null,-1),i(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")])),_:1},8,["model-value"]),e[21]||(e[21]=l("hr",null,null,-1)),n(B,null,{default:o(()=>e[19]||(e[19]=[i(" Display Standby ")])),_:1}),n(D,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}],"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateState("openWB/optional/int_display/standby",a))},{help:o(()=>e[20]||(e[20]=[i(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")])),_:1},8,["model-value"])])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),d("div",te,[e[23]||(e[23]=l("hr",null,null,-1)),n(b,{subtype:"info"},{default:o(()=>e[22]||(e[22]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),d("div",ne,[e[26]||(e[26]=l("hr",null,null,-1)),n(r,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=a=>t.updateState("openWB/optional/int_display/only_local_charge_points",a))},{help:o(()=>e[24]||(e[24]=[i(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")])),_:1},8,["model-value"]),e[27]||(e[27]=l("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(s(),d("div",oe,[n(W,{class:"mb-2",title:"Theme des Displays",groups:m.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>m.updateSelectedDisplayTheme(a))},{help:o(()=>e[25]||(e[25]=[i(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(s(),y(k,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[6]||(e[6]=a=>m.updateConfiguration("openWB/optional/int_display/theme",a))},null,8,["display-theme"])):_("",!0)])):_("",!0)]))]),_:1}),n($,{"form-name":"optionalComponentsForm",onSave:e[7]||(e[7]=a=>t.$emit("save")),onReset:e[8]||(e[8]=a=>t.$emit("reset")),onDefaults:e[9]||(e[9]=a=>t.$emit("defaults"))})])])}const ae=v(J,[["render",ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{M as D,de as O}; diff --git a/web/settings/assets/PVChargeConfig-a9366468.js b/web/settings/assets/PVChargeConfig-a9366468.js deleted file mode 100644 index 96cca99df4..0000000000 --- a/web/settings/assets/PVChargeConfig-a9366468.js +++ /dev/null @@ -1 +0,0 @@ -import{C as B}from"./index-ad11aee2.js";import{l as S,W as V,a4 as k,a5 as z,F as y}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as E,u as g,l,m as u,x as o,G as i,E as a,y as t,F as C,z as _,B as f}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";S.add(V,k,z);const M={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},chargingSwitchRange:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},q={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},A={key:0},R={key:1},U={key:0},$={key:1},P={key:0},D={key:1},F={key:0};function N(n,e,p,I,x,s){const c=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),b=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),v=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return l(),u("div",q,[o("form",L,[i(b,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",A,[i(c,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",R,[i(m,{modelValue:s.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>s.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(c,{subtype:s.chargingSwitchRange<1400?"danger":"info"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1.4kW (230V x 6A) betragen. (Konfiguriert: "+C(s.chargingSwitchRange/1e3)+" kW) ",1)]),_:1},8,["subtype"]),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet. Wenn ein Speicher im System vorhanden ist, gilt die Abschaltschwelle auch für die Speicherentladung. Die Abschaltschwelle übersteuert den Mindest-SoC des Speichers (siehe Speicher-Beachtung unten)."),o("br",null,null,-1),t(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",U,[i(c,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",$,[i(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[31]||(e[31]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",P,[i(c,{subtype:"info"},{default:a(()=>e[32]||(e[32]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",D,[i(m,{modelValue:s.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>s.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[33]||(e[33]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[34]||(e[34]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[35]||(e[35]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[42]||(e[42]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[37]||(e[37]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[39]||(e[39]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[40]||(e[40]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[41]||(e[41]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),s.batMode==="min_soc_bat_mode"?(l(),u("div",F,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(v,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(m,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[44]||(e[44]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(l(),_(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(v,null,{default:a(()=>e[45]||(e[45]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(m,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[46]||(e[46]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(l(),_(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(M,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/PVChargeConfig-c750b618.js b/web/settings/assets/PVChargeConfig-c750b618.js new file mode 100644 index 0000000000..90a9e6bd04 --- /dev/null +++ b/web/settings/assets/PVChargeConfig-c750b618.js @@ -0,0 +1 @@ +import{C as S}from"./index-cc8f65ba.js";import{l as B,V,a3 as z,a4 as k,F as y}from"./vendor-fortawesome-433470db.js";import{_ as E,u as g,l,m as u,x as o,G as i,E as a,y as t,F as C,z as v,B as f}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";B.add(V,z,k);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[S],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},chargingSwitchRange:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},M={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},A={key:0},$={key:1},U={key:0},R={key:1},P={key:0},F={key:1},D={key:0};function N(n,e,p,I,x,s){const m=g("openwb-base-alert"),c=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),b=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),_=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return l(),u("div",M,[o("form",L,[i(b,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",A,[i(m,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",$,[i(c,{modelValue:s.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>s.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(m,{subtype:s.chargingSwitchRange<1400?"danger":"info"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+C((s.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(m,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:a(()=>e[24]||(e[24]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ")])),_:1},8,["subtype"]),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[25]||(e[25]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschaltschwelle, die Netzbezug erlaubt, führt in einem System ohne steuerbaren Speicher zur Entladung des Speichers. Der Speicher wird dann auch über den eingestellten Mindest-SoC hinaus entladen (siehe Speicherbeachtung unten). ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[26]||(e[26]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[30]||(e[30]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[27]||(e[27]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",U,[i(m,{subtype:"info"},{default:a(()=>e[31]||(e[31]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",R,[i(c,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[32]||(e[32]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",P,[i(m,{subtype:"info"},{default:a(()=>e[33]||(e[33]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",F,[i(c,{modelValue:s.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>s.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[34]||(e[34]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[35]||(e[35]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[36]||(e[36]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[43]||(e[43]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[37]||(e[37]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[38]||(e[38]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[39]||(e[39]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[40]||(e[40]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[41]||(e[41]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[42]||(e[42]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),s.batMode==="min_soc_bat_mode"?(l(),u("div",D,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(_,null,{default:a(()=>e[44]||(e[44]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(c,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[45]||(e[45]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(l(),v(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(_,null,{default:a(()=>e[46]||(e[46]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(c,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[47]||(e[47]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(l(),v(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(q,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/ScheduledChargeConfig-7157269c.js b/web/settings/assets/ScheduledChargeConfig-85a95906.js similarity index 96% rename from web/settings/assets/ScheduledChargeConfig-7157269c.js rename to web/settings/assets/ScheduledChargeConfig-85a95906.js index e2d135d1d3..3beb7303ab 100644 --- a/web/settings/assets/ScheduledChargeConfig-7157269c.js +++ b/web/settings/assets/ScheduledChargeConfig-85a95906.js @@ -1 +1 @@ -import{C as p}from"./index-ad11aee2.js";import{_ as h,u as s,l as i,m as u,x as b,G as o,E as a,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; +import{C as p}from"./index-cc8f65ba.js";import{_ as h,u as s,l as i,m as u,x as b,G as o,E as a,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; diff --git a/web/settings/assets/Status-3484f650.js b/web/settings/assets/Status-3484f650.js new file mode 100644 index 0000000000..52aa9c9010 --- /dev/null +++ b/web/settings/assets/Status-3484f650.js @@ -0,0 +1 @@ +import{C as y}from"./index-cc8f65ba.js";import{l as T,J as q,K as S,c as P,F as w,L as A,M as D,N as G,O as H,P as F,Q as Z,R as K,S as J,T as U,U as I,V as L,W as Q,X,Y}from"./vendor-fortawesome-433470db.js";import{_ as v,u as i,l as d,z as g,D as j,E as r,x as e,m as f,G as n,y as u,F as a,B as x,p as $,q as ee,N as B,M as N}from"./vendor-ea36120f.js";import{C as te,p as se,a as oe,L as ae,b as re,P as ie,c as ne,T as ce,i as de,d as le,e as pe}from"./vendor-chartjs-1398beb1.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-luxon-8ddd27a0.js";T.add(q,S,P);const me={name:"StatusCard",components:{FontAwesomeIcon:w},props:{subtype:{type:String,required:!0},state:{type:Number,required:!1,default:0},stateMessage:{type:String,required:!1,default:void 0},componentId:{type:Number,required:!1,default:void 0}},computed:{stateClass(){switch(this.state){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}},stateIcon(){switch(this.state){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},ue={class:"text-right"},ge={class:"container"},he={class:"row justify-content-end"},be={key:0,class:"col px-0"},_e={style:{"white-space":"pre-wrap"}},fe={key:1,class:"col col-auto pr-0"},ve={class:"text-right"};function ye(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card");return d(),g(m,{subtype:c.subtype,collapsible:!0,collapsed:!0,class:"pb-0"},j({header:r(()=>[$(s.$slots,"header-left")]),actions:r(()=>[e("div",ue,[$(s.$slots,"header-right")]),n(p,{class:ee([c.state===0?`text-${c.subtype}`:"","ml-1"]),"fixed-width":"",icon:t.stateIcon},null,8,["class","icon"])]),default:r(()=>[$(s.$slots,"default")]),_:2},[c.componentId!==void 0||c.stateMessage?{name:"footer",fn:r(()=>[e("div",ge,[e("div",he,[c.stateMessage?(d(),f("div",be,[n(l,{subtype:t.stateClass},{default:r(()=>[n(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[0]||(o[0]=u(" Modulmeldung: ")),e("span",_e,a(c.stateMessage),1)]),_:1},8,["subtype"])])):x("",!0),c.componentId!==void 0?(d(),f("div",fe,[e("div",ve,"ID: "+a(c.componentId),1)])):x("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const W=v(me,[["render",ye],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);T.add(A);const Te={name:"ChargePointSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported"]}},computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},we={class:"text-right"},xe={class:"row"},We={class:"col text-right text-monospace"},ke={class:"row"},Ce={class:"col-4 text-right text-monospace"},Be={class:"col-4 text-right text-monospace"},Ne={class:"row"},$e={class:"col-4 text-right text-monospace"},qe={class:"col-4 text-right text-monospace"};function Se(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"primary"},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=u(" Alle Ladepunkte "))]),"header-right":r(()=>[e("span",we,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:r(()=>[n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",xe,[e("div",We,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",ke,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ce,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",Be,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",Ne,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",$e,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",qe,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const Pe=v(Te,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);T.add(A,D,G,H,F,Z,K,J);const Ae={name:"ChargePointCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/chargepoint/${this.installedChargePoint.id}/get/+`,`openWB/chargepoint/${this.installedChargePoint.id}/get/connected_vehicle/info`,`openWB/chargepoint/${this.installedChargePoint.id}/set/+`,`openWB/internal_chargepoint/${this.installedChargePoint.id}/data/phases_to_use`]}},computed:{chargePointIndex:{get(){return this.installedChargePoint.id}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let s=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return s==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:s==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Ie={class:"row py-2"},Le={class:"col text-right"},je={style:{"white-space":"pre-wrap"}},Oe={class:"row"},ze={class:"col text-right text-monospace"},Ee={class:"col text-right text-monospace"},Re={class:"row"},Ve={key:0,class:"col text-right text-monospace"},Me={key:1,class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col-4 text-right text-monospace"},Fe={class:"col-4 text-right text-monospace"},Ze={class:"row"},Ke={class:"col-4 text-right text-monospace"},Je={class:"col-4 text-right text-monospace"},Ue={class:"row"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"col text-right text-monospace"},et={class:"row"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"col text-right text-monospace"},at={class:"row"},rt={class:"col text-right text-monospace"},it={class:"col text-right text-monospace"},nt={class:"col text-right text-monospace"},ct={class:"row"},dt={class:"col text-right text-monospace"},lt={class:"col text-right text-monospace"},pt={class:"col text-right text-monospace"},mt={class:"row"},ut={class:"col text-center text-monospace"};function gt(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card"),k=i("status-card");return d(),g(k,{subtype:"primary","component-id":t.chargePointIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),u(" "+a(c.installedChargePoint.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Ie,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Le,[n(p,{"fixed-width":"",icon:t.chargingStatus.icon,title:t.chargingStatus.text},null,8,["icon","title"]),u(" "+a(t.chargingStatus.text),1)])]),n(l,{subtype:"info"},{default:r(()=>[o[1]||(o[1]=u(" Statusmeldung: ")),e("span",je,a(s.$store.state.mqtt[t.baseTopic+"/get/state_str"]),1)]),_:1}),e("div",null," max. Ladeleistung: "+a((s.max_power=s.formatNumberTopic(t.baseTopic+"/get/max_evse_current",0))=="-"?s.max_power:Math.floor(s.max_power*3*230/1e3))+" kW ",1)]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Oe,[e("div",ze,a(s.formatNumberTopic(t.baseTopic+"/set/current",2))+" A",1),e("div",Ee,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Re,[s.$store.state.mqtt["openWB/general/extern"]===!0?(d(),f("div",Ve,a(s.formatNumberTopic("openWB/internal_chargepoint/"+t.chargePointIndex+"/data/phases_to_use")),1)):(d(),f("div",Me,a(s.formatNumberTopic(t.baseTopic+"/set/phases_to_use")),1)),e("div",De,a(s.formatNumberTopic(t.baseTopic+"/get/phases_in_use")),1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ge,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",He,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Fe,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Ze,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ke,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Je,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:r(()=>[e("div",Ue,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Qe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Xe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ye,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",et,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",tt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",st,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",ot,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",at,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",it,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",ct,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",dt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",lt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",pt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",mt,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",ut,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ht=v(Ae,[["render",gt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);T.add(U);const bt={name:"CounterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},_t={class:"row"},ft={class:"col text-right text-monospace pl-0"},vt={class:"col text-right text-monospace pl-0"},yt={class:"row"},Tt={class:"col text-right text-monospace pl-0"},wt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},Ct={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Nt={class:"col text-right text-monospace pl-0"},$t={class:"row"},qt={class:"col"},St={class:"row"},Pt={class:"col text-right text-monospace pl-0"},At={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Lt={class:"row"},jt={class:"col"},Ot={class:"row"},zt={class:"col text-right text-monospace pl-0"},Et={class:"col text-right text-monospace pl-0"},Rt={class:"col text-right text-monospace pl-0"},Vt={class:"row"},Mt={class:"col"},Dt={class:"row"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Ft={class:"col text-right text-monospace pl-0"};function Zt(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"danger","component-id":c.counter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","gauge-high"]}),u(" "+a(c.counter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",ft,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",vt,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",Tt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",wt,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),n(l,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",Ct,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",$t,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",qt,[e("div",St,[e("div",Pt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",At,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",It,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",Lt,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",jt,[e("div",Ot,[e("div",zt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Et,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Vt,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Dt,[e("div",Gt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Ht,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Ft,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Kt=v(bt,[["render",Zt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);T.add(I);const Jt={name:"InverterSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},Ut={class:"row"},Qt={class:"col text-right text-monospace"},Xt={class:"col text-right text-monospace"},Yt={class:"row"},es={class:"col text-right text-monospace"},ts={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"};function os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=u(" Alle Wechselrichter "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ut,[e("div",Qt,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Xt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",Yt,[e("div",es,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ts,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ss,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const as=v(Jt,[["render",os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);T.add(I);const rs={name:"InverterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},is={class:"row"},ns={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ds={class:"row"},ls={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},ms={class:"col text-right text-monospace"};function us(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success","component-id":c.inverter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),u(" "+a(c.inverter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",ns,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ds,[e("div",ls,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ps,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ms,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const gs=v(rs,[["render",us],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);T.add(L);const hs={name:"BatterySumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},bs={class:"row"},_s={class:"col text-right text-monospace pl-0"},fs={class:"col text-right text-monospace pl-0"},vs={class:"row"},ys={class:"col text-right text-monospace"},Ts={class:"col text-right text-monospace"},ws={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"};function ks(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=u(" Alle Speicher "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",bs,[e("div",_s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",fs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",vs,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",ys,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Ts,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",ws,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",xs,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Ws,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const Cs=v(hs,[["render",ks],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);T.add(L);const Bs={name:"BatteryCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ns={class:"row"},$s={class:"col text-right text-monospace pl-0"},qs={class:"col text-right text-monospace pl-0"},Ss={class:"row"},Ps={class:"col text-right text-monospace"},As={class:"col text-right text-monospace"},Is={class:"row"},Ls={class:"col text-right text-monospace"},js={class:"col text-right text-monospace"};function Os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning","component-id":c.battery.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),u(" "+a(c.battery.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Ns,[e("div",$s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",qs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ss,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ps,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",As,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Is,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ls,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",js,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const zs=v(Bs,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);T.add(q,S,P,Q);const Es={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},Rs={class:"row"},Vs={key:0,class:"col"},Ms={key:1,class:"col"},Ds={style:{"white-space":"pre-wrap"}};function Gs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("openwb-base-alert");return s.$store.state.mqtt[t.baseTopic+"/module"]&&s.$store.state.mqtt[t.baseTopic+"/module"].type?(d(),g(l,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:r(()=>[n(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=u(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:r(()=>[n(m,{subtype:s.getFaultStateSubtype(t.baseTopic)},{default:r(()=>[n(p,{"fixed-width":"",icon:s.stateIcon},null,8,["icon"]),o[2]||(o[2]=u(" Modulmeldung: ")),e("span",Ds,a(s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Rs,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),s.$store.state.mqtt[t.baseTopic+"/get/override_value"]==0?(d(),f("div",Vs," Laden gesperrt ")):(d(),f("div",Ms," Laden erlaubt ("+a(s.$store.state.mqtt[t.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):x("",!0)}const Hs=v(Es,[["render",Gs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);T.add(X);const Fs={name:"VehicleCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},data(){return{mqttTopicsToSubscribe:["openWB/vehicle/+/get/+"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt[this.baseTopic+"/get/range"]):0}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},Zs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={class:"col text-right text-monospace"};function Qs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"info","component-id":t.vehicleIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},j({"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car"]}),u(" "+a(c.vehicleName),1)]),default:r(()=>[n(l,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Zs,[e("div",Ks,a(t.soc)+" %",1),e("div",Js,a(t.socRange)+" km",1),e("div",Us,a(t.socTimestamp),1)])]),_:1})]),_:2},[t.soc!="-"?{name:"header-right",fn:r(()=>[u(a(t.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const Xs=v(Fs,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);T.add(Y);te.register(se,oe,ae,re,ie,ne,ce,de,le);const Ys={name:"ElectricityTariffCard",components:{StatusCard:W,FontAwesomeIcon:w,ChartjsLine:pe},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const s=this.$store.state.mqtt["openWB/optional/et/provider"];return s!==void 0?s.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[b,t]of Object.entries(s))o.push({timestamp:b*1e3,price:t*1e5});const h=o.slice(-1)[0];o.push({timestamp:h.timestamp+(60*60-1)*1e3,price:h.price})}const c=this.chartDatasets;return c.datasets[0].data=o,c},currentPrice(){return this.chartDataObject.datasets[0].data===void 0||this.chartDataObject.datasets[0].data.length===0?this.formatNumber(0,2):this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},eo={class:"openwb-chart"};function to(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("chartjs-line"),m=i("openwb-base-card"),k=i("status-card");return t.electricityTariffConfigured?(d(),g(k,{key:0,subtype:"secondary",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=u(" Variabler Stromtarif "))]),"header-right":r(()=>[u(a(t.currentPrice)+" ct/kWh",1)]),default:r(()=>[n(m,{title:"Anbieter: "+s.$store.state.mqtt[t.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",eo,[t.chartDataRead?(d(),g(l,{key:0,ref:"myChart",data:t.chartDataObject,options:b.chartOptions},null,8,["data","options"])):x("",!0)])]),_:1},8,["title"])]),_:1},8,["state","state-message"])):x("",!0)}const so=v(Ys,[["render",to],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const oo={name:"OpenwbStatusView",components:{ChargePointSumCard:Pe,ChargePointCard:ht,CounterCard:Kt,InverterSumCard:as,InverterCard:gs,BatterySumCard:Cs,BatteryCard:zs,RippleControlReceiverCard:Hs,VehicleCard:Xs,ElectricityTariffCard:so},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let s=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[c,h]of Object.entries(s))(h.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[c]=h);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(s,o){return Object.keys(s).filter(c=>s[c].type.includes(o)).reduce((c,h)=>({...c,[h]:s[h]}),{})}}},ao={class:"status"};function ro(s,o,c,h,b,t){const p=i("charge-point-sum-card"),l=i("charge-point-card"),m=i("counter-card"),k=i("inverter-sum-card"),O=i("inverter-card"),z=i("battery-sum-card"),E=i("battery-card"),R=i("vehicle-card"),V=i("electricity-tariff-card"),M=i("ripple-control-receiver-card");return d(),f("div",ao,[t.numChargePointsInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(p,{key:0})):x("",!0),(d(!0),f(B,null,N(t.installedChargePoints,(_,C)=>(d(),g(l,{key:C,"installed-charge-point":_,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(d(!0),f(B,null,N(t.counterConfigs,_=>(d(),g(m,{key:_.id,counter:_},null,8,["counter"]))),128)),t.numInvertersInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(k,{key:1})):x("",!0),(d(!0),f(B,null,N(t.inverterConfigs,_=>(d(),g(O,{key:_.id,inverter:_},null,8,["inverter"]))),128)),t.numBatteriesInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(z,{key:2})):x("",!0),(d(!0),f(B,null,N(t.batteryConfigs,_=>(d(),g(E,{key:_.id,battery:_},null,8,["battery"]))),128)),(d(!0),f(B,null,N(t.vehicleNames,(_,C)=>(d(),g(R,{key:C,"vehicle-key":C,"vehicle-name":_},null,8,["vehicle-key","vehicle-name"]))),128)),s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(V,{key:3})):x("",!0),n(M)])}const bo=v(oo,[["render",ro],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{bo as default}; diff --git a/web/settings/assets/Status-95d0a8cd.js b/web/settings/assets/Status-95d0a8cd.js deleted file mode 100644 index 52470c2f46..0000000000 --- a/web/settings/assets/Status-95d0a8cd.js +++ /dev/null @@ -1 +0,0 @@ -import{C as y}from"./index-ad11aee2.js";import{l as T,K as q,L as P,c as S,F as w,M as A,N as D,O as G,P as H,Q as Z,R as F,S as K,T as J,U,V as I,W as L,X as Q,Y as X,Z as Y}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as v,u as i,l as d,z as g,D as j,E as r,x as e,m as f,G as n,y as u,F as a,B as x,p as $,q as ee,N as B,M as N}from"./vendor-ea36120f.js";import{C as te,p as se,a as oe,L as ae,b as re,P as ie,c as ne,T as ce,i as de,d as le,e as pe}from"./vendor-chartjs-1398beb1.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-luxon-8ddd27a0.js";T.add(q,P,S);const me={name:"StatusCard",components:{FontAwesomeIcon:w},props:{subtype:{type:String,required:!0},state:{type:Number,required:!1,default:0},stateMessage:{type:String,required:!1,default:void 0},componentId:{type:Number,required:!1,default:void 0}},computed:{stateClass(){switch(this.state){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}},stateIcon(){switch(this.state){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},ue={class:"text-right"},ge={class:"container"},he={class:"row justify-content-end"},be={key:0,class:"col px-0"},_e={style:{"white-space":"pre-wrap"}},fe={key:1,class:"col col-auto pr-0"},ve={class:"text-right"};function ye(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card");return d(),g(m,{subtype:c.subtype,collapsible:!0,collapsed:!0,class:"pb-0"},j({header:r(()=>[$(s.$slots,"header-left")]),actions:r(()=>[e("div",ue,[$(s.$slots,"header-right")]),n(p,{class:ee([c.state===0?`text-${c.subtype}`:"","ml-1"]),"fixed-width":"",icon:t.stateIcon},null,8,["class","icon"])]),default:r(()=>[$(s.$slots,"default")]),_:2},[c.componentId!==void 0||c.stateMessage?{name:"footer",fn:r(()=>[e("div",ge,[e("div",he,[c.stateMessage?(d(),f("div",be,[n(l,{subtype:t.stateClass},{default:r(()=>[n(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[0]||(o[0]=u(" Modulmeldung: ")),e("span",_e,a(c.stateMessage),1)]),_:1},8,["subtype"])])):x("",!0),c.componentId!==void 0?(d(),f("div",fe,[e("div",ve,"ID: "+a(c.componentId),1)])):x("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const W=v(me,[["render",ye],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);T.add(A);const Te={name:"ChargePointSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported"]}},computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},we={class:"text-right"},xe={class:"row"},We={class:"col text-right text-monospace"},ke={class:"row"},Ce={class:"col-4 text-right text-monospace"},Be={class:"col-4 text-right text-monospace"},Ne={class:"row"},$e={class:"col-4 text-right text-monospace"},qe={class:"col-4 text-right text-monospace"};function Pe(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"primary"},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=u(" Alle Ladepunkte "))]),"header-right":r(()=>[e("span",we,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:r(()=>[n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",xe,[e("div",We,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",ke,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ce,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",Be,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",Ne,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",$e,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",qe,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const Se=v(Te,[["render",Pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);T.add(A,D,G,H,Z,F,K,J);const Ae={name:"ChargePointCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/chargepoint/${this.installedChargePoint.id}/get/+`,`"openWB/chargepoint/${this.installedChargePoint.id}/get/connected_vehicle/info`,`"openWB/chargepoint/${this.installedChargePoint.id}/set/+`,`"openWB/internal_chargepoint/${this.installedChargePoint.id}/data/phases_to_use`]}},computed:{chargePointIndex:{get(){return this.installedChargePoint.id}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let s=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return s==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:s==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Ie={class:"row py-2"},Le={class:"col text-right"},je={style:{"white-space":"pre-wrap"}},Oe={class:"row"},ze={class:"col text-right text-monospace"},Ee={class:"col text-right text-monospace"},Re={class:"row"},Ve={key:0,class:"col text-right text-monospace"},Me={key:1,class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col-4 text-right text-monospace"},Ze={class:"col-4 text-right text-monospace"},Fe={class:"row"},Ke={class:"col-4 text-right text-monospace"},Je={class:"col-4 text-right text-monospace"},Ue={class:"row"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"col text-right text-monospace"},et={class:"row"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"col text-right text-monospace"},at={class:"row"},rt={class:"col text-right text-monospace"},it={class:"col text-right text-monospace"},nt={class:"col text-right text-monospace"},ct={class:"row"},dt={class:"col text-right text-monospace"},lt={class:"col text-right text-monospace"},pt={class:"col text-right text-monospace"},mt={class:"row"},ut={class:"col text-center text-monospace"};function gt(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card"),k=i("status-card");return d(),g(k,{subtype:"primary","component-id":t.chargePointIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),u(" "+a(c.installedChargePoint.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Ie,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Le,[n(p,{"fixed-width":"",icon:t.chargingStatus.icon,title:t.chargingStatus.text},null,8,["icon","title"]),u(" "+a(t.chargingStatus.text),1)])]),n(l,{subtype:"info"},{default:r(()=>[o[1]||(o[1]=u(" Statusmeldung: ")),e("span",je,a(s.$store.state.mqtt[t.baseTopic+"/get/state_str"]),1)]),_:1}),e("div",null," max. Ladeleistung: "+a((s.max_power=s.formatNumberTopic("openWB/chargepoint/"+t.chargePointIndex+"/get/max_evse_current",0))=="-"?s.max_power:Math.floor(s.max_power*3*230/1e3))+" kW ",1)]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Oe,[e("div",ze,a(s.formatNumberTopic(t.baseTopic+"/set/current",2))+" A",1),e("div",Ee,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Re,[s.$store.state.mqtt["openWB/general/extern"]===!0?(d(),f("div",Ve,a(s.formatNumberTopic("openWB/internal_chargepoint/"+t.chargePointIndex+"/data/phases_to_use")),1)):(d(),f("div",Me,a(s.formatNumberTopic(t.baseTopic+"/set/phases_to_use")),1)),e("div",De,a(s.formatNumberTopic(t.baseTopic+"/get/phases_in_use")),1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ge,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",He,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Ze,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Fe,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ke,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Je,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:r(()=>[e("div",Ue,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Qe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Xe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ye,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",et,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",tt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",st,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",ot,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",at,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",it,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",ct,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",dt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",lt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",pt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",mt,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",ut,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ht=v(Ae,[["render",gt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);T.add(U);const bt={name:"CounterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},_t={class:"row"},ft={class:"col text-right text-monospace pl-0"},vt={class:"col text-right text-monospace pl-0"},yt={class:"row"},Tt={class:"col text-right text-monospace pl-0"},wt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},Ct={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Nt={class:"col text-right text-monospace pl-0"},$t={class:"row"},qt={class:"col"},Pt={class:"row"},St={class:"col text-right text-monospace pl-0"},At={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Lt={class:"row"},jt={class:"col"},Ot={class:"row"},zt={class:"col text-right text-monospace pl-0"},Et={class:"col text-right text-monospace pl-0"},Rt={class:"col text-right text-monospace pl-0"},Vt={class:"row"},Mt={class:"col"},Dt={class:"row"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Zt={class:"col text-right text-monospace pl-0"};function Ft(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"danger","component-id":c.counter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","gauge-high"]}),u(" "+a(c.counter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",ft,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",vt,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",Tt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",wt,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),n(l,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",Ct,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",$t,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",qt,[e("div",Pt,[e("div",St,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",At,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",It,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",Lt,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",jt,[e("div",Ot,[e("div",zt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Et,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Vt,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Dt,[e("div",Gt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Ht,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Zt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Kt=v(bt,[["render",Ft],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);T.add(I);const Jt={name:"InverterSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},Ut={class:"row"},Qt={class:"col text-right text-monospace"},Xt={class:"col text-right text-monospace"},Yt={class:"row"},es={class:"col text-right text-monospace"},ts={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"};function os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=u(" Alle Wechselrichter "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ut,[e("div",Qt,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Xt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",Yt,[e("div",es,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ts,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ss,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const as=v(Jt,[["render",os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);T.add(I);const rs={name:"InverterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},is={class:"row"},ns={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ds={class:"row"},ls={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},ms={class:"col text-right text-monospace"};function us(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success","component-id":c.inverter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),u(" "+a(c.inverter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",ns,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ds,[e("div",ls,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ps,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ms,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const gs=v(rs,[["render",us],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);T.add(L);const hs={name:"BatterySumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},bs={class:"row"},_s={class:"col text-right text-monospace pl-0"},fs={class:"col text-right text-monospace pl-0"},vs={class:"row"},ys={class:"col text-right text-monospace"},Ts={class:"col text-right text-monospace"},ws={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"};function ks(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=u(" Alle Speicher "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",bs,[e("div",_s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",fs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",vs,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",ys,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Ts,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",ws,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",xs,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Ws,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const Cs=v(hs,[["render",ks],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);T.add(L);const Bs={name:"BatteryCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ns={class:"row"},$s={class:"col text-right text-monospace pl-0"},qs={class:"col text-right text-monospace pl-0"},Ps={class:"row"},Ss={class:"col text-right text-monospace"},As={class:"col text-right text-monospace"},Is={class:"row"},Ls={class:"col text-right text-monospace"},js={class:"col text-right text-monospace"};function Os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning","component-id":c.battery.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),u(" "+a(c.battery.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Ns,[e("div",$s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",qs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ps,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ss,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",As,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Is,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ls,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",js,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const zs=v(Bs,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);T.add(q,P,S,Q);const Es={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},Rs={class:"row"},Vs={key:0,class:"col"},Ms={key:1,class:"col"},Ds={style:{"white-space":"pre-wrap"}};function Gs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("openwb-base-alert");return s.$store.state.mqtt[t.baseTopic+"/module"]&&s.$store.state.mqtt[t.baseTopic+"/module"].type?(d(),g(l,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:r(()=>[n(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=u(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:r(()=>[n(m,{subtype:s.getFaultStateSubtype(t.baseTopic)},{default:r(()=>[n(p,{"fixed-width":"",icon:s.stateIcon},null,8,["icon"]),o[2]||(o[2]=u(" Modulmeldung: ")),e("span",Ds,a(s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Rs,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),s.$store.state.mqtt[t.baseTopic+"/get/override_value"]==0?(d(),f("div",Vs," Laden gesperrt ")):(d(),f("div",Ms," Laden erlaubt ("+a(s.$store.state.mqtt[t.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):x("",!0)}const Hs=v(Es,[["render",Gs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);T.add(X);const Zs={name:"VehicleCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},data(){return{mqttTopicsToSubscribe:["openWB/vehicle/+/get/+"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt[this.baseTopic+"/get/range"]):0}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},Fs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={class:"col text-right text-monospace"};function Qs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"info","component-id":t.vehicleIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},j({"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car"]}),u(" "+a(c.vehicleName),1)]),default:r(()=>[n(l,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Fs,[e("div",Ks,a(t.soc)+" %",1),e("div",Js,a(t.socRange)+" km",1),e("div",Us,a(t.socTimestamp),1)])]),_:1})]),_:2},[t.soc!="-"?{name:"header-right",fn:r(()=>[u(a(t.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const Xs=v(Zs,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);T.add(Y);te.register(se,oe,ae,re,ie,ne,ce,de,le);const Ys={name:"ElectricityTariffCard",components:{StatusCard:W,FontAwesomeIcon:w,ChartjsLine:pe},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const s=this.$store.state.mqtt["openWB/optional/et/provider"];return s!==void 0?s.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[b,t]of Object.entries(s))o.push({timestamp:b*1e3,price:t*1e5});const h=o.slice(-1)[0];o.push({timestamp:h.timestamp+(60*60-1)*1e3,price:h.price})}const c=this.chartDatasets;return c.datasets[0].data=o,c},currentPrice(){return this.chartDataObject.datasets[0].data===void 0||this.chartDataObject.datasets[0].data.length===0?this.formatNumber(0,2):this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},eo={class:"openwb-chart"};function to(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("chartjs-line"),m=i("openwb-base-card"),k=i("status-card");return t.electricityTariffConfigured?(d(),g(k,{key:0,subtype:"secondary",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=u(" Variabler Stromtarif "))]),"header-right":r(()=>[u(a(t.currentPrice)+" ct/kWh",1)]),default:r(()=>[n(m,{title:"Anbieter: "+s.$store.state.mqtt[t.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",eo,[t.chartDataRead?(d(),g(l,{key:0,ref:"myChart",data:t.chartDataObject,options:b.chartOptions},null,8,["data","options"])):x("",!0)])]),_:1},8,["title"])]),_:1},8,["state","state-message"])):x("",!0)}const so=v(Ys,[["render",to],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const oo={name:"OpenwbStatusView",components:{ChargePointSumCard:Se,ChargePointCard:ht,CounterCard:Kt,InverterSumCard:as,InverterCard:gs,BatterySumCard:Cs,BatteryCard:zs,RippleControlReceiverCard:Hs,VehicleCard:Xs,ElectricityTariffCard:so},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let s=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[c,h]of Object.entries(s))(h.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[c]=h);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(s,o){return Object.keys(s).filter(c=>s[c].type.includes(o)).reduce((c,h)=>({...c,[h]:s[h]}),{})}}},ao={class:"status"};function ro(s,o,c,h,b,t){const p=i("charge-point-sum-card"),l=i("charge-point-card"),m=i("counter-card"),k=i("inverter-sum-card"),O=i("inverter-card"),z=i("battery-sum-card"),E=i("battery-card"),R=i("vehicle-card"),V=i("electricity-tariff-card"),M=i("ripple-control-receiver-card");return d(),f("div",ao,[t.numChargePointsInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(p,{key:0})):x("",!0),(d(!0),f(B,null,N(t.installedChargePoints,(_,C)=>(d(),g(l,{key:C,"installed-charge-point":_,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(d(!0),f(B,null,N(t.counterConfigs,_=>(d(),g(m,{key:_.id,counter:_},null,8,["counter"]))),128)),t.numInvertersInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(k,{key:1})):x("",!0),(d(!0),f(B,null,N(t.inverterConfigs,_=>(d(),g(O,{key:_.id,inverter:_},null,8,["inverter"]))),128)),t.numBatteriesInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(z,{key:2})):x("",!0),(d(!0),f(B,null,N(t.batteryConfigs,_=>(d(),g(E,{key:_.id,battery:_},null,8,["battery"]))),128)),(d(!0),f(B,null,N(t.vehicleNames,(_,C)=>(d(),g(R,{key:C,"vehicle-key":C,"vehicle-name":_},null,8,["vehicle-key","vehicle-name"]))),128)),s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(V,{key:3})):x("",!0),n(M)])}const bo=v(oo,[["render",ro],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{bo as default}; diff --git a/web/settings/assets/Support-951d67a0.js b/web/settings/assets/Support-aeee7674.js similarity index 98% rename from web/settings/assets/Support-951d67a0.js rename to web/settings/assets/Support-aeee7674.js index 2f6075e260..bd6965c8d6 100644 --- a/web/settings/assets/Support-951d67a0.js +++ b/web/settings/assets/Support-aeee7674.js @@ -1,3 +1,3 @@ -import{l as D,g as V,F as W}from"./vendor-fortawesome-c5ffc2b2.js";import{C as z}from"./index-ad11aee2.js";import{_ as A,u,l as f,m as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} +import{l as D,g as V,F as W}from"./vendor-fortawesome-433470db.js";import{C as z}from"./index-cc8f65ba.js";import{_ as A,u,l as f,m as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} `}return i.trim()},vehicleInfo(){if(this.vehicles!==void 0)return this.vehicles;let i="";const e=this.getWildcardTopics("openWB/vehicle/+/info");for(const[b,m]of Object.entries(e)){const t=parseInt(b.split("/")[2]);if(t!==0){const a=m.manufacturer||"N/A",d=m.model||"N/A";i+=`(${t}) Hersteller: ${a}, Modell: ${d} `}}return i.trim()}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.debugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},_={class:"support"},q={name:"supportForm"},I={key:1},N={key:0},T={class:"row justify-content-center"};function M(i,e,b,m,t,a){const d=u("router-link"),p=u("openwb-base-alert"),v=u("FontAwesomeIcon"),h=u("openwb-base-text-input"),g=u("openwb-base-textarea"),y=u("openwb-base-click-button"),B=u("openwb-base-card"),S=u("font-awesome-icon");return f(),c("div",_,[r("form",q,[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(f(),k(p,{key:0,subtype:"danger"},{default:s(()=>[e[6]||(e[6]=n(" Du musst der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[5]||(e[5]=[n(" Datenschutzerklärung ")])),_:1}),e[7]||(e[7]=n(" zustimmen, um einen Systembericht senden zu können. "))]),_:1})):(f(),c("div",I,[o(p,{subtype:"success"},{default:s(()=>[e[9]||(e[9]=n(" Du hast der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[8]||(e[8]=[n(" Datenschutzerklärung ")])),_:1}),e[10]||(e[10]=n(" zugestimmt und kannst Systemberichte senden. "))]),_:1}),o(B,{title:"Systembericht"},C({default:s(()=>[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(f(),c("div",N,[o(p,{subtype:"info"},{default:s(()=>[r("ul",null,[r("li",null,[e[11]||(e[11]=n(" Lies bitte den Hilfetext, der durch Klick auf das ")),o(v,{icon:["far","question-circle"]}),e[12]||(e[12]=n(" angezeigt wird. Nimm das Wiki zur Hilfe. "))]),e[13]||(e[13]=r("li",null,'Vergewissere Dich , dass mindestens die aktuelle "Release" Version installiert ist.',-1)),e[14]||(e[14]=r("li",null," Stelle beim Absenden des Berichtes die Fehlerkonditionen her. Lädt ein Fahrzeug nicht, sollte es angeschlossen und nicht voll geladen sein. Ist PV laden betroffen, sollte die Sonne auch scheinen. Der Systembericht muss dann versendet werden, wenn der Fehler aktuell vorliegt. ",-1)),e[15]||(e[15]=r("li",null," Stelle sicher, dass der Lademodus gewählt ist und im Falle von nicht ladenden ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1)),e[16]||(e[16]=r("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Du erhältst ca. 15 bis 30 Minuten nach Versand des Systemberichtes von uns automatisch eine E-Mail mit der Ticketnummer unter der die Anfrage bei uns registriert wurde. Wir melden uns bei Dir. Bitte kontrolliere daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhältst Du trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes vermutlich fehlgeschlagen. ",-1))])]),_:1}),o(h,{modelValue:t.email,"onUpdate:modelValue":e[0]||(e[0]=l=>t.email=l),title:"E-Mail",required:"",subtype:"email"},{help:s(()=>e[17]||(e[17]=[n(" Deine E-Mail-Adresse, an die der Support Dir antwortet. ")])),_:1},8,["modelValue"]),o(h,{title:"openWB Seriennummer",required:"","model-value":i.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=l=>i.updateState("openWB/system/serial_number",l))},{help:s(()=>e[18]||(e[18]=[n(" Die Seriennummer der openWB findest Du außen am, bei älteren Installationen innen im Gehäuse. Du kannst uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden!"),r("br",null,null,-1),n(" Bei einer gekauften openWB wird die Seriennummer automatisch ermittelt. ")])),_:1},8,["model-value"]),o(g,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500","model-value":a.installedComponents,"onUpdate:modelValue":e[2]||(e[2]=l=>t.components=l)},{help:s(()=>[e[20]||(e[20]=n(" Gib hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind.")),e[21]||(e[21]=r("br",null,null,-1)),o(d,{to:"/HardwareInstallation"},{default:s(()=>e[19]||(e[19]=[n(" Die Angaben können auch direkt in der Konfiguration der Komponenten dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500","model-value":a.vehicleInfo,"onUpdate:modelValue":e[3]||(e[3]=l=>t.vehicles=l)},{help:s(()=>[e[23]||(e[23]=n(" Gib hier an, welche Fahrzeuge geladen (Hersteller, Modell, Baujahr).")),e[24]||(e[24]=r("br",null,null,-1)),o(d,{to:"/VehicleConfiguration"},{default:s(()=>e[22]||(e[22]=[n(" Die Angaben können auch direkt in der Konfiguration der Fahrzeuge dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{modelValue:t.message,"onUpdate:modelValue":e[4]||(e[4]=l=>t.message=l),title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500"},null,8,["modelValue"])])):w("",!0)]),_:2},[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[r("div",T,[o(y,{class:F(["col-4",t.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!t.enableSendDebugButton,onButtonClicked:a.sendDebugMessage},{default:s(()=>e[25]||(e[25]=[n(" Absenden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),t.enableSendDebugButton?w("",!0):(f(),k(p,{key:0,subtype:"success"},{default:s(()=>[e[26]||(e[26]=n(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Du kannst diese Seite jetzt verlassen. ")),o(S,{"fixed-width":"",icon:["fas","check"]})]),_:1}))]))])])}const $=A(x,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{$ as default}; diff --git a/web/settings/assets/System-4169c132.js b/web/settings/assets/System-20e6cb5e.js similarity index 98% rename from web/settings/assets/System-4169c132.js rename to web/settings/assets/System-20e6cb5e.js index 623705665e..aabd2a4b3a 100644 --- a/web/settings/assets/System-4169c132.js +++ b/web/settings/assets/System-20e6cb5e.js @@ -1 +1 @@ -import{l as W,aj as q,p as A,aa as C,$ as S,ak as $,F as U}from"./vendor-fortawesome-c5ffc2b2.js";import{C as z}from"./index-ad11aee2.js";import{_ as E,u as b,l as c,m as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; +import{l as W,ai as q,p as A,a9 as C,_ as S,aj as $,F as U}from"./vendor-fortawesome-433470db.js";import{C as z}from"./index-cc8f65ba.js";import{_ as E,u as b,l as c,m as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-ea36120f.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; diff --git a/web/settings/assets/TestingStore-8442f30b.js b/web/settings/assets/TestingStore-96106450.js similarity index 98% rename from web/settings/assets/TestingStore-8442f30b.js rename to web/settings/assets/TestingStore-96106450.js index 59638115d9..6c9a017854 100644 --- a/web/settings/assets/TestingStore-8442f30b.js +++ b/web/settings/assets/TestingStore-96106450.js @@ -1 +1 @@ -import{C as k}from"./index-ad11aee2.js";import{S as B}from"./OpenwbSortableList-84f65f8b.js";import{_ as O,u as s,l as T,m as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; +import{C as k}from"./index-cc8f65ba.js";import{S as B}from"./OpenwbSortableList-bde71f66.js";import{_ as O,u as s,l as T,m as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; diff --git a/web/settings/assets/TimeChargeConfig-abe72556.js b/web/settings/assets/TimeChargeConfig-d3210f64.js similarity index 93% rename from web/settings/assets/TimeChargeConfig-abe72556.js rename to web/settings/assets/TimeChargeConfig-d3210f64.js index 59a1bf25ae..46858facb4 100644 --- a/web/settings/assets/TimeChargeConfig-abe72556.js +++ b/web/settings/assets/TimeChargeConfig-d3210f64.js @@ -1 +1 @@ -import{C as l}from"./index-ad11aee2.js";import{_ as b,u as o,l as i,m as a,x as _,G as s,E as r,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; +import{C as l}from"./index-cc8f65ba.js";import{_ as b,u as o,l as i,m as a,x as _,G as s,E as r,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; diff --git a/web/settings/assets/VehicleConfig-42b044ac.js b/web/settings/assets/VehicleConfig-a49bda81.js similarity index 91% rename from web/settings/assets/VehicleConfig-42b044ac.js rename to web/settings/assets/VehicleConfig-a49bda81.js index abfd636913..8500bd1458 100644 --- a/web/settings/assets/VehicleConfig-42b044ac.js +++ b/web/settings/assets/VehicleConfig-a49bda81.js @@ -1 +1 @@ -import{l as $,d as H,a7 as j,A as J,ag as G,ah as Y,z as Q,W as X,O as K,Y as ee,ai as te,N as ne,F as ae,I as le}from"./vendor-fortawesome-c5ffc2b2.js";import{_ as k,C as ie}from"./index-ad11aee2.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as M,u as V,l as d,m as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-ea36120f.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=M(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=M(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],methods:{getVehicleComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-ce88fbaa.js"),["assets/vehicle-ce88fbaa.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-cb555bc8.js"),["assets/vehicle-cb555bc8.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-56f76d3e.js"),["assets/vehicle-56f76d3e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-e5d955db.js"),["assets/vehicle-e5d955db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-57f187c4.js"),["assets/vehicle-57f187c4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-66c03223.js"),["assets/vehicle-66c03223.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-db2b9f03.js"),["assets/vehicle-db2b9f03.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-c1c353ec.js"),["assets/vehicle-c1c353ec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-cbfaedc1.js"),["assets/vehicle-cbfaedc1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-7128d1c1.js"),["assets/vehicle-7128d1c1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-1dcc14a6.js"),["assets/vehicle-1dcc14a6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-738e0b42.js"),["assets/vehicle-738e0b42.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-c2b65e42.js"),["assets/vehicle-c2b65e42.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-a4877144.js"),["assets/vehicle-a4877144.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-8a297f93.js"),["assets/vehicle-8a297f93.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-d8d02959.js"),["assets/vehicle-d8d02959.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-e348b565.js"),["assets/vehicle-e348b565.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-axios-1f03ee31.js","assets/index-ad11aee2.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-640030fc.js"),["assets/vehicle-640030fc.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-2b249c25.js"),["assets/vehicle-2b249c25.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/index-ad11aee2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.getVehicleComponent()),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=M(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,Y,Q,X,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}})},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}})},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}})},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}})},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}})}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},Me={key:0},qe={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Ye={key:2},Qe={key:3},Xe={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),q=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(q,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(q,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(q,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:5,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Me,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",qe,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=M(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; +import{l as $,d as H,a6 as j,A as J,af as G,ag as X,z as Q,V as Y,N as K,X as ee,ah as te,M as ne,F as ae,H as le}from"./vendor-fortawesome-433470db.js";import{_ as k,C as ie}from"./index-cc8f65ba.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as M,u as V,l as d,m as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-ea36120f.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=M(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=M(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],methods:{getVehicleComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-1c25409c.js"),["assets/vehicle-1c25409c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-2da6d3ec.js"),["assets/vehicle-2da6d3ec.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-0f1f6912.js"),["assets/vehicle-0f1f6912.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-da54a31e.js"),["assets/vehicle-da54a31e.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-0951b87d.js"),["assets/vehicle-0951b87d.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-9fdd28f6.js"),["assets/vehicle-9fdd28f6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-561e20d5.js"),["assets/vehicle-561e20d5.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-47f7fadf.js"),["assets/vehicle-47f7fadf.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-837ef917.js"),["assets/vehicle-837ef917.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-47a5b0e6.js"),["assets/vehicle-47a5b0e6.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-56b45282.js"),["assets/vehicle-56b45282.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-9a78a8ba.js"),["assets/vehicle-9a78a8ba.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-f595aaa1.js"),["assets/vehicle-f595aaa1.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-b464d124.js"),["assets/vehicle-b464d124.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-28d453ca.js"),["assets/vehicle-28d453ca.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-5d229e55.js"),["assets/vehicle-5d229e55.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-1fd068b4.js"),["assets/vehicle-1fd068b4.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-axios-1f03ee31.js","assets/index-cc8f65ba.js","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-74dc0824.js"),["assets/vehicle-74dc0824.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-5cb1a571.js"),["assets/vehicle-5cb1a571.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/index-cc8f65ba.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/index-27ba6225.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.getVehicleComponent()),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=M(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,X,Q,Y,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}})},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}})},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}})},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}})},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}})}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},Me={key:0},qe={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Xe={key:2},Qe={key:3},Ye={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),q=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(q,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(q,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(q,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:0,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Me,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",qe,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=M(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; diff --git a/web/settings/assets/backup_cloud-3edceff1.js b/web/settings/assets/backup_cloud-30cf5664.js similarity index 88% rename from web/settings/assets/backup_cloud-3edceff1.js rename to web/settings/assets/backup_cloud-30cf5664.js index e051edc7c3..c23bd4af45 100644 --- a/web/settings/assets/backup_cloud-3edceff1.js +++ b/web/settings/assets/backup_cloud-30cf5664.js @@ -1 +1 @@ -import{B as s}from"./DataManagement-675df4b8.js";import{_ as a,u as r,l as i,m as l,G as u,E as d,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; +import{B as s}from"./DataManagement-f14600c5.js";import{_ as a,u as r,l as i,m as l,G as u,E as d,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; diff --git a/web/settings/assets/backup_cloud-fdee2220.js b/web/settings/assets/backup_cloud-30fea215.js similarity index 94% rename from web/settings/assets/backup_cloud-fdee2220.js rename to web/settings/assets/backup_cloud-30fea215.js index a3c017a349..f8eee9e8ce 100644 --- a/web/settings/assets/backup_cloud-fdee2220.js +++ b/web/settings/assets/backup_cloud-30fea215.js @@ -1 +1 @@ -import{B as c}from"./DataManagement-675df4b8.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,y as n,x as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; +import{B as c}from"./DataManagement-f14600c5.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,y as n,x as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; diff --git a/web/settings/assets/backup_cloud-54444a00.js b/web/settings/assets/backup_cloud-b39f2e48.js similarity index 84% rename from web/settings/assets/backup_cloud-54444a00.js rename to web/settings/assets/backup_cloud-b39f2e48.js index b641a67e01..3942fb9204 100644 --- a/web/settings/assets/backup_cloud-54444a00.js +++ b/web/settings/assets/backup_cloud-b39f2e48.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-675df4b8.js";import{_ as p,u,l as i,m as l,G as d,E as c,y as o,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",f,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; +import{B as r}from"./DataManagement-f14600c5.js";import{_ as p,u,l as i,m as l,G as d,E as c,y as o,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",f,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; diff --git a/web/settings/assets/backup_cloud-7d5285df.js b/web/settings/assets/backup_cloud-c3181aad.js similarity index 90% rename from web/settings/assets/backup_cloud-7d5285df.js rename to web/settings/assets/backup_cloud-c3181aad.js index fd89490894..912d6e851d 100644 --- a/web/settings/assets/backup_cloud-7d5285df.js +++ b/web/settings/assets/backup_cloud-c3181aad.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-675df4b8.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,y as a,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,c,k){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; +import{B as r}from"./DataManagement-f14600c5.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,y as a,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,c,k){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-3ba6d87c.js b/web/settings/assets/bat-09e11c39.js similarity index 83% rename from web/settings/assets/bat-3ba6d87c.js rename to web/settings/assets/bat-09e11c39.js index 38d8843c0b..988bb975c7 100644 --- a/web/settings/assets/bat-3ba6d87c.js +++ b/web/settings/assets/bat-09e11c39.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as d,u as n,l as u,m as l,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as d,u as n,l as u,m as l,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{V as default}; diff --git a/web/settings/assets/bat-b3d020db.js b/web/settings/assets/bat-13f506c4.js similarity index 81% rename from web/settings/assets/bat-b3d020db.js rename to web/settings/assets/bat-13f506c4.js index 997a402a96..f481d79568 100644 --- a/web/settings/assets/bat-b3d020db.js +++ b/web/settings/assets/bat-13f506c4.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-e14ea1ce.js b/web/settings/assets/bat-1c531740.js similarity index 82% rename from web/settings/assets/bat-e14ea1ce.js rename to web/settings/assets/bat-1c531740.js index cdd9b48094..6b17f89104 100644 --- a/web/settings/assets/bat-e14ea1ce.js +++ b/web/settings/assets/bat-1c531740.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{k as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-1bf83758.js b/web/settings/assets/bat-434d0404.js similarity index 81% rename from web/settings/assets/bat-1bf83758.js rename to web/settings/assets/bat-434d0404.js index c1a87a91bd..5510ffef81 100644 --- a/web/settings/assets/bat-1bf83758.js +++ b/web/settings/assets/bat-434d0404.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-1b4b17bb.js b/web/settings/assets/bat-47aea623.js similarity index 82% rename from web/settings/assets/bat-1b4b17bb.js rename to web/settings/assets/bat-47aea623.js index 4586d057a0..70c9a662fa 100644 --- a/web/settings/assets/bat-1b4b17bb.js +++ b/web/settings/assets/bat-47aea623.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{h as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{h as default}; diff --git a/web/settings/assets/bat-a1835ea4.js b/web/settings/assets/bat-508dda8e.js similarity index 83% rename from web/settings/assets/bat-a1835ea4.js rename to web/settings/assets/bat-508dda8e.js index 1cb148bc1d..afcf9992d4 100644 --- a/web/settings/assets/bat-a1835ea4.js +++ b/web/settings/assets/bat-508dda8e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as r,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as r,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-66b22761.js b/web/settings/assets/bat-5bcb481a.js similarity index 94% rename from web/settings/assets/bat-66b22761.js rename to web/settings/assets/bat-5bcb481a.js index a84f7b2819..7209785ba0 100644 --- a/web/settings/assets/bat-66b22761.js +++ b/web/settings/assets/bat-5bcb481a.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as a,u as p,l as b,m as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[m]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=a(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as a,u as p,l as b,m as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[m]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=a(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; diff --git a/web/settings/assets/bat-b41a5e09.js b/web/settings/assets/bat-5d80d1b1.js similarity index 81% rename from web/settings/assets/bat-b41a5e09.js rename to web/settings/assets/bat-5d80d1b1.js index 754ef6f4cb..bf8a1e7da8 100644 --- a/web/settings/assets/bat-b41a5e09.js +++ b/web/settings/assets/bat-5d80d1b1.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-9d2d833c.js b/web/settings/assets/bat-5d86d2d0.js similarity index 94% rename from web/settings/assets/bat-9d2d833c.js rename to web/settings/assets/bat-5d86d2d0.js index 75d505c43a..e1d4c0080a 100644 --- a/web/settings/assets/bat-9d2d833c.js +++ b/web/settings/assets/bat-5d86d2d0.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as s,l as p,m as g,G as r,E as i,y as n,x as o}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as s,l as p,m as g,G as r,E as i,y as n,x as o}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; diff --git a/web/settings/assets/bat-3b53fbe2.js b/web/settings/assets/bat-655f55cd.js similarity index 83% rename from web/settings/assets/bat-3b53fbe2.js rename to web/settings/assets/bat-655f55cd.js index a7458da236..1a508d0927 100644 --- a/web/settings/assets/bat-3b53fbe2.js +++ b/web/settings/assets/bat-655f55cd.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as p,m as l,G as n,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as p,m as l,G as n,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; diff --git a/web/settings/assets/bat-c3d1bd22.js b/web/settings/assets/bat-6ae70208.js similarity index 82% rename from web/settings/assets/bat-c3d1bd22.js rename to web/settings/assets/bat-6ae70208.js index 3574af87a6..9801711104 100644 --- a/web/settings/assets/bat-c3d1bd22.js +++ b/web/settings/assets/bat-6ae70208.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-0aa56025.js b/web/settings/assets/bat-845b945a.js similarity index 81% rename from web/settings/assets/bat-0aa56025.js rename to web/settings/assets/bat-845b945a.js index f6a3f7ee61..a1a1765445 100644 --- a/web/settings/assets/bat-0aa56025.js +++ b/web/settings/assets/bat-845b945a.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-9ecb8002.js b/web/settings/assets/bat-8885d269.js similarity index 86% rename from web/settings/assets/bat-9ecb8002.js rename to web/settings/assets/bat-8885d269.js index 239df15e15..c291c02b75 100644 --- a/web/settings/assets/bat-9ecb8002.js +++ b/web/settings/assets/bat-8885d269.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-46934147.js";import{_ as r,u as t,l as u,m,G as i,E as d,y as b}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const k=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{k as default}; +import{C as l}from"./HardwareInstallation-3a644290.js";import{_ as r,u as t,l as u,m,G as i,E as d,y as b}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const k=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-2b9d9b7e.js b/web/settings/assets/bat-a09a1026.js similarity index 89% rename from web/settings/assets/bat-2b9d9b7e.js rename to web/settings/assets/bat-a09a1026.js index 633c4ac770..524bf1954a 100644 --- a/web/settings/assets/bat-2b9d9b7e.js +++ b/web/settings/assets/bat-a09a1026.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as r,u as o,l,m,G as n,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as r,u as o,l,m,G as n,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-bdfa6cbb.js b/web/settings/assets/bat-b459c554.js similarity index 86% rename from web/settings/assets/bat-bdfa6cbb.js rename to web/settings/assets/bat-b459c554.js index b6c687d54a..325ace8832 100644 --- a/web/settings/assets/bat-bdfa6cbb.js +++ b/web/settings/assets/bat-b459c554.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{k as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-4d2687d9.js b/web/settings/assets/bat-ba97b9ec.js similarity index 82% rename from web/settings/assets/bat-4d2687d9.js rename to web/settings/assets/bat-ba97b9ec.js index 36dc7fc687..148d9b340b 100644 --- a/web/settings/assets/bat-4d2687d9.js +++ b/web/settings/assets/bat-ba97b9ec.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; diff --git a/web/settings/assets/bat-de385fc9.js b/web/settings/assets/bat-c05ee012.js similarity index 81% rename from web/settings/assets/bat-de385fc9.js rename to web/settings/assets/bat-c05ee012.js index bc03390894..c675af9b17 100644 --- a/web/settings/assets/bat-de385fc9.js +++ b/web/settings/assets/bat-c05ee012.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return m(),u("div",_,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return m(),u("div",_,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-a90615ec.js b/web/settings/assets/bat-d47d1fd1.js similarity index 82% rename from web/settings/assets/bat-a90615ec.js rename to web/settings/assets/bat-d47d1fd1.js index f4b9454d13..9f8d911b63 100644 --- a/web/settings/assets/bat-a90615ec.js +++ b/web/settings/assets/bat-d47d1fd1.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const S=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{S as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const S=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{S as default}; diff --git a/web/settings/assets/bat-9c8b1e53.js b/web/settings/assets/bat-d9cdd38d.js similarity index 92% rename from web/settings/assets/bat-9c8b1e53.js rename to web/settings/assets/bat-d9cdd38d.js index 272c43abac..dd40013db3 100644 --- a/web/settings/assets/bat-9c8b1e53.js +++ b/web/settings/assets/bat-d9cdd38d.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as l,l as p,m,G as o,E as a,y as r,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as l,l as p,m,G as o,E as a,y as r,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-b4e9bceb.js b/web/settings/assets/bat-e36a210d.js similarity index 81% rename from web/settings/assets/bat-b4e9bceb.js rename to web/settings/assets/bat-e36a210d.js index d2a92c2f3e..e74c34bea1 100644 --- a/web/settings/assets/bat-b4e9bceb.js +++ b/web/settings/assets/bat-e36a210d.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{k as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat_smart_energy-29045de7.js b/web/settings/assets/bat_smart_energy-8db62ce9.js similarity index 82% rename from web/settings/assets/bat_smart_energy-29045de7.js rename to web/settings/assets/bat_smart_energy-8db62ce9.js index 428485604c..14fb6601f1 100644 --- a/web/settings/assets/bat_smart_energy-29045de7.js +++ b/web/settings/assets/bat_smart_energy-8db62ce9.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const h=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{h as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const h=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{h as default}; diff --git a/web/settings/assets/chargePoint-49393003.js b/web/settings/assets/chargePoint-542a9664.js similarity index 86% rename from web/settings/assets/chargePoint-49393003.js rename to web/settings/assets/chargePoint-542a9664.js index ecffdcacce..fd01051cd1 100644 --- a/web/settings/assets/chargePoint-49393003.js +++ b/web/settings/assets/chargePoint-542a9664.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-e034ae7d.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{k as default}; +import{C as r}from"./ChargePointInstallation-408ee2ed.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-b0a6debe.js b/web/settings/assets/chargePoint-6c271d6b.js similarity index 86% rename from web/settings/assets/chargePoint-b0a6debe.js rename to web/settings/assets/chargePoint-6c271d6b.js index 090fce0fda..b93abebe53 100644 --- a/web/settings/assets/chargePoint-b0a6debe.js +++ b/web/settings/assets/chargePoint-6c271d6b.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-e034ae7d.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; +import{C as p}from"./ChargePointInstallation-408ee2ed.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; diff --git a/web/settings/assets/chargePoint-4841a797.js b/web/settings/assets/chargePoint-776647d8.js similarity index 97% rename from web/settings/assets/chargePoint-4841a797.js rename to web/settings/assets/chargePoint-776647d8.js index 5297012e41..21a3d8e3c2 100644 --- a/web/settings/assets/chargePoint-4841a797.js +++ b/web/settings/assets/chargePoint-776647d8.js @@ -1 +1 @@ -import{C as d}from"./ChargePointInstallation-e034ae7d.js";import{_ as g,u,l as a,m,G as e,E as i,y as t,x as l,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),m("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(f,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; +import{C as d}from"./ChargePointInstallation-408ee2ed.js";import{_ as g,u,l as a,m,G as e,E as i,y as t,x as l,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),m("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(f,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; diff --git a/web/settings/assets/chargePoint-83d3fcec.js b/web/settings/assets/chargePoint-84c8e28d.js similarity index 86% rename from web/settings/assets/chargePoint-83d3fcec.js rename to web/settings/assets/chargePoint-84c8e28d.js index 3df3546a4f..c5b6042550 100644 --- a/web/settings/assets/chargePoint-83d3fcec.js +++ b/web/settings/assets/chargePoint-84c8e28d.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-e034ae7d.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{k as default}; +import{C as r}from"./ChargePointInstallation-408ee2ed.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-1fdab31c.js b/web/settings/assets/chargePoint-ba464cf4.js similarity index 89% rename from web/settings/assets/chargePoint-1fdab31c.js rename to web/settings/assets/chargePoint-ba464cf4.js index c15c7e03c6..442109b406 100644 --- a/web/settings/assets/chargePoint-1fdab31c.js +++ b/web/settings/assets/chargePoint-ba464cf4.js @@ -1 +1 @@ -import{C as u}from"./ChargePointInstallation-e034ae7d.js";import{_ as p,u as t,l as i,m as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; +import{C as u}from"./ChargePointInstallation-408ee2ed.js";import{_ as p,u as t,l as i,m as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-684f2a93.js b/web/settings/assets/chargePoint-e230a14a.js similarity index 86% rename from web/settings/assets/chargePoint-684f2a93.js rename to web/settings/assets/chargePoint-e230a14a.js index e41a48a476..6a1bf1e57e 100644 --- a/web/settings/assets/chargePoint-684f2a93.js +++ b/web/settings/assets/chargePoint-e230a14a.js @@ -1 +1 @@ -import{C as s}from"./ChargePointInstallation-e034ae7d.js";import{_ as p,u as n,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; +import{C as s}from"./ChargePointInstallation-408ee2ed.js";import{_ as p,u as n,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-5d1371bf.js b/web/settings/assets/chargePoint-f16b10ce.js similarity index 86% rename from web/settings/assets/chargePoint-5d1371bf.js rename to web/settings/assets/chargePoint-f16b10ce.js index 6a271af2ca..16b19b1b18 100644 --- a/web/settings/assets/chargePoint-5d1371bf.js +++ b/web/settings/assets/chargePoint-f16b10ce.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-e034ae7d.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; +import{C as p}from"./ChargePointInstallation-408ee2ed.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; diff --git a/web/settings/assets/commands-b4417123.js b/web/settings/assets/commands-38fd7ea5.js similarity index 93% rename from web/settings/assets/commands-b4417123.js rename to web/settings/assets/commands-38fd7ea5.js index c33a383817..a5a40be55b 100644 --- a/web/settings/assets/commands-b4417123.js +++ b/web/settings/assets/commands-38fd7ea5.js @@ -1 +1 @@ -import{a as g}from"./ChargePointInstallation-e034ae7d.js";import{_ as h,u,l as a,m as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; +import{a as g}from"./ChargePointInstallation-408ee2ed.js";import{_ as h,u,l as a,m as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; diff --git a/web/settings/assets/commands-79d9ab52.js b/web/settings/assets/commands-b3575711.js similarity index 92% rename from web/settings/assets/commands-79d9ab52.js rename to web/settings/assets/commands-b3575711.js index c6df707833..74588112c5 100644 --- a/web/settings/assets/commands-79d9ab52.js +++ b/web/settings/assets/commands-b3575711.js @@ -1 +1 @@ -import{a as d}from"./ChargePointInstallation-e034ae7d.js";import{_ as u,u as c,l,m as g,G as a,E as r,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; +import{a as d}from"./ChargePointInstallation-408ee2ed.js";import{_ as u,u as c,l,m as g,G as a,E as r,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; diff --git a/web/settings/assets/consumption_counter-d1753a60.js b/web/settings/assets/consumption_counter-704c01f7.js similarity index 89% rename from web/settings/assets/consumption_counter-d1753a60.js rename to web/settings/assets/consumption_counter-704c01f7.js index 01bff6f746..ea8d312a9a 100644 --- a/web/settings/assets/consumption_counter-d1753a60.js +++ b/web/settings/assets/consumption_counter-704c01f7.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const z=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{z as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const z=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{z as default}; diff --git a/web/settings/assets/counter-2d3c1e68.js b/web/settings/assets/counter-00141858.js similarity index 83% rename from web/settings/assets/counter-2d3c1e68.js rename to web/settings/assets/counter-00141858.js index 540771e3c0..adc470143b 100644 --- a/web/settings/assets/counter-2d3c1e68.js +++ b/web/settings/assets/counter-00141858.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-398f77a3.js b/web/settings/assets/counter-018e7196.js similarity index 82% rename from web/settings/assets/counter-398f77a3.js rename to web/settings/assets/counter-018e7196.js index 06cf82c417..7e3fd1a1b6 100644 --- a/web/settings/assets/counter-398f77a3.js +++ b/web/settings/assets/counter-018e7196.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,y as o,x as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,y as o,x as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-94c87478.js b/web/settings/assets/counter-19e7f139.js similarity index 82% rename from web/settings/assets/counter-94c87478.js rename to web/settings/assets/counter-19e7f139.js index 4d96b44b92..36d5890297 100644 --- a/web/settings/assets/counter-94c87478.js +++ b/web/settings/assets/counter-19e7f139.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-b71afa10.js b/web/settings/assets/counter-1b273ac4.js similarity index 79% rename from web/settings/assets/counter-b71afa10.js rename to web/settings/assets/counter-1b273ac4.js index 3254f1ec7d..17bbba8552 100644 --- a/web/settings/assets/counter-b71afa10.js +++ b/web/settings/assets/counter-1b273ac4.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-46934147.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; +import{C as t}from"./HardwareInstallation-3a644290.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-18d6df42.js b/web/settings/assets/counter-3492fd19.js similarity index 85% rename from web/settings/assets/counter-18d6df42.js rename to web/settings/assets/counter-3492fd19.js index 7a208f86dc..3d6f504708 100644 --- a/web/settings/assets/counter-18d6df42.js +++ b/web/settings/assets/counter-3492fd19.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-f6930635.js b/web/settings/assets/counter-394e8014.js similarity index 81% rename from web/settings/assets/counter-f6930635.js rename to web/settings/assets/counter-394e8014.js index 732a74f54c..b077f84612 100644 --- a/web/settings/assets/counter-f6930635.js +++ b/web/settings/assets/counter-394e8014.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-7ab3fa2c.js b/web/settings/assets/counter-40d2f2a6.js similarity index 95% rename from web/settings/assets/counter-7ab3fa2c.js rename to web/settings/assets/counter-40d2f2a6.js index d2311946d1..9a9869d515 100644 --- a/web/settings/assets/counter-7ab3fa2c.js +++ b/web/settings/assets/counter-40d2f2a6.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as p,u,l as m,m as f,G as t,E as a,y as l,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as p,u,l as m,m as f,G as t,E as a,y as l,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; diff --git a/web/settings/assets/counter-9825d5aa.js b/web/settings/assets/counter-48217739.js similarity index 83% rename from web/settings/assets/counter-9825d5aa.js rename to web/settings/assets/counter-48217739.js index be58e6b2a1..483f9dc4a9 100644 --- a/web/settings/assets/counter-9825d5aa.js +++ b/web/settings/assets/counter-48217739.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return c(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shelly unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return c(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shelly unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-923aa168.js b/web/settings/assets/counter-55c27daf.js similarity index 82% rename from web/settings/assets/counter-923aa168.js rename to web/settings/assets/counter-55c27daf.js index 96137fa224..73165ccfdc 100644 --- a/web/settings/assets/counter-923aa168.js +++ b/web/settings/assets/counter-55c27daf.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),m=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{k as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),m=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-504d9f7d.js b/web/settings/assets/counter-5a3251ce.js similarity index 81% rename from web/settings/assets/counter-504d9f7d.js rename to web/settings/assets/counter-5a3251ce.js index 3bfe11918f..0e1138fa30 100644 --- a/web/settings/assets/counter-504d9f7d.js +++ b/web/settings/assets/counter-5a3251ce.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as a,m,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const h=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{h as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as a,m,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const h=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{h as default}; diff --git a/web/settings/assets/counter-7f0773b1.js b/web/settings/assets/counter-7311f96b.js similarity index 96% rename from web/settings/assets/counter-7f0773b1.js rename to web/settings/assets/counter-7311f96b.js index 395c48e619..7f63b6416e 100644 --- a/web/settings/assets/counter-7f0773b1.js +++ b/web/settings/assets/counter-7311f96b.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-3bd980da.js b/web/settings/assets/counter-75e3d92e.js similarity index 86% rename from web/settings/assets/counter-3bd980da.js rename to web/settings/assets/counter-75e3d92e.js index b4e6be0620..ff8ba597d8 100644 --- a/web/settings/assets/counter-3bd980da.js +++ b/web/settings/assets/counter-75e3d92e.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-24175a05.js b/web/settings/assets/counter-7668209b.js similarity index 88% rename from web/settings/assets/counter-24175a05.js rename to web/settings/assets/counter-7668209b.js index 0f8fa19beb..4981a9eac0 100644 --- a/web/settings/assets/counter-24175a05.js +++ b/web/settings/assets/counter-7668209b.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-d537077a.js b/web/settings/assets/counter-76eff543.js similarity index 84% rename from web/settings/assets/counter-d537077a.js rename to web/settings/assets/counter-76eff543.js index 60ab9ee7b2..aa82baac29 100644 --- a/web/settings/assets/counter-d537077a.js +++ b/web/settings/assets/counter-76eff543.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as t,l,m as d,G as r,E as i,y as n,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as t,l,m as d,G as r,E as i,y as n,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-2b0f8622.js b/web/settings/assets/counter-7a033879.js similarity index 77% rename from web/settings/assets/counter-2b0f8622.js rename to web/settings/assets/counter-7a033879.js index 6ff1367758..cd248b9686 100644 --- a/web/settings/assets/counter-2b0f8622.js +++ b/web/settings/assets/counter-7a033879.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-46934147.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; +import{C as o}from"./HardwareInstallation-3a644290.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-cbdd1a16.js b/web/settings/assets/counter-8520ea8e.js similarity index 81% rename from web/settings/assets/counter-cbdd1a16.js rename to web/settings/assets/counter-8520ea8e.js index 1c4acc3fee..7d2a2c327b 100644 --- a/web/settings/assets/counter-cbdd1a16.js +++ b/web/settings/assets/counter-8520ea8e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-df1f5edc.js b/web/settings/assets/counter-8b96457f.js similarity index 81% rename from web/settings/assets/counter-df1f5edc.js rename to web/settings/assets/counter-8b96457f.js index 6a44855858..f3541240c8 100644 --- a/web/settings/assets/counter-df1f5edc.js +++ b/web/settings/assets/counter-8b96457f.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-c2e620f6.js b/web/settings/assets/counter-8d45ef9c.js similarity index 96% rename from web/settings/assets/counter-c2e620f6.js rename to web/settings/assets/counter-8d45ef9c.js index c42c426e5e..725fd75637 100644 --- a/web/settings/assets/counter-c2e620f6.js +++ b/web/settings/assets/counter-8d45ef9c.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as a,u,l as f,m as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as a,u,l as f,m as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-ec4cdbb2.js b/web/settings/assets/counter-958da48c.js similarity index 89% rename from web/settings/assets/counter-ec4cdbb2.js rename to web/settings/assets/counter-958da48c.js index 2dcb3c07a6..3412ac9d95 100644 --- a/web/settings/assets/counter-ec4cdbb2.js +++ b/web/settings/assets/counter-958da48c.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-eff0e3ae.js b/web/settings/assets/counter-95bdcdb7.js similarity index 85% rename from web/settings/assets/counter-eff0e3ae.js rename to web/settings/assets/counter-95bdcdb7.js index e979bed6c3..8904106055 100644 --- a/web/settings/assets/counter-eff0e3ae.js +++ b/web/settings/assets/counter-95bdcdb7.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-46934147.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,x as e,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[m(t,{subtype:"info"},{default:p(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(c,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; +import{C as n}from"./HardwareInstallation-3a644290.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,x as e,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[m(t,{subtype:"info"},{default:p(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(c,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-b548a7dd.js b/web/settings/assets/counter-a31f5e7d.js similarity index 87% rename from web/settings/assets/counter-b548a7dd.js rename to web/settings/assets/counter-a31f5e7d.js index d1fa30b225..aae50d9f7a 100644 --- a/web/settings/assets/counter-b548a7dd.js +++ b/web/settings/assets/counter-a31f5e7d.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[m]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[m]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-efbfc637.js b/web/settings/assets/counter-ab315ba3.js similarity index 79% rename from web/settings/assets/counter-efbfc637.js rename to web/settings/assets/counter-ab315ba3.js index 8fd80af2e2..028adf75ea 100644 --- a/web/settings/assets/counter-efbfc637.js +++ b/web/settings/assets/counter-ab315ba3.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-46934147.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; +import{C as o}from"./HardwareInstallation-3a644290.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-da0b2985.js b/web/settings/assets/counter-aed75c81.js similarity index 78% rename from web/settings/assets/counter-da0b2985.js rename to web/settings/assets/counter-aed75c81.js index 1e330cc3b5..107cae0e00 100644 --- a/web/settings/assets/counter-da0b2985.js +++ b/web/settings/assets/counter-aed75c81.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-46934147.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; +import{C as n}from"./HardwareInstallation-3a644290.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,y as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-a7b1730a.js b/web/settings/assets/counter-b03c0db9.js similarity index 76% rename from web/settings/assets/counter-a7b1730a.js rename to web/settings/assets/counter-b03c0db9.js index 6f988c9a93..9270db45bb 100644 --- a/web/settings/assets/counter-a7b1730a.js +++ b/web/settings/assets/counter-b03c0db9.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-46934147.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; +import{C as t}from"./HardwareInstallation-3a644290.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-b05d8575.js b/web/settings/assets/counter-bef0b821.js similarity index 82% rename from web/settings/assets/counter-b05d8575.js rename to web/settings/assets/counter-bef0b821.js index 6a20918035..1230033533 100644 --- a/web/settings/assets/counter-b05d8575.js +++ b/web/settings/assets/counter-bef0b821.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return u(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return u(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-ae097566.js b/web/settings/assets/counter-ccad25ea.js similarity index 82% rename from web/settings/assets/counter-ae097566.js rename to web/settings/assets/counter-ccad25ea.js index 7c5773758a..9c796bd997 100644 --- a/web/settings/assets/counter-ae097566.js +++ b/web/settings/assets/counter-ccad25ea.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:m(()=>o[1]||(o[1]=[d(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:m(()=>o[1]||(o[1]=[d(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-2caf628e.js b/web/settings/assets/counter-cfb2a7aa.js similarity index 86% rename from web/settings/assets/counter-2caf628e.js rename to web/settings/assets/counter-cfb2a7aa.js index b3b78b3b1e..cf5e5f7c23 100644 --- a/web/settings/assets/counter-2caf628e.js +++ b/web/settings/assets/counter-cfb2a7aa.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return u(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return u(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-553c86c3.js b/web/settings/assets/counter-d1809224.js similarity index 83% rename from web/settings/assets/counter-553c86c3.js rename to web/settings/assets/counter-d1809224.js index 0a96014607..ce51eae3db 100644 --- a/web/settings/assets/counter-553c86c3.js +++ b/web/settings/assets/counter-d1809224.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-a538082d.js b/web/settings/assets/counter-d5ce341d.js similarity index 82% rename from web/settings/assets/counter-a538082d.js rename to web/settings/assets/counter-d5ce341d.js index 8f607acab6..2becbc1cd4 100644 --- a/web/settings/assets/counter-a538082d.js +++ b/web/settings/assets/counter-d5ce341d.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const V=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const V=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-5521134d.js b/web/settings/assets/counter-f0638cd4.js similarity index 88% rename from web/settings/assets/counter-5521134d.js rename to web/settings/assets/counter-f0638cd4.js index e9ea06a75e..0192942173 100644 --- a/web/settings/assets/counter-5521134d.js +++ b/web/settings/assets/counter-f0638cd4.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const U=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{U as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const U=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{U as default}; diff --git a/web/settings/assets/counter-6896bad2.js b/web/settings/assets/counter-fa232f15.js similarity index 81% rename from web/settings/assets/counter-6896bad2.js rename to web/settings/assets/counter-fa232f15.js index 27e4c70c87..071976c8ca 100644 --- a/web/settings/assets/counter-6896bad2.js +++ b/web/settings/assets/counter-fa232f15.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{k as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter_sm-19094893.js b/web/settings/assets/counter_sm-66058b82.js similarity index 92% rename from web/settings/assets/counter_sm-19094893.js rename to web/settings/assets/counter_sm-66058b82.js index 30d9f300bb..d32fe9da50 100644 --- a/web/settings/assets/counter_sm-19094893.js +++ b/web/settings/assets/counter_sm-66058b82.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,S,h,s){const m=i("openwb-base-heading"),d=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(m,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(d,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,S,h,s){const m=i("openwb-base-heading"),d=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(m,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(d,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-daeda226.js b/web/settings/assets/device-04b7418e.js similarity index 85% rename from web/settings/assets/device-daeda226.js rename to web/settings/assets/device-04b7418e.js index f13b9198d7..dd1112d53a 100644 --- a/web/settings/assets/device-daeda226.js +++ b/web/settings/assets/device-04b7418e.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-ccff4af8.js b/web/settings/assets/device-123cfe52.js similarity index 84% rename from web/settings/assets/device-ccff4af8.js rename to web/settings/assets/device-123cfe52.js index 7c48ebe979..7bce1600dd 100644 --- a/web/settings/assets/device-ccff4af8.js +++ b/web/settings/assets/device-123cfe52.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l,m as d,G as i,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return l(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l,m as d,G as i,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return l(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-9b1836ed.js b/web/settings/assets/device-1565347a.js similarity index 87% rename from web/settings/assets/device-9b1836ed.js rename to web/settings/assets/device-1565347a.js index 0f510d60df..8e2a254355 100644 --- a/web/settings/assets/device-9b1836ed.js +++ b/web/settings/assets/device-1565347a.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,y as c,x as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,y as c,x as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-61b7e9a3.js b/web/settings/assets/device-1830d04b.js similarity index 84% rename from web/settings/assets/device-61b7e9a3.js rename to web/settings/assets/device-1830d04b.js index 4d50fe4920..4321e787f6 100644 --- a/web/settings/assets/device-61b7e9a3.js +++ b/web/settings/assets/device-1830d04b.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const k=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{k as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const k=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-bb762753.js b/web/settings/assets/device-1b11a3ea.js similarity index 93% rename from web/settings/assets/device-bb762753.js rename to web/settings/assets/device-1b11a3ea.js index f37a54bf73..16fc8fb3c2 100644 --- a/web/settings/assets/device-bb762753.js +++ b/web/settings/assets/device-1b11a3ea.js @@ -1 +1 @@ -import{D as v}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as g,m as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return g(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=m(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; +import{D as v}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as g,m as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return g(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=m(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-7b06f275.js b/web/settings/assets/device-23e00b31.js similarity index 89% rename from web/settings/assets/device-7b06f275.js rename to web/settings/assets/device-23e00b31.js index 64a8cfcf6e..47d3f0de4f 100644 --- a/web/settings/assets/device-7b06f275.js +++ b/web/settings/assets/device-23e00b31.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r,x as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,S){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren SmartHome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r,x as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,S){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren SmartHome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-632eca64.js b/web/settings/assets/device-249da548.js similarity index 81% rename from web/settings/assets/device-632eca64.js rename to web/settings/assets/device-249da548.js index 74564235b2..d2f4e9fb54 100644 --- a/web/settings/assets/device-632eca64.js +++ b/web/settings/assets/device-249da548.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as o,l as d,m,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as o,l as d,m,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-1575de24.js b/web/settings/assets/device-264114d8.js similarity index 81% rename from web/settings/assets/device-1575de24.js rename to web/settings/assets/device-264114d8.js index f8788fbbf5..0952984cef 100644 --- a/web/settings/assets/device-1575de24.js +++ b/web/settings/assets/device-264114d8.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l,m as d,G as n,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l,m as d,G as n,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-e18d4fc2.js b/web/settings/assets/device-2f945435.js similarity index 86% rename from web/settings/assets/device-e18d4fc2.js rename to web/settings/assets/device-2f945435.js index 211d945dfb..d2f6d12fd0 100644 --- a/web/settings/assets/device-e18d4fc2.js +++ b/web/settings/assets/device-2f945435.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-c4626b45.js b/web/settings/assets/device-30d7c2e0.js similarity index 82% rename from web/settings/assets/device-c4626b45.js rename to web/settings/assets/device-30d7c2e0.js index 735053c6ac..f5578937af 100644 --- a/web/settings/assets/device-c4626b45.js +++ b/web/settings/assets/device-30d7c2e0.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-3e072659.js b/web/settings/assets/device-31e5797e.js similarity index 86% rename from web/settings/assets/device-3e072659.js rename to web/settings/assets/device-31e5797e.js index da3f0e52f9..abf9066c17 100644 --- a/web/settings/assets/device-3e072659.js +++ b/web/settings/assets/device-31e5797e.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-5e0c6b57.js b/web/settings/assets/device-3435a852.js similarity index 84% rename from web/settings/assets/device-5e0c6b57.js rename to web/settings/assets/device-3435a852.js index 0deef3f65a..2416024a87 100644 --- a/web/settings/assets/device-5e0c6b57.js +++ b/web/settings/assets/device-3435a852.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",v,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",v,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-7d4d7a73.js b/web/settings/assets/device-354918a0.js similarity index 84% rename from web/settings/assets/device-7d4d7a73.js rename to web/settings/assets/device-354918a0.js index 429c0ebb25..ea51bcc239 100644 --- a/web/settings/assets/device-7d4d7a73.js +++ b/web/settings/assets/device-354918a0.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,y as o,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return d(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,y as o,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return d(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-88332cb4.js b/web/settings/assets/device-357d44c6.js similarity index 88% rename from web/settings/assets/device-88332cb4.js rename to web/settings/assets/device-357d44c6.js index a5c53deb6e..29d73e991a 100644 --- a/web/settings/assets/device-88332cb4.js +++ b/web/settings/assets/device-357d44c6.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{P as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-f070f46c.js b/web/settings/assets/device-3be14789.js similarity index 86% rename from web/settings/assets/device-f070f46c.js rename to web/settings/assets/device-3be14789.js index 4e548ac601..4c3d26896b 100644 --- a/web/settings/assets/device-f070f46c.js +++ b/web/settings/assets/device-3be14789.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-b57ef569.js b/web/settings/assets/device-3d86bc85.js similarity index 87% rename from web/settings/assets/device-b57ef569.js rename to web/settings/assets/device-3d86bc85.js index 73c01170d8..8e0ae1da57 100644 --- a/web/settings/assets/device-b57ef569.js +++ b/web/settings/assets/device-3d86bc85.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-67d90ef7.js b/web/settings/assets/device-3e5adae7.js similarity index 81% rename from web/settings/assets/device-67d90ef7.js rename to web/settings/assets/device-3e5adae7.js index 188927b2b6..15b507b349 100644 --- a/web/settings/assets/device-67d90ef7.js +++ b/web/settings/assets/device-3e5adae7.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{h as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-7ff18a77.js b/web/settings/assets/device-3f9eff90.js similarity index 86% rename from web/settings/assets/device-7ff18a77.js rename to web/settings/assets/device-3f9eff90.js index 9b3c441a3b..54f1fcd293 100644 --- a/web/settings/assets/device-7ff18a77.js +++ b/web/settings/assets/device-3f9eff90.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-a553438d.js b/web/settings/assets/device-45df0691.js similarity index 88% rename from web/settings/assets/device-a553438d.js rename to web/settings/assets/device-45df0691.js index 976d4f870e..8758b04f16 100644 --- a/web/settings/assets/device-a553438d.js +++ b/web/settings/assets/device-45df0691.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as p,u as r,l as d,m,G as i,E as s,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,w,k){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as p,u as r,l as d,m,G as i,E as s,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,w,k){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-af12c066.js b/web/settings/assets/device-4c55f797.js similarity index 85% rename from web/settings/assets/device-af12c066.js rename to web/settings/assets/device-4c55f797.js index f0c2d0c6a0..000e1c2d84 100644 --- a/web/settings/assets/device-af12c066.js +++ b/web/settings/assets/device-4c55f797.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return m(),d("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return m(),d("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-bfc4954f.js b/web/settings/assets/device-4e960663.js similarity index 88% rename from web/settings/assets/device-bfc4954f.js rename to web/settings/assets/device-4e960663.js index e546adf168..553860ebe6 100644 --- a/web/settings/assets/device-bfc4954f.js +++ b/web/settings/assets/device-4e960663.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-7775f241.js b/web/settings/assets/device-4f5bf65a.js similarity index 84% rename from web/settings/assets/device-7775f241.js rename to web/settings/assets/device-4f5bf65a.js index f147950fc1..32e9131be4 100644 --- a/web/settings/assets/device-7775f241.js +++ b/web/settings/assets/device-4f5bf65a.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l,m as u,G as i,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l,m as u,G as i,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-14dde0de.js b/web/settings/assets/device-4f7aad98.js similarity index 81% rename from web/settings/assets/device-14dde0de.js rename to web/settings/assets/device-4f7aad98.js index 704acd1fdd..6ea8102468 100644 --- a/web/settings/assets/device-14dde0de.js +++ b/web/settings/assets/device-4f7aad98.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{k as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-09841d8b.js b/web/settings/assets/device-509a4ac4.js similarity index 86% rename from web/settings/assets/device-09841d8b.js rename to web/settings/assets/device-509a4ac4.js index 46d45a0184..280945eedd 100644 --- a/web/settings/assets/device-09841d8b.js +++ b/web/settings/assets/device-509a4ac4.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-46934147.js";import{_ as d,u as i,l as u,m,G as t,E as l,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{k as default}; +import{D as s}from"./HardwareInstallation-3a644290.js";import{_ as d,u as i,l as u,m,G as t,E as l,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-656a0fe6.js b/web/settings/assets/device-52c218d2.js similarity index 86% rename from web/settings/assets/device-656a0fe6.js rename to web/settings/assets/device-52c218d2.js index 95d4abb813..2c3409999d 100644 --- a/web/settings/assets/device-656a0fe6.js +++ b/web/settings/assets/device-52c218d2.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-46934147.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; +import{D as s}from"./HardwareInstallation-3a644290.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-6ab8fcfa.js b/web/settings/assets/device-54f1a203.js similarity index 84% rename from web/settings/assets/device-6ab8fcfa.js rename to web/settings/assets/device-54f1a203.js index f3840d67dd..9dcab53ca5 100644 --- a/web/settings/assets/device-6ab8fcfa.js +++ b/web/settings/assets/device-54f1a203.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-b7468734.js b/web/settings/assets/device-5cc2cdfa.js similarity index 83% rename from web/settings/assets/device-b7468734.js rename to web/settings/assets/device-5cc2cdfa.js index b74d96f551..d9be1b263e 100644 --- a/web/settings/assets/device-b7468734.js +++ b/web/settings/assets/device-5cc2cdfa.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l,m as u,G as n,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const k=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{k as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l,m as u,G as n,E as i,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const k=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-284a01d3.js b/web/settings/assets/device-5ceb63e9.js similarity index 85% rename from web/settings/assets/device-284a01d3.js rename to web/settings/assets/device-5ceb63e9.js index 7ac25044f5..e8cdffeb06 100644 --- a/web/settings/assets/device-284a01d3.js +++ b/web/settings/assets/device-5ceb63e9.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as t,l as c,m,G as o,E as s,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as t,l as c,m,G as o,E as s,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-7de31de4.js b/web/settings/assets/device-653a19f8.js similarity index 92% rename from web/settings/assets/device-7de31de4.js rename to web/settings/assets/device-653a19f8.js index 671701f902..36e028925d 100644 --- a/web/settings/assets/device-7de31de4.js +++ b/web/settings/assets/device-653a19f8.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as m,u as s,l as f,m as g,G as t,E as a,y as r,x as o}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceTesla",mixins:[p]},b={class:"device-tesla"};function c(n,e,v,k,h,_){const d=s("openwb-base-heading"),u=s("openwb-base-alert"),l=s("openwb-base-text-input");return f(),g("div",b,[t(d,null,{default:a(()=>e[3]||(e[3]=[r(" Einstellungen für Tesla ")])),_:1}),t(u,{subtype:"danger"},{default:a(()=>e[4]||(e[4]=[o("span",{style:{"font-weight":"bold"}}," Tesla hat in der aktuellen Firmware-Version die lokale API der PowerWall abgeschaltet. ",-1),r("Daher ist es mit dieser Firmware nicht mehr möglich, die PowerWall direkt auszulesen. Wir prüfen aktuell den Zugriff über die Tesla-Server. Bis zur Umsetzung dieser Funktion ist es nicht möglich, die PowerWall lokal auszulesen."),o("br",null,null,-1),o("span",{style:{"font-weight":"bold"}}," Wenn die lokale Abfrage bei Dir noch funktioniert, dann solltest Du die Firmware der PowerWall nicht aktualisieren! ",-1),o("br",null,null,-1),r(" Wir empfehlen, dass Du Tesla kontaktierst und Kritik an dieser Entscheidung mitteilst. Nur so können wir hoffen, dass Tesla die lokale API wieder aktiviert. Mit der Cloud-API kommt es zwangsläufig zu Verzögerungen (Latenzen), welche eine Regelung durch openWB erschweren. Weiterhin kommt es zu einem totalen Ausfall, wenn die Internetverbindung gestört ist. Aus diesen Gründen ist eine lokale API immer vorzuziehen. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"E-Mail",subtype:"email",required:"","model-value":n.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.email"))},null,8,["model-value"]),t(l,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.password"))},null,8,["model-value"])])}const B=m(w,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{B as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as m,u as s,l as f,m as g,G as t,E as a,y as r,x as o}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceTesla",mixins:[p]},b={class:"device-tesla"};function c(n,e,v,k,h,_){const d=s("openwb-base-heading"),u=s("openwb-base-alert"),l=s("openwb-base-text-input");return f(),g("div",b,[t(d,null,{default:a(()=>e[3]||(e[3]=[r(" Einstellungen für Tesla ")])),_:1}),t(u,{subtype:"danger"},{default:a(()=>e[4]||(e[4]=[o("span",{style:{"font-weight":"bold"}}," Tesla hat in der aktuellen Firmware-Version die lokale API der PowerWall abgeschaltet. ",-1),r("Daher ist es mit dieser Firmware nicht mehr möglich, die PowerWall direkt auszulesen. Wir prüfen aktuell den Zugriff über die Tesla-Server. Bis zur Umsetzung dieser Funktion ist es nicht möglich, die PowerWall lokal auszulesen."),o("br",null,null,-1),o("span",{style:{"font-weight":"bold"}}," Wenn die lokale Abfrage bei Dir noch funktioniert, dann solltest Du die Firmware der PowerWall nicht aktualisieren! ",-1),o("br",null,null,-1),r(" Wir empfehlen, dass Du Tesla kontaktierst und Kritik an dieser Entscheidung mitteilst. Nur so können wir hoffen, dass Tesla die lokale API wieder aktiviert. Mit der Cloud-API kommt es zwangsläufig zu Verzögerungen (Latenzen), welche eine Regelung durch openWB erschweren. Weiterhin kommt es zu einem totalen Ausfall, wenn die Internetverbindung gestört ist. Aus diesen Gründen ist eine lokale API immer vorzuziehen. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"E-Mail",subtype:"email",required:"","model-value":n.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.email"))},null,8,["model-value"]),t(l,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.password"))},null,8,["model-value"])])}const B=m(w,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-21407938.js b/web/settings/assets/device-6656b07f.js similarity index 84% rename from web/settings/assets/device-21407938.js rename to web/settings/assets/device-6656b07f.js index ea5a54f668..2aa6e803a6 100644 --- a/web/settings/assets/device-21407938.js +++ b/web/settings/assets/device-6656b07f.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return m(),u("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return m(),u("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-84ff4ad2.js b/web/settings/assets/device-6659803e.js similarity index 87% rename from web/settings/assets/device-84ff4ad2.js rename to web/settings/assets/device-6659803e.js index b720eb27aa..4ac3e7a6b4 100644 --- a/web/settings/assets/device-84ff4ad2.js +++ b/web/settings/assets/device-6659803e.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l,m,G as i,E as s,y as n,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l,m,G as i,E as s,y as n,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-e6722c9e.js b/web/settings/assets/device-67811713.js similarity index 87% rename from web/settings/assets/device-e6722c9e.js rename to web/settings/assets/device-67811713.js index f451722f32..9f910abf63 100644 --- a/web/settings/assets/device-e6722c9e.js +++ b/web/settings/assets/device-67811713.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as t,l,m as p,G as i,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlo-gavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as t,l,m as p,G as i,E as m,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlo-gavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-9d4c53e5.js b/web/settings/assets/device-7075a0a8.js similarity index 81% rename from web/settings/assets/device-9d4c53e5.js rename to web/settings/assets/device-7075a0a8.js index 480c3d1b3a..ad28d7218f 100644 --- a/web/settings/assets/device-9d4c53e5.js +++ b/web/settings/assets/device-7075a0a8.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return m(),d("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return m(),d("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-af3ace43.js b/web/settings/assets/device-716c4065.js similarity index 94% rename from web/settings/assets/device-af3ace43.js rename to web/settings/assets/device-716c4065.js index 197202b02f..5dc1eb3489 100644 --- a/web/settings/assets/device-af3ace43.js +++ b/web/settings/assets/device-716c4065.js @@ -1 +1 @@ -import{D as f}from"./HardwareInstallation-46934147.js";import{_ as g,u as d,l as t,m as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; +import{D as f}from"./HardwareInstallation-3a644290.js";import{_ as g,u as d,l as t,m as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-57353c76.js b/web/settings/assets/device-7f7452f2.js similarity index 84% rename from web/settings/assets/device-57353c76.js rename to web/settings/assets/device-7f7452f2.js index e360fd8cf4..26923cb4fb 100644 --- a/web/settings/assets/device-57353c76.js +++ b/web/settings/assets/device-7f7452f2.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as n,l as u,m,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as n,l as u,m,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-3ed98b6b.js b/web/settings/assets/device-88e6829b.js similarity index 86% rename from web/settings/assets/device-3ed98b6b.js rename to web/settings/assets/device-88e6829b.js index 814532296e..196fe53ffb 100644 --- a/web/settings/assets/device-3ed98b6b.js +++ b/web/settings/assets/device-88e6829b.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const U=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{U as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const U=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-8bcf90b2.js b/web/settings/assets/device-8c5dabb3.js similarity index 84% rename from web/settings/assets/device-8bcf90b2.js rename to web/settings/assets/device-8c5dabb3.js index 7a3400097f..b1ab9a2e98 100644 --- a/web/settings/assets/device-8bcf90b2.js +++ b/web/settings/assets/device-8c5dabb3.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-14ca9649.js b/web/settings/assets/device-8c6a7cd7.js similarity index 84% rename from web/settings/assets/device-14ca9649.js rename to web/settings/assets/device-8c6a7cd7.js index b728403e90..a1b048b5d0 100644 --- a/web/settings/assets/device-14ca9649.js +++ b/web/settings/assets/device-8c6a7cd7.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-8c9cf6be.js b/web/settings/assets/device-8de467ac.js similarity index 89% rename from web/settings/assets/device-8c9cf6be.js rename to web/settings/assets/device-8de467ac.js index 3e0529448a..934f1770ac 100644 --- a/web/settings/assets/device-8c9cf6be.js +++ b/web/settings/assets/device-8de467ac.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,C,E){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Smart Energy Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,C,E){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Smart Energy Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-39b62289.js b/web/settings/assets/device-906beffa.js similarity index 84% rename from web/settings/assets/device-39b62289.js rename to web/settings/assets/device-906beffa.js index 4ba6bf9426..d00dd2dbcc 100644 --- a/web/settings/assets/device-39b62289.js +++ b/web/settings/assets/device-906beffa.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(r,null,{default:l(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(r,null,{default:l(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-64c77c03.js b/web/settings/assets/device-968183c7.js similarity index 80% rename from web/settings/assets/device-64c77c03.js rename to web/settings/assets/device-968183c7.js index e7597627e3..d457902b52 100644 --- a/web/settings/assets/device-64c77c03.js +++ b/web/settings/assets/device-968183c7.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-4e22ef76.js b/web/settings/assets/device-9749c9e1.js similarity index 84% rename from web/settings/assets/device-4e22ef76.js rename to web/settings/assets/device-9749c9e1.js index 67770fff41..ac84943a0d 100644 --- a/web/settings/assets/device-4e22ef76.js +++ b/web/settings/assets/device-9749c9e1.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as l,u as o,l as u,m,G as i,E as r,y as t,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const k=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{k as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as l,u as o,l as u,m,G as i,E as r,y as t,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const k=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-29037061.js b/web/settings/assets/device-99900f00.js similarity index 93% rename from web/settings/assets/device-29037061.js rename to web/settings/assets/device-99900f00.js index 99e19f17fd..ac3ec2fde4 100644 --- a/web/settings/assets/device-29037061.js +++ b/web/settings/assets/device-99900f00.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as b,u as o,l as g,m as f,G as t,E as s,y as r,x as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,C,H){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),l=o("openwb-base-text-input"),u=o("openwb-base-number-input"),p=o("openwb-base-select-input");return g(),f("div",c,[t(a,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),v("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (mit Modbus/TCP Adapter)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Modbus/TCP Adapter (z.B. Protoss oder Elfin) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=b(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as b,u as o,l as g,m as f,G as t,E as s,y as r,x as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,C,H){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),l=o("openwb-base-text-input"),u=o("openwb-base-number-input"),p=o("openwb-base-select-input");return g(),f("div",c,[t(a,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),v("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (mit Modbus/TCP Adapter)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Modbus/TCP Adapter (z.B. Protoss oder Elfin) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=b(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; diff --git a/web/settings/assets/device-b1ac3de9.js b/web/settings/assets/device-99e093c0.js similarity index 90% rename from web/settings/assets/device-b1ac3de9.js rename to web/settings/assets/device-99e093c0.js index 247270dc4c..2a6917d7a1 100644 --- a/web/settings/assets/device-b1ac3de9.js +++ b/web/settings/assets/device-99e093c0.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; diff --git a/web/settings/assets/device-9625c714.js b/web/settings/assets/device-9befb1d4.js similarity index 87% rename from web/settings/assets/device-9625c714.js rename to web/settings/assets/device-9befb1d4.js index ab8677abc2..9598d7ccbb 100644 --- a/web/settings/assets/device-9625c714.js +++ b/web/settings/assets/device-9befb1d4.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as i,l,m as p,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,C){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as i,l,m as p,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,C){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-ca2ff40d.js b/web/settings/assets/device-a0c4f59d.js similarity index 81% rename from web/settings/assets/device-ca2ff40d.js rename to web/settings/assets/device-a0c4f59d.js index 6974454271..0482a12dd5 100644 --- a/web/settings/assets/device-ca2ff40d.js +++ b/web/settings/assets/device-a0c4f59d.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as r,u as t,l as d,m,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const k=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as r,u as t,l as d,m,G as n,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const k=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-2751af54.js b/web/settings/assets/device-a319d4b6.js similarity index 94% rename from web/settings/assets/device-2751af54.js rename to web/settings/assets/device-a319d4b6.js index dd10e172bc..b63087750b 100644 --- a/web/settings/assets/device-2751af54.js +++ b/web/settings/assets/device-a319d4b6.js @@ -1 +1 @@ -import{D as b}from"./HardwareInstallation-46934147.js";import{_ as v,u as i,l as s,m as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; +import{D as b}from"./HardwareInstallation-3a644290.js";import{_ as v,u as i,l as s,m as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-674ad066.js b/web/settings/assets/device-a9846396.js similarity index 88% rename from web/settings/assets/device-674ad066.js rename to web/settings/assets/device-a9846396.js index 0738cd76d2..c9c6022c73 100644 --- a/web/settings/assets/device-674ad066.js +++ b/web/settings/assets/device-a9846396.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,y as o,x as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return p(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const G=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{G as default}; +import{D as l}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,y as o,x as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return p(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const G=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-e8305ae6.js b/web/settings/assets/device-aacbf2a5.js similarity index 86% rename from web/settings/assets/device-e8305ae6.js rename to web/settings/assets/device-aacbf2a5.js index b763a80473..20a819ea0c 100644 --- a/web/settings/assets/device-e8305ae6.js +++ b/web/settings/assets/device-aacbf2a5.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as i,l,m as u,G as n,E as a,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return l(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as i,l,m as u,G as n,E as a,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return l(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-68a79bec.js b/web/settings/assets/device-ae68eae2.js similarity index 93% rename from web/settings/assets/device-68a79bec.js rename to web/settings/assets/device-ae68eae2.js index 3435891ef2..1495d2b526 100644 --- a/web/settings/assets/device-68a79bec.js +++ b/web/settings/assets/device-ae68eae2.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const M=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{M as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const M=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-5c8a06f7.js b/web/settings/assets/device-b21c21f9.js similarity index 91% rename from web/settings/assets/device-5c8a06f7.js rename to web/settings/assets/device-b21c21f9.js index 6292c1d978..49a58befd5 100644 --- a/web/settings/assets/device-5c8a06f7.js +++ b/web/settings/assets/device-b21c21f9.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,C){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input"),u=i("openwb-base-select-input");return g(),b("div",v,[t(l,null,{default:r(()=>e[4]||(e[4]=[a(" Einstellungen für Solax ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",min:1,max:65535,placeholder:502,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},{help:r(()=>e[5]||(e[5]=[a(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(s,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":n.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:r(()=>e[6]||(e[6]=[a(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3"},{value:"g4",text:"Gen 4"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const U=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{U as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,C){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input"),u=i("openwb-base-select-input");return g(),b("div",v,[t(l,null,{default:r(()=>e[4]||(e[4]=[a(" Einstellungen für Solax ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",min:1,max:65535,placeholder:502,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},{help:r(()=>e[5]||(e[5]=[a(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(s,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":n.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:r(()=>e[6]||(e[6]=[a(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3"},{value:"g4",text:"Gen 4"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const U=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-f4441f40.js b/web/settings/assets/device-c61fae76.js similarity index 87% rename from web/settings/assets/device-f4441f40.js rename to web/settings/assets/device-c61fae76.js index 980b8e649a..9a1785d443 100644 --- a/web/settings/assets/device-f4441f40.js +++ b/web/settings/assets/device-c61fae76.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const G=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{G as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const G=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-cc2ee49c.js b/web/settings/assets/device-c8cf6368.js similarity index 87% rename from web/settings/assets/device-cc2ee49c.js rename to web/settings/assets/device-c8cf6368.js index 4aecfad2a5..6986d83fbf 100644 --- a/web/settings/assets/device-cc2ee49c.js +++ b/web/settings/assets/device-c8cf6368.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-46934147.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; +import{D as l}from"./HardwareInstallation-3a644290.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-136769e2.js b/web/settings/assets/device-d1c48c2c.js similarity index 87% rename from web/settings/assets/device-136769e2.js rename to web/settings/assets/device-d1c48c2c.js index 354f25227f..e799094ff0 100644 --- a/web/settings/assets/device-136769e2.js +++ b/web/settings/assets/device-d1c48c2c.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{k as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-d08a4407.js b/web/settings/assets/device-dbe167d8.js similarity index 86% rename from web/settings/assets/device-d08a4407.js rename to web/settings/assets/device-dbe167d8.js index 396fe493a3..079505ba0b 100644 --- a/web/settings/assets/device-d08a4407.js +++ b/web/settings/assets/device-dbe167d8.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-fb149eda.js b/web/settings/assets/device-dd9fc66e.js similarity index 81% rename from web/settings/assets/device-fb149eda.js rename to web/settings/assets/device-dd9fc66e.js index e1e04b82e7..bee70768d6 100644 --- a/web/settings/assets/device-fb149eda.js +++ b/web/settings/assets/device-dd9fc66e.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:m(()=>e[1]||(e[1]=[u("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:m(()=>e[1]||(e[1]=[u("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-953102b6.js b/web/settings/assets/device-e29a0ff7.js similarity index 88% rename from web/settings/assets/device-953102b6.js rename to web/settings/assets/device-e29a0ff7.js index 53e2662c41..ef4dd1889c 100644 --- a/web/settings/assets/device-953102b6.js +++ b/web/settings/assets/device-e29a0ff7.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as t,l as d,m,G as i,E as c,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const U=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{U as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as t,l as d,m,G as i,E as c,y as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const U=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-bdb7ee31.js b/web/settings/assets/device-e44ec84b.js similarity index 91% rename from web/settings/assets/device-bdb7ee31.js rename to web/settings/assets/device-e44ec84b.js index 44a241707c..a55b1ee976 100644 --- a/web/settings/assets/device-bdb7ee31.js +++ b/web/settings/assets/device-e44ec84b.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,B,E){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,B,E){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-a75468b6.js b/web/settings/assets/device-eb9518f3.js similarity index 84% rename from web/settings/assets/device-a75468b6.js rename to web/settings/assets/device-eb9518f3.js index bc7b778b80..e7d6488845 100644 --- a/web/settings/assets/device-a75468b6.js +++ b/web/settings/assets/device-eb9518f3.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-42cfcbe9.js b/web/settings/assets/device-f0eb9f12.js similarity index 81% rename from web/settings/assets/device-42cfcbe9.js rename to web/settings/assets/device-f0eb9f12.js index accd5bcd63..fdc1108317 100644 --- a/web/settings/assets/device-42cfcbe9.js +++ b/web/settings/assets/device-f0eb9f12.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{k as default}; +import{D as r}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-9392298b.js b/web/settings/assets/device-f1c2a7a5.js similarity index 84% rename from web/settings/assets/device-9392298b.js rename to web/settings/assets/device-f1c2a7a5.js index e6f8eba558..00a5c8c2e3 100644 --- a/web/settings/assets/device-9392298b.js +++ b/web/settings/assets/device-f1c2a7a5.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return m(),u("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return m(),u("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-0a7cbd91.js b/web/settings/assets/device-f3f81832.js similarity index 88% rename from web/settings/assets/device-0a7cbd91.js rename to web/settings/assets/device-f3f81832.js index 70a2a7c3b9..2c1635b840 100644 --- a/web/settings/assets/device-0a7cbd91.js +++ b/web/settings/assets/device-f3f81832.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-46934147.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{U as default}; +import{D as m}from"./HardwareInstallation-3a644290.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-a956ceef.js b/web/settings/assets/device-fcda5bd2.js similarity index 87% rename from web/settings/assets/device-a956ceef.js rename to web/settings/assets/device-fcda5bd2.js index c04879c209..961a12e6e2 100644 --- a/web/settings/assets/device-a956ceef.js +++ b/web/settings/assets/device-fcda5bd2.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-46934147.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; +import{D as p}from"./HardwareInstallation-3a644290.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,y as f}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-df82d4f8.js b/web/settings/assets/device-fd0ed77c.js similarity index 89% rename from web/settings/assets/device-df82d4f8.js rename to web/settings/assets/device-fd0ed77c.js index 910726f326..21cb044af2 100644 --- a/web/settings/assets/device-df82d4f8.js +++ b/web/settings/assets/device-fd0ed77c.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as c,m as f,G as o,E as l,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shelly der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as c,m as f,G as o,E as l,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shelly der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/displayTheme-db2e7dea.js b/web/settings/assets/displayTheme-1e1ee4eb.js similarity index 88% rename from web/settings/assets/displayTheme-db2e7dea.js rename to web/settings/assets/displayTheme-1e1ee4eb.js index f08826fffb..c5009d5c34 100644 --- a/web/settings/assets/displayTheme-db2e7dea.js +++ b/web/settings/assets/displayTheme-1e1ee4eb.js @@ -1 +1 @@ -import{D as d}from"./OptionalComponents-d5d7da10.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,y as a,z as b,B as g}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeColors",mixins:[d]},f={class:"display-theme-colors"};function h(o,e,y,w,k,v){const r=n("openwb-base-heading"),l=n("openwb-base-button-group-input"),u=n("openwb-base-text-input");return i(),c("div",f,[p(r,null,{default:s(()=>e[2]||(e[2]=[a("Bediensperre")])),_:1}),p(l,{title:"Bedienung sperren","model-value":o.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.lock_changes"))},{help:s(()=>e[3]||(e[3]=[a(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),o.displayTheme.configuration.lock_changes?(i(),b(u,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":o.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>e[4]||(e[4]=[a(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):g("",!0)])}const A=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/colors/displayTheme.vue"]]);export{A as default}; +import{D as d}from"./OptionalComponents-f79f9835.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,y as a,z as b,B as g}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeColors",mixins:[d]},f={class:"display-theme-colors"};function h(o,e,y,w,k,v){const r=n("openwb-base-heading"),l=n("openwb-base-button-group-input"),u=n("openwb-base-text-input");return i(),c("div",f,[p(r,null,{default:s(()=>e[2]||(e[2]=[a("Bediensperre")])),_:1}),p(l,{title:"Bedienung sperren","model-value":o.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.lock_changes"))},{help:s(()=>e[3]||(e[3]=[a(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),o.displayTheme.configuration.lock_changes?(i(),b(u,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":o.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>e[4]||(e[4]=[a(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):g("",!0)])}const A=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/colors/displayTheme.vue"]]);export{A as default}; diff --git a/web/settings/assets/displayTheme-573c9744.js b/web/settings/assets/displayTheme-64a8b4a0.js similarity index 96% rename from web/settings/assets/displayTheme-573c9744.js rename to web/settings/assets/displayTheme-64a8b4a0.js index f75b1ef67d..2cf3f701ec 100644 --- a/web/settings/assets/displayTheme-573c9744.js +++ b/web/settings/assets/displayTheme-64a8b4a0.js @@ -1 +1 @@ -import{D as g}from"./OptionalComponents-d5d7da10.js";import{_ as m,u as i,l as d,m as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; +import{D as g}from"./OptionalComponents-f79f9835.js";import{_ as m,u as i,l as d,m as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; diff --git a/web/settings/assets/electricity_tariff-4d16bc31.js b/web/settings/assets/electricity_tariff-0c46c1ec.js similarity index 87% rename from web/settings/assets/electricity_tariff-4d16bc31.js rename to web/settings/assets/electricity_tariff-0c46c1ec.js index cd4f994b0f..c4ca3b2818 100644 --- a/web/settings/assets/electricity_tariff-4d16bc31.js +++ b/web/settings/assets/electricity_tariff-0c46c1ec.js @@ -1 +1 @@ -import{E as l}from"./GeneralChargeConfig-bd028832.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,y as f}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; +import{E as l}from"./GeneralChargeConfig-401ab7d4.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,y as f}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; diff --git a/web/settings/assets/electricity_tariff-01c67cfa.js b/web/settings/assets/electricity_tariff-0d285d7d.js similarity index 87% rename from web/settings/assets/electricity_tariff-01c67cfa.js rename to web/settings/assets/electricity_tariff-0d285d7d.js index 535105ee5c..27036a111a 100644 --- a/web/settings/assets/electricity_tariff-01c67cfa.js +++ b/web/settings/assets/electricity_tariff-0d285d7d.js @@ -1 +1 @@ -import{E as s}from"./GeneralChargeConfig-bd028832.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,y as f}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; +import{E as s}from"./GeneralChargeConfig-401ab7d4.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,y as f}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; diff --git a/web/settings/assets/electricity_tariff-8a0715f0.js b/web/settings/assets/electricity_tariff-4d29c538.js similarity index 94% rename from web/settings/assets/electricity_tariff-8a0715f0.js rename to web/settings/assets/electricity_tariff-4d29c538.js index 38bf4b563c..597cfc39f1 100644 --- a/web/settings/assets/electricity_tariff-8a0715f0.js +++ b/web/settings/assets/electricity_tariff-4d29c538.js @@ -1 +1 @@ -import{E as m}from"./GeneralChargeConfig-bd028832.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,y as l,x as T}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; +import{E as m}from"./GeneralChargeConfig-401ab7d4.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,y as l,x as T}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; diff --git a/web/settings/assets/electricity_tariff-b31a1dbf.js b/web/settings/assets/electricity_tariff-8330f492.js similarity index 84% rename from web/settings/assets/electricity_tariff-b31a1dbf.js rename to web/settings/assets/electricity_tariff-8330f492.js index 23269b69c9..af0a2e3726 100644 --- a/web/settings/assets/electricity_tariff-b31a1dbf.js +++ b/web/settings/assets/electricity_tariff-8330f492.js @@ -1 +1 @@ -import{E as o}from"./GeneralChargeConfig-bd028832.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,y as f}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; +import{E as o}from"./GeneralChargeConfig-401ab7d4.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,y as f}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/electricity_tariff-da29313e.js b/web/settings/assets/electricity_tariff-a0cf3a14.js similarity index 91% rename from web/settings/assets/electricity_tariff-da29313e.js rename to web/settings/assets/electricity_tariff-a0cf3a14.js index 48a29a378e..94b6cab18b 100644 --- a/web/settings/assets/electricity_tariff-da29313e.js +++ b/web/settings/assets/electricity_tariff-a0cf3a14.js @@ -1 +1 @@ -import{E as c}from"./GeneralChargeConfig-bd028832.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,y as s,x as m}from"./vendor-ea36120f.js";import"./index-ad11aee2.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; +import{E as c}from"./GeneralChargeConfig-401ab7d4.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,y as s,x as m}from"./vendor-ea36120f.js";import"./index-cc8f65ba.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; diff --git a/web/settings/assets/external_inverter-3f34bf8f.js b/web/settings/assets/external_inverter-19cf6472.js similarity index 91% rename from web/settings/assets/external_inverter-3f34bf8f.js rename to web/settings/assets/external_inverter-19cf6472.js index 027434daf7..d5dd36e298 100644 --- a/web/settings/assets/external_inverter-3f34bf8f.js +++ b/web/settings/assets/external_inverter-19cf6472.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; diff --git a/web/settings/assets/index-932929b9.css b/web/settings/assets/index-27ba6225.css similarity index 85% rename from web/settings/assets/index-932929b9.css rename to web/settings/assets/index-27ba6225.css index 99466796e2..3289557fe7 100644 --- a/web/settings/assets/index-932929b9.css +++ b/web/settings/assets/index-27ba6225.css @@ -1 +1 @@ -.card-text.alert[data-v-055c15aa],.form-text.alert{box-shadow:0 4px 8px #00000026}.remove-element[data-v-9de93d37]:hover{color:var(--danger)}input.invalid[data-v-9de93d37],input[data-v-9de93d37]:invalid{border:2px solid var(--danger)}.tagList[data-v-9de93d37]{background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;padding:5px 5px 0;display:flex;flex-wrap:wrap}.tag[data-v-9de93d37],.noTag[data-v-9de93d37]{border-radius:10px;padding:2px 5px;margin-right:10px;margin-bottom:5px}.noTag[data-v-9de93d37]{color:var(--gray);font-style:italic}.tag[data-v-9de93d37]{background-color:var(--success)}.avatar[data-v-06082a1a]{display:inline-flex;justify-content:center;align-items:center;width:2.5em;height:2.5em;border-radius:50%;border-width:2px;border-style:solid}button[data-v-2e9c095b]:not(:disabled){cursor:pointer}.card{margin-bottom:1rem;box-shadow:0 4px 8px #00000026}.card .card-header{font-weight:700;display:flex;justify-content:space-between;align-items:center;border-bottom:none}.card .card-header .subheader{font-weight:400;font-size:75%}.card-actions{display:flex;align-items:center}.card-actions .pill{border-radius:10px;padding:5px;border-width:2px;border-style:solid}.border-pink{border-color:var(--pink)!important}.bg-pink{background-color:var(--pink)!important}.bg-primary,.bg-secondary,.bg-info,.bg-danger,.bg-success,.bg-dark{color:#fff}.bg-warning,.bg-pink,.bg-light,.bg-white{color:#212529}.card-header.bg-secondary .btn-outline-info:not(.active):not(:hover),.card-header.bg-success .btn-outline-info:not(.active):not(:hover),.card-header.bg-primary .btn-outline-info:not(.active):not(:hover){background-color:#fff}.card-header.bg-success .btn-outline-info.focus{box-shadow:0 0 0 .2rem #fff}.card-header.bg-success .btn-outline-info.active,.card-header.bg-success .btn-outline-info:hover{border-color:#fff}.card.border-white{background-color:bg-border-white}.card-header .card.border-white{background-color:inherit}.card-body.border-radius-top-inherit{border-top-left-radius:inherit;border-top-right-radius:inherit}.card-body.border-radius-bottom-inherit{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}span.copy-me[data-v-81826ebe]{cursor:copy}.card-text-heading[data-v-cbe4e96e]{font-size:125%;font-weight:700;margin-top:1rem;margin-bottom:.5rem;display:flex;justify-content:space-between}.card-text-heading .actions[data-v-cbe4e96e]{font-weight:400;font-size:75%}.heading-text[data-v-cbe4e96e]{cursor:default}input.invalid[data-v-c2fb7eef],input[data-v-c2fb7eef]:invalid{background-color:pink}input[readonly][data-v-c2fb7eef]::-webkit-outer-spin-button,input[readonly][data-v-c2fb7eef]::-webkit-inner-spin-button,input[disabled][data-v-c2fb7eef]::-webkit-outer-spin-button,input[disabled][data-v-c2fb7eef]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[readonly][type=number][data-v-c2fb7eef],input[disabled][type=number][data-v-c2fb7eef]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.vaRow[data-v-449fb0a5]{display:flex;align-items:center}input[data-v-6927d479]:invalid{background-color:pink}textarea[data-v-3d93046b]:invalid{background-color:pink}.toast[data-v-c51b5764]{opacity:1;border:1px solid rgba(0,0,0,.1)}.toast[data-v-c51b5764]:not(:last-child){margin-bottom:.25rem!important}.navbar[data-v-e7a6d0c0]{box-shadow:0 4px 8px 4px #00000026}.nav-item.nav-separator-before[data-v-e7a6d0c0]{border-left:1px solid rgba(255,255,255,.5);margin-left:5px;padding-left:5px}.nav-item.nav-separator-after[data-v-e7a6d0c0]{border-right:1px solid rgba(255,255,255,.5);margin-right:5px;padding-right:5px}@media (max-width: 991px){.nav-item.nav-separator-before[data-v-e7a6d0c0]{border-left:none;margin-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.5);margin-top:5px;padding-top:5px}.nav-item.nav-separator-after[data-v-e7a6d0c0]{border-right:none;margin-right:0;padding-right:0;border-bottom:1px solid rgba(255,255,255,.5);margin-bottom:5px;padding-bottom:5px}}.footer[data-v-3c9a239a]{position:fixed;bottom:0;width:100%;height:30px;line-height:30px;z-index:1030;box-shadow:0 -4px 8px 4px #00000026}.container[data-v-3c9a239a]{padding-right:15px;padding-left:15px}.alert{box-shadow:0 4px 8px #00000026}#message-indicator[data-v-2c25f0d0]{position:fixed;top:0;right:0;z-index:2000}#message-indicator .message-counter[data-v-2c25f0d0]{font-weight:bolder}.openwb-toast-container[data-v-2c25f0d0]{position:fixed!important;z-index:2000;right:0;top:55px;padding:.25rem;width:275px}.openwb-toast-container.full-height[data-v-2c25f0d0]{bottom:0;overflow-y:auto;background-color:var(--dark);border:1px solid var(--dark);box-shadow:-4px 0 8px 4px #00000026}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container[role=main]{padding:60px 15px 30px}.clickable{cursor:pointer}.not-clickable{cursor:not-allowed} +.card-text.alert[data-v-055c15aa],.form-text.alert{box-shadow:0 4px 8px #00000026}.remove-element[data-v-9de93d37]:hover{color:var(--danger)}input.invalid[data-v-9de93d37],input[data-v-9de93d37]:invalid{border:2px solid var(--danger)}.tagList[data-v-9de93d37]{background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;padding:5px 5px 0;display:flex;flex-wrap:wrap}.tag[data-v-9de93d37],.noTag[data-v-9de93d37]{border-radius:10px;padding:2px 5px;margin-right:10px;margin-bottom:5px}.noTag[data-v-9de93d37]{color:var(--gray);font-style:italic}.tag[data-v-9de93d37]{background-color:var(--success)}.avatar[data-v-06082a1a]{display:inline-flex;justify-content:center;align-items:center;width:2.5em;height:2.5em;border-radius:50%;border-width:2px;border-style:solid}button[data-v-2e9c095b]:not(:disabled){cursor:pointer}.card{margin-bottom:1rem;box-shadow:0 4px 8px #00000026}.card .card-header{font-weight:700;display:flex;justify-content:space-between;align-items:center;border-bottom:none}.card .card-header .subheader{font-weight:400;font-size:75%}.card-actions{display:flex;align-items:center}.card-actions .pill{border-radius:10px;padding:5px;border-width:2px;border-style:solid}.border-pink{border-color:var(--pink)!important}.bg-pink{background-color:var(--pink)!important}.bg-primary,.bg-secondary,.bg-info,.bg-danger,.bg-success,.bg-dark{color:#fff}.bg-warning,.bg-pink,.bg-light,.bg-white{color:#212529}.card-header.bg-secondary .btn-outline-info:not(.active):not(:hover),.card-header.bg-success .btn-outline-info:not(.active):not(:hover),.card-header.bg-primary .btn-outline-info:not(.active):not(:hover){background-color:#fff}.card-header.bg-success .btn-outline-info.focus{box-shadow:0 0 0 .2rem #fff}.card-header.bg-success .btn-outline-info.active,.card-header.bg-success .btn-outline-info:hover{border-color:#fff}.card.border-white{background-color:bg-border-white}.card-header .card.border-white{background-color:inherit}.card-body.border-radius-top-inherit{border-top-left-radius:inherit;border-top-right-radius:inherit}.card-body.border-radius-bottom-inherit{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}span.copy-me[data-v-81826ebe]{cursor:copy}.card-text-heading[data-v-cbe4e96e]{font-size:125%;font-weight:700;margin-top:1rem;margin-bottom:.5rem;display:flex;justify-content:space-between}.card-text-heading .actions[data-v-cbe4e96e]{font-weight:400;font-size:75%}.heading-text[data-v-cbe4e96e]{cursor:default}input.invalid[data-v-c2fb7eef],input[data-v-c2fb7eef]:invalid{background-color:pink}input[readonly][data-v-c2fb7eef]::-webkit-outer-spin-button,input[readonly][data-v-c2fb7eef]::-webkit-inner-spin-button,input[disabled][data-v-c2fb7eef]::-webkit-outer-spin-button,input[disabled][data-v-c2fb7eef]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[readonly][type=number][data-v-c2fb7eef],input[disabled][type=number][data-v-c2fb7eef]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.vaRow[data-v-449fb0a5]{display:flex;align-items:center}input[data-v-6927d479]:invalid{background-color:pink}textarea[data-v-3d93046b]:invalid{background-color:pink}.toast[data-v-c51b5764]{opacity:1;border:1px solid rgba(0,0,0,.1)}.toast[data-v-c51b5764]:not(:last-child){margin-bottom:.25rem!important}.navbar[data-v-e7a6d0c0]{box-shadow:0 4px 8px 4px #00000026}.nav-item.nav-separator-before[data-v-e7a6d0c0]{border-left:1px solid rgba(255,255,255,.5);margin-left:5px;padding-left:5px}.nav-item.nav-separator-after[data-v-e7a6d0c0]{border-right:1px solid rgba(255,255,255,.5);margin-right:5px;padding-right:5px}@media (max-width: 991px){.nav-item.nav-separator-before[data-v-e7a6d0c0]{border-left:none;margin-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.5);margin-top:5px;padding-top:5px}.nav-item.nav-separator-after[data-v-e7a6d0c0]{border-right:none;margin-right:0;padding-right:0;border-bottom:1px solid rgba(255,255,255,.5);margin-bottom:5px;padding-bottom:5px}}.footer[data-v-3c9a239a]{position:fixed;bottom:0;width:100%;height:30px;line-height:30px;z-index:1030;box-shadow:0 -4px 8px 4px #00000026}.container[data-v-3c9a239a]{padding-right:15px;padding-left:15px}#message-indicator[data-v-2c25f0d0]{position:fixed;top:0;right:0;z-index:2000}#message-indicator .message-counter[data-v-2c25f0d0]{font-weight:bolder}.openwb-toast-container[data-v-2c25f0d0]{position:fixed!important;z-index:2000;right:0;top:55px;padding:.25rem;width:275px}.openwb-toast-container.full-height[data-v-2c25f0d0]{bottom:0;overflow-y:auto;background-color:var(--dark);border:1px solid var(--dark);box-shadow:-4px 0 8px 4px #00000026}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container[role=main]{padding:60px 15px 30px}.clickable{cursor:pointer}.not-clickable{cursor:not-allowed} diff --git a/web/settings/assets/index-ad11aee2.js b/web/settings/assets/index-ad11aee2.js deleted file mode 100644 index 1e879ecef5..0000000000 --- a/web/settings/assets/index-ad11aee2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as y,l,m as u,p as g,q as O,u as b,x as a,y as p,z as h,A as E,B as f,D as V,E as c,F as v,G as m,I as B,J as I,K as S,L as X,M as q,N as T,O as ee,P as te,Q as ne,T as F,R as se,S as R,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-ea36120f.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Ie,z as Te,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as De,I as Ee,J as Le}from"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import{p as je,a as We}from"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-jquery-48e02303.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function Ne(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Fe=y(Re,[["render",Ne],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const Ue={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},ze={class:"form-row mb-1"},Ge={class:"col-md-4 col-form-label"},Je={class:"col-md-8"},Ke={class:"form-row"},Qe={class:"form-row"},Ye={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",ze,[a("label",Ge,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=p("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),a("div",Je,[a("div",Ke,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=p("*ELEMENT MISSING*"))])]),a("div",Qe,[i.showHelp?(l(),u("span",Ye,[g(t.$slots,"help")])):f("",!0)])])])}const M=y(Ue,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const et={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},tt={class:"w-100"},nt={class:"input-group"},st={class:"input-group-prepend"},ot={class:"input-group-text"},at={class:"input-group-append"},it={class:"tagList mt-1 w-100"},lt={key:0,class:"noTag"};function rt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",tt,[a("div",nt,[a("div",st,[a("div",ot,[g(t.$slots,"input-prefix",{},()=>[m(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[I,i.newTag]]),a("div",at,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",it,[s.value.length==0?(l(),u("span",lt,[m(o,{icon:["fas","info-circle"]}),p(" "+v(n.noElementsMessage),1)])):f("",!0),(l(!0),u(T,null,q(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[m(o,{icon:["fas","tag"]})],!0),p(" "+v(r)+" ",1),m(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const dt=y(et,[["render",rt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"}));const ct={name:"OpenwbAvatar"},pt={class:"avatar"};function mt(t,e,n,d,i,s){return l(),u("div",pt,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=p("?"))],!0)])}const ft=y(ct,[["render",mt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:ft},Symbol.toStringTag,{value:"Module"}));C.add(L);const gt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},bt={class:"btn-group btn-block btn-group-toggle"},ht=["value"];function vt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",bt,[(l(!0),u(T,null,q(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,ht),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[p(v(r.text),1)]),m(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const yt=y(gt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));const kt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function St(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[p(v(n.title),1)],!0)])}const K=y(kt,[["render",St],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Bt=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Ot={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ct(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[m(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[p(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const $t=y(Ot,[["render",Ct],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const Tt={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},xt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Vt={class:"col"},At={class:"card-actions ml-4"},Pt={key:0,class:"card-actions mr-4"},qt={key:2,class:"card-footer"};function Dt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",xt,[a("div",Mt,[a("div",Vt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[p(v(n.title),1)])])])]),a("span",At,[t.$slots.actions?(l(),u("span",Pt,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):f("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):f("",!0)])],2)):f("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):f("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",qt,[g(t.$slots,"footer")])):f("",!0)],2)}const Et=y(Tt,[["render",Dt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},Wt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Wt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nt=y(jt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ht={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to selection or text range"),window.getSelection){const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ut=["title"];function zt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),m(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ut)}const Gt=y(Ht,[["render",zt],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Kt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Qt={class:"heading-text"},Yt={key:0,class:"actions"},Zt={class:""},Xt={key:0,class:"form-row alert alert-info small flex-fill"};function en(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(T,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Qt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),t.$slots.actions?(l(),u("span",Yt,[g(t.$slots,"actions",{},void 0,!0)])):f("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Xt,[g(t.$slots,"help",{},void 0,!0)])):f("",!0)])],64)}const tn=y(Kt,[["render",en],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"})),sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},on={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},an={class:"modal-content"},ln={class:"modal-title"},rn={class:"modal-body"},dn=["data-event"];function un(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",on,[a("div",an,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",ln,v(n.title),1),n.preventClose?f("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",rn,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=p("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(T,null,q(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,dn))),128))],2)):f("",!0)])])])])):f("",!0)}const cn=y(sn,[["render",un],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"}));C.add(he);const mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},fn={class:"input-group"},_n={class:"input-group-prepend"},gn={class:"input-group-text"},bn={key:0,class:"input-group-append"},hn={class:"input-group-text"};function vn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fn,[a("div",_n,[a("div",gn,[m(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",bn,[a("div",hn,v(n.unit),1)])):f("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const yn=y(mn,[["render",vn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),wn=Object.freeze(Object.defineProperty({__proto__:null,default:yn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const kn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Sn,[a("div",Bn,[s.label?(l(),u("label",On,v(s.label),1)):f("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[m(o,{icon:["fas","step-backward"]})]),a("div",Cn,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,$n),[[I,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[m(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Tn=y(kn,[["render",In],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),xn=Object.freeze(Object.defineProperty({__proto__:null,default:Tn},Symbol.toStringTag,{value:"Module"}));C.add(z);const Mn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Vn={class:"w-100"},An={class:"input-group"},Pn={key:0,class:"input-group-prepend"},qn={class:"input-group-text"},Dn={key:0,value:void 0,disabled:""},En=["value"],Ln=["label"],jn=["value"],Wn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Vn,[a("div",An,[t.$slots.prefix?(l(),u("div",Pn,[a("div",qn,[g(t.$slots,"prefix")])])):f("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",Dn," -- "+v(n.notSelected)+" -- ",1)):f("",!0),(l(!0),u(T,null,q(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(T,null,q(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(T,null,q(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,jn))),128))],8,Ln))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",Wn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nn=y(Mn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Fn=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Hn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Un={class:"row justify-content-center mb-1"},zn={class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Jn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Kn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(T,null,[m(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[p(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),m(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),m(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Un,[a("div",zn,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=p(" Speichern ")),m(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?f("",!0):(l(),u("div",Gn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=p(" Änderungen verwerfen ")),m(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?f("",!0):(l(),u("div",Jn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=p(" Werkseinstellungen ")),m(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Qn=y(Hn,[["render",Kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Yn=Object.freeze(Object.defineProperty({__proto__:null,default:Qn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Ie,Te,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Xn,[a("div",es,[a("div",ts,[a("div",ns,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):f("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):f("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):f("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):f("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):f("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):f("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):f("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[I,s.value]]):f("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[I,s.value]]):f("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,as)),[[R,s.value]]):f("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,is)),[[R,s.value]]):f("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.unit?(l(),u("div",ls,[a("div",rs,v(n.unit),1)])):f("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",ds,[m(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const cs=y(Zn,[["render",us],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),ps=Object.freeze(Object.defineProperty({__proto__:null,default:cs},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ms={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid JSON as String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},fs={class:"w-100"},_s={class:"input-group"},gs={class:"input-group-prepend"},bs={class:"input-group-text"},hs={key:2,class:"input-group-append"},vs={class:"input-group-text"},ys={class:"form-text text-muted text-right"};function ws(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fs,[a("div",_s,[a("div",gs,[a("div",bs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):f("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value]]),t.$attrs.maxlength?(l(),u("div",hs,[a("div",vs,[a("small",ys,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ks=y(ms,[["render",ws],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));const Bs={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Os={key:0,class:"time-diff"},Cs={class:"toast-body"};function $s(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Os,v(i.relativeTime),1)):f("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Cs,[g(t.$slots,"default",{},void 0,!0)])],2)}const Is=y(Bs,[["render",$s],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Ts=Object.freeze(Object.defineProperty({__proto__:null,default:Is},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const xs={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},Ms={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Vs={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},As={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},Ps={class:"navbar-nav"},qs={class:"nav-item"},Ds={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ls={class:"nav-item dropdown"},js={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ns={class:"nav-item dropdown"},Fs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Hs={class:"nav-item dropdown"},Us={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},zs={class:"nav-item nav-separator-before"},Gs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Js(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",Ms,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Vs,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",As,[a("ul",Ps,[a("li",qs,[m(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[p(" Status ")])),_:1})]),a("li",Ds,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[m(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[p(" Ladeprotokoll ")])),_:1}),m(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[p(" Diagramme ")])),_:1})])]),a("li",Ls,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",js,[m(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[p(" Allgemein ")])),_:1}),m(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[p(" Optionale Hardware ")])),_:1})])]),a("li",Ws,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[m(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[p(" Übergreifendes ")])),_:1}),m(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[p(" Sofortladen ")])),_:1}),m(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[p(" PV-Laden ")])),_:1}),m(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[p(" Zeitladen ")])),_:1}),m(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[p(" Zielladen ")])),_:1})])]),a("li",Ns,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Fs,[m(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[p(" Geräte und Komponenten ")])),_:1}),m(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[p(" Lastmanagement ")])),_:1}),m(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[p(" Ladepunkte ")])),_:1}),m(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[p(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Hs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Us,[m(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[p(" Einrichtungsassistent ")])),_:1}),m(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[p(" openWB Cloud ")])),_:1}),m(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[p(" MQTT-Brücken ")])),_:1}),m(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[p(" Fehlersuche ")])),_:1}),m(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[p(" Support ")])),_:1}),m(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[p(" Datenverwaltung ")])),_:1}),m(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[p(" System ")])),_:1}),m(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[p(" Rechtliches ")])),_:1})])]),a("li",zs,[a("a",Gs,[e[30]||(e[30]=p(" Wiki ")),m(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ks=y(xs,[["render",Js],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Qs={name:"OpenwbPageFooter"},Ys={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Xs(t,e,n,d,i,s){return l(),u("footer",Ys,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const eo=y(Qs,[["render",Xs],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);C.add(Pe);const to={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:$}},no={class:"mt-3 alert alert-dark text-center"},so={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},oo={type:"submit",class:"btn btn-primary"};function ao(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",no,[e[3]||(e[3]=p(" Open Source made with love!")),e[4]||(e[4]=a("br",null,null,-1)),e[5]||(e[5]=p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben")),e[6]||(e[6]=a("br",null,null,-1)),a("form",so,[e[1]||(e[1]=a("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1)),e[2]||(e[2]=a("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1)),a("button",oo,[e[0]||(e[0]=p(" Spenden ")),m(o,{icon:["fab","paypal"]})])])])}const io=y(to,[["render",ao],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),lo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(0))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(lo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(qe,De);const ro={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:Le},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},uo=["innerHTML"];function co(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),A=b("openwb-base-toast");return l(),u(T,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...P)=>s.toggleAllMessages&&s.toggleAllMessages(...P))},[m(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[m(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):f("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[p(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[p(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):f("",!0),(l(!0),u(T,null,q(s.recentMessages,P=>(l(),h(A,{key:P.topic,topic:P.topic,source:P.source,subtype:P.type,timestamp:P.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:P.message},null,8,uo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):f("",!0)],64)}const po=y(ro,[["render",co],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),mo={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},fo={class:"openwb-blocker"},_o={key:0},go={key:1},bo={key:2},ho={key:3};function vo(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",fo,[m(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",_o,"Der Systemstart ist noch nicht abgeschlossen.")):f("",!0),s.updateInProgress?(l(),u("p",go,"Es wird eine Systemaktualisierung ausgeführt.")):f("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",bo,"Bitte die Seite neu laden.")):(l(),u("p",ho,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const yo=y(mo,[["render",vo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const wo={name:"OpenwbSettingsApp",components:{NavBar:Ks,PageFooter:eo,DonationBanner:io,Messages:po,Blocker:yo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},ko={role:"main",class:"container"},So={id:"content"};function Bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("donation-banner"),k=b("page-footer"),x=b("messages"),A=b("blocker");return l(),u(T,null,[a("header",null,[m(o)]),a("div",ko,[a("div",So,[a("h1",null,v(t.$route.meta.heading),1),m(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(r)]),m(k),m(x),m(A)],64)}const Oo=y(wo,[["render",Bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),Co="modulepreload",$o=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=$o(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const A=i[x];if(A.href===s&&(!o||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":Co,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,A)=>{k.addEventListener("load",x),k.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Y={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Y.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const D=ae({state:Y,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Z=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-95d0a8cd.js"),["assets/Status-95d0a8cd.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-1398beb1.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-a086d2f8.js"),["assets/ChargeLog-a086d2f8.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-3a165819.js"),["assets/Chart-3a165819.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-1398beb1.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-233a15bd.js").then(t=>t.a),["assets/GeneralConfig-233a15bd.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-d5d7da10.js").then(t=>t.O),["assets/OptionalComponents-d5d7da10.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-bd028832.js").then(t=>t.G),["assets/GeneralChargeConfig-bd028832.js","assets/dynamic-import-helper-be004503.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-ab3ef774.js"),["assets/InstantChargeConfig-ab3ef774.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-a9366468.js"),["assets/PVChargeConfig-a9366468.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-abe72556.js"),["assets/TimeChargeConfig-abe72556.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-7157269c.js"),["assets/ScheduledChargeConfig-7157269c.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-46934147.js").then(t=>t.a),["assets/HardwareInstallation-46934147.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-64d3beba.js"),["assets/LoadManagementConfig-64d3beba.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/OpenwbSortableList-84f65f8b.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-e034ae7d.js").then(t=>t.c),["assets/ChargePointInstallation-e034ae7d.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-42b044ac.js").then(t=>t.b),["assets/VehicleConfig-42b044ac.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-81a9f407.js"),["assets/CloudConfig-81a9f407.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-509bcf1a.js"),["assets/MqttBridgeConfig-509bcf1a.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-ca826d8c.js"),["assets/DebugConfig-ca826d8c.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-951d67a0.js"),["assets/Support-951d67a0.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-91ac676c.js"),["assets/LegalSettings-91ac676c.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-4169c132.js"),["assets/System-4169c132.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-675df4b8.js").then(t=>t.a),["assets/DataManagement-675df4b8.js","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-65380186.js"),["assets/InstallAssistant-65380186.js","assets/dynamic-import-helper-be004503.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])}];Z.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-8442f30b.js"),["assets/TestingStore-8442f30b.js","assets/OpenwbSortableList-84f65f8b.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-c5ffc2b2.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])});const j=ie({history:le(),routes:Z});j.beforeEach(async t=>{if(await D.getters.usageTermsAcknowledged){if(!await D.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const W=re(Oo);W.use(D).use(j).use(je,We);const Io=Object.assign({"./components/OpenwbBaseAlert.vue":He,"./components/OpenwbBaseArrayInput.vue":ut,"./components/OpenwbBaseAvatar.vue":_t,"./components/OpenwbBaseButtonGroupInput.vue":wt,"./components/OpenwbBaseButtonInput.vue":It,"./components/OpenwbBaseCard.vue":Lt,"./components/OpenwbBaseCheckboxInput.vue":Ft,"./components/OpenwbBaseClickButton.vue":Bt,"./components/OpenwbBaseCopyToClipboard.vue":Jt,"./components/OpenwbBaseHeading.vue":nn,"./components/OpenwbBaseModalDialog.vue":pn,"./components/OpenwbBaseNumberInput.vue":wn,"./components/OpenwbBaseRangeInput.vue":xn,"./components/OpenwbBaseSelectInput.vue":Fn,"./components/OpenwbBaseSettingElement.vue":Xe,"./components/OpenwbBaseSubmitButtons.vue":Yn,"./components/OpenwbBaseTextInput.vue":ps,"./components/OpenwbBaseTextarea.vue":Ss,"./components/OpenwbBaseToast.vue":Ts});Object.entries(Io).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));W.component(n,e.default)});W.mount("#app");export{Q as C,M as O,w as _}; diff --git a/web/settings/assets/index-cc8f65ba.js b/web/settings/assets/index-cc8f65ba.js new file mode 100644 index 0000000000..8c0b235974 --- /dev/null +++ b/web/settings/assets/index-cc8f65ba.js @@ -0,0 +1 @@ +import{_ as y,l,m as u,p as g,q as O,u as b,x as a,y as m,z as h,A as D,B as p,D as V,E as c,F as v,G as f,I as B,J as I,K as S,L as X,M as P,N as T,O as ee,P as te,Q as ne,T as F,R as se,S as W,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-ea36120f.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Ie,z as Te,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as Ee,I as De}from"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import{p as Le,a as je}from"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-jquery-48e02303.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function We(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Ne=y(Re,[["render",We],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),Fe=Object.freeze(Object.defineProperty({__proto__:null,default:Ne},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const He={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Ue={class:"form-row mb-1"},ze={class:"col-md-4 col-form-label"},Ge={class:"col-md-8"},Je={class:"form-row"},Ke={class:"form-row"},Qe={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",Ue,[a("label",ze,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=m("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:D(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):p("",!0)]),a("div",Ge,[a("div",Je,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=m("*ELEMENT MISSING*"))])]),a("div",Ke,[i.showHelp?(l(),u("span",Qe,[g(t.$slots,"help")])):p("",!0)])])])}const M=y(He,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const Xe={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},et={class:"w-100"},tt={class:"input-group"},nt={class:"input-group-prepend"},st={class:"input-group-text"},ot={class:"input-group-append"},at={class:"tagList mt-1 w-100"},it={key:0,class:"noTag"};function lt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)],!0)]),default:c(()=>[a("div",et,[a("div",tt,[a("div",nt,[a("div",st,[g(t.$slots,"input-prefix",{},()=>[f(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[I,i.newTag]]),a("div",ot,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[f(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",at,[s.value.length==0?(l(),u("span",it,[f(o,{icon:["fas","info-circle"]}),m(" "+v(n.noElementsMessage),1)])):p("",!0),(l(!0),u(T,null,P(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[f(o,{icon:["fas","tag"]})],!0),m(" "+v(r)+" ",1),f(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const rt=y(Xe,[["render",lt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),dt=Object.freeze(Object.defineProperty({__proto__:null,default:rt},Symbol.toStringTag,{value:"Module"}));const ut={name:"OpenwbAvatar"},ct={class:"avatar"};function pt(t,e,n,d,i,s){return l(),u("div",ct,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=m("?"))],!0)])}const mt=y(ut,[["render",pt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),ft=Object.freeze(Object.defineProperty({__proto__:null,default:mt},Symbol.toStringTag,{value:"Module"}));C.add(L);const _t={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},gt={class:"btn-group btn-block btn-group-toggle"},bt=["value"];function ht(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)])]),default:c(()=>[a("div",gt,[(l(!0),u(T,null,P(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,bt),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[m(v(r.text),1)]),f(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const vt=y(_t,[["render",ht],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),yt=Object.freeze(Object.defineProperty({__proto__:null,default:vt},Symbol.toStringTag,{value:"Module"}));const wt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function kt(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=D((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[m(v(n.title),1)],!0)])}const K=y(wt,[["render",kt],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),St=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Bt={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ot(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)])]),default:c(()=>[f(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[m(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Ct=y(Bt,[["render",Ot],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),$t=Object.freeze(Object.defineProperty({__proto__:null,default:Ct},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const It={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},Tt={class:"form-group mb-0"},xt={class:"form-row vaRow mb-0 py-2"},Mt={class:"col"},Vt={class:"card-actions ml-4"},At={key:0,class:"card-actions mr-4"},Pt={key:2,class:"card-footer"};function qt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",Tt,[a("div",xt,[a("div",Mt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[m(v(n.title),1)])])])]),a("span",Vt,[t.$slots.actions?(l(),u("span",At,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):p("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):p("",!0)])],2)):p("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):p("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",Pt,[g(t.$slots,"footer")])):p("",!0)],2)}const Et=y(It,[["render",qt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Dt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),Lt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},jt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)])]),default:c(()=>[a("div",jt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Wt=y(Lt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Nt=Object.freeze(Object.defineProperty({__proto__:null,default:Wt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ft={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to selection or text range"),window.getSelection){const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ht=["title"];function Ut(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),f(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ht)}const zt=y(Ft,[["render",Ut],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Gt=Object.freeze(Object.defineProperty({__proto__:null,default:zt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Jt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Kt={class:"heading-text"},Qt={key:0,class:"actions"},Zt={class:""},Yt={key:0,class:"form-row alert alert-info small flex-fill"};function Xt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(T,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Kt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:D(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):p("",!0)]),t.$slots.actions?(l(),u("span",Qt,[g(t.$slots,"actions",{},void 0,!0)])):p("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Yt,[g(t.$slots,"help",{},void 0,!0)])):p("",!0)])],64)}const en=y(Jt,[["render",Xt],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),tn=Object.freeze(Object.defineProperty({__proto__:null,default:en},Symbol.toStringTag,{value:"Module"})),nn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},sn={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},on={class:"modal-content"},an={class:"modal-title"},ln={class:"modal-body"},rn=["data-event"];function dn(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",sn,[a("div",on,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",an,v(n.title),1),n.preventClose?p("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",ln,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=m("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(T,null,P(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,rn))),128))],2)):p("",!0)])])])])):p("",!0)}const un=y(nn,[["render",dn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),cn=Object.freeze(Object.defineProperty({__proto__:null,default:un},Symbol.toStringTag,{value:"Module"}));C.add(he);const pn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},mn={class:"input-group"},fn={class:"input-group-prepend"},_n={class:"input-group-text"},gn={key:0,class:"input-group-append"},bn={class:"input-group-text"};function hn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)],!0)]),default:c(()=>[a("div",mn,[a("div",fn,[a("div",_n,[f(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",gn,[a("div",bn,v(n.unit),1)])):p("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const vn=y(pn,[["render",hn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),yn=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const wn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[m(v(n.title),1)],!0)]),default:c(()=>[a("div",kn,[a("div",Sn,[s.label?(l(),u("label",Bn,v(s.label),1)):p("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[f(o,{icon:["fas","step-backward"]})]),a("div",On,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,Cn),[[I,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[f(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const In=y(wn,[["render",$n],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),Tn=Object.freeze(Object.defineProperty({__proto__:null,default:In},Symbol.toStringTag,{value:"Module"}));C.add(z);const xn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Mn={class:"w-100"},Vn={class:"input-group"},An={key:0,class:"input-group-prepend"},Pn={class:"input-group-text"},qn={key:0,value:void 0,disabled:""},En=["value"],Dn=["label"],Ln=["value"],jn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)])]),default:c(()=>[a("div",Mn,[a("div",Vn,[t.$slots.prefix?(l(),u("div",An,[a("div",Pn,[g(t.$slots,"prefix")])])):p("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",qn," -- "+v(n.notSelected)+" -- ",1)):p("",!0),(l(!0),u(T,null,P(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(T,null,P(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(T,null,P(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,Ln))),128))],8,Dn))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",jn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[f(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):p("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Wn=y(xn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Nn=Object.freeze(Object.defineProperty({__proto__:null,default:Wn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Fn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Hn={class:"row justify-content-center mb-1"},Un={class:"col-md-4 d-flex py-1 justify-content-center"},zn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Jn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(T,null,[f(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[m(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),f(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[m(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),f(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[m(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Hn,[a("div",Un,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=m(" Speichern ")),f(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?p("",!0):(l(),u("div",zn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=m(" Änderungen verwerfen ")),f(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?p("",!0):(l(),u("div",Gn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=m(" Werkseinstellungen ")),f(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Kn=y(Fn,[["render",Jn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Qn=Object.freeze(Object.defineProperty({__proto__:null,default:Kn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Ie,Te,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[m(v(n.title),1)],!0)]),default:c(()=>[a("div",Yn,[a("div",Xn,[a("div",es,[a("div",ts,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):p("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):p("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):p("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):p("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):p("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):p("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):p("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):p("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):p("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ns)),[[I,s.value]]):p("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[I,s.value]]):p("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[W,s.value]]):p("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):p("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,as)),[[W,s.value]]):p("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):p("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):p("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):p("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):p("",!0),n.unit?(l(),u("div",is,[a("div",ls,v(n.unit),1)])):p("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",rs,[f(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):p("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):p("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):p("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const us=y(Zn,[["render",ds],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),cs=Object.freeze(Object.defineProperty({__proto__:null,default:us},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ps={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid JSON as String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},ms={class:"w-100"},fs={class:"input-group"},_s={class:"input-group-prepend"},gs={class:"input-group-text"},bs={key:2,class:"input-group-append"},hs={class:"input-group-text"},vs={class:"form-text text-muted text-right"};function ys(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[m(v(n.title),1)],!0)]),default:c(()=>[a("div",ms,[a("div",fs,[a("div",_s,[a("div",gs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):p("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):p("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value]]),t.$attrs.maxlength?(l(),u("div",bs,[a("div",hs,[a("small",vs,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):p("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ws=y(ps,[["render",ys],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),ks=Object.freeze(Object.defineProperty({__proto__:null,default:ws},Symbol.toStringTag,{value:"Module"}));const Ss={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Bs={key:0,class:"time-diff"},Os={class:"toast-body"};function Cs(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Bs,v(i.relativeTime),1)):p("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Os,[g(t.$slots,"default",{},void 0,!0)])],2)}const $s=y(Ss,[["render",Cs],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Is=Object.freeze(Object.defineProperty({__proto__:null,default:$s},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const Ts={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},xs={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Ms={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},Vs={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},As={class:"navbar-nav"},Ps={class:"nav-item"},qs={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ds={class:"nav-item dropdown"},Ls={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},js={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Ns={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Fs={class:"nav-item dropdown"},Hs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Us={class:"nav-item nav-separator-before"},zs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Gs(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",xs,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Ms,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",Vs,[a("ul",As,[a("li",Ps,[f(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[m(" Status ")])),_:1})]),a("li",qs,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[f(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[m(" Ladeprotokoll ")])),_:1}),f(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[m(" Diagramme ")])),_:1})])]),a("li",Ds,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",Ls,[f(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[m(" Allgemein ")])),_:1}),f(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[m(" Optionale Hardware ")])),_:1})])]),a("li",js,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[f(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[m(" Übergreifendes ")])),_:1}),f(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[m(" Sofortladen ")])),_:1}),f(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[m(" PV-Laden ")])),_:1}),f(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[m(" Zeitladen ")])),_:1}),f(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[m(" Zielladen ")])),_:1})])]),a("li",Ws,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Ns,[f(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[m(" Geräte und Komponenten ")])),_:1}),f(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[m(" Lastmanagement ")])),_:1}),f(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[m(" Ladepunkte ")])),_:1}),f(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[m(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Fs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Hs,[f(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[m(" Einrichtungsassistent ")])),_:1}),f(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[m(" openWB Cloud ")])),_:1}),f(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[m(" MQTT-Brücken ")])),_:1}),f(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[m(" Fehlersuche ")])),_:1}),f(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[m(" Support ")])),_:1}),f(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[m(" Datenverwaltung ")])),_:1}),f(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[m(" System ")])),_:1}),f(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[m(" Rechtliches ")])),_:1})])]),a("li",Us,[a("a",zs,[e[30]||(e[30]=m(" Wiki ")),f(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Js=y(Ts,[["render",Gs],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Ks={name:"OpenwbPageFooter"},Qs={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Ys(t,e,n,d,i,s){return l(),u("footer",Qs,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const Xs=y(Ks,[["render",Ys],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]),eo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(0))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(eo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(Pe,qe);const to={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:De},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},no=["innerHTML"];function so(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),q=b("openwb-base-toast");return l(),u(T,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...A)=>s.toggleAllMessages&&s.toggleAllMessages(...A))},[f(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[f(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):p("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[m(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[m(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):p("",!0),(l(!0),u(T,null,P(s.recentMessages,A=>(l(),h(q,{key:A.topic,topic:A.topic,source:A.source,subtype:A.type,timestamp:A.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:A.message},null,8,no)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):p("",!0)],64)}const oo=y(to,[["render",so],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),ao={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},io={class:"openwb-blocker"},lo={key:0},ro={key:1},uo={key:2},co={key:3};function po(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",io,[f(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",lo,"Der Systemstart ist noch nicht abgeschlossen.")):p("",!0),s.updateInProgress?(l(),u("p",ro,"Es wird eine Systemaktualisierung ausgeführt.")):p("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",uo,"Bitte die Seite neu laden.")):(l(),u("p",co,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const mo=y(ao,[["render",po],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const fo={name:"OpenwbSettingsApp",components:{NavBar:Js,PageFooter:Xs,Messages:oo,Blocker:mo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},_o={role:"main",class:"container"},go={id:"content"};function bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("page-footer"),k=b("messages"),x=b("blocker");return l(),u(T,null,[a("header",null,[f(o)]),a("div",_o,[a("div",go,[a("h1",null,v(t.$route.meta.heading),1),f(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])])]),f(r),f(k),f(x)],64)}const ho=y(fo,[["render",bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),vo="modulepreload",yo=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=yo(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const q=i[x];if(q.href===s&&(!o||q.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":vo,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,q)=>{k.addEventListener("load",x),k.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Z={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Z.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const E=ae({state:Z,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Y=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-3484f650.js"),["assets/Status-3484f650.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-1398beb1.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-7f7c5fe2.js"),["assets/ChargeLog-7f7c5fe2.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-bf602480.js"),["assets/Chart-bf602480.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-1398beb1.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-b0e93144.js").then(t=>t.a),["assets/GeneralConfig-b0e93144.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-f79f9835.js").then(t=>t.O),["assets/OptionalComponents-f79f9835.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-401ab7d4.js").then(t=>t.G),["assets/GeneralChargeConfig-401ab7d4.js","assets/dynamic-import-helper-be004503.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-8da1d692.js"),["assets/InstantChargeConfig-8da1d692.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-c750b618.js"),["assets/PVChargeConfig-c750b618.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-d3210f64.js"),["assets/TimeChargeConfig-d3210f64.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-85a95906.js"),["assets/ScheduledChargeConfig-85a95906.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-3a644290.js").then(t=>t.a),["assets/HardwareInstallation-3a644290.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-c15dfafe.js"),["assets/LoadManagementConfig-c15dfafe.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/OpenwbSortableList-bde71f66.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-408ee2ed.js").then(t=>t.c),["assets/ChargePointInstallation-408ee2ed.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-a49bda81.js").then(t=>t.b),["assets/VehicleConfig-a49bda81.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-c17b71a6.js"),["assets/CloudConfig-c17b71a6.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-74fa4482.js"),["assets/MqttBridgeConfig-74fa4482.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-ee93cd2f.js"),["assets/DebugConfig-ee93cd2f.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-aeee7674.js"),["assets/Support-aeee7674.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-0ab5ea05.js"),["assets/LegalSettings-0ab5ea05.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-20e6cb5e.js"),["assets/System-20e6cb5e.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-f14600c5.js").then(t=>t.a),["assets/DataManagement-f14600c5.js","assets/vendor-fortawesome-433470db.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-06ef733c.js"),["assets/InstallAssistant-06ef733c.js","assets/dynamic-import-helper-be004503.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])}];Y.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-96106450.js"),["assets/TestingStore-96106450.js","assets/OpenwbSortableList-bde71f66.js","assets/vendor-ea36120f.js","assets/vendor-sortablejs-c6aaccb3.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-433470db.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-038cab7c.js","assets/vendor-jquery-48e02303.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1f03ee31.js"])});const j=ie({history:le(),routes:Y});j.beforeEach(async t=>{if(await E.getters.usageTermsAcknowledged){if(!await E.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const R=re(ho);R.use(E).use(j).use(Le,je);const wo=Object.assign({"./components/OpenwbBaseAlert.vue":Fe,"./components/OpenwbBaseArrayInput.vue":dt,"./components/OpenwbBaseAvatar.vue":ft,"./components/OpenwbBaseButtonGroupInput.vue":yt,"./components/OpenwbBaseButtonInput.vue":$t,"./components/OpenwbBaseCard.vue":Dt,"./components/OpenwbBaseCheckboxInput.vue":Nt,"./components/OpenwbBaseClickButton.vue":St,"./components/OpenwbBaseCopyToClipboard.vue":Gt,"./components/OpenwbBaseHeading.vue":tn,"./components/OpenwbBaseModalDialog.vue":cn,"./components/OpenwbBaseNumberInput.vue":yn,"./components/OpenwbBaseRangeInput.vue":Tn,"./components/OpenwbBaseSelectInput.vue":Nn,"./components/OpenwbBaseSettingElement.vue":Ye,"./components/OpenwbBaseSubmitButtons.vue":Qn,"./components/OpenwbBaseTextInput.vue":cs,"./components/OpenwbBaseTextarea.vue":ks,"./components/OpenwbBaseToast.vue":Is});Object.entries(wo).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));R.component(n,e.default)});R.mount("#app");export{Q as C,M as O,w as _}; diff --git a/web/settings/assets/inverter-969246d9.js b/web/settings/assets/inverter-0931beee.js similarity index 86% rename from web/settings/assets/inverter-969246d9.js rename to web/settings/assets/inverter-0931beee.js index b74fa51407..1597edc6d5 100644 --- a/web/settings/assets/inverter-969246d9.js +++ b/web/settings/assets/inverter-0931beee.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as u,m,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const W=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{W as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as u,m,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const W=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-0740191b.js b/web/settings/assets/inverter-0dee4ab1.js similarity index 87% rename from web/settings/assets/inverter-0740191b.js rename to web/settings/assets/inverter-0dee4ab1.js index 18bd866d2c..7ac088e57e 100644 --- a/web/settings/assets/inverter-0740191b.js +++ b/web/settings/assets/inverter-0dee4ab1.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-54ad97d6.js b/web/settings/assets/inverter-1e549543.js similarity index 81% rename from web/settings/assets/inverter-54ad97d6.js rename to web/settings/assets/inverter-1e549543.js index 7e597f2053..8df7136920 100644 --- a/web/settings/assets/inverter-54ad97d6.js +++ b/web/settings/assets/inverter-1e549543.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-c3ea9f3b.js b/web/settings/assets/inverter-1eaedb65.js similarity index 89% rename from web/settings/assets/inverter-c3ea9f3b.js rename to web/settings/assets/inverter-1eaedb65.js index 5e6762a3c2..47c03e1084 100644 --- a/web/settings/assets/inverter-c3ea9f3b.js +++ b/web/settings/assets/inverter-1eaedb65.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as o,l,m,G as n,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as o,l,m,G as n,E as u,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-46ad8553.js b/web/settings/assets/inverter-25109ec8.js similarity index 83% rename from web/settings/assets/inverter-46ad8553.js rename to web/settings/assets/inverter-25109ec8.js index ea669cfa70..7605677ea8 100644 --- a/web/settings/assets/inverter-46ad8553.js +++ b/web/settings/assets/inverter-25109ec8.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{M as default}; diff --git a/web/settings/assets/inverter-a1fcf9bf.js b/web/settings/assets/inverter-2d9123ee.js similarity index 82% rename from web/settings/assets/inverter-a1fcf9bf.js rename to web/settings/assets/inverter-2d9123ee.js index 0f114c5a5d..308dee0093 100644 --- a/web/settings/assets/inverter-a1fcf9bf.js +++ b/web/settings/assets/inverter-2d9123ee.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-244b0fb1.js b/web/settings/assets/inverter-30cf9ccf.js similarity index 84% rename from web/settings/assets/inverter-244b0fb1.js rename to web/settings/assets/inverter-30cf9ccf.js index 8954824227..55b161f6de 100644 --- a/web/settings/assets/inverter-244b0fb1.js +++ b/web/settings/assets/inverter-30cf9ccf.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-d1d09c4d.js b/web/settings/assets/inverter-39ce3cb1.js similarity index 81% rename from web/settings/assets/inverter-d1d09c4d.js rename to web/settings/assets/inverter-39ce3cb1.js index 28f4a59e78..7bc9db1402 100644 --- a/web/settings/assets/inverter-d1d09c4d.js +++ b/web/settings/assets/inverter-39ce3cb1.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{k as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-fbcf2fc3.js b/web/settings/assets/inverter-456adc79.js similarity index 84% rename from web/settings/assets/inverter-fbcf2fc3.js rename to web/settings/assets/inverter-456adc79.js index d64766d4a2..430cf62805 100644 --- a/web/settings/assets/inverter-fbcf2fc3.js +++ b/web/settings/assets/inverter-456adc79.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as p,u as o,l,m as u,G as n,E as c,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as p,u as o,l,m as u,G as n,E as c,y as m}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-3cf3af51.js b/web/settings/assets/inverter-498c1656.js similarity index 81% rename from web/settings/assets/inverter-3cf3af51.js rename to web/settings/assets/inverter-498c1656.js index a06d1ed7ae..67b6253489 100644 --- a/web/settings/assets/inverter-3cf3af51.js +++ b/web/settings/assets/inverter-498c1656.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; diff --git a/web/settings/assets/inverter-b2abe08d.js b/web/settings/assets/inverter-4a2cdfd9.js similarity index 82% rename from web/settings/assets/inverter-b2abe08d.js rename to web/settings/assets/inverter-4a2cdfd9.js index 6642d25865..f239176113 100644 --- a/web/settings/assets/inverter-b2abe08d.js +++ b/web/settings/assets/inverter-4a2cdfd9.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; diff --git a/web/settings/assets/inverter-578fb2b4.js b/web/settings/assets/inverter-5571eba7.js similarity index 80% rename from web/settings/assets/inverter-578fb2b4.js rename to web/settings/assets/inverter-5571eba7.js index 1ad6610f6f..97b8bf7a3e 100644 --- a/web/settings/assets/inverter-578fb2b4.js +++ b/web/settings/assets/inverter-5571eba7.js @@ -1 +1 @@ -import{C as e}from"./HardwareInstallation-46934147.js";import{_ as t,l as o,m as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const r={name:"DeviceOpenDTUInverter",mixins:[e]},i={class:"device-opendtu-inverter"};function p(s,c,m,a,_,d){return o(),n("div",i)}const h=t(r,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/inverter.vue"]]);export{h as default}; +import{C as e}from"./HardwareInstallation-3a644290.js";import{_ as t,l as o,m as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const r={name:"DeviceOpenDTUInverter",mixins:[e]},i={class:"device-opendtu-inverter"};function p(s,c,m,a,_,d){return o(),n("div",i)}const h=t(r,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/inverter.vue"]]);export{h as default}; diff --git a/web/settings/assets/inverter-f32ffec2.js b/web/settings/assets/inverter-6157a590.js similarity index 90% rename from web/settings/assets/inverter-f32ffec2.js rename to web/settings/assets/inverter-6157a590.js index 4da0dada53..a38583be95 100644 --- a/web/settings/assets/inverter-f32ffec2.js +++ b/web/settings/assets/inverter-6157a590.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as u,u as a,l as p,m,G as r,E as i,y as t,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as u,u as a,l as p,m,G as r,E as i,y as t,x as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-aaf64a8b.js b/web/settings/assets/inverter-617b5e4a.js similarity index 87% rename from web/settings/assets/inverter-aaf64a8b.js rename to web/settings/assets/inverter-617b5e4a.js index c748e4afbf..d7ff7618d8 100644 --- a/web/settings/assets/inverter-aaf64a8b.js +++ b/web/settings/assets/inverter-617b5e4a.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return d(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const W=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{W as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return d(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const W=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-2ac7ad76.js b/web/settings/assets/inverter-62de90f4.js similarity index 81% rename from web/settings/assets/inverter-2ac7ad76.js rename to web/settings/assets/inverter-62de90f4.js index 1959cce696..7cd677aa83 100644 --- a/web/settings/assets/inverter-2ac7ad76.js +++ b/web/settings/assets/inverter-62de90f4.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; diff --git a/web/settings/assets/inverter-d9546c9a.js b/web/settings/assets/inverter-68f31134.js similarity index 82% rename from web/settings/assets/inverter-d9546c9a.js rename to web/settings/assets/inverter-68f31134.js index ac84da3bc2..6d9609511e 100644 --- a/web/settings/assets/inverter-d9546c9a.js +++ b/web/settings/assets/inverter-68f31134.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),d("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),d("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-4f5f2f02.js b/web/settings/assets/inverter-82378537.js similarity index 83% rename from web/settings/assets/inverter-4f5f2f02.js rename to web/settings/assets/inverter-82378537.js index 1a5db167a1..5eb43423df 100644 --- a/web/settings/assets/inverter-4f5f2f02.js +++ b/web/settings/assets/inverter-82378537.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as a,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as a,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-2c56a86f.js b/web/settings/assets/inverter-896676a9.js similarity index 88% rename from web/settings/assets/inverter-2c56a86f.js rename to web/settings/assets/inverter-896676a9.js index 1e74e21da4..d4fce9abee 100644 --- a/web/settings/assets/inverter-2c56a86f.js +++ b/web/settings/assets/inverter-896676a9.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-c3378375.js b/web/settings/assets/inverter-997c828c.js similarity index 82% rename from web/settings/assets/inverter-c3378375.js rename to web/settings/assets/inverter-997c828c.js index 3b34152d84..4d9c761dd7 100644 --- a/web/settings/assets/inverter-c3378375.js +++ b/web/settings/assets/inverter-997c828c.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-4cc7432e.js b/web/settings/assets/inverter-a427739c.js similarity index 91% rename from web/settings/assets/inverter-4cc7432e.js rename to web/settings/assets/inverter-a427739c.js index 3c5aa15542..c7fdfe96aa 100644 --- a/web/settings/assets/inverter-4cc7432e.js +++ b/web/settings/assets/inverter-a427739c.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; +import{C as l}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,y as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-5e49cb2e.js b/web/settings/assets/inverter-c0d3b643.js similarity index 90% rename from web/settings/assets/inverter-5e49cb2e.js rename to web/settings/assets/inverter-c0d3b643.js index 53deaa5686..8dc0934acf 100644 --- a/web/settings/assets/inverter-5e49cb2e.js +++ b/web/settings/assets/inverter-c0d3b643.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as d,u as s,l as b,m as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as d,u as s,l as b,m as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-6e41134d.js b/web/settings/assets/inverter-c1990994.js similarity index 82% rename from web/settings/assets/inverter-6e41134d.js rename to web/settings/assets/inverter-c1990994.js index 55865963bc..3aefb29196 100644 --- a/web/settings/assets/inverter-6e41134d.js +++ b/web/settings/assets/inverter-c1990994.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),m=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{V as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),m=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-143d43a1.js b/web/settings/assets/inverter-cad24111.js similarity index 86% rename from web/settings/assets/inverter-143d43a1.js rename to web/settings/assets/inverter-cad24111.js index dc3d949125..51ff4f7648 100644 --- a/web/settings/assets/inverter-143d43a1.js +++ b/web/settings/assets/inverter-cad24111.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-46934147.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; +import{C as l}from"./HardwareInstallation-3a644290.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-8c113ebb.js b/web/settings/assets/inverter-d75d32f1.js similarity index 86% rename from web/settings/assets/inverter-8c113ebb.js rename to web/settings/assets/inverter-d75d32f1.js index f85da7e04b..173332d202 100644 --- a/web/settings/assets/inverter-8c113ebb.js +++ b/web/settings/assets/inverter-d75d32f1.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-46934147.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; +import{C as d}from"./HardwareInstallation-3a644290.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,y as o,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; diff --git a/web/settings/assets/inverter-ead4b7bc.js b/web/settings/assets/inverter-db7c45b0.js similarity index 91% rename from web/settings/assets/inverter-ead4b7bc.js rename to web/settings/assets/inverter-db7c45b0.js index 4376a24ee2..f0f84fdf91 100644 --- a/web/settings/assets/inverter-ead4b7bc.js +++ b/web/settings/assets/inverter-db7c45b0.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-46934147.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,y as n,x as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; +import{C as p}from"./HardwareInstallation-3a644290.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,y as n,x as a}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-59117996.js b/web/settings/assets/inverter-e8d6d647.js similarity index 83% rename from web/settings/assets/inverter-59117996.js rename to web/settings/assets/inverter-e8d6d647.js index 5cce4c8a13..8a594b95a1 100644 --- a/web/settings/assets/inverter-59117996.js +++ b/web/settings/assets/inverter-e8d6d647.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-46934147.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; +import{C as a}from"./HardwareInstallation-3a644290.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-bc8c3cac.js b/web/settings/assets/inverter-f287a1d4.js similarity index 85% rename from web/settings/assets/inverter-bc8c3cac.js rename to web/settings/assets/inverter-f287a1d4.js index f8358f2fcc..656635d378 100644 --- a/web/settings/assets/inverter-bc8c3cac.js +++ b/web/settings/assets/inverter-f287a1d4.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-46934147.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; +import{C as s}from"./HardwareInstallation-3a644290.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-6f8aee42.js b/web/settings/assets/inverter-f413f2e1.js similarity index 80% rename from web/settings/assets/inverter-6f8aee42.js rename to web/settings/assets/inverter-f413f2e1.js index e4a6d8871b..3b669f160d 100644 --- a/web/settings/assets/inverter-6f8aee42.js +++ b/web/settings/assets/inverter-f413f2e1.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-46934147.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; +import{C as r}from"./HardwareInstallation-3a644290.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-85e0c624.js b/web/settings/assets/inverter-f447aa74.js similarity index 80% rename from web/settings/assets/inverter-85e0c624.js rename to web/settings/assets/inverter-f447aa74.js index 75f3fc6005..5cc50ce9eb 100644 --- a/web/settings/assets/inverter-85e0c624.js +++ b/web/settings/assets/inverter-f447aa74.js @@ -1 +1 @@ -import{C as e}from"./HardwareInstallation-46934147.js";import{_ as n,l as t,m as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const o={name:"DeviceBenningInverter",mixins:[e]},r={class:"device-benning-inverter"};function s(p,c,m,a,_,v){return t(),i("div",r)}const C=n(o,[["render",s],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/inverter.vue"]]);export{C as default}; +import{C as e}from"./HardwareInstallation-3a644290.js";import{_ as n,l as t,m as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const o={name:"DeviceBenningInverter",mixins:[e]},r={class:"device-benning-inverter"};function s(p,c,m,a,_,v){return t(),i("div",r)}const C=n(o,[["render",s],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-a8f5061e.js b/web/settings/assets/inverter-f9eaf59e.js similarity index 82% rename from web/settings/assets/inverter-a8f5061e.js rename to web/settings/assets/inverter-f9eaf59e.js index 5d833327aa..c6ad3220aa 100644 --- a/web/settings/assets/inverter-a8f5061e.js +++ b/web/settings/assets/inverter-f9eaf59e.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-46934147.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const V=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-3a644290.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const V=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter_secondary-3350696f.js b/web/settings/assets/inverter_secondary-daf65789.js similarity index 89% rename from web/settings/assets/inverter_secondary-3350696f.js rename to web/settings/assets/inverter_secondary-daf65789.js index 581a70d458..d7ba92b117 100644 --- a/web/settings/assets/inverter_secondary-3350696f.js +++ b/web/settings/assets/inverter_secondary-daf65789.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-46934147.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; +import{C as u}from"./HardwareInstallation-3a644290.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; diff --git a/web/settings/assets/monitoring-6cb4f3e9.js b/web/settings/assets/monitoring-f3474b05.js similarity index 90% rename from web/settings/assets/monitoring-6cb4f3e9.js rename to web/settings/assets/monitoring-f3474b05.js index e30be1b737..6a261a7e19 100644 --- a/web/settings/assets/monitoring-6cb4f3e9.js +++ b/web/settings/assets/monitoring-f3474b05.js @@ -1 +1 @@ -import{M as l}from"./DataManagement-675df4b8.js";import{_ as d,u as a,l as p,m,G as t,E as g,y as r,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,_,k,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; +import{M as l}from"./DataManagement-f14600c5.js";import{_ as d,u as a,l as p,m,G as t,E as g,y as r,x as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,_,k,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; diff --git a/web/settings/assets/ripple_control_receiver-33dac337.js b/web/settings/assets/ripple_control_receiver-14c898b9.js similarity index 88% rename from web/settings/assets/ripple_control_receiver-33dac337.js rename to web/settings/assets/ripple_control_receiver-14c898b9.js index 9fba437635..a9723eb472 100644 --- a/web/settings/assets/ripple_control_receiver-33dac337.js +++ b/web/settings/assets/ripple_control_receiver-14c898b9.js @@ -1 +1 @@ -import{R as s}from"./GeneralConfig-233a15bd.js";import{_ as a,u as i,l as d,m as u,G as t,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; +import{R as s}from"./GeneralConfig-b0e93144.js";import{_ as a,u as i,l as d,m as u,G as t,E as m,y as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; diff --git a/web/settings/assets/ripple_control_receiver-30efb719.js b/web/settings/assets/ripple_control_receiver-cd0099ce.js similarity index 79% rename from web/settings/assets/ripple_control_receiver-30efb719.js rename to web/settings/assets/ripple_control_receiver-cd0099ce.js index eb6fd741e4..6067bdfb90 100644 --- a/web/settings/assets/ripple_control_receiver-30efb719.js +++ b/web/settings/assets/ripple_control_receiver-cd0099ce.js @@ -1 +1 @@ -import{R as t}from"./GeneralConfig-233a15bd.js";import{_ as r,u as n,l as i,m as p,G as s,E as a,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function m(d,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; +import{R as t}from"./GeneralConfig-b0e93144.js";import{_ as r,u as n,l as i,m as p,G as s,E as a,y as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function m(d,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; diff --git a/web/settings/assets/vehicle-57f187c4.js b/web/settings/assets/vehicle-0951b87d.js similarity index 91% rename from web/settings/assets/vehicle-57f187c4.js rename to web/settings/assets/vehicle-0951b87d.js index b83ece0625..14a01a0a9a 100644 --- a/web/settings/assets/vehicle-57f187c4.js +++ b/web/settings/assets/vehicle-0951b87d.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-42b044ac.js";import{_ as s,u as p,l as u,m,G as n,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; +import{V as a}from"./VehicleConfig-a49bda81.js";import{_ as s,u as p,l as u,m,G as n,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; diff --git a/web/settings/assets/vehicle-56f76d3e.js b/web/settings/assets/vehicle-0f1f6912.js similarity index 96% rename from web/settings/assets/vehicle-56f76d3e.js rename to web/settings/assets/vehicle-0f1f6912.js index 8e7c4de538..b04d29d961 100644 --- a/web/settings/assets/vehicle-56f76d3e.js +++ b/web/settings/assets/vehicle-0f1f6912.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-42b044ac.js";import{_ as p,u,l as d,m as v,G as a,E as n,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; +import{V as s}from"./VehicleConfig-a49bda81.js";import{_ as p,u,l as d,m as v,G as a,E as n,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-ce88fbaa.js b/web/settings/assets/vehicle-1c25409c.js similarity index 91% rename from web/settings/assets/vehicle-ce88fbaa.js rename to web/settings/assets/vehicle-1c25409c.js index 29504b43bf..62ed5e0c7b 100644 --- a/web/settings/assets/vehicle-ce88fbaa.js +++ b/web/settings/assets/vehicle-1c25409c.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-42b044ac.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,y as a,x as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; +import{V as u}from"./VehicleConfig-a49bda81.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,y as a,x as v}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; diff --git a/web/settings/assets/vehicle-e348b565.js b/web/settings/assets/vehicle-1fd068b4.js similarity index 95% rename from web/settings/assets/vehicle-e348b565.js rename to web/settings/assets/vehicle-1fd068b4.js index eb68dfb4e8..9d455ea2f5 100644 --- a/web/settings/assets/vehicle-e348b565.js +++ b/web/settings/assets/vehicle-1fd068b4.js @@ -1 +1 @@ -import{_ as h,a4 as c,a5 as _,a6 as f,u as r,l as b,m as k,G as i,E as a,y as s,x as v}from"./vendor-ea36120f.js";import{a as w}from"./vendor-axios-1f03ee31.js";import{C as y}from"./index-ad11aee2.js";import{V as C}from"./VehicleConfig-42b044ac.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; +import{_ as h,a4 as c,a5 as _,a6 as f,u as r,l as b,m as k,G as i,E as a,y as s,x as v}from"./vendor-ea36120f.js";import{a as w}from"./vendor-axios-1f03ee31.js";import{C as y}from"./index-cc8f65ba.js";import{V as C}from"./VehicleConfig-a49bda81.js";import"./vendor-sortablejs-c6aaccb3.js";import"./vendor-fortawesome-433470db.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-8a297f93.js b/web/settings/assets/vehicle-28d453ca.js similarity index 87% rename from web/settings/assets/vehicle-8a297f93.js rename to web/settings/assets/vehicle-28d453ca.js index d4451a9680..26a689469d 100644 --- a/web/settings/assets/vehicle-8a297f93.js +++ b/web/settings/assets/vehicle-28d453ca.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-42b044ac.js";import{_ as l,u as d,l as u,m as p,G as i,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; +import{V as a}from"./VehicleConfig-a49bda81.js";import{_ as l,u as d,l as u,m as p,G as i,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-cb555bc8.js b/web/settings/assets/vehicle-2da6d3ec.js similarity index 95% rename from web/settings/assets/vehicle-cb555bc8.js rename to web/settings/assets/vehicle-2da6d3ec.js index 5f2a02a24c..2ea4061809 100644 --- a/web/settings/assets/vehicle-cb555bc8.js +++ b/web/settings/assets/vehicle-2da6d3ec.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-42b044ac.js";import{_ as m,u as s,l as g,m as f,G as i,E as r,y as t,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(o,e,k,B,V,S){const u=s("openwb-base-text-input"),a=s("font-awesome-icon"),d=s("openwb-base-button-group-input");return g(),f("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.updateConfiguration(l,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=l=>o.updateConfiguration(l,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>o.updateConfiguration(l,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=l=>o.updateConfiguration(l,"configuration.captcha_token"))},{help:r(()=>[e[17]||(e[17]=t(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[18]||(e[18]=n("b",null,"aktuelles Captcha-Token",-1)),e[19]||(e[19]=t(" notwendig.")),e[20]||(e[20]=n("br",null,null,-1)),e[21]||(e[21]=t(" Dazu bitte folgende Schritte durchführen: ")),n("ol",null,[n("li",null,[e[9]||(e[9]=t(" In einem neuen Browser-Tab auf diese Seite gehen:")),e[10]||(e[10]=n("br",null,null,-1)),n("a",w,[e[8]||(e[8]=t(" Captcha Lösen ")),i(a,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[11]||(e[11]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) "))]),e[12]||(e[12]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[13]||(e[13]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[14]||(e[14]=n("li",null,"Die Konfiguration speichern.",-1)),e[15]||(e[15]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[22]||(e[22]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(d,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=l=>o.updateConfiguration(l,"configuration.calculate_soc"))},{help:r(()=>e[23]||(e[23]=[t(" Berechnet den Ladestand (SoC) während der Ladung. "),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),n("br",null,null,-1)])),_:1},8,["model-value"])])}const q=m(b,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{q as default}; +import{V as p}from"./VehicleConfig-a49bda81.js";import{_ as m,u as s,l as g,m as f,G as i,E as r,y as t,x as n}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(o,e,k,B,V,S){const u=s("openwb-base-text-input"),a=s("font-awesome-icon"),d=s("openwb-base-button-group-input");return g(),f("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.updateConfiguration(l,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=l=>o.updateConfiguration(l,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>o.updateConfiguration(l,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=l=>o.updateConfiguration(l,"configuration.captcha_token"))},{help:r(()=>[e[17]||(e[17]=t(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[18]||(e[18]=n("b",null,"aktuelles Captcha-Token",-1)),e[19]||(e[19]=t(" notwendig.")),e[20]||(e[20]=n("br",null,null,-1)),e[21]||(e[21]=t(" Dazu bitte folgende Schritte durchführen: ")),n("ol",null,[n("li",null,[e[9]||(e[9]=t(" In einem neuen Browser-Tab auf diese Seite gehen:")),e[10]||(e[10]=n("br",null,null,-1)),n("a",w,[e[8]||(e[8]=t(" Captcha Lösen ")),i(a,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[11]||(e[11]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) "))]),e[12]||(e[12]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[13]||(e[13]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[14]||(e[14]=n("li",null,"Die Konfiguration speichern.",-1)),e[15]||(e[15]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[22]||(e[22]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(d,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=l=>o.updateConfiguration(l,"configuration.calculate_soc"))},{help:r(()=>e[23]||(e[23]=[t(" Berechnet den Ladestand (SoC) während der Ladung. "),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),n("br",null,null,-1)])),_:1},8,["model-value"])])}const q=m(b,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-7128d1c1.js b/web/settings/assets/vehicle-47a5b0e6.js similarity index 89% rename from web/settings/assets/vehicle-7128d1c1.js rename to web/settings/assets/vehicle-47a5b0e6.js index 432f59682f..7a213b955f 100644 --- a/web/settings/assets/vehicle-7128d1c1.js +++ b/web/settings/assets/vehicle-47a5b0e6.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-42b044ac.js";import{_ as d,u as r,l as u,m as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,x,k,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; +import{V as m}from"./VehicleConfig-a49bda81.js";import{_ as d,u as r,l as u,m as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,x,k,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-c1c353ec.js b/web/settings/assets/vehicle-47f7fadf.js similarity index 82% rename from web/settings/assets/vehicle-c1c353ec.js rename to web/settings/assets/vehicle-47f7fadf.js index 24a8eb2e6a..2cdfff977a 100644 --- a/web/settings/assets/vehicle-c1c353ec.js +++ b/web/settings/assets/vehicle-47f7fadf.js @@ -1 +1 @@ -import{V as n}from"./VehicleConfig-42b044ac.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; +import{V as n}from"./VehicleConfig-a49bda81.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-db2b9f03.js b/web/settings/assets/vehicle-561e20d5.js similarity index 89% rename from web/settings/assets/vehicle-db2b9f03.js rename to web/settings/assets/vehicle-561e20d5.js index dd07504cc6..80c97bbfd7 100644 --- a/web/settings/assets/vehicle-db2b9f03.js +++ b/web/settings/assets/vehicle-561e20d5.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-42b044ac.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-a49bda81.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-1dcc14a6.js b/web/settings/assets/vehicle-56b45282.js similarity index 90% rename from web/settings/assets/vehicle-1dcc14a6.js rename to web/settings/assets/vehicle-56b45282.js index 2bcc728926..6d24f70962 100644 --- a/web/settings/assets/vehicle-1dcc14a6.js +++ b/web/settings/assets/vehicle-56b45282.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-42b044ac.js";import{_ as d,u as a,l as p,m,G as t,E as u,y as n,x as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; +import{V as s}from"./VehicleConfig-a49bda81.js";import{_ as d,u as a,l as p,m,G as t,E as u,y as n,x as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-2b249c25.js b/web/settings/assets/vehicle-5cb1a571.js similarity index 91% rename from web/settings/assets/vehicle-2b249c25.js rename to web/settings/assets/vehicle-5cb1a571.js index d268208fcf..09c713533a 100644 --- a/web/settings/assets/vehicle-2b249c25.js +++ b/web/settings/assets/vehicle-5cb1a571.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-42b044ac.js";import{_ as a,u,l as d,m as p,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const z=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{z as default}; +import{V as l}from"./VehicleConfig-a49bda81.js";import{_ as a,u,l as d,m as p,G as t,E as r,y as s}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const z=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-d8d02959.js b/web/settings/assets/vehicle-5d229e55.js similarity index 86% rename from web/settings/assets/vehicle-d8d02959.js rename to web/settings/assets/vehicle-5d229e55.js index e45704239f..edc893ceab 100644 --- a/web/settings/assets/vehicle-d8d02959.js +++ b/web/settings/assets/vehicle-5d229e55.js @@ -1 +1 @@ -import{V as r}from"./VehicleConfig-42b044ac.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; +import{V as r}from"./VehicleConfig-a49bda81.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,y as d}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-640030fc.js b/web/settings/assets/vehicle-74dc0824.js similarity index 92% rename from web/settings/assets/vehicle-640030fc.js rename to web/settings/assets/vehicle-74dc0824.js index 38bfbeed3c..0f4cd92b91 100644 --- a/web/settings/assets/vehicle-640030fc.js +++ b/web/settings/assets/vehicle-74dc0824.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-42b044ac.js";import{_ as d,u,l as p,m as g,G as o,E as l,y as i,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const T=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{T as default}; +import{V as a}from"./VehicleConfig-a49bda81.js";import{_ as d,u,l as p,m as g,G as o,E as l,y as i,x as c}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const T=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-cbfaedc1.js b/web/settings/assets/vehicle-837ef917.js similarity index 93% rename from web/settings/assets/vehicle-cbfaedc1.js rename to web/settings/assets/vehicle-837ef917.js index 7e6517a818..75a8fe29e7 100644 --- a/web/settings/assets/vehicle-cbfaedc1.js +++ b/web/settings/assets/vehicle-837ef917.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-42b044ac.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; +import{V as m}from"./VehicleConfig-a49bda81.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-738e0b42.js b/web/settings/assets/vehicle-9a78a8ba.js similarity index 82% rename from web/settings/assets/vehicle-738e0b42.js rename to web/settings/assets/vehicle-9a78a8ba.js index a464f44c71..b0cb3c29bf 100644 --- a/web/settings/assets/vehicle-738e0b42.js +++ b/web/settings/assets/vehicle-9a78a8ba.js @@ -1 +1 @@ -import{V as o}from"./VehicleConfig-42b044ac.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; +import{V as o}from"./VehicleConfig-a49bda81.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-66c03223.js b/web/settings/assets/vehicle-9fdd28f6.js similarity index 95% rename from web/settings/assets/vehicle-66c03223.js rename to web/settings/assets/vehicle-9fdd28f6.js index 111d30bcaa..4e7b2b2604 100644 --- a/web/settings/assets/vehicle-66c03223.js +++ b/web/settings/assets/vehicle-9fdd28f6.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-42b044ac.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; +import{V as m}from"./VehicleConfig-a49bda81.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,y as n,x as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; diff --git a/web/settings/assets/vehicle-a4877144.js b/web/settings/assets/vehicle-b464d124.js similarity index 89% rename from web/settings/assets/vehicle-a4877144.js rename to web/settings/assets/vehicle-b464d124.js index e5562aef65..bdf3fdbe91 100644 --- a/web/settings/assets/vehicle-a4877144.js +++ b/web/settings/assets/vehicle-b464d124.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-42b044ac.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-a49bda81.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,y as l}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-e5d955db.js b/web/settings/assets/vehicle-da54a31e.js similarity index 89% rename from web/settings/assets/vehicle-e5d955db.js rename to web/settings/assets/vehicle-da54a31e.js index 14c4ee065e..74bd0beb2f 100644 --- a/web/settings/assets/vehicle-e5d955db.js +++ b/web/settings/assets/vehicle-da54a31e.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-42b044ac.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; +import{V as a}from"./VehicleConfig-a49bda81.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-c2b65e42.js b/web/settings/assets/vehicle-f595aaa1.js similarity index 91% rename from web/settings/assets/vehicle-c2b65e42.js rename to web/settings/assets/vehicle-f595aaa1.js index 4d4ae961e9..ad5f4061f8 100644 --- a/web/settings/assets/vehicle-c2b65e42.js +++ b/web/settings/assets/vehicle-f595aaa1.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-42b044ac.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-c5ffc2b2.js";import"./index-ad11aee2.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; +import{V as l}from"./VehicleConfig-a49bda81.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,y as i}from"./vendor-ea36120f.js";import"./vendor-fortawesome-433470db.js";import"./index-cc8f65ba.js";import"./vendor-bootstrap-038cab7c.js";import"./vendor-jquery-48e02303.js";import"./vendor-axios-1f03ee31.js";import"./vendor-sortablejs-c6aaccb3.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; diff --git a/web/settings/assets/vendor-fortawesome-c5ffc2b2.js b/web/settings/assets/vendor-fortawesome-433470db.js similarity index 80% rename from web/settings/assets/vendor-fortawesome-c5ffc2b2.js rename to web/settings/assets/vendor-fortawesome-433470db.js index 18de90e0b3..1b967341a9 100644 --- a/web/settings/assets/vendor-fortawesome-c5ffc2b2.js +++ b/web/settings/assets/vendor-fortawesome-433470db.js @@ -1,8 +1,8 @@ -import{g as Qt,d as jt,j as S,w as u1,h as Se}from"./vendor-ea36120f.js";/*! +import{g as Qt,d as jt,j as S,w as mn,h as Se}from"./vendor-ea36120f.js";/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */function m1(t,e,n){return(e=p1(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Zt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function o(t){for(var e=1;e{};let Rt={},ke={},Ne=null,Pe={mark:Jt,measure:Jt};try{typeof window<"u"&&(Rt=window),typeof document<"u"&&(ke=document),typeof MutationObserver<"u"&&(Ne=MutationObserver),typeof performance<"u"&&(Pe=performance)}catch{}const{userAgent:te=""}=Rt.navigator||{},_=Rt,y=ke,ee=Ne,nt=Pe;_.document;const F=!!y.documentElement&&!!y.head&&typeof y.addEventListener=="function"&&typeof y.createElement=="function",Oe=~te.indexOf("MSIE")||~te.indexOf("Trident/");var g1=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,h1=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i,Ee={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},y1={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Ie=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],z="classic",ft="duotone",b1="sharp",v1="sharp-duotone",Fe=[z,ft,b1,v1],x1={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}},z1={"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}},C1=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),M1={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}},L1=["fak","fa-kit","fakd","fa-kit-duotone"],ne={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},A1=["kit"],w1={kit:{"fa-kit":"fak"},"kit-duotone":{"fa-kit-duotone":"fakd"}},S1=["fak","fakd"],k1={kit:{fak:"fa-kit"},"kit-duotone":{fakd:"fa-kit-duotone"}},ae={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},at={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},N1=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],P1=["fak","fa-kit","fakd","fa-kit-duotone"],O1={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},E1={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}},I1={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]},xt={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},F1=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],zt=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt",...N1,...F1],T1=["solid","regular","light","thin","duotone","brands"],Te=[1,2,3,4,5,6,7,8,9,10],_1=Te.concat([11,12,13,14,15,16,17,18,19,20]),D1=[...Object.keys(I1),...T1,"2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",at.GROUP,at.SWAP_OPACITY,at.PRIMARY,at.SECONDARY].concat(Te.map(t=>"".concat(t,"x"))).concat(_1.map(t=>"w-".concat(t))),j1={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}};const E="___FONT_AWESOME___",Ct=16,_e="fa",De="svg-inline--fa",U="data-fa-i2svg",Mt="data-fa-pseudo-element",R1="data-fa-pseudo-element-pending",Bt="data-prefix",Ut="data-icon",re="fontawesome-i2svg",B1="async",U1=["HTML","HEAD","STYLE","SCRIPT"],je=(()=>{try{return!1}catch{return!1}})();function J(t){return new Proxy(t,{get(e,n){return n in e?e[n]:e[z]}})}const Re=o({},Ee);Re[z]=o(o(o(o({},{"fa-duotone":"duotone"}),Ee[z]),ne.kit),ne["kit-duotone"]);const Y1=J(Re),Lt=o({},M1);Lt[z]=o(o(o(o({},{duotone:"fad"}),Lt[z]),ae.kit),ae["kit-duotone"]);const ce=J(Lt),At=o({},xt);At[z]=o(o({},At[z]),k1.kit);const Yt=J(At),wt=o({},E1);wt[z]=o(o({},wt[z]),w1.kit);J(wt);const W1=g1,Be="fa-layers-text",H1=h1,G1=o({},x1);J(G1);const $1=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],gt=y1,X1=[...A1,...D1],K=_.FontAwesomeConfig||{};function K1(t){var e=y.querySelector("script["+t+"]");if(e)return e.getAttribute(t)}function V1(t){return t===""?!0:t==="false"?!1:t==="true"?!0:t}y&&typeof y.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(e=>{let[n,a]=e;const r=V1(K1(n));r!=null&&(K[a]=r)});const Ue={styleDefault:"solid",familyDefault:z,cssPrefix:_e,replacementClass:De,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};K.familyPrefix&&(K.cssPrefix=K.familyPrefix);const G=o(o({},Ue),K);G.autoReplaceSvg||(G.observeMutations=!1);const u={};Object.keys(Ue).forEach(t=>{Object.defineProperty(u,t,{enumerable:!0,set:function(e){G[t]=e,V.forEach(n=>n(u))},get:function(){return G[t]}})});Object.defineProperty(u,"familyPrefix",{enumerable:!0,set:function(t){G.cssPrefix=t,V.forEach(e=>e(u))},get:function(){return G.cssPrefix}});_.FontAwesomeConfig=u;const V=[];function q1(t){return V.push(t),()=>{V.splice(V.indexOf(t),1)}}const T=Ct,P={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function Q1(t){if(!t||!F)return;const e=y.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=t;const n=y.head.childNodes;let a=null;for(let r=n.length-1;r>-1;r--){const c=n[r],s=(c.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(a=c)}return y.head.insertBefore(e,a),t}const Z1="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Q(){let t=12,e="";for(;t-- >0;)e+=Z1[Math.random()*62|0];return e}function $(t){const e=[];for(let n=(t||[]).length>>>0;n--;)e[n]=t[n];return e}function Wt(t){return t.classList?$(t.classList):(t.getAttribute("class")||"").split(" ").filter(e=>e)}function Ye(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function J1(t){return Object.keys(t||{}).reduce((e,n)=>e+"".concat(n,'="').concat(Ye(t[n]),'" '),"").trim()}function ut(t){return Object.keys(t||{}).reduce((e,n)=>e+"".concat(n,": ").concat(t[n].trim(),";"),"")}function Ht(t){return t.size!==P.size||t.x!==P.x||t.y!==P.y||t.rotate!==P.rotate||t.flipX||t.flipY}function tn(t){let{transform:e,containerWidth:n,iconWidth:a}=t;const r={transform:"translate(".concat(n/2," 256)")},c="translate(".concat(e.x*32,", ").concat(e.y*32,") "),s="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),i="rotate(".concat(e.rotate," 0 0)"),f={transform:"".concat(c," ").concat(s," ").concat(i)},l={transform:"translate(".concat(a/2*-1," -256)")};return{outer:r,inner:f,path:l}}function en(t){let{transform:e,width:n=Ct,height:a=Ct,startCentered:r=!1}=t,c="";return r&&Oe?c+="translate(".concat(e.x/T-n/2,"em, ").concat(e.y/T-a/2,"em) "):r?c+="translate(calc(-50% + ".concat(e.x/T,"em), calc(-50% + ").concat(e.y/T,"em)) "):c+="translate(".concat(e.x/T,"em, ").concat(e.y/T,"em) "),c+="scale(".concat(e.size/T*(e.flipX?-1:1),", ").concat(e.size/T*(e.flipY?-1:1),") "),c+="rotate(".concat(e.rotate,"deg) "),c}var nn=`:root, :host { + */function dn(t,e,n){return(e=gn(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Zt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function o(t){for(var e=1;e{};let Rt={},ke={},Ne=null,Pe={mark:Jt,measure:Jt};try{typeof window<"u"&&(Rt=window),typeof document<"u"&&(ke=document),typeof MutationObserver<"u"&&(Ne=MutationObserver),typeof performance<"u"&&(Pe=performance)}catch{}const{userAgent:te=""}=Rt.navigator||{},_=Rt,y=ke,ee=Ne,nt=Pe;_.document;const F=!!y.documentElement&&!!y.head&&typeof y.addEventListener=="function"&&typeof y.createElement=="function",Oe=~te.indexOf("MSIE")||~te.indexOf("Trident/");var hn=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,yn=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i,Ee={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},bn={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Ie=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],z="classic",ft="duotone",vn="sharp",xn="sharp-duotone",Fe=[z,ft,vn,xn],zn={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}},Cn={"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}},Mn=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),Ln={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}},An=["fak","fa-kit","fakd","fa-kit-duotone"],ne={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},wn=["kit"],Sn={kit:{"fa-kit":"fak"},"kit-duotone":{"fa-kit-duotone":"fakd"}},kn=["fak","fakd"],Nn={kit:{fak:"fa-kit"},"kit-duotone":{fakd:"fa-kit-duotone"}},ae={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},at={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Pn=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],On=["fak","fa-kit","fakd","fa-kit-duotone"],En={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},In={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}},Fn={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]},xt={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},Tn=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],zt=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt",...Pn,...Tn],_n=["solid","regular","light","thin","duotone","brands"],Te=[1,2,3,4,5,6,7,8,9,10],Dn=Te.concat([11,12,13,14,15,16,17,18,19,20]),jn=[...Object.keys(Fn),..._n,"2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",at.GROUP,at.SWAP_OPACITY,at.PRIMARY,at.SECONDARY].concat(Te.map(t=>"".concat(t,"x"))).concat(Dn.map(t=>"w-".concat(t))),Rn={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}};const E="___FONT_AWESOME___",Ct=16,_e="fa",De="svg-inline--fa",U="data-fa-i2svg",Mt="data-fa-pseudo-element",Bn="data-fa-pseudo-element-pending",Bt="data-prefix",Ut="data-icon",re="fontawesome-i2svg",Un="async",Yn=["HTML","HEAD","STYLE","SCRIPT"],je=(()=>{try{return!1}catch{return!1}})();function J(t){return new Proxy(t,{get(e,n){return n in e?e[n]:e[z]}})}const Re=o({},Ee);Re[z]=o(o(o(o({},{"fa-duotone":"duotone"}),Ee[z]),ne.kit),ne["kit-duotone"]);const Wn=J(Re),Lt=o({},Ln);Lt[z]=o(o(o(o({},{duotone:"fad"}),Lt[z]),ae.kit),ae["kit-duotone"]);const se=J(Lt),At=o({},xt);At[z]=o(o({},At[z]),Nn.kit);const Yt=J(At),wt=o({},In);wt[z]=o(o({},wt[z]),Sn.kit);J(wt);const Hn=hn,Be="fa-layers-text",Gn=yn,$n=o({},zn);J($n);const Xn=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],gt=bn,Kn=[...wn,...jn],K=_.FontAwesomeConfig||{};function Vn(t){var e=y.querySelector("script["+t+"]");if(e)return e.getAttribute(t)}function qn(t){return t===""?!0:t==="false"?!1:t==="true"?!0:t}y&&typeof y.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(e=>{let[n,a]=e;const r=qn(Vn(n));r!=null&&(K[a]=r)});const Ue={styleDefault:"solid",familyDefault:z,cssPrefix:_e,replacementClass:De,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};K.familyPrefix&&(K.cssPrefix=K.familyPrefix);const G=o(o({},Ue),K);G.autoReplaceSvg||(G.observeMutations=!1);const u={};Object.keys(Ue).forEach(t=>{Object.defineProperty(u,t,{enumerable:!0,set:function(e){G[t]=e,V.forEach(n=>n(u))},get:function(){return G[t]}})});Object.defineProperty(u,"familyPrefix",{enumerable:!0,set:function(t){G.cssPrefix=t,V.forEach(e=>e(u))},get:function(){return G.cssPrefix}});_.FontAwesomeConfig=u;const V=[];function Qn(t){return V.push(t),()=>{V.splice(V.indexOf(t),1)}}const T=Ct,P={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function Zn(t){if(!t||!F)return;const e=y.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=t;const n=y.head.childNodes;let a=null;for(let r=n.length-1;r>-1;r--){const s=n[r],c=(s.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(c)>-1&&(a=s)}return y.head.insertBefore(e,a),t}const Jn="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Q(){let t=12,e="";for(;t-- >0;)e+=Jn[Math.random()*62|0];return e}function $(t){const e=[];for(let n=(t||[]).length>>>0;n--;)e[n]=t[n];return e}function Wt(t){return t.classList?$(t.classList):(t.getAttribute("class")||"").split(" ").filter(e=>e)}function Ye(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function t1(t){return Object.keys(t||{}).reduce((e,n)=>e+"".concat(n,'="').concat(Ye(t[n]),'" '),"").trim()}function ut(t){return Object.keys(t||{}).reduce((e,n)=>e+"".concat(n,": ").concat(t[n].trim(),";"),"")}function Ht(t){return t.size!==P.size||t.x!==P.x||t.y!==P.y||t.rotate!==P.rotate||t.flipX||t.flipY}function e1(t){let{transform:e,containerWidth:n,iconWidth:a}=t;const r={transform:"translate(".concat(n/2," 256)")},s="translate(".concat(e.x*32,", ").concat(e.y*32,") "),c="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),i="rotate(".concat(e.rotate," 0 0)"),f={transform:"".concat(s," ").concat(c," ").concat(i)},l={transform:"translate(".concat(a/2*-1," -256)")};return{outer:r,inner:f,path:l}}function n1(t){let{transform:e,width:n=Ct,height:a=Ct,startCentered:r=!1}=t,s="";return r&&Oe?s+="translate(".concat(e.x/T-n/2,"em, ").concat(e.y/T-a/2,"em) "):r?s+="translate(calc(-50% + ".concat(e.x/T,"em), calc(-50% + ").concat(e.y/T,"em)) "):s+="translate(".concat(e.x/T,"em, ").concat(e.y/T,"em) "),s+="scale(".concat(e.size/T*(e.flipX?-1:1),", ").concat(e.size/T*(e.flipY?-1:1),") "),s+="rotate(".concat(e.rotate,"deg) "),s}var a1=`:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; @@ -555,19 +555,15 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; -}`;function We(){const t=_e,e=De,n=u.cssPrefix,a=u.replacementClass;let r=nn;if(n!==t||a!==e){const c=new RegExp("\\.".concat(t,"\\-"),"g"),s=new RegExp("\\--".concat(t,"\\-"),"g"),i=new RegExp("\\.".concat(e),"g");r=r.replace(c,".".concat(n,"-")).replace(s,"--".concat(n,"-")).replace(i,".".concat(a))}return r}let se=!1;function ht(){u.autoAddCss&&!se&&(Q1(We()),se=!0)}var an={mixout(){return{dom:{css:We,insertCss:ht}}},hooks(){return{beforeDOMElementCreation(){ht()},beforeI2svg(){ht()}}}};const I=_||{};I[E]||(I[E]={});I[E].styles||(I[E].styles={});I[E].hooks||(I[E].hooks={});I[E].shims||(I[E].shims=[]);var O=I[E];const He=[],Ge=function(){y.removeEventListener("DOMContentLoaded",Ge),st=1,He.map(t=>t())};let st=!1;F&&(st=(y.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(y.readyState),st||y.addEventListener("DOMContentLoaded",Ge));function rn(t){F&&(st?setTimeout(t,0):He.push(t))}function tt(t){const{tag:e,attributes:n={},children:a=[]}=t;return typeof t=="string"?Ye(t):"<".concat(e," ").concat(J1(n),">").concat(a.map(tt).join(""),"")}function ie(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}var cn=function(e,n){return function(a,r,c,s){return e.call(n,a,r,c,s)}},yt=function(e,n,a,r){var c=Object.keys(e),s=c.length,i=r!==void 0?cn(n,r):n,f,l,m;for(a===void 0?(f=1,m=e[c[0]]):(f=0,m=a);f=55296&&r<=56319&&n=55296&&a<=56319&&n>e+1&&(r=t.charCodeAt(e+1),r>=56320&&r<=57343)?(a-55296)*1024+r-56320+65536:a}function oe(t){return Object.keys(t).reduce((e,n)=>{const a=t[n];return!!a.icon?e[a.iconName]=a.icon:e[n]=a,e},{})}function kt(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=n,r=oe(e);typeof O.hooks.addPack=="function"&&!a?O.hooks.addPack(t,oe(e)):O.styles[t]=o(o({},O.styles[t]||{}),r),t==="fas"&&kt("fa",e)}const{styles:Z,shims:ln}=O,$e=Object.keys(Yt),fn=$e.reduce((t,e)=>(t[e]=Object.keys(Yt[e]),t),{});let Gt=null,Xe={},Ke={},Ve={},qe={},Qe={};function un(t){return~X1.indexOf(t)}function mn(t,e){const n=e.split("-"),a=n[0],r=n.slice(1).join("-");return a===t&&r!==""&&!un(r)?r:null}const Ze=()=>{const t=a=>yt(Z,(r,c,s)=>(r[s]=yt(c,a,{}),r),{});Xe=t((a,r,c)=>(r[3]&&(a[r[3]]=c),r[2]&&r[2].filter(i=>typeof i=="number").forEach(i=>{a[i.toString(16)]=c}),a)),Ke=t((a,r,c)=>(a[c]=c,r[2]&&r[2].filter(i=>typeof i=="string").forEach(i=>{a[i]=c}),a)),Qe=t((a,r,c)=>{const s=r[2];return a[c]=c,s.forEach(i=>{a[i]=c}),a});const e="far"in Z||u.autoFetchSvg,n=yt(ln,(a,r)=>{const c=r[0];let s=r[1];const i=r[2];return s==="far"&&!e&&(s="fas"),typeof c=="string"&&(a.names[c]={prefix:s,iconName:i}),typeof c=="number"&&(a.unicodes[c.toString(16)]={prefix:s,iconName:i}),a},{names:{},unicodes:{}});Ve=n.names,qe=n.unicodes,Gt=mt(u.styleDefault,{family:u.familyDefault})};q1(t=>{Gt=mt(t.styleDefault,{family:u.familyDefault})});Ze();function $t(t,e){return(Xe[t]||{})[e]}function dn(t,e){return(Ke[t]||{})[e]}function B(t,e){return(Qe[t]||{})[e]}function Je(t){return Ve[t]||{prefix:null,iconName:null}}function pn(t){const e=qe[t],n=$t("fas",t);return e||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function D(){return Gt}const t1=()=>({prefix:null,iconName:null,rest:[]});function gn(t){let e=z;const n=$e.reduce((a,r)=>(a[r]="".concat(u.cssPrefix,"-").concat(r),a),{});return Fe.forEach(a=>{(t.includes(n[a])||t.some(r=>fn[a].includes(r)))&&(e=a)}),e}function mt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:n=z}=e,a=Y1[n][t];if(n===ft&&!t)return"fad";const r=ce[n][t]||ce[n][a],c=t in O.styles?t:null;return r||c||null}function hn(t){let e=[],n=null;return t.forEach(a=>{const r=mn(u.cssPrefix,a);r?n=r:a&&e.push(a)}),{iconName:n,rest:e}}function le(t){return t.sort().filter((e,n,a)=>a.indexOf(e)===n)}function dt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:n=!1}=e;let a=null;const r=zt.concat(P1),c=le(t.filter(h=>r.includes(h))),s=le(t.filter(h=>!zt.includes(h))),i=c.filter(h=>(a=h,!Ie.includes(h))),[f=null]=i,l=gn(c),m=o(o({},hn(s)),{},{prefix:mt(f,{family:l})});return o(o(o({},m),xn({values:t,family:l,styles:Z,config:u,canonical:m,givenPrefix:a})),yn(n,a,m))}function yn(t,e,n){let{prefix:a,iconName:r}=n;if(t||!a||!r)return{prefix:a,iconName:r};const c=e==="fa"?Je(r):{},s=B(a,r);return r=c.iconName||s||r,a=c.prefix||a,a==="far"&&!Z.far&&Z.fas&&!u.autoFetchSvg&&(a="fas"),{prefix:a,iconName:r}}const bn=Fe.filter(t=>t!==z||t!==ft),vn=Object.keys(xt).filter(t=>t!==z).map(t=>Object.keys(xt[t])).flat();function xn(t){const{values:e,family:n,canonical:a,givenPrefix:r="",styles:c={},config:s={}}=t,i=n===ft,f=e.includes("fa-duotone")||e.includes("fad"),l=s.familyDefault==="duotone",m=a.prefix==="fad"||a.prefix==="fa-duotone";if(!i&&(f||l||m)&&(a.prefix="fad"),(e.includes("fa-brands")||e.includes("fab"))&&(a.prefix="fab"),!a.prefix&&bn.includes(n)&&(Object.keys(c).find(g=>vn.includes(g))||s.autoFetchSvg)){const g=C1.get(n).defaultShortPrefixId;a.prefix=g,a.iconName=B(a.prefix,a.iconName)||a.iconName}return(a.prefix==="fa"||r==="fa")&&(a.prefix=D()||"fas"),a}class zn{constructor(){this.definitions={}}add(){for(var e=arguments.length,n=new Array(e),a=0;a{this.definitions[c]=o(o({},this.definitions[c]||{}),r[c]),kt(c,r[c]);const s=Yt[z][c];s&&kt(s,r[c]),Ze()})}reset(){this.definitions={}}_pullDefinitions(e,n){const a=n.prefix&&n.iconName&&n.icon?{0:n}:n;return Object.keys(a).map(r=>{const{prefix:c,iconName:s,icon:i}=a[r],f=i[2];e[c]||(e[c]={}),f.length>0&&f.forEach(l=>{typeof l=="string"&&(e[c][l]=i)}),e[c][s]=i}),e}}let fe=[],W={};const H={},Cn=Object.keys(H);function Mn(t,e){let{mixoutsTo:n}=e;return fe=t,W={},Object.keys(H).forEach(a=>{Cn.indexOf(a)===-1&&delete H[a]}),fe.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(c=>{typeof r[c]=="function"&&(n[c]=r[c]),typeof r[c]=="object"&&Object.keys(r[c]).forEach(s=>{n[c]||(n[c]={}),n[c][s]=r[c][s]})}),a.hooks){const c=a.hooks();Object.keys(c).forEach(s=>{W[s]||(W[s]=[]),W[s].push(c[s])})}a.provides&&a.provides(H)}),n}function Nt(t,e){for(var n=arguments.length,a=new Array(n>2?n-2:0),r=2;r{e=s.apply(null,[e,...a])}),e}function Y(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),a=1;a{c.apply(null,n)})}function j(){const t=arguments[0],e=Array.prototype.slice.call(arguments,1);return H[t]?H[t].apply(null,e):void 0}function Pt(t){t.prefix==="fa"&&(t.prefix="fas");let{iconName:e}=t;const n=t.prefix||D();if(e)return e=B(n,e)||e,ie(e1.definitions,n,e)||ie(O.styles,n,e)}const e1=new zn,Ln=()=>{u.autoReplaceSvg=!1,u.observeMutations=!1,Y("noAuto")},An={i2svg:function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return F?(Y("beforeI2svg",t),j("pseudoElements2svg",t),j("i2svg",t)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=t;u.autoReplaceSvg===!1&&(u.autoReplaceSvg=!0),u.observeMutations=!0,rn(()=>{Sn({autoReplaceSvgRoot:e}),Y("watch",t)})}},wn={icon:t=>{if(t===null)return null;if(typeof t=="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:B(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){const e=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],n=mt(t[0]);return{prefix:n,iconName:B(n,e)||e}}if(typeof t=="string"&&(t.indexOf("".concat(u.cssPrefix,"-"))>-1||t.match(W1))){const e=dt(t.split(" "),{skipLookups:!0});return{prefix:e.prefix||D(),iconName:B(e.prefix,e.iconName)||e.iconName}}if(typeof t=="string"){const e=D();return{prefix:e,iconName:B(e,t)||t}}}},L={noAuto:Ln,config:u,dom:An,parse:wn,library:e1,findIconDefinition:Pt,toHtml:tt},Sn=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=y}=t;(Object.keys(O.styles).length>0||u.autoFetchSvg)&&F&&u.autoReplaceSvg&&L.dom.i2svg({node:e})};function pt(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(n=>tt(n))}}),Object.defineProperty(t,"node",{get:function(){if(!F)return;const n=y.createElement("div");return n.innerHTML=t.html,n.children}}),t}function kn(t){let{children:e,main:n,mask:a,attributes:r,styles:c,transform:s}=t;if(Ht(s)&&n.found&&!a.found){const{width:i,height:f}=n,l={x:i/f/2,y:.5};r.style=ut(o(o({},c),{},{"transform-origin":"".concat(l.x+s.x/16,"em ").concat(l.y+s.y/16,"em")}))}return[{tag:"svg",attributes:r,children:e}]}function Nn(t){let{prefix:e,iconName:n,children:a,attributes:r,symbol:c}=t;const s=c===!0?"".concat(e,"-").concat(u.cssPrefix,"-").concat(n):c;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:o(o({},r),{},{id:s}),children:a}]}]}function Xt(t){const{icons:{main:e,mask:n},prefix:a,iconName:r,transform:c,symbol:s,title:i,maskId:f,titleId:l,extra:m,watchable:h=!1}=t,{width:g,height:v}=n.found?n:e,N=S1.includes(a),w=[u.replacementClass,r?"".concat(u.cssPrefix,"-").concat(r):""].filter(A=>m.classes.indexOf(A)===-1).filter(A=>A!==""||!!A).concat(m.classes).join(" ");let C={children:[],attributes:o(o({},m.attributes),{},{"data-prefix":a,"data-icon":r,class:w,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(v)})};const d=N&&!~m.classes.indexOf("fa-fw")?{width:"".concat(g/v*16*.0625,"em")}:{};h&&(C.attributes[U]=""),i&&(C.children.push({tag:"title",attributes:{id:C.attributes["aria-labelledby"]||"title-".concat(l||Q())},children:[i]}),delete C.attributes.title);const p=o(o({},C),{},{prefix:a,iconName:r,main:e,mask:n,maskId:f,transform:c,symbol:s,styles:o(o({},d),m.styles)}),{children:b,attributes:x}=n.found&&e.found?j("generateAbstractMask",p)||{children:[],attributes:{}}:j("generateAbstractIcon",p)||{children:[],attributes:{}};return p.children=b,p.attributes=x,s?Nn(p):kn(p)}function ue(t){const{content:e,width:n,height:a,transform:r,title:c,extra:s,watchable:i=!1}=t,f=o(o(o({},s.attributes),c?{title:c}:{}),{},{class:s.classes.join(" ")});i&&(f[U]="");const l=o({},s.styles);Ht(r)&&(l.transform=en({transform:r,startCentered:!0,width:n,height:a}),l["-webkit-transform"]=l.transform);const m=ut(l);m.length>0&&(f.style=m);const h=[];return h.push({tag:"span",attributes:f,children:[e]}),c&&h.push({tag:"span",attributes:{class:"sr-only"},children:[c]}),h}function Pn(t){const{content:e,title:n,extra:a}=t,r=o(o(o({},a.attributes),n?{title:n}:{}),{},{class:a.classes.join(" ")}),c=ut(a.styles);c.length>0&&(r.style=c);const s=[];return s.push({tag:"span",attributes:r,children:[e]}),n&&s.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),s}const{styles:bt}=O;function Ot(t){const e=t[0],n=t[1],[a]=t.slice(4);let r=null;return Array.isArray(a)?r={tag:"g",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.PRIMARY),fill:"currentColor",d:a[1]}}]}:r={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:n,icon:r}}const On={found:!1,width:512,height:512};function En(t,e){!je&&!u.showMissingIcons&&t&&console.error('Icon with name "'.concat(t,'" and prefix "').concat(e,'" is missing.'))}function Et(t,e){let n=e;return e==="fa"&&u.styleDefault!==null&&(e=D()),new Promise((a,r)=>{if(n==="fa"){const c=Je(t)||{};t=c.iconName||t,e=c.prefix||e}if(t&&e&&bt[e]&&bt[e][t]){const c=bt[e][t];return a(Ot(c))}En(t,e),a(o(o({},On),{},{icon:u.showMissingIcons&&t?j("missingIconAbstract")||{}:{}}))})}const me=()=>{},It=u.measurePerformance&&nt&&nt.mark&&nt.measure?nt:{mark:me,measure:me},X='FA "6.7.2"',In=t=>(It.mark("".concat(X," ").concat(t," begins")),()=>n1(t)),n1=t=>{It.mark("".concat(X," ").concat(t," ends")),It.measure("".concat(X," ").concat(t),"".concat(X," ").concat(t," begins"),"".concat(X," ").concat(t," ends"))};var Kt={begin:In,end:n1};const rt=()=>{};function de(t){return typeof(t.getAttribute?t.getAttribute(U):null)=="string"}function Fn(t){const e=t.getAttribute?t.getAttribute(Bt):null,n=t.getAttribute?t.getAttribute(Ut):null;return e&&n}function Tn(t){return t&&t.classList&&t.classList.contains&&t.classList.contains(u.replacementClass)}function _n(){return u.autoReplaceSvg===!0?ct.replace:ct[u.autoReplaceSvg]||ct.replace}function Dn(t){return y.createElementNS("http://www.w3.org/2000/svg",t)}function jn(t){return y.createElement(t)}function a1(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:n=t.tag==="svg"?Dn:jn}=e;if(typeof t=="string")return y.createTextNode(t);const a=n(t.tag);return Object.keys(t.attributes||[]).forEach(function(c){a.setAttribute(c,t.attributes[c])}),(t.children||[]).forEach(function(c){a.appendChild(a1(c,{ceFn:n}))}),a}function Rn(t){let e=" ".concat(t.outerHTML," ");return e="".concat(e,"Font Awesome fontawesome.com "),e}const ct={replace:function(t){const e=t[0];if(e.parentNode)if(t[1].forEach(n=>{e.parentNode.insertBefore(a1(n),e)}),e.getAttribute(U)===null&&u.keepOriginalSource){let n=y.createComment(Rn(e));e.parentNode.replaceChild(n,e)}else e.remove()},nest:function(t){const e=t[0],n=t[1];if(~Wt(e).indexOf(u.replacementClass))return ct.replace(t);const a=new RegExp("".concat(u.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){const c=n[0].attributes.class.split(" ").reduce((s,i)=>(i===u.replacementClass||i.match(a)?s.toSvg.push(i):s.toNode.push(i),s),{toNode:[],toSvg:[]});n[0].attributes.class=c.toSvg.join(" "),c.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",c.toNode.join(" "))}const r=n.map(c=>tt(c)).join(` -`);e.setAttribute(U,""),e.innerHTML=r}};function pe(t){t()}function r1(t,e){const n=typeof e=="function"?e:rt;if(t.length===0)n();else{let a=pe;u.mutateApproach===B1&&(a=_.requestAnimationFrame||pe),a(()=>{const r=_n(),c=Kt.begin("mutate");t.map(r),c(),n()})}}let Vt=!1;function c1(){Vt=!0}function Ft(){Vt=!1}let it=null;function ge(t){if(!ee||!u.observeMutations)return;const{treeCallback:e=rt,nodeCallback:n=rt,pseudoElementsCallback:a=rt,observeMutationsRoot:r=y}=t;it=new ee(c=>{if(Vt)return;const s=D();$(c).forEach(i=>{if(i.type==="childList"&&i.addedNodes.length>0&&!de(i.addedNodes[0])&&(u.searchPseudoElements&&a(i.target),e(i.target)),i.type==="attributes"&&i.target.parentNode&&u.searchPseudoElements&&a(i.target.parentNode),i.type==="attributes"&&de(i.target)&&~$1.indexOf(i.attributeName))if(i.attributeName==="class"&&Fn(i.target)){const{prefix:f,iconName:l}=dt(Wt(i.target));i.target.setAttribute(Bt,f||s),l&&i.target.setAttribute(Ut,l)}else Tn(i.target)&&n(i.target)})}),F&&it.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function Bn(){it&&it.disconnect()}function Un(t){const e=t.getAttribute("style");let n=[];return e&&(n=e.split(";").reduce((a,r)=>{const c=r.split(":"),s=c[0],i=c.slice(1);return s&&i.length>0&&(a[s]=i.join(":").trim()),a},{})),n}function Yn(t){const e=t.getAttribute("data-prefix"),n=t.getAttribute("data-icon"),a=t.innerText!==void 0?t.innerText.trim():"";let r=dt(Wt(t));return r.prefix||(r.prefix=D()),e&&n&&(r.prefix=e,r.iconName=n),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=dn(r.prefix,t.innerText)||$t(r.prefix,St(t.innerText))),!r.iconName&&u.autoFetchSvg&&t.firstChild&&t.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=t.firstChild.data)),r}function Wn(t){const e=$(t.attributes).reduce((r,c)=>(r.name!=="class"&&r.name!=="style"&&(r[c.name]=c.value),r),{}),n=t.getAttribute("title"),a=t.getAttribute("data-fa-title-id");return u.autoA11y&&(n?e["aria-labelledby"]="".concat(u.replacementClass,"-title-").concat(a||Q()):(e["aria-hidden"]="true",e.focusable="false")),e}function Hn(){return{iconName:null,title:null,titleId:null,prefix:null,transform:P,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function he(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:n,prefix:a,rest:r}=Yn(t),c=Wn(t),s=Nt("parseNodeAttributes",{},t);let i=e.styleParser?Un(t):[];return o({iconName:n,title:t.getAttribute("title"),titleId:t.getAttribute("data-fa-title-id"),prefix:a,transform:P,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:i,attributes:c}},s)}const{styles:Gn}=O;function s1(t){const e=u.autoReplaceSvg==="nest"?he(t,{styleParser:!1}):he(t);return~e.extra.classes.indexOf(Be)?j("generateLayersText",t,e):j("generateSvgReplacementMutation",t,e)}function $n(){return[...L1,...zt]}function ye(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!F)return Promise.resolve();const n=y.documentElement.classList,a=m=>n.add("".concat(re,"-").concat(m)),r=m=>n.remove("".concat(re,"-").concat(m)),c=u.autoFetchSvg?$n():Ie.concat(Object.keys(Gn));c.includes("fa")||c.push("fa");const s=[".".concat(Be,":not([").concat(U,"])")].concat(c.map(m=>".".concat(m,":not([").concat(U,"])"))).join(", ");if(s.length===0)return Promise.resolve();let i=[];try{i=$(t.querySelectorAll(s))}catch{}if(i.length>0)a("pending"),r("complete");else return Promise.resolve();const f=Kt.begin("onTree"),l=i.reduce((m,h)=>{try{const g=s1(h);g&&m.push(g)}catch(g){je||g.name==="MissingIcon"&&console.error(g)}return m},[]);return new Promise((m,h)=>{Promise.all(l).then(g=>{r1(g,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),f(),m()})}).catch(g=>{f(),h(g)})})}function Xn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;s1(t).then(n=>{n&&r1([n],e)})}function Kn(t){return function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:Pt(e||{});let{mask:r}=n;return r&&(r=(r||{}).icon?r:Pt(r||{})),t(a,o(o({},n),{},{mask:r}))}}const Vn=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=P,symbol:a=!1,mask:r=null,maskId:c=null,title:s=null,titleId:i=null,classes:f=[],attributes:l={},styles:m={}}=e;if(!t)return;const{prefix:h,iconName:g,icon:v}=t;return pt(o({type:"icon"},t),()=>(Y("beforeDOMElementCreation",{iconDefinition:t,params:e}),u.autoA11y&&(s?l["aria-labelledby"]="".concat(u.replacementClass,"-title-").concat(i||Q()):(l["aria-hidden"]="true",l.focusable="false")),Xt({icons:{main:Ot(v),mask:r?Ot(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:h,iconName:g,transform:o(o({},P),n),symbol:a,title:s,maskId:c,titleId:i,extra:{attributes:l,styles:m,classes:f}})))};var qn={mixout(){return{icon:Kn(Vn)}},hooks(){return{mutationObserverCallbacks(t){return t.treeCallback=ye,t.nodeCallback=Xn,t}}},provides(t){t.i2svg=function(e){const{node:n=y,callback:a=()=>{}}=e;return ye(n,a)},t.generateSvgReplacementMutation=function(e,n){const{iconName:a,title:r,titleId:c,prefix:s,transform:i,symbol:f,mask:l,maskId:m,extra:h}=n;return new Promise((g,v)=>{Promise.all([Et(a,s),l.iconName?Et(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(N=>{let[w,C]=N;g([e,Xt({icons:{main:w,mask:C},prefix:s,iconName:a,transform:i,symbol:f,maskId:m,title:r,titleId:c,extra:h,watchable:!0})])}).catch(v)})},t.generateAbstractIcon=function(e){let{children:n,attributes:a,main:r,transform:c,styles:s}=e;const i=ut(s);i.length>0&&(a.style=i);let f;return Ht(c)&&(f=j("generateAbstractTransformGrouping",{main:r,transform:c,containerWidth:r.width,iconWidth:r.width})),n.push(f||r.icon),{children:n,attributes:a}}}},Qn={mixout(){return{layer(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:n=[]}=e;return pt({type:"layer"},()=>{Y("beforeDOMElementCreation",{assembler:t,params:e});let a=[];return t(r=>{Array.isArray(r)?r.map(c=>{a=a.concat(c.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(u.cssPrefix,"-layers"),...n].join(" ")},children:a}]})}}}},Zn={mixout(){return{counter(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:n=null,classes:a=[],attributes:r={},styles:c={}}=e;return pt({type:"counter",content:t},()=>(Y("beforeDOMElementCreation",{content:t,params:e}),Pn({content:t.toString(),title:n,extra:{attributes:r,styles:c,classes:["".concat(u.cssPrefix,"-layers-counter"),...a]}})))}}}},Jn={mixout(){return{text(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=P,title:a=null,classes:r=[],attributes:c={},styles:s={}}=e;return pt({type:"text",content:t},()=>(Y("beforeDOMElementCreation",{content:t,params:e}),ue({content:t,transform:o(o({},P),n),title:a,extra:{attributes:c,styles:s,classes:["".concat(u.cssPrefix,"-layers-text"),...r]}})))}}},provides(t){t.generateLayersText=function(e,n){const{title:a,transform:r,extra:c}=n;let s=null,i=null;if(Oe){const f=parseInt(getComputedStyle(e).fontSize,10),l=e.getBoundingClientRect();s=l.width/f,i=l.height/f}return u.autoA11y&&!a&&(c.attributes["aria-hidden"]="true"),Promise.resolve([e,ue({content:e.innerHTML,width:s,height:i,transform:r,title:a,extra:c,watchable:!0})])}}};const t2=new RegExp('"',"ug"),be=[1105920,1112319],ve=o(o(o(o({},{FontAwesome:{normal:"fas",400:"fas"}}),z1),j1),O1),Tt=Object.keys(ve).reduce((t,e)=>(t[e.toLowerCase()]=ve[e],t),{}),e2=Object.keys(Tt).reduce((t,e)=>{const n=Tt[e];return t[e]=n[900]||[...Object.entries(n)][0][1],t},{});function n2(t){const e=t.replace(t2,""),n=on(e,0),a=n>=be[0]&&n<=be[1],r=e.length===2?e[0]===e[1]:!1;return{value:St(r?e[0]:e),isSecondary:a||r}}function a2(t,e){const n=t.replace(/^['"]|['"]$/g,"").toLowerCase(),a=parseInt(e),r=isNaN(a)?"normal":a;return(Tt[n]||{})[r]||e2[n]}function xe(t,e){const n="".concat(R1).concat(e.replace(":","-"));return new Promise((a,r)=>{if(t.getAttribute(n)!==null)return a();const s=$(t.children).filter(g=>g.getAttribute(Mt)===e)[0],i=_.getComputedStyle(t,e),f=i.getPropertyValue("font-family"),l=f.match(H1),m=i.getPropertyValue("font-weight"),h=i.getPropertyValue("content");if(s&&!l)return t.removeChild(s),a();if(l&&h!=="none"&&h!==""){const g=i.getPropertyValue("content");let v=a2(f,m);const{value:N,isSecondary:w}=n2(g),C=l[0].startsWith("FontAwesome");let d=$t(v,N),p=d;if(C){const b=pn(N);b.iconName&&b.prefix&&(d=b.iconName,v=b.prefix)}if(d&&!w&&(!s||s.getAttribute(Bt)!==v||s.getAttribute(Ut)!==p)){t.setAttribute(n,p),s&&t.removeChild(s);const b=Hn(),{extra:x}=b;x.attributes[Mt]=e,Et(d,v).then(A=>{const et=Xt(o(o({},b),{},{icons:{main:A,mask:t1()},prefix:v,iconName:p,extra:x,watchable:!0})),R=y.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?t.insertBefore(R,t.firstChild):t.appendChild(R),R.outerHTML=et.map(f1=>tt(f1)).join(` -`),t.removeAttribute(n),a()}).catch(r)}else a()}else a()})}function r2(t){return Promise.all([xe(t,"::before"),xe(t,"::after")])}function c2(t){return t.parentNode!==document.head&&!~U1.indexOf(t.tagName.toUpperCase())&&!t.getAttribute(Mt)&&(!t.parentNode||t.parentNode.tagName!=="svg")}function ze(t){if(F)return new Promise((e,n)=>{const a=$(t.querySelectorAll("*")).filter(c2).map(r2),r=Kt.begin("searchPseudoElements");c1(),Promise.all(a).then(()=>{r(),Ft(),e()}).catch(()=>{r(),Ft(),n()})})}var s2={hooks(){return{mutationObserverCallbacks(t){return t.pseudoElementsCallback=ze,t}}},provides(t){t.pseudoElements2svg=function(e){const{node:n=y}=e;u.searchPseudoElements&&ze(n)}}};let Ce=!1;var i2={mixout(){return{dom:{unwatch(){c1(),Ce=!0}}}},hooks(){return{bootstrap(){ge(Nt("mutationObserverCallbacks",{}))},noAuto(){Bn()},watch(t){const{observeMutationsRoot:e}=t;Ce?Ft():ge(Nt("mutationObserverCallbacks",{observeMutationsRoot:e}))}}}};const Me=t=>{let e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce((n,a)=>{const r=a.toLowerCase().split("-"),c=r[0];let s=r.slice(1).join("-");if(c&&s==="h")return n.flipX=!0,n;if(c&&s==="v")return n.flipY=!0,n;if(s=parseFloat(s),isNaN(s))return n;switch(c){case"grow":n.size=n.size+s;break;case"shrink":n.size=n.size-s;break;case"left":n.x=n.x-s;break;case"right":n.x=n.x+s;break;case"up":n.y=n.y-s;break;case"down":n.y=n.y+s;break;case"rotate":n.rotate=n.rotate+s;break}return n},e)};var o2={mixout(){return{parse:{transform:t=>Me(t)}}},hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-transform");return n&&(t.transform=Me(n)),t}}},provides(t){t.generateAbstractTransformGrouping=function(e){let{main:n,transform:a,containerWidth:r,iconWidth:c}=e;const s={transform:"translate(".concat(r/2," 256)")},i="translate(".concat(a.x*32,", ").concat(a.y*32,") "),f="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),l="rotate(".concat(a.rotate," 0 0)"),m={transform:"".concat(i," ").concat(f," ").concat(l)},h={transform:"translate(".concat(c/2*-1," -256)")},g={outer:s,inner:m,path:h};return{tag:"g",attributes:o({},g.outer),children:[{tag:"g",attributes:o({},g.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:o(o({},n.icon.attributes),g.path)}]}]}}}};const vt={x:0,y:0,width:"100%",height:"100%"};function Le(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function l2(t){return t.tag==="g"?t.children:[t]}var f2={hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-mask"),a=n?dt(n.split(" ").map(r=>r.trim())):t1();return a.prefix||(a.prefix=D()),t.mask=a,t.maskId=e.getAttribute("data-fa-mask-id"),t}}},provides(t){t.generateAbstractMask=function(e){let{children:n,attributes:a,main:r,mask:c,maskId:s,transform:i}=e;const{width:f,icon:l}=r,{width:m,icon:h}=c,g=tn({transform:i,containerWidth:m,iconWidth:f}),v={tag:"rect",attributes:o(o({},vt),{},{fill:"white"})},N=l.children?{children:l.children.map(Le)}:{},w={tag:"g",attributes:o({},g.inner),children:[Le(o({tag:l.tag,attributes:o(o({},l.attributes),g.path)},N))]},C={tag:"g",attributes:o({},g.outer),children:[w]},d="mask-".concat(s||Q()),p="clip-".concat(s||Q()),b={tag:"mask",attributes:o(o({},vt),{},{id:d,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[v,C]},x={tag:"defs",children:[{tag:"clipPath",attributes:{id:p},children:l2(h)},b]};return n.push(x,{tag:"rect",attributes:o({fill:"currentColor","clip-path":"url(#".concat(p,")"),mask:"url(#".concat(d,")")},vt)}),{children:n,attributes:a}}}},u2={provides(t){let e=!1;_.matchMedia&&(e=_.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){const n=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};n.push({tag:"path",attributes:o(o({},a),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const c=o(o({},r),{},{attributeName:"opacity"}),s={tag:"circle",attributes:o(o({},a),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||s.children.push({tag:"animate",attributes:o(o({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:o(o({},c),{},{values:"1;0;1;1;0;1;"})}),n.push(s),n.push({tag:"path",attributes:o(o({},a),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:o(o({},c),{},{values:"1;0;0;0;0;1;"})}]}),e||n.push({tag:"path",attributes:o(o({},a),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:o(o({},c),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:n}}}},m2={hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-symbol"),a=n===null?!1:n===""?!0:n;return t.symbol=a,t}}}},d2=[an,qn,Qn,Zn,Jn,s2,i2,o2,f2,u2,m2];Mn(d2,{mixoutsTo:L});L.noAuto;const i1=L.config,q2=L.library;L.dom;const ot=L.parse;L.findIconDefinition;L.toHtml;const p2=L.icon;L.layer;const g2=L.text;L.counter;/*! +}`;function We(){const t=_e,e=De,n=u.cssPrefix,a=u.replacementClass;let r=a1;if(n!==t||a!==e){const s=new RegExp("\\.".concat(t,"\\-"),"g"),c=new RegExp("\\--".concat(t,"\\-"),"g"),i=new RegExp("\\.".concat(e),"g");r=r.replace(s,".".concat(n,"-")).replace(c,"--".concat(n,"-")).replace(i,".".concat(a))}return r}let ce=!1;function ht(){u.autoAddCss&&!ce&&(Zn(We()),ce=!0)}var r1={mixout(){return{dom:{css:We,insertCss:ht}}},hooks(){return{beforeDOMElementCreation(){ht()},beforeI2svg(){ht()}}}};const I=_||{};I[E]||(I[E]={});I[E].styles||(I[E].styles={});I[E].hooks||(I[E].hooks={});I[E].shims||(I[E].shims=[]);var O=I[E];const He=[],Ge=function(){y.removeEventListener("DOMContentLoaded",Ge),ct=1,He.map(t=>t())};let ct=!1;F&&(ct=(y.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(y.readyState),ct||y.addEventListener("DOMContentLoaded",Ge));function s1(t){F&&(ct?setTimeout(t,0):He.push(t))}function tt(t){const{tag:e,attributes:n={},children:a=[]}=t;return typeof t=="string"?Ye(t):"<".concat(e," ").concat(t1(n),">").concat(a.map(tt).join(""),"")}function ie(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}var c1=function(e,n){return function(a,r,s,c){return e.call(n,a,r,s,c)}},yt=function(e,n,a,r){var s=Object.keys(e),c=s.length,i=r!==void 0?c1(n,r):n,f,l,m;for(a===void 0?(f=1,m=e[s[0]]):(f=0,m=a);f=55296&&r<=56319&&n=55296&&a<=56319&&n>e+1&&(r=t.charCodeAt(e+1),r>=56320&&r<=57343)?(a-55296)*1024+r-56320+65536:a}function oe(t){return Object.keys(t).reduce((e,n)=>{const a=t[n];return!!a.icon?e[a.iconName]=a.icon:e[n]=a,e},{})}function kt(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=n,r=oe(e);typeof O.hooks.addPack=="function"&&!a?O.hooks.addPack(t,oe(e)):O.styles[t]=o(o({},O.styles[t]||{}),r),t==="fas"&&kt("fa",e)}const{styles:Z,shims:l1}=O,$e=Object.keys(Yt),f1=$e.reduce((t,e)=>(t[e]=Object.keys(Yt[e]),t),{});let Gt=null,Xe={},Ke={},Ve={},qe={},Qe={};function u1(t){return~Kn.indexOf(t)}function m1(t,e){const n=e.split("-"),a=n[0],r=n.slice(1).join("-");return a===t&&r!==""&&!u1(r)?r:null}const Ze=()=>{const t=a=>yt(Z,(r,s,c)=>(r[c]=yt(s,a,{}),r),{});Xe=t((a,r,s)=>(r[3]&&(a[r[3]]=s),r[2]&&r[2].filter(i=>typeof i=="number").forEach(i=>{a[i.toString(16)]=s}),a)),Ke=t((a,r,s)=>(a[s]=s,r[2]&&r[2].filter(i=>typeof i=="string").forEach(i=>{a[i]=s}),a)),Qe=t((a,r,s)=>{const c=r[2];return a[s]=s,c.forEach(i=>{a[i]=s}),a});const e="far"in Z||u.autoFetchSvg,n=yt(l1,(a,r)=>{const s=r[0];let c=r[1];const i=r[2];return c==="far"&&!e&&(c="fas"),typeof s=="string"&&(a.names[s]={prefix:c,iconName:i}),typeof s=="number"&&(a.unicodes[s.toString(16)]={prefix:c,iconName:i}),a},{names:{},unicodes:{}});Ve=n.names,qe=n.unicodes,Gt=mt(u.styleDefault,{family:u.familyDefault})};Qn(t=>{Gt=mt(t.styleDefault,{family:u.familyDefault})});Ze();function $t(t,e){return(Xe[t]||{})[e]}function d1(t,e){return(Ke[t]||{})[e]}function B(t,e){return(Qe[t]||{})[e]}function Je(t){return Ve[t]||{prefix:null,iconName:null}}function p1(t){const e=qe[t],n=$t("fas",t);return e||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function D(){return Gt}const tn=()=>({prefix:null,iconName:null,rest:[]});function g1(t){let e=z;const n=$e.reduce((a,r)=>(a[r]="".concat(u.cssPrefix,"-").concat(r),a),{});return Fe.forEach(a=>{(t.includes(n[a])||t.some(r=>f1[a].includes(r)))&&(e=a)}),e}function mt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:n=z}=e,a=Wn[n][t];if(n===ft&&!t)return"fad";const r=se[n][t]||se[n][a],s=t in O.styles?t:null;return r||s||null}function h1(t){let e=[],n=null;return t.forEach(a=>{const r=m1(u.cssPrefix,a);r?n=r:a&&e.push(a)}),{iconName:n,rest:e}}function le(t){return t.sort().filter((e,n,a)=>a.indexOf(e)===n)}function dt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:n=!1}=e;let a=null;const r=zt.concat(On),s=le(t.filter(h=>r.includes(h))),c=le(t.filter(h=>!zt.includes(h))),i=s.filter(h=>(a=h,!Ie.includes(h))),[f=null]=i,l=g1(s),m=o(o({},h1(c)),{},{prefix:mt(f,{family:l})});return o(o(o({},m),x1({values:t,family:l,styles:Z,config:u,canonical:m,givenPrefix:a})),y1(n,a,m))}function y1(t,e,n){let{prefix:a,iconName:r}=n;if(t||!a||!r)return{prefix:a,iconName:r};const s=e==="fa"?Je(r):{},c=B(a,r);return r=s.iconName||c||r,a=s.prefix||a,a==="far"&&!Z.far&&Z.fas&&!u.autoFetchSvg&&(a="fas"),{prefix:a,iconName:r}}const b1=Fe.filter(t=>t!==z||t!==ft),v1=Object.keys(xt).filter(t=>t!==z).map(t=>Object.keys(xt[t])).flat();function x1(t){const{values:e,family:n,canonical:a,givenPrefix:r="",styles:s={},config:c={}}=t,i=n===ft,f=e.includes("fa-duotone")||e.includes("fad"),l=c.familyDefault==="duotone",m=a.prefix==="fad"||a.prefix==="fa-duotone";if(!i&&(f||l||m)&&(a.prefix="fad"),(e.includes("fa-brands")||e.includes("fab"))&&(a.prefix="fab"),!a.prefix&&b1.includes(n)&&(Object.keys(s).find(g=>v1.includes(g))||c.autoFetchSvg)){const g=Mn.get(n).defaultShortPrefixId;a.prefix=g,a.iconName=B(a.prefix,a.iconName)||a.iconName}return(a.prefix==="fa"||r==="fa")&&(a.prefix=D()||"fas"),a}class z1{constructor(){this.definitions={}}add(){for(var e=arguments.length,n=new Array(e),a=0;a{this.definitions[s]=o(o({},this.definitions[s]||{}),r[s]),kt(s,r[s]);const c=Yt[z][s];c&&kt(c,r[s]),Ze()})}reset(){this.definitions={}}_pullDefinitions(e,n){const a=n.prefix&&n.iconName&&n.icon?{0:n}:n;return Object.keys(a).map(r=>{const{prefix:s,iconName:c,icon:i}=a[r],f=i[2];e[s]||(e[s]={}),f.length>0&&f.forEach(l=>{typeof l=="string"&&(e[s][l]=i)}),e[s][c]=i}),e}}let fe=[],W={};const H={},C1=Object.keys(H);function M1(t,e){let{mixoutsTo:n}=e;return fe=t,W={},Object.keys(H).forEach(a=>{C1.indexOf(a)===-1&&delete H[a]}),fe.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(s=>{typeof r[s]=="function"&&(n[s]=r[s]),typeof r[s]=="object"&&Object.keys(r[s]).forEach(c=>{n[s]||(n[s]={}),n[s][c]=r[s][c]})}),a.hooks){const s=a.hooks();Object.keys(s).forEach(c=>{W[c]||(W[c]=[]),W[c].push(s[c])})}a.provides&&a.provides(H)}),n}function Nt(t,e){for(var n=arguments.length,a=new Array(n>2?n-2:0),r=2;r{e=c.apply(null,[e,...a])}),e}function Y(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),a=1;a{s.apply(null,n)})}function j(){const t=arguments[0],e=Array.prototype.slice.call(arguments,1);return H[t]?H[t].apply(null,e):void 0}function Pt(t){t.prefix==="fa"&&(t.prefix="fas");let{iconName:e}=t;const n=t.prefix||D();if(e)return e=B(n,e)||e,ie(en.definitions,n,e)||ie(O.styles,n,e)}const en=new z1,L1=()=>{u.autoReplaceSvg=!1,u.observeMutations=!1,Y("noAuto")},A1={i2svg:function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return F?(Y("beforeI2svg",t),j("pseudoElements2svg",t),j("i2svg",t)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=t;u.autoReplaceSvg===!1&&(u.autoReplaceSvg=!0),u.observeMutations=!0,s1(()=>{S1({autoReplaceSvgRoot:e}),Y("watch",t)})}},w1={icon:t=>{if(t===null)return null;if(typeof t=="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:B(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){const e=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],n=mt(t[0]);return{prefix:n,iconName:B(n,e)||e}}if(typeof t=="string"&&(t.indexOf("".concat(u.cssPrefix,"-"))>-1||t.match(Hn))){const e=dt(t.split(" "),{skipLookups:!0});return{prefix:e.prefix||D(),iconName:B(e.prefix,e.iconName)||e.iconName}}if(typeof t=="string"){const e=D();return{prefix:e,iconName:B(e,t)||t}}}},L={noAuto:L1,config:u,dom:A1,parse:w1,library:en,findIconDefinition:Pt,toHtml:tt},S1=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=y}=t;(Object.keys(O.styles).length>0||u.autoFetchSvg)&&F&&u.autoReplaceSvg&&L.dom.i2svg({node:e})};function pt(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(n=>tt(n))}}),Object.defineProperty(t,"node",{get:function(){if(!F)return;const n=y.createElement("div");return n.innerHTML=t.html,n.children}}),t}function k1(t){let{children:e,main:n,mask:a,attributes:r,styles:s,transform:c}=t;if(Ht(c)&&n.found&&!a.found){const{width:i,height:f}=n,l={x:i/f/2,y:.5};r.style=ut(o(o({},s),{},{"transform-origin":"".concat(l.x+c.x/16,"em ").concat(l.y+c.y/16,"em")}))}return[{tag:"svg",attributes:r,children:e}]}function N1(t){let{prefix:e,iconName:n,children:a,attributes:r,symbol:s}=t;const c=s===!0?"".concat(e,"-").concat(u.cssPrefix,"-").concat(n):s;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:o(o({},r),{},{id:c}),children:a}]}]}function Xt(t){const{icons:{main:e,mask:n},prefix:a,iconName:r,transform:s,symbol:c,title:i,maskId:f,titleId:l,extra:m,watchable:h=!1}=t,{width:g,height:v}=n.found?n:e,N=kn.includes(a),w=[u.replacementClass,r?"".concat(u.cssPrefix,"-").concat(r):""].filter(A=>m.classes.indexOf(A)===-1).filter(A=>A!==""||!!A).concat(m.classes).join(" ");let C={children:[],attributes:o(o({},m.attributes),{},{"data-prefix":a,"data-icon":r,class:w,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(v)})};const d=N&&!~m.classes.indexOf("fa-fw")?{width:"".concat(g/v*16*.0625,"em")}:{};h&&(C.attributes[U]=""),i&&(C.children.push({tag:"title",attributes:{id:C.attributes["aria-labelledby"]||"title-".concat(l||Q())},children:[i]}),delete C.attributes.title);const p=o(o({},C),{},{prefix:a,iconName:r,main:e,mask:n,maskId:f,transform:s,symbol:c,styles:o(o({},d),m.styles)}),{children:b,attributes:x}=n.found&&e.found?j("generateAbstractMask",p)||{children:[],attributes:{}}:j("generateAbstractIcon",p)||{children:[],attributes:{}};return p.children=b,p.attributes=x,c?N1(p):k1(p)}function ue(t){const{content:e,width:n,height:a,transform:r,title:s,extra:c,watchable:i=!1}=t,f=o(o(o({},c.attributes),s?{title:s}:{}),{},{class:c.classes.join(" ")});i&&(f[U]="");const l=o({},c.styles);Ht(r)&&(l.transform=n1({transform:r,startCentered:!0,width:n,height:a}),l["-webkit-transform"]=l.transform);const m=ut(l);m.length>0&&(f.style=m);const h=[];return h.push({tag:"span",attributes:f,children:[e]}),s&&h.push({tag:"span",attributes:{class:"sr-only"},children:[s]}),h}function P1(t){const{content:e,title:n,extra:a}=t,r=o(o(o({},a.attributes),n?{title:n}:{}),{},{class:a.classes.join(" ")}),s=ut(a.styles);s.length>0&&(r.style=s);const c=[];return c.push({tag:"span",attributes:r,children:[e]}),n&&c.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),c}const{styles:bt}=O;function Ot(t){const e=t[0],n=t[1],[a]=t.slice(4);let r=null;return Array.isArray(a)?r={tag:"g",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(u.cssPrefix,"-").concat(gt.PRIMARY),fill:"currentColor",d:a[1]}}]}:r={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:n,icon:r}}const O1={found:!1,width:512,height:512};function E1(t,e){!je&&!u.showMissingIcons&&t&&console.error('Icon with name "'.concat(t,'" and prefix "').concat(e,'" is missing.'))}function Et(t,e){let n=e;return e==="fa"&&u.styleDefault!==null&&(e=D()),new Promise((a,r)=>{if(n==="fa"){const s=Je(t)||{};t=s.iconName||t,e=s.prefix||e}if(t&&e&&bt[e]&&bt[e][t]){const s=bt[e][t];return a(Ot(s))}E1(t,e),a(o(o({},O1),{},{icon:u.showMissingIcons&&t?j("missingIconAbstract")||{}:{}}))})}const me=()=>{},It=u.measurePerformance&&nt&&nt.mark&&nt.measure?nt:{mark:me,measure:me},X='FA "6.7.2"',I1=t=>(It.mark("".concat(X," ").concat(t," begins")),()=>nn(t)),nn=t=>{It.mark("".concat(X," ").concat(t," ends")),It.measure("".concat(X," ").concat(t),"".concat(X," ").concat(t," begins"),"".concat(X," ").concat(t," ends"))};var Kt={begin:I1,end:nn};const rt=()=>{};function de(t){return typeof(t.getAttribute?t.getAttribute(U):null)=="string"}function F1(t){const e=t.getAttribute?t.getAttribute(Bt):null,n=t.getAttribute?t.getAttribute(Ut):null;return e&&n}function T1(t){return t&&t.classList&&t.classList.contains&&t.classList.contains(u.replacementClass)}function _1(){return u.autoReplaceSvg===!0?st.replace:st[u.autoReplaceSvg]||st.replace}function D1(t){return y.createElementNS("http://www.w3.org/2000/svg",t)}function j1(t){return y.createElement(t)}function an(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:n=t.tag==="svg"?D1:j1}=e;if(typeof t=="string")return y.createTextNode(t);const a=n(t.tag);return Object.keys(t.attributes||[]).forEach(function(s){a.setAttribute(s,t.attributes[s])}),(t.children||[]).forEach(function(s){a.appendChild(an(s,{ceFn:n}))}),a}function R1(t){let e=" ".concat(t.outerHTML," ");return e="".concat(e,"Font Awesome fontawesome.com "),e}const st={replace:function(t){const e=t[0];if(e.parentNode)if(t[1].forEach(n=>{e.parentNode.insertBefore(an(n),e)}),e.getAttribute(U)===null&&u.keepOriginalSource){let n=y.createComment(R1(e));e.parentNode.replaceChild(n,e)}else e.remove()},nest:function(t){const e=t[0],n=t[1];if(~Wt(e).indexOf(u.replacementClass))return st.replace(t);const a=new RegExp("".concat(u.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){const s=n[0].attributes.class.split(" ").reduce((c,i)=>(i===u.replacementClass||i.match(a)?c.toSvg.push(i):c.toNode.push(i),c),{toNode:[],toSvg:[]});n[0].attributes.class=s.toSvg.join(" "),s.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",s.toNode.join(" "))}const r=n.map(s=>tt(s)).join(` +`);e.setAttribute(U,""),e.innerHTML=r}};function pe(t){t()}function rn(t,e){const n=typeof e=="function"?e:rt;if(t.length===0)n();else{let a=pe;u.mutateApproach===Un&&(a=_.requestAnimationFrame||pe),a(()=>{const r=_1(),s=Kt.begin("mutate");t.map(r),s(),n()})}}let Vt=!1;function sn(){Vt=!0}function Ft(){Vt=!1}let it=null;function ge(t){if(!ee||!u.observeMutations)return;const{treeCallback:e=rt,nodeCallback:n=rt,pseudoElementsCallback:a=rt,observeMutationsRoot:r=y}=t;it=new ee(s=>{if(Vt)return;const c=D();$(s).forEach(i=>{if(i.type==="childList"&&i.addedNodes.length>0&&!de(i.addedNodes[0])&&(u.searchPseudoElements&&a(i.target),e(i.target)),i.type==="attributes"&&i.target.parentNode&&u.searchPseudoElements&&a(i.target.parentNode),i.type==="attributes"&&de(i.target)&&~Xn.indexOf(i.attributeName))if(i.attributeName==="class"&&F1(i.target)){const{prefix:f,iconName:l}=dt(Wt(i.target));i.target.setAttribute(Bt,f||c),l&&i.target.setAttribute(Ut,l)}else T1(i.target)&&n(i.target)})}),F&&it.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function B1(){it&&it.disconnect()}function U1(t){const e=t.getAttribute("style");let n=[];return e&&(n=e.split(";").reduce((a,r)=>{const s=r.split(":"),c=s[0],i=s.slice(1);return c&&i.length>0&&(a[c]=i.join(":").trim()),a},{})),n}function Y1(t){const e=t.getAttribute("data-prefix"),n=t.getAttribute("data-icon"),a=t.innerText!==void 0?t.innerText.trim():"";let r=dt(Wt(t));return r.prefix||(r.prefix=D()),e&&n&&(r.prefix=e,r.iconName=n),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=d1(r.prefix,t.innerText)||$t(r.prefix,St(t.innerText))),!r.iconName&&u.autoFetchSvg&&t.firstChild&&t.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=t.firstChild.data)),r}function W1(t){const e=$(t.attributes).reduce((r,s)=>(r.name!=="class"&&r.name!=="style"&&(r[s.name]=s.value),r),{}),n=t.getAttribute("title"),a=t.getAttribute("data-fa-title-id");return u.autoA11y&&(n?e["aria-labelledby"]="".concat(u.replacementClass,"-title-").concat(a||Q()):(e["aria-hidden"]="true",e.focusable="false")),e}function H1(){return{iconName:null,title:null,titleId:null,prefix:null,transform:P,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function he(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:n,prefix:a,rest:r}=Y1(t),s=W1(t),c=Nt("parseNodeAttributes",{},t);let i=e.styleParser?U1(t):[];return o({iconName:n,title:t.getAttribute("title"),titleId:t.getAttribute("data-fa-title-id"),prefix:a,transform:P,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:i,attributes:s}},c)}const{styles:G1}=O;function cn(t){const e=u.autoReplaceSvg==="nest"?he(t,{styleParser:!1}):he(t);return~e.extra.classes.indexOf(Be)?j("generateLayersText",t,e):j("generateSvgReplacementMutation",t,e)}function $1(){return[...An,...zt]}function ye(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!F)return Promise.resolve();const n=y.documentElement.classList,a=m=>n.add("".concat(re,"-").concat(m)),r=m=>n.remove("".concat(re,"-").concat(m)),s=u.autoFetchSvg?$1():Ie.concat(Object.keys(G1));s.includes("fa")||s.push("fa");const c=[".".concat(Be,":not([").concat(U,"])")].concat(s.map(m=>".".concat(m,":not([").concat(U,"])"))).join(", ");if(c.length===0)return Promise.resolve();let i=[];try{i=$(t.querySelectorAll(c))}catch{}if(i.length>0)a("pending"),r("complete");else return Promise.resolve();const f=Kt.begin("onTree"),l=i.reduce((m,h)=>{try{const g=cn(h);g&&m.push(g)}catch(g){je||g.name==="MissingIcon"&&console.error(g)}return m},[]);return new Promise((m,h)=>{Promise.all(l).then(g=>{rn(g,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),f(),m()})}).catch(g=>{f(),h(g)})})}function X1(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;cn(t).then(n=>{n&&rn([n],e)})}function K1(t){return function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:Pt(e||{});let{mask:r}=n;return r&&(r=(r||{}).icon?r:Pt(r||{})),t(a,o(o({},n),{},{mask:r}))}}const V1=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=P,symbol:a=!1,mask:r=null,maskId:s=null,title:c=null,titleId:i=null,classes:f=[],attributes:l={},styles:m={}}=e;if(!t)return;const{prefix:h,iconName:g,icon:v}=t;return pt(o({type:"icon"},t),()=>(Y("beforeDOMElementCreation",{iconDefinition:t,params:e}),u.autoA11y&&(c?l["aria-labelledby"]="".concat(u.replacementClass,"-title-").concat(i||Q()):(l["aria-hidden"]="true",l.focusable="false")),Xt({icons:{main:Ot(v),mask:r?Ot(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:h,iconName:g,transform:o(o({},P),n),symbol:a,title:c,maskId:s,titleId:i,extra:{attributes:l,styles:m,classes:f}})))};var q1={mixout(){return{icon:K1(V1)}},hooks(){return{mutationObserverCallbacks(t){return t.treeCallback=ye,t.nodeCallback=X1,t}}},provides(t){t.i2svg=function(e){const{node:n=y,callback:a=()=>{}}=e;return ye(n,a)},t.generateSvgReplacementMutation=function(e,n){const{iconName:a,title:r,titleId:s,prefix:c,transform:i,symbol:f,mask:l,maskId:m,extra:h}=n;return new Promise((g,v)=>{Promise.all([Et(a,c),l.iconName?Et(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(N=>{let[w,C]=N;g([e,Xt({icons:{main:w,mask:C},prefix:c,iconName:a,transform:i,symbol:f,maskId:m,title:r,titleId:s,extra:h,watchable:!0})])}).catch(v)})},t.generateAbstractIcon=function(e){let{children:n,attributes:a,main:r,transform:s,styles:c}=e;const i=ut(c);i.length>0&&(a.style=i);let f;return Ht(s)&&(f=j("generateAbstractTransformGrouping",{main:r,transform:s,containerWidth:r.width,iconWidth:r.width})),n.push(f||r.icon),{children:n,attributes:a}}}},Q1={mixout(){return{layer(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:n=[]}=e;return pt({type:"layer"},()=>{Y("beforeDOMElementCreation",{assembler:t,params:e});let a=[];return t(r=>{Array.isArray(r)?r.map(s=>{a=a.concat(s.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(u.cssPrefix,"-layers"),...n].join(" ")},children:a}]})}}}},Z1={mixout(){return{counter(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:n=null,classes:a=[],attributes:r={},styles:s={}}=e;return pt({type:"counter",content:t},()=>(Y("beforeDOMElementCreation",{content:t,params:e}),P1({content:t.toString(),title:n,extra:{attributes:r,styles:s,classes:["".concat(u.cssPrefix,"-layers-counter"),...a]}})))}}}},J1={mixout(){return{text(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=P,title:a=null,classes:r=[],attributes:s={},styles:c={}}=e;return pt({type:"text",content:t},()=>(Y("beforeDOMElementCreation",{content:t,params:e}),ue({content:t,transform:o(o({},P),n),title:a,extra:{attributes:s,styles:c,classes:["".concat(u.cssPrefix,"-layers-text"),...r]}})))}}},provides(t){t.generateLayersText=function(e,n){const{title:a,transform:r,extra:s}=n;let c=null,i=null;if(Oe){const f=parseInt(getComputedStyle(e).fontSize,10),l=e.getBoundingClientRect();c=l.width/f,i=l.height/f}return u.autoA11y&&!a&&(s.attributes["aria-hidden"]="true"),Promise.resolve([e,ue({content:e.innerHTML,width:c,height:i,transform:r,title:a,extra:s,watchable:!0})])}}};const t2=new RegExp('"',"ug"),be=[1105920,1112319],ve=o(o(o(o({},{FontAwesome:{normal:"fas",400:"fas"}}),Cn),Rn),En),Tt=Object.keys(ve).reduce((t,e)=>(t[e.toLowerCase()]=ve[e],t),{}),e2=Object.keys(Tt).reduce((t,e)=>{const n=Tt[e];return t[e]=n[900]||[...Object.entries(n)][0][1],t},{});function n2(t){const e=t.replace(t2,""),n=o1(e,0),a=n>=be[0]&&n<=be[1],r=e.length===2?e[0]===e[1]:!1;return{value:St(r?e[0]:e),isSecondary:a||r}}function a2(t,e){const n=t.replace(/^['"]|['"]$/g,"").toLowerCase(),a=parseInt(e),r=isNaN(a)?"normal":a;return(Tt[n]||{})[r]||e2[n]}function xe(t,e){const n="".concat(Bn).concat(e.replace(":","-"));return new Promise((a,r)=>{if(t.getAttribute(n)!==null)return a();const c=$(t.children).filter(g=>g.getAttribute(Mt)===e)[0],i=_.getComputedStyle(t,e),f=i.getPropertyValue("font-family"),l=f.match(Gn),m=i.getPropertyValue("font-weight"),h=i.getPropertyValue("content");if(c&&!l)return t.removeChild(c),a();if(l&&h!=="none"&&h!==""){const g=i.getPropertyValue("content");let v=a2(f,m);const{value:N,isSecondary:w}=n2(g),C=l[0].startsWith("FontAwesome");let d=$t(v,N),p=d;if(C){const b=p1(N);b.iconName&&b.prefix&&(d=b.iconName,v=b.prefix)}if(d&&!w&&(!c||c.getAttribute(Bt)!==v||c.getAttribute(Ut)!==p)){t.setAttribute(n,p),c&&t.removeChild(c);const b=H1(),{extra:x}=b;x.attributes[Mt]=e,Et(d,v).then(A=>{const et=Xt(o(o({},b),{},{icons:{main:A,mask:tn()},prefix:v,iconName:p,extra:x,watchable:!0})),R=y.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?t.insertBefore(R,t.firstChild):t.appendChild(R),R.outerHTML=et.map(un=>tt(un)).join(` +`),t.removeAttribute(n),a()}).catch(r)}else a()}else a()})}function r2(t){return Promise.all([xe(t,"::before"),xe(t,"::after")])}function s2(t){return t.parentNode!==document.head&&!~Yn.indexOf(t.tagName.toUpperCase())&&!t.getAttribute(Mt)&&(!t.parentNode||t.parentNode.tagName!=="svg")}function ze(t){if(F)return new Promise((e,n)=>{const a=$(t.querySelectorAll("*")).filter(s2).map(r2),r=Kt.begin("searchPseudoElements");sn(),Promise.all(a).then(()=>{r(),Ft(),e()}).catch(()=>{r(),Ft(),n()})})}var c2={hooks(){return{mutationObserverCallbacks(t){return t.pseudoElementsCallback=ze,t}}},provides(t){t.pseudoElements2svg=function(e){const{node:n=y}=e;u.searchPseudoElements&&ze(n)}}};let Ce=!1;var i2={mixout(){return{dom:{unwatch(){sn(),Ce=!0}}}},hooks(){return{bootstrap(){ge(Nt("mutationObserverCallbacks",{}))},noAuto(){B1()},watch(t){const{observeMutationsRoot:e}=t;Ce?Ft():ge(Nt("mutationObserverCallbacks",{observeMutationsRoot:e}))}}}};const Me=t=>{let e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce((n,a)=>{const r=a.toLowerCase().split("-"),s=r[0];let c=r.slice(1).join("-");if(s&&c==="h")return n.flipX=!0,n;if(s&&c==="v")return n.flipY=!0,n;if(c=parseFloat(c),isNaN(c))return n;switch(s){case"grow":n.size=n.size+c;break;case"shrink":n.size=n.size-c;break;case"left":n.x=n.x-c;break;case"right":n.x=n.x+c;break;case"up":n.y=n.y-c;break;case"down":n.y=n.y+c;break;case"rotate":n.rotate=n.rotate+c;break}return n},e)};var o2={mixout(){return{parse:{transform:t=>Me(t)}}},hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-transform");return n&&(t.transform=Me(n)),t}}},provides(t){t.generateAbstractTransformGrouping=function(e){let{main:n,transform:a,containerWidth:r,iconWidth:s}=e;const c={transform:"translate(".concat(r/2," 256)")},i="translate(".concat(a.x*32,", ").concat(a.y*32,") "),f="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),l="rotate(".concat(a.rotate," 0 0)"),m={transform:"".concat(i," ").concat(f," ").concat(l)},h={transform:"translate(".concat(s/2*-1," -256)")},g={outer:c,inner:m,path:h};return{tag:"g",attributes:o({},g.outer),children:[{tag:"g",attributes:o({},g.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:o(o({},n.icon.attributes),g.path)}]}]}}}};const vt={x:0,y:0,width:"100%",height:"100%"};function Le(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function l2(t){return t.tag==="g"?t.children:[t]}var f2={hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-mask"),a=n?dt(n.split(" ").map(r=>r.trim())):tn();return a.prefix||(a.prefix=D()),t.mask=a,t.maskId=e.getAttribute("data-fa-mask-id"),t}}},provides(t){t.generateAbstractMask=function(e){let{children:n,attributes:a,main:r,mask:s,maskId:c,transform:i}=e;const{width:f,icon:l}=r,{width:m,icon:h}=s,g=e1({transform:i,containerWidth:m,iconWidth:f}),v={tag:"rect",attributes:o(o({},vt),{},{fill:"white"})},N=l.children?{children:l.children.map(Le)}:{},w={tag:"g",attributes:o({},g.inner),children:[Le(o({tag:l.tag,attributes:o(o({},l.attributes),g.path)},N))]},C={tag:"g",attributes:o({},g.outer),children:[w]},d="mask-".concat(c||Q()),p="clip-".concat(c||Q()),b={tag:"mask",attributes:o(o({},vt),{},{id:d,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[v,C]},x={tag:"defs",children:[{tag:"clipPath",attributes:{id:p},children:l2(h)},b]};return n.push(x,{tag:"rect",attributes:o({fill:"currentColor","clip-path":"url(#".concat(p,")"),mask:"url(#".concat(d,")")},vt)}),{children:n,attributes:a}}}},u2={provides(t){let e=!1;_.matchMedia&&(e=_.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){const n=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};n.push({tag:"path",attributes:o(o({},a),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const s=o(o({},r),{},{attributeName:"opacity"}),c={tag:"circle",attributes:o(o({},a),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||c.children.push({tag:"animate",attributes:o(o({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:o(o({},s),{},{values:"1;0;1;1;0;1;"})}),n.push(c),n.push({tag:"path",attributes:o(o({},a),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:o(o({},s),{},{values:"1;0;0;0;0;1;"})}]}),e||n.push({tag:"path",attributes:o(o({},a),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:o(o({},s),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:n}}}},m2={hooks(){return{parseNodeAttributes(t,e){const n=e.getAttribute("data-fa-symbol"),a=n===null?!1:n===""?!0:n;return t.symbol=a,t}}}},d2=[r1,q1,Q1,Z1,J1,c2,i2,o2,f2,u2,m2];M1(d2,{mixoutsTo:L});L.noAuto;const on=L.config,q2=L.library;L.dom;const ot=L.parse;L.findIconDefinition;L.toHtml;const p2=L.icon;L.layer;const g2=L.text;L.counter;/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */const h2={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},Q2=h2,y2={prefix:"fas",iconName:"forward-step",icon:[320,512,["step-forward"],"f051","M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241l0-145c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-145-11.5 9.6-192 160z"]},Z2=y2,J2={prefix:"fas",iconName:"caret-right",icon:[256,512,[],"f0da","M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z"]},b2={prefix:"fas",iconName:"box-archive",icon:[512,512,["archive"],"f187","M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z"]},ta=b2,ea={prefix:"fas",iconName:"people-group",icon:[640,512,[],"e533","M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3l0-84.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5l0 21.5c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-26.8C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112l32 0c24 0 46.2 7.5 64.4 20.3zM448 416l0-21.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176l32 0c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2l0 26.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3l0-84.7c-10 11.3-16 26.1-16 42.3zm144-42.3l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2l0 42.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-42.8c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112l32 0c61.9 0 112 50.1 112 112z"]},na={prefix:"fas",iconName:"caret-left",icon:[256,512,[],"f0d9","M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z"]},aa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},ra={prefix:"fas",iconName:"car-side",icon:[640,512,[128663],"f5e4","M171.3 96L224 96l0 96-112.7 0 30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192l0-96 81.2 0c9.7 0 18.9 4.4 25 12l67.2 84L272 192zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36L171.3 32c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256L0 368c0 17.7 14.3 32 32 32l33.3 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l130.7 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l33.3 0c17.7 0 32-14.3 32-32l0-48c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},ca={prefix:"fas",iconName:"plug",icon:[384,512,[128268],"f1e6","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z"]},sa={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"]},ia={prefix:"fas",iconName:"globe",icon:[512,512,[127760],"f0ac","M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z"]},oa={prefix:"fas",iconName:"ban",icon:[512,512,[128683,"cancel"],"f05e","M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},la={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},fa={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z"]},ua={prefix:"fas",iconName:"unlock",icon:[448,512,[128275],"f09c","M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144l0 48-16 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-240 0 0-48z"]},ma={prefix:"fas",iconName:"clipboard",icon:[384,512,[128203],"f328","M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},da={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},v2={prefix:"fas",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},pa=v2,ga={prefix:"fas",iconName:"certificate",icon:[512,512,[],"f0a3","M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z"]},ha={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6l0 167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5l0-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128l2.2 0z"]},x2={prefix:"fas",iconName:"file-zipper",icon:[384,512,["file-archive"],"f1c6","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM96 48c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8l14.8 0c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0z"]},ya=x2,ba={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"]},z2={prefix:"fas",iconName:"up-down-left-right",icon:[512,512,["arrows-alt"],"f0b2","M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 96-96 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 96 0 0 96-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-96 96 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-96 0 0-96 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z"]},va=z2,xa={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},C2={prefix:"fas",iconName:"chart-pie",icon:[576,512,["pie-chart"],"f200","M304 240l0-223.4c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16L304 240zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4L256 288 412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288l238.4 0z"]},za=C2,Ca={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},Ma={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},M2={prefix:"fas",iconName:"circle-up",icon:[512,512,[61467,"arrow-alt-circle-up"],"f35b","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm11.3-395.3l112 112c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-64 0 0 96c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-96-64 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l112-112c6.2-6.2 16.4-6.2 22.6 0z"]},La=M2,Aa={prefix:"fas",iconName:"clipboard-check",icon:[384,512,[],"f46c","M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},L2={prefix:"fas",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},wa=L2,Sa={prefix:"fas",iconName:"house-signal",icon:[576,512,[],"e012","M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6L464 416c26.5 0 48-21.5 48-48l0-112 32 0c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16l0-64zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z"]},ka={prefix:"fas",iconName:"user-gear",icon:[640,512,["user-cog"],"f4fe","M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304l91.4 0c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7l0 .9c0 9.2 2.7 18.5 7.9 26.3L29.7 512C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8l0 30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8l0-30.5c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9l0-30.5zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z"]},Na={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"]},A2={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},Pa=A2,Oa={prefix:"fas",iconName:"tag",icon:[448,512,[127991],"f02b","M0 80L0 229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7L48 32C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Ea={prefix:"fas",iconName:"envelope",icon:[512,512,[128386,9993,61443],"f0e0","M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"]},w2={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Ia=w2,S2={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Fa=S2,Ta={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},_a={prefix:"fas",iconName:"plug-circle-plus",icon:[576,512,[],"e55f","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208l0 48 48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},Da={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},k2={prefix:"fas",iconName:"backward-step",icon:[320,512,["step-backward"],"f048","M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29l0-320c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241 64 96c0-17.7-14.3-32-32-32S0 78.3 0 96L0 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-145 11.5 9.6 192 160z"]},ja=k2,Ra={prefix:"fas",iconName:"keyboard",icon:[576,512,[9e3],"f11c","M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32zM272 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM368 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM464 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z"]},Ba={prefix:"fas",iconName:"battery-half",icon:[576,512,["battery-3"],"f242","M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm208 96L96 192l0 128 192 0 0-128z"]},Ua={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2c0 0 0 0 0 0s0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4l0 3.4 0 5.7 0 26.3zm32 0l0-32 0-25.9c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 44.2-86 80-192 80S0 476.2 0 432l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z"]},Ya={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M256 64l128 0 0 64-128 0 0-64zM240 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l48 0 0 32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 256 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-256 0 0-32 48 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L240 0zM96 448l0-64 128 0 0 64L96 448zm320-64l128 0 0 64-128 0 0-64z"]},Wa={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Ha={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Ga={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},$a={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},Xa={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ka={prefix:"fas",iconName:"tower-broadcast",icon:[576,512,["broadcast-tower"],"f519","M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4L320 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-296.6c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z"]},Va={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"]},N2={prefix:"fas",iconName:"file-arrow-down",icon:[384,512,["file-download"],"f56d","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 232l0 102.1 31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L168 232c0-13.3 10.7-24 24-24s24 10.7 24 24z"]},qa=N2,Qa={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},Za={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ja={prefix:"fas",iconName:"bell",icon:[448,512,[128276,61602],"f0f3","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416l384 0c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8l0-18.8c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"]},tr={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},er={prefix:"fas",iconName:"chevron-down",icon:[512,512,[],"f078","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},nr={prefix:"fas",iconName:"skull-crossbones",icon:[448,512,[128369,9760],"f714","M368 128c0 44.4-25.4 83.5-64 106.4l0 21.6c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-21.6c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z"]},ar={prefix:"fas",iconName:"ranking-star",icon:[640,512,[],"e561","M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32l0 192c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-192c0-17.7-14.3-32-32-32l-128 0zM32 320c-17.7 0-32 14.3-32 32L0 480c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L32 320zm416 96l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0c-17.7 0-32 14.3-32 32z"]},rr={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]},P2={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},cr=P2,sr={prefix:"fas",iconName:"plug-circle-minus",icon:[576,512,[],"e55e","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0c8.8 0 16 7.2 16 16z"]},ir={prefix:"fas",iconName:"chevron-right",icon:[320,512,[9002],"f054","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"]},or={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z"]},lr={prefix:"fas",iconName:"calendar",icon:[448,512,[128197,128198],"f133","M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z"]},fr={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},O2={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},ur=O2,mr={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},E2={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},dr=E2;/*! + */const h2={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},Q2=h2,y2={prefix:"fas",iconName:"forward-step",icon:[320,512,["step-forward"],"f051","M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241l0-145c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-145-11.5 9.6-192 160z"]},Z2=y2,J2={prefix:"fas",iconName:"caret-right",icon:[256,512,[],"f0da","M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z"]},b2={prefix:"fas",iconName:"box-archive",icon:[512,512,["archive"],"f187","M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z"]},ta=b2,ea={prefix:"fas",iconName:"people-group",icon:[640,512,[],"e533","M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3l0-84.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5l0 21.5c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-26.8C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112l32 0c24 0 46.2 7.5 64.4 20.3zM448 416l0-21.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176l32 0c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2l0 26.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3l0-84.7c-10 11.3-16 26.1-16 42.3zm144-42.3l0 84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2l0 42.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-42.8c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112l32 0c61.9 0 112 50.1 112 112z"]},na={prefix:"fas",iconName:"caret-left",icon:[256,512,[],"f0d9","M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z"]},aa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},ra={prefix:"fas",iconName:"car-side",icon:[640,512,[128663],"f5e4","M171.3 96L224 96l0 96-112.7 0 30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192l0-96 81.2 0c9.7 0 18.9 4.4 25 12l67.2 84L272 192zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36L171.3 32c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256L0 368c0 17.7 14.3 32 32 32l33.3 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l130.7 0c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80l33.3 0c17.7 0 32-14.3 32-32l0-48c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},sa={prefix:"fas",iconName:"plug",icon:[384,512,[128268],"f1e6","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z"]},ca={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"]},ia={prefix:"fas",iconName:"globe",icon:[512,512,[127760],"f0ac","M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z"]},oa={prefix:"fas",iconName:"ban",icon:[512,512,[128683,"cancel"],"f05e","M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},la={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},fa={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z"]},ua={prefix:"fas",iconName:"unlock",icon:[448,512,[128275],"f09c","M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144l0 48-16 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-240 0 0-48z"]},ma={prefix:"fas",iconName:"clipboard",icon:[384,512,[128203],"f328","M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},da={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},v2={prefix:"fas",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},pa=v2,ga={prefix:"fas",iconName:"certificate",icon:[512,512,[],"f0a3","M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z"]},ha={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6l0 167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5l0-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128l2.2 0z"]},x2={prefix:"fas",iconName:"file-zipper",icon:[384,512,["file-archive"],"f1c6","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM96 48c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8l14.8 0c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0z"]},ya=x2,ba={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"]},z2={prefix:"fas",iconName:"up-down-left-right",icon:[512,512,["arrows-alt"],"f0b2","M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 96-96 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 96 0 0 96-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-96 96 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-96 0 0-96 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z"]},va=z2,xa={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},C2={prefix:"fas",iconName:"chart-pie",icon:[576,512,["pie-chart"],"f200","M304 240l0-223.4c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16L304 240zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4L256 288 412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288l238.4 0z"]},za=C2,Ca={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},Ma={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},M2={prefix:"fas",iconName:"circle-up",icon:[512,512,[61467,"arrow-alt-circle-up"],"f35b","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm11.3-395.3l112 112c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-64 0 0 96c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-96-64 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l112-112c6.2-6.2 16.4-6.2 22.6 0z"]},La=M2,Aa={prefix:"fas",iconName:"clipboard-check",icon:[384,512,[],"f46c","M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},L2={prefix:"fas",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},wa=L2,Sa={prefix:"fas",iconName:"house-signal",icon:[576,512,[],"e012","M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6L464 416c26.5 0 48-21.5 48-48l0-112 32 0c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16l0-64zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z"]},ka={prefix:"fas",iconName:"user-gear",icon:[640,512,["user-cog"],"f4fe","M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304l91.4 0c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7l0 .9c0 9.2 2.7 18.5 7.9 26.3L29.7 512C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8l0 30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8l0-30.5c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9l0-30.5zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z"]},Na={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"]},A2={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},Pa=A2,Oa={prefix:"fas",iconName:"tag",icon:[448,512,[127991],"f02b","M0 80L0 229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7L48 32C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Ea={prefix:"fas",iconName:"envelope",icon:[512,512,[128386,9993,61443],"f0e0","M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"]},w2={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Ia=w2,S2={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Fa=S2,Ta={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},_a={prefix:"fas",iconName:"plug-circle-plus",icon:[576,512,[],"e55f","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208l0 48 48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48-48 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},Da={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},k2={prefix:"fas",iconName:"backward-step",icon:[320,512,["step-backward"],"f048","M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29l0-320c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241 64 96c0-17.7-14.3-32-32-32S0 78.3 0 96L0 416c0 17.7 14.3 32 32 32s32-14.3 32-32l0-145 11.5 9.6 192 160z"]},ja=k2,Ra={prefix:"fas",iconName:"keyboard",icon:[576,512,[9e3],"f11c","M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32zM272 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM368 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM464 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z"]},Ba={prefix:"fas",iconName:"battery-half",icon:[576,512,["battery-3"],"f242","M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm208 96L96 192l0 128 192 0 0-128z"]},Ua={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2c0 0 0 0 0 0s0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4l0 3.4 0 5.7 0 26.3zm32 0l0-32 0-25.9c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 44.2-86 80-192 80S0 476.2 0 432l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z"]},Ya={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M256 64l128 0 0 64-128 0 0-64zM240 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l48 0 0 32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 256 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-256 0 0-32 48 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L240 0zM96 448l0-64 128 0 0 64L96 448zm320-64l128 0 0 64-128 0 0-64z"]},Wa={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Ha={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Ga={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},$a={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},Xa={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ka={prefix:"fas",iconName:"tower-broadcast",icon:[576,512,["broadcast-tower"],"f519","M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4L320 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-296.6c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z"]},Va={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"]},N2={prefix:"fas",iconName:"file-arrow-down",icon:[384,512,["file-download"],"f56d","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 232l0 102.1 31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L168 232c0-13.3 10.7-24 24-24s24 10.7 24 24z"]},qa=N2,Qa={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},Za={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ja={prefix:"fas",iconName:"bell",icon:[448,512,[128276,61602],"f0f3","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416l384 0c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8l0-18.8c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"]},tr={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},er={prefix:"fas",iconName:"chevron-down",icon:[512,512,[],"f078","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},nr={prefix:"fas",iconName:"skull-crossbones",icon:[448,512,[128369,9760],"f714","M368 128c0 44.4-25.4 83.5-64 106.4l0 21.6c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-21.6c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z"]},ar={prefix:"fas",iconName:"ranking-star",icon:[640,512,[],"e561","M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32l0 192c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-192c0-17.7-14.3-32-32-32l-128 0zM32 320c-17.7 0-32 14.3-32 32L0 480c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L32 320zm416 96l0 64c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0c-17.7 0-32 14.3-32 32z"]},rr={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]},P2={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},sr=P2,cr={prefix:"fas",iconName:"plug-circle-minus",icon:[576,512,[],"e55e","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0c8.8 0 16 7.2 16 16z"]},ir={prefix:"fas",iconName:"chevron-right",icon:[320,512,[9002],"f054","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"]},or={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z"]},lr={prefix:"fas",iconName:"calendar",icon:[448,512,[128197,128198],"f133","M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z"]},fr={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},O2={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},ur=O2,mr={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},E2={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},dr=E2;/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */const pr={prefix:"far",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"]},I2={prefix:"far",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},gr=I2,hr={prefix:"far",iconName:"eye",icon:[576,512,[128065],"f06e","M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"]},yr={prefix:"far",iconName:"bell",icon:[448,512,[128276,61602],"f0f3","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416l400 0c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4l0-25.4c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112l0 25.4c0 47.9 13.9 94.6 39.7 134.6L72.3 368C98.1 328 112 281.3 112 233.4l0-25.4c0-61.9 50.1-112 112-112zm64 352l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"]},br={prefix:"far",iconName:"file",icon:[384,512,[128196,128459,61462],"f15b","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z"]};function Ae(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function k(t){for(var e=1;e=0)continue;n[a]=t[a]}return n}function D2(t,e){if(t==null)return{};var n=_2(t,e),a,r;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function _t(t){return j2(t)||R2(t)||B2(t)||U2()}function j2(t){if(Array.isArray(t))return Dt(t)}function R2(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function B2(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var a=(t.children||[]).map(function(f){return qt(f)}),r=Object.keys(t.attributes||{}).reduce(function(f,l){var m=t.attributes[l];switch(l){case"class":f.class=$2(m);break;case"style":f.style=G2(m);break;default:f.attrs[l]=m}return f},{attrs:{},class:{},style:{}});n.class;var c=n.style,s=c===void 0?{}:c,i=D2(n,H2);return Se(t.tag,k(k(k({},e),{},{class:r.class,style:k(k({},r.style),s)},r.attrs),i),a)}var l1=!1;try{l1=!1}catch{}function X2(){if(!l1&&console&&typeof console.error=="function"){var t;(t=console).error.apply(t,arguments)}}function q(t,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?M({},t,e):{}}function K2(t){var e,n=(e={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-li":t.listItem,"fa-inverse":t.inverse,"fa-flip":t.flip===!0,"fa-flip-horizontal":t.flip==="horizontal"||t.flip==="both","fa-flip-vertical":t.flip==="vertical"||t.flip==="both"},M(M(M(M(M(M(M(M(M(M(e,"fa-".concat(t.size),t.size!==null),"fa-rotate-".concat(t.rotation),t.rotation!==null),"fa-pull-".concat(t.pull),t.pull!==null),"fa-swap-opacity",t.swapOpacity),"fa-bounce",t.bounce),"fa-shake",t.shake),"fa-beat",t.beat),"fa-fade",t.fade),"fa-beat-fade",t.beatFade),"fa-flash",t.flash),M(M(e,"fa-spin-pulse",t.spinPulse),"fa-spin-reverse",t.spinReverse));return Object.keys(n).map(function(a){return n[a]?a:null}).filter(function(a){return a})}function we(t){if(t&<(t)==="object"&&t.prefix&&t.iconName&&t.icon)return t;if(ot.icon)return ot.icon(t);if(t===null)return null;if(lt(t)==="object"&&t.prefix&&t.iconName)return t;if(Array.isArray(t)&&t.length===2)return{prefix:t[0],iconName:t[1]};if(typeof t=="string")return{prefix:"fas",iconName:t}}var vr=jt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(e){return[!0,!1,"horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(Number.parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(e,n){var a=n.attrs,r=S(function(){return we(e.icon)}),c=S(function(){return q("classes",K2(e))}),s=S(function(){return q("transform",typeof e.transform=="string"?ot.transform(e.transform):e.transform)}),i=S(function(){return q("mask",we(e.mask))}),f=S(function(){return p2(r.value,k(k(k(k({},c.value),s.value),i.value),{},{symbol:e.symbol,title:e.title,titleId:e.titleId,maskId:e.maskId}))});u1(f,function(m){if(!m)return X2("Could not find one or more icon(s)",r.value,i.value)},{immediate:!0});var l=S(function(){return f.value?qt(f.value.abstract[0],{},a):null});return function(){return l.value}}}),xr=jt({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(e,n){var a=n.slots,r=i1.familyPrefix,c=S(function(){return["".concat(r,"-layers")].concat(_t(e.fixedWidth?["".concat(r,"-fw")]:[]))});return function(){return Se("div",{class:c.value},a.default?a.default():[])}}}),zr=jt({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(e){return["bottom-left","bottom-right","top-left","top-right"].indexOf(e)>-1}}},setup:function(e,n){var a=n.attrs,r=i1.familyPrefix,c=S(function(){return q("classes",[].concat(_t(e.counter?["".concat(r,"-layers-counter")]:[]),_t(e.position?["".concat(r,"-layers-").concat(e.position)]:[])))}),s=S(function(){return q("transform",typeof e.transform=="string"?ot.transform(e.transform):e.transform)}),i=S(function(){var l=g2(e.value.toString(),k(k({},s.value),c.value)),m=l.abstract;return e.counter&&(m[0].attributes.class=m[0].attributes.class.replace("fa-layers-text","")),m[0]}),f=S(function(){return qt(i.value,{},a)});return function(){return f.value}}});/*! - * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2024 Fonticons, Inc. - */const Cr={prefix:"fab",iconName:"paypal",icon:[384,512,[],"f1ed","M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"]};export{Ga as $,mr as A,hr as B,pr as C,Pa as D,Cr as E,vr as F,Ja as G,yr as H,xr as I,zr as J,pa as K,ur as L,la as M,ca as N,Qa as O,oa as P,_a as Q,sr as R,Ta as S,Ca as T,tr as U,Ma as V,da as W,Ka as X,Za as Y,ar as Z,ba as _,gr as a,Sa as a0,$a as a1,ea as a2,ga as a3,ra as a4,Ba as a5,ka as a6,Na as a7,qa as a8,or as a9,Wa as aa,lr as ab,Ua as ac,za as ad,fa as ae,va as af,Q2 as ag,Xa as ah,br as ai,La as aj,nr as ak,ta as al,ya as am,Va as an,ha as ao,na as ap,J2 as aq,Oa as b,dr as c,rr as d,Ia as e,wa as f,fr as g,ir as h,er as i,ma as j,Aa as k,q2 as l,Ha as m,Z2 as n,ja as o,Fa as p,cr as q,Ra as r,Ea as s,Ya as t,ia as u,sa as v,xa as w,aa as x,ua as y,Da as z}; + */const pr={prefix:"far",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"]},I2={prefix:"far",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},gr=I2,hr={prefix:"far",iconName:"eye",icon:[576,512,[128065],"f06e","M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"]},yr={prefix:"far",iconName:"bell",icon:[448,512,[128276,61602],"f0f3","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416l400 0c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4l0-25.4c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112l0 25.4c0 47.9 13.9 94.6 39.7 134.6L72.3 368C98.1 328 112 281.3 112 233.4l0-25.4c0-61.9 50.1-112 112-112zm64 352l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"]},br={prefix:"far",iconName:"file",icon:[384,512,[128196,128459,61462],"f15b","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z"]};function Ae(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function k(t){for(var e=1;e=0)continue;n[a]=t[a]}return n}function D2(t,e){if(t==null)return{};var n=_2(t,e),a,r;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function _t(t){return j2(t)||R2(t)||B2(t)||U2()}function j2(t){if(Array.isArray(t))return Dt(t)}function R2(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function B2(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var a=(t.children||[]).map(function(f){return qt(f)}),r=Object.keys(t.attributes||{}).reduce(function(f,l){var m=t.attributes[l];switch(l){case"class":f.class=$2(m);break;case"style":f.style=G2(m);break;default:f.attrs[l]=m}return f},{attrs:{},class:{},style:{}});n.class;var s=n.style,c=s===void 0?{}:s,i=D2(n,H2);return Se(t.tag,k(k(k({},e),{},{class:r.class,style:k(k({},r.style),c)},r.attrs),i),a)}var fn=!1;try{fn=!1}catch{}function X2(){if(!fn&&console&&typeof console.error=="function"){var t;(t=console).error.apply(t,arguments)}}function q(t,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?M({},t,e):{}}function K2(t){var e,n=(e={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-li":t.listItem,"fa-inverse":t.inverse,"fa-flip":t.flip===!0,"fa-flip-horizontal":t.flip==="horizontal"||t.flip==="both","fa-flip-vertical":t.flip==="vertical"||t.flip==="both"},M(M(M(M(M(M(M(M(M(M(e,"fa-".concat(t.size),t.size!==null),"fa-rotate-".concat(t.rotation),t.rotation!==null),"fa-pull-".concat(t.pull),t.pull!==null),"fa-swap-opacity",t.swapOpacity),"fa-bounce",t.bounce),"fa-shake",t.shake),"fa-beat",t.beat),"fa-fade",t.fade),"fa-beat-fade",t.beatFade),"fa-flash",t.flash),M(M(e,"fa-spin-pulse",t.spinPulse),"fa-spin-reverse",t.spinReverse));return Object.keys(n).map(function(a){return n[a]?a:null}).filter(function(a){return a})}function we(t){if(t&<(t)==="object"&&t.prefix&&t.iconName&&t.icon)return t;if(ot.icon)return ot.icon(t);if(t===null)return null;if(lt(t)==="object"&&t.prefix&&t.iconName)return t;if(Array.isArray(t)&&t.length===2)return{prefix:t[0],iconName:t[1]};if(typeof t=="string")return{prefix:"fas",iconName:t}}var vr=jt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(e){return[!0,!1,"horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(Number.parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(e,n){var a=n.attrs,r=S(function(){return we(e.icon)}),s=S(function(){return q("classes",K2(e))}),c=S(function(){return q("transform",typeof e.transform=="string"?ot.transform(e.transform):e.transform)}),i=S(function(){return q("mask",we(e.mask))}),f=S(function(){return p2(r.value,k(k(k(k({},s.value),c.value),i.value),{},{symbol:e.symbol,title:e.title,titleId:e.titleId,maskId:e.maskId}))});mn(f,function(m){if(!m)return X2("Could not find one or more icon(s)",r.value,i.value)},{immediate:!0});var l=S(function(){return f.value?qt(f.value.abstract[0],{},a):null});return function(){return l.value}}}),xr=jt({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(e,n){var a=n.slots,r=on.familyPrefix,s=S(function(){return["".concat(r,"-layers")].concat(_t(e.fixedWidth?["".concat(r,"-fw")]:[]))});return function(){return Se("div",{class:s.value},a.default?a.default():[])}}}),zr=jt({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(e){return["bottom-left","bottom-right","top-left","top-right"].indexOf(e)>-1}}},setup:function(e,n){var a=n.attrs,r=on.familyPrefix,s=S(function(){return q("classes",[].concat(_t(e.counter?["".concat(r,"-layers-counter")]:[]),_t(e.position?["".concat(r,"-layers-").concat(e.position)]:[])))}),c=S(function(){return q("transform",typeof e.transform=="string"?ot.transform(e.transform):e.transform)}),i=S(function(){var l=g2(e.value.toString(),k(k({},c.value),s.value)),m=l.abstract;return e.counter&&(m[0].attributes.class=m[0].attributes.class.replace("fa-layers-text","")),m[0]}),f=S(function(){return qt(i.value,{},a)});return function(){return f.value}}});export{Sa as $,mr as A,hr as B,pr as C,Pa as D,Ja as E,vr as F,yr as G,xr as H,zr as I,pa as J,ur as K,la as L,sa as M,Qa as N,oa as O,_a as P,cr as Q,Ta as R,Ca as S,tr as T,Ma as U,da as V,Ka as W,Za as X,ar as Y,ba as Z,Ga as _,gr as a,$a as a0,ea as a1,ga as a2,ra as a3,Ba as a4,ka as a5,Na as a6,qa as a7,or as a8,Wa as a9,lr as aa,Ua as ab,za as ac,fa as ad,va as ae,Q2 as af,Xa as ag,br as ah,La as ai,nr as aj,ta as ak,ya as al,Va as am,ha as an,na as ao,J2 as ap,Oa as b,dr as c,rr as d,Ia as e,wa as f,fr as g,ir as h,er as i,ma as j,Aa as k,q2 as l,Ha as m,Z2 as n,ja as o,Fa as p,sr as q,Ra as r,Ea as s,Ya as t,ia as u,ca as v,xa as w,aa as x,ua as y,Da as z}; diff --git a/web/settings/index.html b/web/settings/index.html index 23e00a7d1e..440a657e84 100644 --- a/web/settings/index.html +++ b/web/settings/index.html @@ -7,16 +7,16 @@ openWB - + - + - + diff --git a/web/version b/web/version index 770e530c91..2c1c77780c 100644 --- a/web/version +++ b/web/version @@ -1 +1 @@ -2.1.7-RC.2 +2.1.7-RC.3