diff --git a/docs/samples/sample_modbus/sample_modbus/bat.py b/docs/samples/sample_modbus/sample_modbus/bat.py index 33dfbe574e..180fb74ef7 100644 --- a/docs/samples/sample_modbus/sample_modbus/bat.py +++ b/docs/samples/sample_modbus/sample_modbus/bat.py @@ -76,7 +76,7 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: # Wenn der Speicher die Steuerung der Ladeleistung unterstützt, muss bei Übergabe einer Zahl auf aktive # Speichersteurung umgeschaltet werden, sodass der Speicher mit der übergebenen Leistung lädt/entlädt. Wird # None übergeben, muss der Speicher die Null-Punkt-Ausregelung selbst übernehmen. - self.client.write_registers(reg, power_limit) + self.client.write_register(reg, power_limit) # Wenn der Speicher keine Steuerung der Ladeleistung unterstützt pass diff --git a/packages/control/ev/charge_template.py b/packages/control/ev/charge_template.py index 11c66be9d5..10c8d0af57 100644 --- a/packages/control/ev/charge_template.py +++ b/packages/control/ev/charge_template.py @@ -136,7 +136,6 @@ class ChargeTemplate: data: ChargeTemplateData = field(default_factory=charge_template_data_factory, metadata={ "topic": ""}) - BUFFER = -1200 # nach mehr als 20 Min Überschreitung wird der Termin als verpasst angesehen CHARGING_PRICE_EXCEEDED = ("Der aktuelle Strompreis liegt über dem maximalen Strompreis. ") CHARGING_PRICE_LOW = "Laden, da der aktuelle Strompreis unter dem maximalen Strompreis liegt." @@ -309,7 +308,8 @@ def eco_charging(self, log.exception("Fehler im ev-Modul "+str(self.data.id)) return 0, "stop", "Keine Ladung, da ein interner Fehler aufgetreten ist: "+traceback.format_exc(), 0 - BUFFER = -1200 # nach mehr als 20 Min Überschreitung wird der Termin als verpasst angesehen + BUFFER_AFTER_END_TIME = -1200 # nach mehr als 20 Min Überschreitung wird der Termin als verpasst angesehen + BUFFER_START_EARLIER = 600 # 10 Min vor dem geplanten Start kann begonnen werden def _find_recent_plan(self, plans: List[ScheduledChargingPlan], @@ -330,7 +330,7 @@ def _find_recent_plan(self, f"oder im Plan {p.name} als Begrenzung Energie einstellen.") try: plans_diff_end_date.append( - {p.id: timecheck.check_end_time(p, self.BUFFER)}) + {p.id: timecheck.check_end_time(p, self.BUFFER_AFTER_END_TIME)}) log.debug(f"Verbleibende Zeit bis zum Zieltermin [s]: {plans_diff_end_date}") except Exception: log.exception("Fehler im ev-Modul "+str(self.data.id)) @@ -340,7 +340,7 @@ def _find_recent_plan(self, if filtered_plans: sorted_plans = sorted(filtered_plans, key=lambda x: list(x.values())[0]) for plan in sorted_plans: - if self.BUFFER < list(plan.values())[0]: + if self.BUFFER_AFTER_END_TIME < list(plan.values())[0]: plan_dict = plan break else: @@ -396,6 +396,7 @@ def scheduled_charging(self, plan_data, soc, used_amount, + max_hw_phases, control_parameter.phases, control_parameter.min_current, soc_request_interval_offset, @@ -435,9 +436,15 @@ def _calc_remaining_time(self, charging_type, ev_template, bidi) phases = control_parameter_phases remaining_time = plan_end_time - duration + elif plan.et_active: + duration, missing_amount = self._calculate_duration( + plan, soc, ev_template.data.battery_capacity, used_amount, max_hw_phases, + charging_type, ev_template, bidi) + phases = max_hw_phases + remaining_time = plan_end_time - duration else: duration_3p, missing_amount = self._calculate_duration( - plan, soc, ev_template.data.battery_capacity, used_amount, 3, + plan, soc, ev_template.data.battery_capacity, used_amount, max_hw_phases, charging_type, ev_template, bidi) remaining_time_3p = plan_end_time - duration_3p duration_1p, missing_amount = self._calculate_duration( @@ -450,7 +457,7 @@ def _calc_remaining_time(self, # Zeit reicht nicht mehr für einphasiges Laden remaining_time = remaining_time_3p duration = duration_3p - phases = 3 + phases = max_hw_phases else: remaining_time = remaining_time_1p duration = duration_1p @@ -459,7 +466,7 @@ def _calc_remaining_time(self, elif plan.phases_to_use == 3 or plan.phases_to_use == 1: duration, missing_amount = self._calculate_duration( plan, soc, ev_template.data.battery_capacity, - used_amount, plan.phases_to_use, charging_type, ev_template, bidi) + used_amount, min(plan.phases_to_use, max_hw_phases), charging_type, ev_template, bidi) remaining_time = plan_end_time - duration phases = plan.phases_to_use @@ -525,6 +532,7 @@ def scheduled_charging_calc_current(self, selected_plan: Optional[SelectedPlan], soc: int, used_amount: float, + max_phases_hw: int, control_parameter_phases: int, min_current: int, soc_request_interval_offset: int, @@ -572,7 +580,8 @@ def scheduled_charging_calc_current(self, phases = plan.phases_to_use_pv elif limit.selected == "amount" and used_amount >= limit.amount: message = self.SCHEDULED_CHARGING_REACHED_AMOUNT - elif 0 - soc_request_interval_offset < selected_plan.remaining_time < 300 + soc_request_interval_offset: + elif (0 - soc_request_interval_offset < selected_plan.remaining_time < + self.BUFFER_START_EARLIER + soc_request_interval_offset): # Wenn der SoC ein paar Minuten alt ist, kann der Termin trotzdem gehalten werden. # Zielladen kann nicht genauer arbeiten, als das Abfrageintervall vom SoC. # 5 Min vor spätestem Ladestart @@ -643,6 +652,7 @@ def convert_loading_hours_to_string(hour_list: List[int]) -> str: if data.data.optional_data.ep_is_charging_allowed_hours_list(hour_list): message = self.SCHEDULED_CHARGING_CHEAP_HOUR.format(get_hours_message()) current = plan_current + phases = max_phases_hw if plan.phases_to_use == 0 else plan.phases_to_use submode = "instant_charging" elif ((limit.selected == "soc" and soc <= limit.soc_limit) or (limit.selected == "amount" and used_amount < limit.amount)): diff --git a/packages/control/ev/charge_template_test.py b/packages/control/ev/charge_template_test.py index 7efe22f3dc..97c45b7639 100644 --- a/packages/control/ev/charge_template_test.py +++ b/packages/control/ev/charge_template_test.py @@ -254,8 +254,8 @@ def test_scheduled_charging_recent_plan(end_time_mock, False, (16, "instant_charging", ChargeTemplate.SCHEDULED_CHARGING_MAX_CURRENT.format(16), 3), id="few minutes too late, but didn't miss for today"), - pytest.param(SelectedPlan(remaining_time=301, duration=3600), 79, 0, "soc", - False, (6, "pv_charging", ChargeTemplate.SCHEDULED_CHARGING_USE_PV.format("um 8:45 Uhr"), 0), + pytest.param(SelectedPlan(remaining_time=601, duration=3600), 79, 0, "soc", + False, (6, "pv_charging", ChargeTemplate.SCHEDULED_CHARGING_USE_PV.format("um 8:50 Uhr"), 0), id="too early, use pv"), ]) def test_scheduled_charging_calc_current(plan_data: SelectedPlan, @@ -275,7 +275,7 @@ def test_scheduled_charging_calc_current(plan_data: SelectedPlan, plan_data.plan = plan # execution - ret = ct.scheduled_charging_calc_current(plan_data, soc, used_amount, 3, 6, + ret = ct.scheduled_charging_calc_current(plan_data, soc, used_amount, 3, 3, 6, 0, ChargingType.AC.value, EvTemplate(), BidiState.BIDI_CAPABLE) # evaluation @@ -288,7 +288,7 @@ def test_scheduled_charging_calc_current_no_plans(): # execution ret = ct.scheduled_charging_calc_current( - None, 63, 5, 3, 6, 0, ChargingType.AC.value, EvTemplate(), BidiState.BIDI_CAPABLE) + None, 63, 5, 3, 3, 6, 0, ChargingType.AC.value, EvTemplate(), BidiState.BIDI_CAPABLE) # evaluation assert ret == (0, "stop", ChargeTemplate.SCHEDULED_CHARGING_NO_PLANS_CONFIGURED, 3) @@ -382,8 +382,8 @@ def test_scheduled_charging_calc_current_electricity_tariff( # execution ret = ct.scheduled_charging_calc_current( - SelectedPlan(plan=plan, remaining_time=301, phases=3, duration=3600), - current_soc, 0, 3, 6, 0, ChargingType.AC.value, EvTemplate(), BidiState.BIDI_CAPABLE) + SelectedPlan(plan=plan, remaining_time=601, phases=3, duration=3600), + current_soc, 0, 3, 3, 6, 0, ChargingType.AC.value, EvTemplate(), BidiState.BIDI_CAPABLE) # evaluation assert ret == expected diff --git a/packages/control/ocpp.py b/packages/control/ocpp.py index 104d1c2dde..71f46c0212 100644 --- a/packages/control/ocpp.py +++ b/packages/control/ocpp.py @@ -27,8 +27,9 @@ def _process_call(self: OptionalProtocol, fault_state: FaultState, func: Callable) -> Optional[websockets.WebSocketClientProtocol]: async def make_call() -> websockets.WebSocketClientProtocol: - async with websockets.connect(self.data.ocpp.url+chargebox_id, - subprotocols=[self.data.ocpp.version]) as ws: + url = self.data.ocpp.config.url + async with websockets.connect(f"{url}{'' if url.endswith('/') else '/'}{chargebox_id}", + subprotocols=[self.data.ocpp.config.version]) as ws: try: cp = OcppChargepoint(chargebox_id, ws, 2) await cp.call(func) @@ -37,7 +38,7 @@ async def make_call() -> websockets.WebSocketClientProtocol: pass return ws try: - if self.data.ocpp.active and chargebox_id: + if self.data.ocpp.config.active and chargebox_id: return asyncio.run(make_call()) except websockets.exceptions.InvalidStatusCode: fault_state.warning(f"Chargebox ID {chargebox_id} konnte nicht im OCPP-Backend gefunden werden oder " diff --git a/packages/control/ocpp_test.py b/packages/control/ocpp_test.py index 5dae1c50ff..cd2e93d8f6 100644 --- a/packages/control/ocpp_test.py +++ b/packages/control/ocpp_test.py @@ -13,8 +13,8 @@ @pytest.fixture() def mock_data() -> None: data.data_init(Mock()) - data.data.optional_data.data.ocpp.active = True - data.data.optional_data.data.ocpp.url = "ws://localhost:9000/" + data.data.optional_data.data.ocpp.config.active = True + data.data.optional_data.data.ocpp.config.url = "ws://localhost:9000/" def test_start_transaction(mock_data, monkeypatch): diff --git a/packages/control/optional.py b/packages/control/optional.py index 0c5fc12627..11cdbfd0f4 100644 --- a/packages/control/optional.py +++ b/packages/control/optional.py @@ -157,13 +157,10 @@ def remove(price_data: Dict) -> Dict: if len(self.data.electricity_pricing.get.prices) >= 0: ep = self.data.electricity_pricing ep.get.prices = remove(ep.get.prices) - Pub().pub("openWB/set/optional/ep/get/prices", ep.get.prices) if self._flexible_tariff_module: ep.flexible_tariff.get.prices = remove(ep.flexible_tariff.get.prices) - Pub().pub("openWB/set/optional/ep/flexible_tariff/get/prices", ep.flexible_tariff.get.prices) if self._grid_fee_module: ep.grid_fee.get.prices = remove(ep.grid_fee.get.prices) - Pub().pub("openWB/set/optional/ep/grid_fee/get/prices", ep.grid_fee.get.prices) except Exception: log.exception("Fehler beim Entfernen veralteter Preise") @@ -255,7 +252,7 @@ def et_price_update_required(self) -> bool: def ocpp_transfer_meter_values(self): try: - if self.data.ocpp.active: + if self.data.ocpp.config.active: thread_handler(Thread(target=self._transfer_meter_values, args=(), name="OCPP Client")) except Exception as e: log.exception("Fehler im OCPP-Optional-Modul: %s", e) @@ -264,13 +261,12 @@ def _transfer_meter_values(self): for cp in data.data.cp_data.values(): try: if self.data.ocpp.boot_notification_sent is False: + self.data.ocpp.boot_notification_sent = True # Boot-Notification nicht in der init-Funktion aufrufen, da noch nicht alles initialisiert ist self.boot_notification(cp.data.config.ocpp_chargebox_id, cp.chargepoint_module.fault_state, cp.chargepoint_module.config.type, cp.data.get.serial_number) - self.data.ocpp.boot_notification_sent = True - Pub().pub("openWB/set/optional/ocpp/boot_notification_sent", True) if cp.data.set.ocpp_transaction_id is not None: self.send_heart_beat(cp.data.config.ocpp_chargebox_id, cp.chargepoint_module.fault_state) self.transfer_values(cp.data.config.ocpp_chargebox_id, diff --git a/packages/control/optional_data.py b/packages/control/optional_data.py index e6bdf78759..ff904e0c22 100644 --- a/packages/control/optional_data.py +++ b/packages/control/optional_data.py @@ -14,18 +14,31 @@ @dataclass class PricingGet: - fault_state: int = 0 - fault_str: str = NO_ERROR + fault_state: int = field(default=0) + fault_str: str = field(default=NO_ERROR) prices: Dict = field(default_factory=empty_dict_factory) -def get_factory() -> PricingGet: - return PricingGet() +def create_pricing_get_with_topics(topic_prefix: str) -> PricingGet: + """Factory function to create PricingGet with custom topic prefix""" + pricing_get = PricingGet() + pricing_get.__dataclass_fields__['fault_state'].metadata = {"topic": f"{topic_prefix}/get/fault_state"} + pricing_get.__dataclass_fields__['fault_str'].metadata = {"topic": f"{topic_prefix}/get/fault_str"} + pricing_get.__dataclass_fields__['prices'].metadata = {"topic": f"{topic_prefix}/get/prices"} + return pricing_get + + +def flexible_tariff_get_factory() -> PricingGet: + return create_pricing_get_with_topics("ep/flexible_tariff") + + +def grid_fee_get_factory() -> PricingGet: + return create_pricing_get_with_topics("ep/grid_fee") @dataclass class FlexibleTariff: - get: PricingGet = field(default_factory=get_factory) + get: PricingGet = field(default_factory=flexible_tariff_get_factory) def get_flexible_tariff_factory() -> FlexibleTariff: @@ -34,7 +47,7 @@ def get_flexible_tariff_factory() -> FlexibleTariff: @dataclass class GridFee: - get: PricingGet = field(default_factory=get_factory) + get: PricingGet = field(default_factory=grid_fee_get_factory) def get_grid_fee_factory() -> GridFee: @@ -43,8 +56,8 @@ def get_grid_fee_factory() -> GridFee: @dataclass class ElectricityPricingGet: - next_query_time: Optional[float] = None - _prices: Dict = field(default_factory=empty_dict_factory) + next_query_time: Optional[float] = field(default=None, metadata={"topic": "ep/next_query_time"}) + _prices: Dict = field(default_factory=empty_dict_factory, metadata={"topic": "ep/prices"}) @property def prices(self) -> Dict: @@ -78,7 +91,7 @@ def electricity_pricing_get_factory() -> ElectricityPricingGet: @dataclass class ElectricityPricing: - configured: bool = False + configured: bool = field(default=False, metadata={"topic": "ep/configured"}) flexible_tariff: FlexibleTariff = field(default_factory=get_flexible_tariff_factory) grid_fee: GridFee = field(default_factory=get_grid_fee_factory) get: ElectricityPricingGet = field(default_factory=electricity_pricing_get_factory) @@ -88,32 +101,31 @@ def ep_factory() -> ElectricityPricing: return ElectricityPricing() +def cards_display_theme_factory() -> CardsDisplayTheme: + return CardsDisplayTheme() + + @dataclass class InternalDisplay: - active: bool = False - on_if_plugged_in: bool = True - pin_active: bool = False - pin_code: str = "0000" - standby: int = 60 - theme: CardsDisplayTheme = CardsDisplayTheme() + active: bool = field(default=False, metadata={"topic": "int_display/active"}) + detected: bool = field(default=False, metadata={"topic": "int_display/detected"}) + on_if_plugged_in: bool = field(default=True, metadata={"topic": "int_display/on_if_plugged_in"}) + only_local_charge_points: bool = field(default=False, metadata={"topic": "int_display/only_local_charge_points"}) + pin_active: bool = field(default=False, metadata={"topic": "int_display/pin_active"}) + pin_code: str = field(default="0000", metadata={"topic": "int_display/pin_code"}) + rotation: int = field(default=0, metadata={"topic": "int_display/rotation"}) + standby: int = field(default=60, metadata={"topic": "int_display/standby"}) + theme: CardsDisplayTheme = field(default_factory=cards_display_theme_factory, + metadata={"topic": "int_display/theme"}) def int_display_factory() -> InternalDisplay: return InternalDisplay() -@dataclass -class Led: - active: bool = False - - -def led_factory() -> Led: - return Led() - - @dataclass class Rfid: - active: bool = False + active: bool = field(default=False, metadata={"topic": "rfid/active"}) def rfid_factory() -> Rfid: @@ -121,22 +133,20 @@ def rfid_factory() -> Rfid: @dataclass -class Ocpp: +class OcppConfig: active: bool = False - boot_notification_sent: bool = False - _url: Optional[str] = None + url: Optional[str] = None version: str = "ocpp1.6" - @property - def url(self) -> Optional[str]: - return self._url - @url.setter - def url(self, value: Optional[str]): - if value is not None and not value.endswith("/"): - self._url = value + "/" - else: - self._url = value +def ocpp_config_factory() -> OcppConfig: + return OcppConfig() + + +@dataclass +class Ocpp: + config: OcppConfig = field(default_factory=ocpp_config_factory, metadata={"topic": "ocpp/config"}) + boot_notification_sent: bool = field(default=False, metadata={"topic": "ocpp/boot_notification_sent"}) def ocpp_factory() -> Ocpp: @@ -147,9 +157,8 @@ def ocpp_factory() -> Ocpp: class OptionalData: electricity_pricing: ElectricityPricing = field(default_factory=ep_factory) int_display: InternalDisplay = field(default_factory=int_display_factory) - led: Led = field(default_factory=led_factory) rfid: Rfid = field(default_factory=rfid_factory) - dc_charging: bool = False + dc_charging: bool = field(default=False, metadata={"topic": "dc_charging"}) ocpp: Ocpp = field(default_factory=ocpp_factory) diff --git a/packages/control/process.py b/packages/control/process.py index 3e0e7bca90..4d911fb41e 100644 --- a/packages/control/process.py +++ b/packages/control/process.py @@ -39,10 +39,11 @@ def process_algorithm_results(self) -> None: cp.initiate_phase_switch() if control_parameter.state == ChargepointState.NO_CHARGING_ALLOWED and cp.data.set.current != 0: control_parameter.state = ChargepointState.WAIT_FOR_USING_PHASES - self._update_state(cp) cp.set_timestamp_charge_start() else: control_parameter.state = ChargepointState.NO_CHARGING_ALLOWED + self._update_state(cp) + if cp.data.get.state_str is not None: Pub().pub("openWB/set/chargepoint/"+str(cp.num)+"/get/state_str", cp.data.get.state_str) @@ -135,8 +136,9 @@ def _update_state(self, chargepoint: chargepoint.Chargepoint) -> None: chargepoint.data.set.current = current Pub().pub("openWB/set/chargepoint/"+str(chargepoint.num)+"/set/current", current) - log.info(f"LP{chargepoint.num}: set current {current} A, " - f"state {ChargepointState(chargepoint.data.control_parameter.state).name}") + if chargepoint.data.get.plug_state: + log.info(f"LP{chargepoint.num}: set current {current} A, " + f"state {ChargepointState(chargepoint.data.control_parameter.state).name}") def _start_charging(self, chargepoint: chargepoint.Chargepoint) -> Thread: return Thread(target=chargepoint.chargepoint_module.set_current, diff --git a/packages/helpermodules/changed_values_handler.py b/packages/helpermodules/changed_values_handler.py index 3239bc520c..073223e514 100644 --- a/packages/helpermodules/changed_values_handler.py +++ b/packages/helpermodules/changed_values_handler.py @@ -83,6 +83,8 @@ def pub_changed_values(self): data.data.cp_all_data.data.get) self._update_value("openWB/set/counter/", self.prev_data.counter_all_data.data, data.data.counter_all_data.data) + self._update_value("openWB/set/optional/", self.prev_data.optional_data.data, + data.data.optional_data.data) for key, value in data.data.cp_data.items(): self._update_value(f"openWB/set/chargepoint/{value.num}/", self.prev_data.cp_data[key].data, value.data) for key, value in data.data.bat_data.items(): diff --git a/packages/helpermodules/command.py b/packages/helpermodules/command.py index 4e634f187b..1770d4ba89 100644 --- a/packages/helpermodules/command.py +++ b/packages/helpermodules/command.py @@ -730,9 +730,25 @@ def removeVehicle(self, connection_id: str, payload: dict) -> None: def sendDebug(self, connection_id: str, payload: dict) -> None: pub_user_message(payload, connection_id, "Systembericht wird erstellt...", MessageType.INFO) previous_log_level = SubData.system_data["system"].data["debug_level"] - create_debug_log(payload["data"]) + json_rsp = create_debug_log(payload["data"]) Pub().pub("openWB/set/system/debug_level", previous_log_level) - pub_user_message(payload, connection_id, "Systembericht wurde versandt.", MessageType.SUCCESS) + if json_rsp is not None: + if json_rsp.get("error"): + pub_user_message(payload, connection_id, + f"Fehler: {json_rsp.get('message')}", + MessageType.ERROR) + elif json_rsp.get("status") == "created": + pub_user_message(payload, connection_id, + f"Neues Ticket {json_rsp.get('ticket_id')} erstellt.", + MessageType.SUCCESS) + elif json_rsp.get("status") == "updated": + pub_user_message(payload, connection_id, + f"Systembericht bestehendem Ticket {json_rsp.get('ticket_id')} hinzugefügt.", + MessageType.SUCCESS) + else: + pub_user_message(payload, connection_id, + "Fehler beim Erstellen des Systemberichts.", + MessageType.ERROR) def getChargeLog(self, connection_id: str, payload: dict) -> None: Pub().pub(f'openWB/set/log/{connection_id}/data', get_log_data(payload["data"])) diff --git a/packages/helpermodules/create_debug.py b/packages/helpermodules/create_debug.py index 5828705015..28f82085d0 100644 --- a/packages/helpermodules/create_debug.py +++ b/packages/helpermodules/create_debug.py @@ -401,7 +401,7 @@ def get_boots(num_lines=100): return ''.join(lines[-num_lines:]) -def create_debug_log(input_data): +def create_debug_log(input_data) -> Optional[dict]: def write_to_file(file_handler, func, default: Optional[Any] = None): try: file_handler.write(func()+"\n") @@ -432,6 +432,7 @@ def write_to_file(file_handler, func, default: Optional[Any] = None): write_to_file(df, lambda: f"# section: uuids #\n{get_uuids()}\n") write_to_file(df, lambda: f"# section: boots #\n{get_boots(30)}\n") write_to_file(df, lambda: f'# section: storage #\n{run_command(["df", "-h"])}\n') + write_to_file(df, lambda: 'Extended_Debug_Section\n') write_to_file(df, lambda: f"# section: broker essentials #\n{broker.get_broker_essentials()}\n") write_to_file( df, lambda: f"# section: retained log #\n{merge_log_files('main', 500)}") @@ -455,20 +456,22 @@ def write_to_file(file_handler, func, default: Optional[Any] = None): log.info("***** uploading debug log...") with open(debug_file, 'rb') as f: data = f.read() - req.get_http_session().put("https://openwb.de/tools/debug3.php", - data=data, - params={ - 'debugemail': debug_email, - 'ticketnumber': ticketnumber, - 'subject': subject - }, - timeout=10) + json_rsp = req.get_http_session().put("https://debughandler.wb-solution.de", + data=data, + params={ + 'debugemail': debug_email, + 'ticketnumber': ticketnumber, + 'subject': subject + }, + timeout=10).json() log.info("***** cleanup...") os.remove(debug_file) log.info("***** debug log end") + return json_rsp except Exception as e: log.exception(f"Error creating debug log: {e}") + return None class BrokerContent: diff --git a/packages/helpermodules/logger.py b/packages/helpermodules/logger.py index 436b8a6cc5..73d4a24d05 100644 --- a/packages/helpermodules/logger.py +++ b/packages/helpermodules/logger.py @@ -109,25 +109,50 @@ def filter_pos(name: str, record) -> bool: class InMemoryLogHandler(logging.Handler): - def __init__(self, base_handler=None): + def __init__(self, base_handler=None, max_size_mb=50): super().__init__() self.base_handler = base_handler self.log_stream = io.StringIO() self.has_warning_or_error = False + self.max_size_bytes = max_size_mb * 1024 * 1024 # Convert MB to bytes + self.line_count = 0 def emit(self, record): if self.base_handler is None or self.base_handler.filter(record): msg = self.format(record) self.log_stream.write(msg + '\n') + self.line_count += 1 + + # Check size every 100 lines to avoid performance overhead + if self.line_count % 100 == 0: + current_size = len(self.log_stream.getvalue().encode('utf-8')) + if current_size > self.max_size_bytes: + self._truncate_logs() + if record.levelno >= logging.WARNING: self.has_warning_or_error = True + def _truncate_logs(self): + """Keep only the last 25% of logs when size limit is exceeded""" + current_logs = self.log_stream.getvalue() + lines = current_logs.split('\n') + + # Keep only the last 25% of lines + keep_count = max(100, len(lines) // 4) # At least 100 lines + kept_lines = lines[-keep_count:] + + # Reset the stream with truncated content + self.log_stream = io.StringIO() + self.log_stream.write('\n'.join(kept_lines)) + self.line_count = len(kept_lines) + def get_logs(self): return self.log_stream.getvalue() def clear(self): self.log_stream = io.StringIO() self.has_warning_or_error = False + self.line_count = 0 def clear_in_memory_log_handler(logger_name: str = None) -> None: diff --git a/packages/helpermodules/setdata.py b/packages/helpermodules/setdata.py index 1454527dba..0ded855015 100644 --- a/packages/helpermodules/setdata.py +++ b/packages/helpermodules/setdata.py @@ -662,7 +662,8 @@ def process_bat_topic(self, msg: mqtt.MQTTMessage): if ("openWB/set/bat/config/bat_control_permitted" in msg.topic or "openWB/set/bat/config/configured" in msg.topic or "openWB/set/bat/get/power_limit_controllable" in msg.topic or - "openWB/set/bat/set/regulate_up" in msg.topic): + "openWB/set/bat/set/regulate_up" in msg.topic or + "openWB/set/bat/set/hysteresis_discharge" in msg.topic): self._validate_value(msg, bool) elif "openWB/set/bat/set/charging_power_left" in msg.topic: self._validate_value(msg, float) diff --git a/packages/helpermodules/subdata.py b/packages/helpermodules/subdata.py index b5b2856e0c..c3f86510e8 100644 --- a/packages/helpermodules/subdata.py +++ b/packages/helpermodules/subdata.py @@ -700,6 +700,8 @@ def process_optional_topic(self, var: optional.Optional, msg: mqtt.MQTTMessage): self.set_json_payload_class(var.data.led, msg) elif re.search("/optional/rfid/", msg.topic) is not None: self.set_json_payload_class(var.data.rfid, msg) + elif re.search("/optional/ocpp/config", msg.topic) is not None: + self.set_json_payload_class(var.data.ocpp.config, msg) elif re.search("/optional/ocpp/", msg.topic) is not None: self.set_json_payload_class(var.data.ocpp, msg) elif re.search("/optional/int_display/", msg.topic) is not None: @@ -891,7 +893,7 @@ def process_system_topic(self, client: mqtt.Client, var: dict, msg: mqtt.MQTTMes log.debug("skipping mqtt bridge message on startup") elif "mqtt" and "valid_partner_ids" in msg.topic: # duplicate topic for remote support service - log.error(f"received valid partner ids: {decode_payload(msg.payload)}") + log.debug(f"received valid partner ids: {decode_payload(msg.payload)}") Pub().pub("openWB-remote/valid_partner_ids", decode_payload(msg.payload)) # will be moved to separate handler! elif "GetRemoteSupport" in msg.topic: diff --git a/packages/helpermodules/update_config.py b/packages/helpermodules/update_config.py index 15530c627d..4983f05e30 100644 --- a/packages/helpermodules/update_config.py +++ b/packages/helpermodules/update_config.py @@ -41,7 +41,7 @@ from control.ev import ev from control.ev.ev_template import EvTemplateData from control.general import Prices, PvCharging -from control.optional_data import Ocpp +from control.optional_data import OcppConfig from modules.common.abstract_vehicle import GeneralVehicleConfig from modules.common.component_type import ComponentType from modules.devices.sungrow.sungrow.version import Version @@ -325,7 +325,6 @@ class UpdateConfig: "^openWB/optional/int_display/rotation$", "^openWB/optional/int_display/theme$", "^openWB/optional/int_display/only_local_charge_points", - "^openWB/optional/led/active$", "^openWB/optional/monitoring/config$", "^openWB/optional/rfid/active$", "^openWB/optional/ocpp/config$", @@ -584,9 +583,8 @@ class UpdateConfig: ("openWB/optional/int_display/rotation", 0), ("openWB/optional/int_display/theme", dataclass_utils.asdict(CardsDisplayTheme())), ("openWB/optional/int_display/only_local_charge_points", False), - ("openWB/optional/led/active", False), ("openWB/optional/monitoring/config", NO_MODULE), - ("openWB/optional/ocpp/config", dataclass_utils.asdict(Ocpp())), + ("openWB/optional/ocpp/config", dataclass_utils.asdict(OcppConfig())), ("openWB/optional/rfid/active", False), ("openWB/system/backup_password", None), ("openWB/system/backup_cloud/config", NO_MODULE), diff --git a/packages/modules/chargepoints/openwb_dc_adapter/chargepoint_module.py b/packages/modules/chargepoints/openwb_dc_adapter/chargepoint_module.py index 583d606747..7a59569d68 100644 --- a/packages/modules/chargepoints/openwb_dc_adapter/chargepoint_module.py +++ b/packages/modules/chargepoints/openwb_dc_adapter/chargepoint_module.py @@ -48,11 +48,14 @@ def __init__(self, config: OpenWBDcAdapter) -> None: "DC-Laden muss durch den Support freigeschaltet werden. Bitte nehme Kontakt mit dem Support auf.") self.efficiency = None - with SingleComponentUpdateContext(self.fault_state, update_always=False): - with self.client_error_context: - self.__session.post( - 'http://' + self.config.configuration.ip_address + '/connect.php', - data={'heartbeatenabled': '1'}) + try: + self.__session.post( + f'http://{self.config.configuration.ip_address}/connect.php', + data={'heartbeatenabled': '1'}) + except Exception: + log.exception( + f"Verbindung zum Ladepunkt {self.config.id} konnte nicht hergestellt werden. " + "Heartbeat konnte nicht aktiviert werden.") def set_current(self, current: float) -> None: if self.client_error_context.error_counter_exceeded(): diff --git a/packages/modules/chargepoints/openwb_pro/chargepoint_module.py b/packages/modules/chargepoints/openwb_pro/chargepoint_module.py index 9788437a70..0c790f2280 100644 --- a/packages/modules/chargepoints/openwb_pro/chargepoint_module.py +++ b/packages/modules/chargepoints/openwb_pro/chargepoint_module.py @@ -42,10 +42,14 @@ def __init__(self, config: OpenWBPro) -> None: self.client_error_context = ErrorTimerContext( f"openWB/set/chargepoint/{self.config.id}/get/error_timestamp", CP_ERROR, hide_exception=True) - with SingleComponentUpdateContext(self.fault_state, update_always=False): + try: self.__session.post( f'http://{self.config.configuration.ip_address}/connect.php', data={'heartbeatenabled': '1'}) + except Exception: + log.exception( + f"Verbindung zum Ladepunkt {self.config.id} konnte nicht hergestellt werden. " + "Heartbeat konnte nicht aktiviert werden.") def set_internal_context_handlers(self, hierarchy_id: int, internal_cp: InternalChargepoint): self.fault_state = FaultState(ComponentInfo( diff --git a/packages/modules/common/evse.py b/packages/modules/common/evse.py index 86d0d6efcd..11246df1aa 100644 --- a/packages/modules/common/evse.py +++ b/packages/modules/common/evse.py @@ -95,7 +95,7 @@ def activate_precise_current(self) -> None: else: with ModifyLoglevelContext(log, logging.DEBUG): log.debug("Bit zur Angabe der Ströme in 0,1A-Schritten wird gesetzt.") - self.client.write_registers(2005, value ^ self.PRECISE_CURRENT_BIT, unit=self.id) + self.client.write_register(2005, value ^ self.PRECISE_CURRENT_BIT, unit=self.id) # Zeit zum Verarbeiten geben time.sleep(1) @@ -105,7 +105,7 @@ def deactivate_precise_current(self) -> None: if value & self.PRECISE_CURRENT_BIT: with ModifyLoglevelContext(log, logging.DEBUG): log.debug("Bit zur Angabe der Ströme in 0,1A-Schritten wird zurueckgesetzt.") - self.client.write_registers(2005, value ^ self.PRECISE_CURRENT_BIT, unit=self.id) + self.client.write_register(2005, value ^ self.PRECISE_CURRENT_BIT, unit=self.id) else: return @@ -118,4 +118,4 @@ def set_current(self, current: int, phases_in_use: Optional[int] = None) -> None if formatted_current > 16 and phases_in_use > 1: formatted_current = 16 if self.evse_current != formatted_current: - self.client.write_registers(1000, formatted_current, unit=self.id) + self.client.write_register(1000, formatted_current, unit=self.id) diff --git a/packages/modules/common/modbus.py b/packages/modules/common/modbus.py index 3ef4bdd7bb..9f5fc13e50 100644 --- a/packages/modules/common/modbus.py +++ b/packages/modules/common/modbus.py @@ -11,9 +11,9 @@ from typing import Any, Callable, Iterable, Optional, Union, overload, List import pymodbus -from pymodbus.client.sync import ModbusTcpClient, ModbusSerialClient +from pymodbus.client.sync import ModbusTcpClient, ModbusUdpClient, ModbusSerialClient from pymodbus.constants import Endian -from pymodbus.payload import BinaryPayloadDecoder +from pymodbus.payload import BinaryPayloadBuilder, BinaryPayloadDecoder from pymodbus.transaction import ModbusSocketFramer from urllib3.util import parse_url @@ -21,20 +21,21 @@ class ModbusDataType(Enum): - UINT_8 = 8, "decode_8bit_uint" - UINT_16 = 16, "decode_16bit_uint" - UINT_32 = 32, "decode_32bit_uint" - UINT_64 = 64, "decode_64bit_uint" - INT_8 = 8, "decode_8bit_int" - INT_16 = 16, "decode_16bit_int" - INT_32 = 32, "decode_32bit_int" - INT_64 = 64, "decode_64bit_int" - FLOAT_16 = 16, "decode_16bit_float" - FLOAT_32 = 32, "decode_32bit_float" - FLOAT_64 = 64, "decode_64bit_float" - - def __init__(self, bits: int, decoding_method: str): + UINT_8 = 8, "add_16bit_uint", "decode_8bit_uint" + UINT_16 = 16, "add_16bit_uint", "decode_16bit_uint" + UINT_32 = 32, "add_32bit_uint", "decode_32bit_uint" + UINT_64 = 64, "add_64bit_uint", "decode_64bit_uint" + INT_8 = 8, "add_16bit_int", "decode_8bit_int" + INT_16 = 16, "add_16bit_int", "decode_16bit_int" + INT_32 = 32, "add_32bit_int", "decode_32bit_int" + INT_64 = 64, "add_64bit_int", "decode_64bit_int" + FLOAT_16 = 16, "add_16bit_float", "decode_16bit_float" + FLOAT_32 = 32, "add_32bit_float", "decode_32bit_float" + FLOAT_64 = 64, "add_64bit_float", "decode_64bit_float" + + def __init__(self, bits: int, encoding_method: str, decoding_method: str): self.bits = bits + self.encoding_method = encoding_method self.decoding_method = decoding_method @@ -49,7 +50,7 @@ def __init__(self, bits: int, decoding_method: str): class ModbusClient: def __init__(self, - delegate: Union[ModbusSerialClient, ModbusTcpClient], + delegate: Union[ModbusSerialClient, ModbusTcpClient, ModbusUdpClient], address: str, port: int = 502, sleep_after_connect: Optional[int] = 0): self._delegate = delegate @@ -186,8 +187,37 @@ def read_coils(self, address: int, count: int, **kwargs): e.args += (NO_VALUES.format(self.address, self.port),) raise e - def write_registers(self, address: int, value: Any, **kwargs): - self._delegate.write_registers(address, value, **kwargs) + def _build_binary_payload(self, + value: Union[int, float], + data_type: ModbusDataType, + byteorder: Endian = Endian.Big, + wordorder: Endian = Endian.Big) -> list: + builder = BinaryPayloadBuilder(byteorder=byteorder, wordorder=wordorder) + if data_type == ModbusDataType.FLOAT_16: + # FLOAT_16 (IEEE 754 Half-Precision) manuelle Konvertierung + packed = struct.pack(">e", float(value)) + uint16_value = struct.unpack(">H", packed)[0] + builder.add_16bit_uint(uint16_value) + elif data_type in [ModbusDataType.FLOAT_32, ModbusDataType.FLOAT_64]: + getattr(builder, data_type.encoding_method)(float(value)) + else: + getattr(builder, data_type.encoding_method)(int(value)) + return builder.to_registers() + + def write_register(self, address: int, value: Union[int, float], data_type: Optional[ModbusDataType] = None, + byteorder: Endian = Endian.Big, wordorder: Endian = Endian.Big, **kwargs): + if data_type is not None: + if data_type.bits > 16 or data_type in [ModbusDataType.FLOAT_16, + ModbusDataType.FLOAT_32, + ModbusDataType.FLOAT_64]: + registers = self._build_binary_payload(value, data_type, byteorder, wordorder) + self._delegate.write_registers(address, registers, **kwargs) + else: + # Einfache 16-bit oder kleinere Werte können direkt geschrieben werden + self._delegate.write_registers(address, [value], **kwargs) + else: + # Fallback für bestehenden Code ohne data_type + self._delegate.write_registers(address, value, **kwargs) def write_single_coil(self, address: int, value: Any, **kwargs): self._delegate.write_coil(address, value, **kwargs) @@ -278,6 +308,19 @@ def __init__(self, super().__init__(ModbusTcpClient(host, port, framer, **kwargs), address, port, sleep_after_connect) +class ModbusUdpClient_(ModbusClient): + def __init__(self, + address: str, + port: int = 502, + sleep_after_connect: Optional[int] = 0, + **kwargs): + parsed_url = parse_url(address) + host = parsed_url.host + if parsed_url.port is not None: + port = parsed_url.port + super().__init__(ModbusUdpClient(host, port, **kwargs), address, port, sleep_after_connect) + + class ModbusSerialClient_(ModbusClient): def __init__(self, port: int, diff --git a/packages/modules/devices/alpha_ess/alpha_ess/bat.py b/packages/modules/devices/alpha_ess/alpha_ess/bat.py index a1e8afdba3..c7c062ba7c 100644 --- a/packages/modules/devices/alpha_ess/alpha_ess/bat.py +++ b/packages/modules/devices/alpha_ess/alpha_ess/bat.py @@ -30,6 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.last_mode = 'Undefined' def update(self) -> None: # keine Unterschiede zwischen den Versionen @@ -63,19 +64,25 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: if power_limit is None: # Kein Powerlimit gefordert, externe Steuerung deaktivieren log.debug("Keine Batteriesteuerung gefordert, deaktiviere externe Steuerung.") - self.__tcp_client.write_registers(2127, [0], data_type=ModbusDataType.UINT_16, unit=unit) + if self.last_mode is not None: + self.__tcp_client.write_register(2127, 0, data_type=ModbusDataType.UINT_16, unit=unit) + self.last_mode = None elif power_limit <= 0: # AlphaESS kann die Entladung nur über den SoC verhindern (komplette Entladesperre) # Netzladung mit geringen Ziel SoC verhindert auch Entladung (Default 10%) # Zeiten für Netzladung müssen im Wechselrichter aktiviert werden - log.debug("Aktive Batteriesteuerung vorhanden. Setze externe Steuerung.") - self.__tcp_client.write_registers(2127, [1], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(2133, [10], data_type=ModbusDataType.UINT_16, unit=unit) + log.debug("Aktive Batteriesteuerung angestoßen. Setze Entladesperre.") + if self.last_mode != 'stop': + self.__tcp_client.write_register(2127, 1, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(2133, 10, data_type=ModbusDataType.UINT_16, unit=unit) + self.last_mode = 'stop' else: # Aktive Ladung - log.debug("Aktive Batteriesteuerung vorhanden. Setze externe Steuerung.") - self.__tcp_client.write_registers(2127, [1], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(2133, [100], data_type=ModbusDataType.UINT_16, unit=unit) + log.debug("Aktive Batteriesteuerung angestoßen. Setze aktive Ladung.") + if self.last_mode != 'charge': + self.__tcp_client.write_register(2127, 1, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(2133, 100, data_type=ModbusDataType.UINT_16, unit=unit) + self.last_mode = 'charge' def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/alpha_ess/alpha_ess/counter.py b/packages/modules/devices/alpha_ess/alpha_ess/counter.py index 6bac7a2a4a..46fea67721 100644 --- a/packages/modules/devices/alpha_ess/alpha_ess/counter.py +++ b/packages/modules/devices/alpha_ess/alpha_ess/counter.py @@ -45,15 +45,26 @@ def update(self): val * 10 for val in self.__tcp_client.read_holding_registers( 0x0010, [ModbusDataType.INT_32] * 2, unit=self.__modbus_id )] - currents = [val / 1000 for val in self.__tcp_client.read_holding_registers( + currents = [val / 10 for val in self.__tcp_client.read_holding_registers( 0x0017, [ModbusDataType.INT_16]*3, unit=self.__modbus_id)] - + powers = self.__tcp_client.read_holding_registers( + 0x001b, [ModbusDataType.INT_32]*3, unit=self.__modbus_id) + voltages = self.__tcp_client.read_holding_registers( + 0x0014, [ModbusDataType.UINT_16]*3, unit=self.__modbus_id) + frequency = self.__tcp_client.read_holding_registers( + 0x001A, ModbusDataType.UINT_16, unit=self.__modbus_id) / 100 counter_state = CounterState( currents=currents, imported=imported, exported=exported, power=power ) + if 'powers' in locals(): + counter_state.powers = powers + if 'voltages' in locals(): + counter_state.voltages = voltages + if 'frequency' in locals(): + counter_state.frequency = frequency self.store.set(counter_state) diff --git a/packages/modules/devices/good_we/good_we/bat.py b/packages/modules/devices/good_we/good_we/bat.py index dc5feb91e1..b23c16d6d7 100644 --- a/packages/modules/devices/good_we/good_we/bat.py +++ b/packages/modules/devices/good_we/good_we/bat.py @@ -75,31 +75,31 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: if power_limit is None: log.debug("Keine Batteriesteuerung, Selbstregelung durch Wechselrichter") if self.last_mode is not None: - self.__tcp_client.write_registers(47511, [1], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(47512, [0], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47511, 1, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47512, 0, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = None elif power_limit == 0: log.debug("Aktive Batteriesteuerung. Batterie wird auf Stop gesetzt und nicht entladen") if self.last_mode != 'stop': - self.__tcp_client.write_registers(47511, [2], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(47512, [0], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47511, 2, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47512, 0, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = 'stop' elif power_limit < 0: log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_limit} W entladen für den Hausverbrauch") if self.last_mode != 'discharge': - self.__tcp_client.write_registers(47511, [3], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47511, 3, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = 'discharge' # Die maximale Entladeleistung begrenzen auf 5000W, maximaler Wertebereich Modbusregister. power_value = int(min(abs(power_limit), 10000)) log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W entladen für den Hausverbrauch") - self.__tcp_client.write_registers(47512, [power_value], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47512, power_value, data_type=ModbusDataType.UINT_16, unit=unit) elif power_limit > 0: if self.last_mode != 'charge': - self.__tcp_client.write_registers(47511, [2], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47511, 2, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = 'charge' power_value = int(min(abs(power_limit), 10000)) log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W entladen für den Hausverbrauch") - self.__tcp_client.write_registers(47512, [power_value], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(47512, power_value, data_type=ModbusDataType.UINT_16, unit=unit) def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/kostal/kostal_plenticore/bat.py b/packages/modules/devices/kostal/kostal_plenticore/bat.py index cbbe359f9e..fef74a1d91 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/bat.py +++ b/packages/modules/devices/kostal/kostal_plenticore/bat.py @@ -1,6 +1,5 @@ #!/usr/bin/env python3 import logging -import struct from typing import TypedDict, Any, Optional from pymodbus.constants import Endian @@ -69,17 +68,22 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: elif power_limit == 0: # wiederholt auf Stop setzen damit sich Register nicht zurücksetzt log.debug("Aktive Batteriesteuerung. Batterie wird auf Stop gesetzt und nicht entladen") - packed = struct.pack('>f', 0.0) - registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] - self.client.write_registers(1034, registers, data_type=ModbusDataType.FLOAT_32, unit=unit) + self.client.write_register(1034, 0.0, data_type=ModbusDataType.FLOAT_32, + wordorder=self.endianess, unit=unit) elif power_limit < 0: log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_limit} W entladen für den Hausverbrauch") # Die maximale Entladeleistung begrenzen auf 7000W - power_value = float(min(abs(power_limit), 7000)) * -1 + power_value = float(min(abs(power_limit), 7000)) log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W entladen für den Hausverbrauch") - packed = struct.pack('>f', power_value) - registers = [int.from_bytes(packed[0:2], 'big'), int.from_bytes(packed[2:4], 'big')] - self.client.write_registers(1034, registers, data_type=ModbusDataType.FLOAT_32, unit=unit) + self.client.write_register(1034, power_value, data_type=ModbusDataType.FLOAT_32, + wordorder=self.endianess, unit=unit) + elif power_limit > 0: + log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_limit} W geladen") + # Die maximale Ladeleistung begrenzen auf 7000W + power_value = float(min(abs(power_limit), 7000)) * -1 + log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W geladen") + self.client.write_register(1034, power_value, data_type=ModbusDataType.FLOAT_32, + wordorder=self.endianess, unit=unit) def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/lg/lg/counter.py b/packages/modules/devices/lg/lg/counter.py index c7e471673f..747afa4523 100644 --- a/packages/modules/devices/lg/lg/counter.py +++ b/packages/modules/devices/lg/lg/counter.py @@ -32,9 +32,6 @@ def update(self, response) -> None: power = power*-1 else: power = float(response["statistics"]["grid_power_01kW"]) * 100 # Home 15 - - if response["direction"]["is_grid_selling_"] == "1": - power = power*-1 imported, exported = self.sim_counter.sim_count(power) counter_state = CounterState( imported=imported, diff --git a/packages/modules/devices/shelly/shelly/inverter.py b/packages/modules/devices/shelly/shelly/inverter.py index ab1ac1bb20..dead37eb31 100644 --- a/packages/modules/devices/shelly/shelly/inverter.py +++ b/packages/modules/devices/shelly/shelly/inverter.py @@ -65,6 +65,8 @@ def update(self) -> None: elif "em:0" in status: meters = status['em:0'] for i in range(len(meters)): + if meters.get(f'{alphabetical_index[i]}_current') is None: + continue currents[(i+self.phase-1) % 3] = (float(meters[f'{alphabetical_index[i]}_current']) * self.factor if meters.get(f'{alphabetical_index[i]}_current') else 0) power = float(meters['total_act_power']) * self.factor diff --git a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py index f5e5ab7394..ee871c019a 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py +++ b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 -import pymodbus from typing import TypedDict, Any, Dict, Union, Optional import logging @@ -130,28 +129,8 @@ def _read_registers(self, register_names: list, unit: int) -> Dict[str, Union[in def _write_registers(self, values_to_write: Dict[str, Union[int, float]], unit: int) -> None: for key, value in values_to_write.items(): address, data_type = self.REGISTERS[key] - encoded_value = self._encode_value(value, data_type) - self.__tcp_client.write_registers(address, encoded_value, unit=unit) - log.debug(f"Neuer Wert {encoded_value} in Register {address} geschrieben.") - - def _encode_value(self, value: Union[int, float], data_type: ModbusDataType) -> list: - builder = pymodbus.payload.BinaryPayloadBuilder( - byteorder=pymodbus.constants.Endian.Big, - wordorder=pymodbus.constants.Endian.Big - ) - encode_methods = { - ModbusDataType.UINT_32: builder.add_32bit_uint, - ModbusDataType.INT_32: builder.add_32bit_int, - ModbusDataType.UINT_16: builder.add_16bit_uint, - ModbusDataType.INT_16: builder.add_16bit_int, - } - - if data_type in encode_methods: - encode_methods[data_type](int(value)) - else: - raise ValueError(f"Unsupported data type: {data_type}") - - return builder.to_registers() + self.__tcp_client.write_register(address, value, data_type, unit=unit) + log.debug(f"Neuer Wert {value} in Register {address} geschrieben.") def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/solaredge/solaredge/bat.py b/packages/modules/devices/solaredge/solaredge/bat.py index cb81757c2a..af10a840b5 100644 --- a/packages/modules/devices/solaredge/solaredge/bat.py +++ b/packages/modules/devices/solaredge/solaredge/bat.py @@ -235,35 +235,13 @@ def _read_registers(self, register_names: list, unit: int) -> Dict[str, Union[in def _write_registers(self, values_to_write: Dict[str, Union[int, float]], unit: int) -> None: for key, value in values_to_write.items(): address, data_type = self.REGISTERS[key] - encoded_value = self._encode_value(value, data_type) try: - self.__tcp_client.write_registers(address, encoded_value, unit=unit) - log.debug(f"Neuer Wert {encoded_value} in Register {address} geschrieben.") + self.__tcp_client.write_register(address, value, data_type, wordorder=Endian.Little, unit=unit) + log.debug(f"Neuer Wert {value} in Register {address} geschrieben.") except pymodbus.exceptions.ModbusException as e: log.error(f"Failed to write register {key} at address {address}: {e}") self.fault_state.error(f"Modbus write error: {e}") - def _encode_value(self, value: Union[int, float], data_type: ModbusDataType) -> list: - builder = pymodbus.payload.BinaryPayloadBuilder( - byteorder=pymodbus.constants.Endian.Big, - wordorder=pymodbus.constants.Endian.Little - ) - encode_methods = { - ModbusDataType.UINT_32: builder.add_32bit_uint, - ModbusDataType.INT_32: builder.add_32bit_int, - ModbusDataType.UINT_16: builder.add_16bit_uint, - ModbusDataType.INT_16: builder.add_16bit_int, - ModbusDataType.FLOAT_32: builder.add_32bit_float, - } - if data_type in encode_methods: - if data_type == ModbusDataType.FLOAT_32: - encode_methods[data_type](float(value)) - else: - encode_methods[data_type](int(value)) - else: - raise ValueError(f"Unsupported data type: {data_type}") - return builder.to_registers() - def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/sungrow/sungrow/bat.py b/packages/modules/devices/sungrow/sungrow/bat.py index ef99e62237..bf567720b6 100644 --- a/packages/modules/devices/sungrow/sungrow/bat.py +++ b/packages/modules/devices/sungrow/sungrow/bat.py @@ -121,25 +121,25 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: if power_limit is None: log.debug("Keine Batteriesteuerung, Selbstregelung durch Wechselrichter") if self.last_mode is not None: - self.__tcp_client.write_registers(13049, [0], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(13050, [0xCC], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13049, 0, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13050, 0xCC, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = None elif power_limit == 0: log.debug("Aktive Batteriesteuerung. Batterie wird auf Stop gesetzt und nicht entladen") if self.last_mode != 'stop': - self.__tcp_client.write_registers(13049, [2], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(13050, [0xCC], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13049, 2, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13050, 0xCC, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = 'stop' elif power_limit < 0: log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_limit} W entladen für den Hausverbrauch") if self.last_mode != 'discharge': - self.__tcp_client.write_registers(13049, [2], data_type=ModbusDataType.UINT_16, unit=unit) - self.__tcp_client.write_registers(13050, [0xBB], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13049, 2, data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13050, 0xBB, data_type=ModbusDataType.UINT_16, unit=unit) self.last_mode = 'discharge' # Die maximale Entladeleistung begrenzen auf 5000W, maximaler Wertebereich Modbusregister. power_value = int(min(abs(power_limit), 5000)) log.debug(f"Aktive Batteriesteuerung. Batterie wird mit {power_value} W entladen für den Hausverbrauch") - self.__tcp_client.write_registers(13051, [power_value], data_type=ModbusDataType.UINT_16, unit=unit) + self.__tcp_client.write_register(13051, power_value, data_type=ModbusDataType.UINT_16, unit=unit) def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/victron/victron/bat.py b/packages/modules/devices/victron/victron/bat.py index 3cfdf58048..2465081473 100644 --- a/packages/modules/devices/victron/victron/bat.py +++ b/packages/modules/devices/victron/victron/bat.py @@ -66,21 +66,21 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: log.debug("Keine Batteriesteuerung, Selbstregelung durch Wechselrichter") if self.last_mode is not None: # ESS Mode 1 für Selbstregelung mit Phasenkompensation setzen - self.__tcp_client.write_registers(2902, [1], data_type=ModbusDataType.UINT_16, unit=modbus_id) - self.__tcp_client.write_registers(39, [0], data_type=ModbusDataType.UINT_16, unit=vebus_id) + self.__tcp_client.write_register(2902, 1, data_type=ModbusDataType.UINT_16, unit=modbus_id) + self.__tcp_client.write_register(39, 0, data_type=ModbusDataType.UINT_16, unit=vebus_id) self.last_mode = None elif power_limit == 0: log.debug("Aktive Batteriesteuerung. Batterie wird auf Stop gesetzt und nicht entladen") if self.last_mode != 'stop': # ESS Mode 3 für externe Steuerung und keine Entladung - self.__tcp_client.write_registers(2902, [3], data_type=ModbusDataType.UINT_16, unit=modbus_id) - self.__tcp_client.write_registers(39, [1], data_type=ModbusDataType.UINT_16, unit=vebus_id) + self.__tcp_client.write_register(2902, 3, data_type=ModbusDataType.UINT_16, unit=modbus_id) + self.__tcp_client.write_register(39, 1, data_type=ModbusDataType.UINT_16, unit=vebus_id) self.last_mode = 'stop' elif power_limit < 0: if self.last_mode != 'discharge': # ESS Mode 3 für externe Steuerung und auf L1 wird entladen - self.__tcp_client.write_registers(2902, [3], data_type=ModbusDataType.UINT_16, unit=modbus_id) - self.__tcp_client.write_registers(39, [0], data_type=ModbusDataType.UINT_16, unit=vebus_id) + self.__tcp_client.write_register(2902, 3, data_type=ModbusDataType.UINT_16, unit=modbus_id) + self.__tcp_client.write_register(39, 0, data_type=ModbusDataType.UINT_16, unit=vebus_id) self.last_mode = 'discharge' # Die maximale Entladeleistung begrenzen auf 5000W if phases == 3: @@ -88,13 +88,13 @@ def set_power_limit(self, power_limit: Optional[int]) -> None: power_value = int(min(power_limit, 5000)) log.debug(f"Aktive Batteriesteuerung. Victron mit {phases} Phase(n). " f"Batterie wird mit {power_value} W pro Phase entladen.") - self.__tcp_client.write_registers( - 37, [power_value & 0xFFFF], data_type=ModbusDataType.INT_16, unit=vebus_id) + self.__tcp_client.write_register( + 37, power_value & 0xFFFF, data_type=ModbusDataType.INT_16, unit=vebus_id) if phases == 3: - self.__tcp_client.write_registers( - 40, [power_value & 0xFFFF], data_type=ModbusDataType.INT_16, unit=vebus_id) - self.__tcp_client.write_registers( - 41, [power_value & 0xFFFF], data_type=ModbusDataType.INT_16, unit=vebus_id) + self.__tcp_client.write_register( + 40, power_value & 0xFFFF, data_type=ModbusDataType.INT_16, unit=vebus_id) + self.__tcp_client.write_register( + 41, power_value & 0xFFFF, data_type=ModbusDataType.INT_16, unit=vebus_id) def power_limit_controllable(self) -> bool: return True diff --git a/packages/modules/devices/victron/victron/counter.py b/packages/modules/devices/victron/victron/counter.py index 138fa638a4..16eb9e84cb 100644 --- a/packages/modules/devices/victron/victron/counter.py +++ b/packages/modules/devices/victron/victron/counter.py @@ -14,7 +14,7 @@ class KwargsDict(TypedDict): device_id: int - client: modbus.ModbusTcpClient_ + client: modbus.ModbusUdpClient_ class VictronCounter(AbstractCounter): @@ -24,7 +24,7 @@ def __init__(self, component_config: VictronCounterSetup, **kwargs: Any) -> None def initialize(self) -> None: self.__device_id: int = self.kwargs['device_id'] - self.__tcp_client = self.kwargs['client'] + self.__udp_client = self.kwargs['client'] self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) @@ -32,18 +32,24 @@ def initialize(self) -> None: def update(self): unit = self.component_config.configuration.modbus_id energy_meter = self.component_config.configuration.energy_meter - with self.__tcp_client: + with self.__udp_client: if energy_meter: - powers = self.__tcp_client.read_holding_registers(2600, [ModbusDataType.INT_16]*3, unit=unit) + powers = [ + self.__udp_client.read_holding_registers(reg, ModbusDataType.INT_32, unit=unit) / 1 + for reg in [0x3082, 0x3086, 0x308A]] currents = [ - self.__tcp_client.read_holding_registers(reg, ModbusDataType.INT_16, unit=unit) / 10 - for reg in [2617, 2619, 2621]] + self.__udp_client.read_holding_registers(reg, ModbusDataType.INT_16, unit=unit) / 100 + for reg in [0x3041, 0x3049, 0x3051]] voltages = [ - self.__tcp_client.read_holding_registers(reg, ModbusDataType.UINT_16, unit=unit) / 10 - for reg in [2616, 2618, 2620]] + self.__udp_client.read_holding_registers(reg, ModbusDataType.INT_16, unit=unit) / 100 + for reg in [0x3040, 0x3048, 0x3050]] + power_factors = [ + self.__udp_client.read_holding_registers(reg, ModbusDataType.INT_16, unit=unit) / 1000 + for reg in [0x3047, 0x304F, 0x3057]] power = sum(powers) + frequency = self.__udp_client.read_holding_registers(0x3032, ModbusDataType.UINT_16, unit=unit) / 100 else: - powers = self.__tcp_client.read_holding_registers(820, [ModbusDataType.INT_16]*3, unit=unit) + powers = self.__udp_client.read_holding_registers(820, [ModbusDataType.INT_16]*3, unit=unit) power = sum(powers) imported, exported = self.sim_counter.sim_count(power) @@ -53,9 +59,11 @@ def update(self): voltages=voltages, currents=currents, powers=powers, + power_factors=power_factors, imported=imported, exported=exported, - power=power + power=power, + frequency=frequency ) else: counter_state = CounterState( diff --git a/packages/modules/devices/victron/victron/device.py b/packages/modules/devices/victron/victron/device.py index 5f346f400e..5b18f7fc46 100644 --- a/packages/modules/devices/victron/victron/device.py +++ b/packages/modules/devices/victron/victron/device.py @@ -5,7 +5,7 @@ from modules.common.abstract_device import DeviceDescriptor from modules.common.component_context import SingleComponentUpdateContext from modules.common.configurable_device import ComponentFactoryByType, ConfigurableDevice, MultiComponentUpdater -from modules.common.modbus import ModbusTcpClient_ +from modules.common.modbus import ModbusUdpClient_ from modules.devices.victron.victron.bat import VictronBat from modules.devices.victron.victron.config import Victron, VictronBatSetup, VictronCounterSetup, VictronInverterSetup from modules.devices.victron.victron.counter import VictronCounter @@ -38,7 +38,7 @@ def update_components(components: Iterable[Union[VictronBat, VictronCounter, Vic def initializer(): nonlocal client - client = ModbusTcpClient_(device_config.configuration.ip_address, device_config.configuration.port) + client = ModbusUdpClient_(device_config.configuration.ip_address, device_config.configuration.port) return ConfigurableDevice( device_config=device_config, diff --git a/packages/modules/internal_chargepoint_handler/chargepoint_module.py b/packages/modules/internal_chargepoint_handler/chargepoint_module.py index 80e3178dda..77376312de 100644 --- a/packages/modules/internal_chargepoint_handler/chargepoint_module.py +++ b/packages/modules/internal_chargepoint_handler/chargepoint_module.py @@ -67,7 +67,7 @@ def on_connect(client, userdata, flags, rc): def on_message(client, userdata, message): self.old_phases_in_use = decode_payload(message.payload) - self.old_phases_in_use = None + self.old_phases_in_use = 1 BrokerClient(f"subscribeInternalCp{self.local_charge_point_num}", on_connect, on_message).start_finite_loop() diff --git a/packages/modules/io_actions/controllable_consumers/ripple_control_receiver/api.py b/packages/modules/io_actions/controllable_consumers/ripple_control_receiver/api.py index 6d92b3b40b..eb27361b6d 100644 --- a/packages/modules/io_actions/controllable_consumers/ripple_control_receiver/api.py +++ b/packages/modules/io_actions/controllable_consumers/ripple_control_receiver/api.py @@ -57,7 +57,7 @@ def ripple_control_receiver(self) -> float: break else: # Alle digitalen Eingänge entsprechen dem Pattern - return pattern["value"] + return pattern["value"] if pattern["value"] is not None else 0 else: # Zustand entspricht keinem Pattern return 0 diff --git a/packages/modules/update_soc.py b/packages/modules/update_soc.py index b2d35b5d14..474a6cb483 100644 --- a/packages/modules/update_soc.py +++ b/packages/modules/update_soc.py @@ -62,7 +62,7 @@ def _get_threads(self) -> Tuple[List[Thread], List[Thread]]: log.debug( f"EV{ev.num}: Nach dreimaliger erfolgloser SoC-Abfrage wird ein SoC von 0% angenommen.") Pub().pub(f"openWB/set/vehicle/{ev.num}/get/soc", 0) - Pub().pub(f"openWB/set/vehicle/{ev.num}/get/range", 0) + Pub().pub(f"openWB/set/vehicle/{ev.num}/get/range", None) # Es wird ein Zeitstempel gesetzt, unabhängig ob die Abfrage erfolgreich war, da einige # Hersteller bei zu häufigen Abfragen Accounts sperren. Pub().pub(f"openWB/set/vehicle/{ev.num}/get/soc_request_timestamp", diff --git a/requirements.txt b/requirements.txt index b10c4c3f99..1e7d19c1e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,7 +19,7 @@ umodbus==1.0.4 pysmb==1.2.9.1 pytz==2023.3.post1 grpcio==1.60.1 -protobuf==4.25.8 +protobuf==5.29.6 bimmer_connected==0.17.3 ocpp==1.0.0 websockets==12.0 diff --git a/runs/evse_write_modbus.py b/runs/evse_write_modbus.py index e05bd9d5cc..5e1eed4333 100644 --- a/runs/evse_write_modbus.py +++ b/runs/evse_write_modbus.py @@ -12,4 +12,4 @@ value = int(sys.argv[3]) client, evse_ids = get_modbus_client(local_chargepoint_num) -client.write_registers(register, value, unit=evse_ids[0]) +client.write_register(register, value, unit=evse_ids[0]) diff --git a/web/settings/assets/ActiveBatControl-c0d57ac2.js b/web/settings/assets/ActiveBatControl-f9bad9af.js similarity index 97% rename from web/settings/assets/ActiveBatControl-c0d57ac2.js rename to web/settings/assets/ActiveBatControl-f9bad9af.js index 27d1bfdd9e..375f052983 100644 --- a/web/settings/assets/ActiveBatControl-c0d57ac2.js +++ b/web/settings/assets/ActiveBatControl-f9bad9af.js @@ -1 +1 @@ -import{C as B}from"./index-25097726.js";import{l as W,_ as k,a8 as z,a9 as V,F as y}from"./vendor-fortawesome-77ba272b.js";import{_ as C,u as l,l as o,m as s,A as m,G as i,E as r,B as a,z as d,x as _,D as S}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";W.add(k,z,V);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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","openWB/general/chargemode_config/pv_charging/max_bat_soc","openWB/bat/config/bat_control_permitted","openWB/bat/get/power_limit_controllable","openWB/bat/config/power_limit_mode"]}},computed:{batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(t){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",t)}}}},$={class:"batteryConfig"},E={name:"batteryConfigForm"},M={key:0},F={key:1},D={key:0},N={key:1},L={key:2},U={key:0},A={key:0},H={key:1},P={key:0},T={key:0},G={key:0},I={key:1},R={key:2},J={key:1};function O(t,e,K,j,Q,u){const g=l("openwb-base-alert"),b=l("font-awesome-icon"),p=l("openwb-base-button-group-input"),c=l("openwb-base-range-input"),h=l("openwb-base-heading"),f=l("openwb-base-number-input"),v=l("openwb-base-card"),w=l("openwb-base-submit-buttons");return o(),s("div",$,[m("form",E,[i(v,{title:"Passive Speicherbeachtung (PV)"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",M,[i(g,{subtype:"info"},{default:r(()=>[...e[13]||(e[13]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),s("div",F,[i(g,{subtype:"info"},{default:r(()=>[...e[14]||(e[14]=[a(' Die Regelmodi der Speicherbeachtung erfolgen "passiv" durch Anpassung der Fahrzeug-Ladeleistung. PV-Überschuss wird, je nach Konfiguration, entweder dem Fahrzeug zugeteilt oder dem Speicher überlassen. Netz- und Speicherbezug wird, sofern nicht anders konfiguriert, vermieden. ',-1)])]),_:1}),i(p,{modelValue:u.batMode,"onUpdate:modelValue":e[0]||(e[0]=n=>u.batMode=n),title:"Ladepriorität",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","car-side"]}),e[15]||(e[15]=a(" Fahrzeuge ",-1))]),"label-bat_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[16]||(e[16]=a(" Speicher ",-1))]),"label-min_soc_bat_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[17]||(e[17]=a(" Nach SoC des Speichers ",-1))]),help:r(()=>[u.batMode==="ev_mode"?(o(),s("div",D," Der gesamte Überschuss wird in das EV geladen. Wird mehr Überschuss erzeugt als die Fahrzeuge abnehmen, findet auch eine Speicherladung statt. ")):d("",!0),u.batMode==="bat_mode"?(o(),s("div",N," Der gesamte Überschuss wird 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. ")):d("",!0),u.batMode==="min_soc_bat_mode"?(o(),s("div",L,' Verhält sich bis zum Erreichen des Mindest-SoC wie "Ladepriorität Speicher" und oberhalb des Mindest-SoC wie "Ladepriorität Fahrzeuge". Die maximale Leistung der Speicherbe- und entladung lässt sich hier festlegen. ')):d("",!0)]),_:1},8,["modelValue"]),u.batMode==="min_soc_bat_mode"?(o(),s("div",U,[i(c,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[1]||(e[1]=n=>(t.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",n),t.updateState("openWB/general/chargemode_config/pv_charging/max_bat_soc",t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"][...e[18]||(e[18]=[a(" Unterhalb des Mindest-SoC wird vorhandener PV-Überschuss bevorzugt in den Speicher geladen. Oberhalb des Mindest-SoC hat die Fahrzeugladung Priorität. ",-1)])]),_:1},8,["model-value"]),i(c,{title:"Maximal-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"],"onUpdate:modelValue":e[2]||(e[2]=n=>(t.updateState("openWB/general/chargemode_config/pv_charging/max_bat_soc",n),t.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"]>t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]?t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]:n)))},{help:r(()=>[...e[19]||(e[19]=[a(" Wird der Maximal-SoC überschritten, darf der Speicher bis zum Erreichen des Mindest-SoC zur Fahrzeugladung mitbenutzt werden. ",-1)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]==t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"]?(o(),_(g,{key:0,subtype:"info"},{default:r(()=>[...e[20]||(e[20]=[a(" Bei identischen SoC Angaben findet keine Speicherhysterese statt. ",-1)])]),_:1})):d("",!0),i(h,null,{default:r(()=>[...e[21]||(e[21]=[a(" Speicher-Ladeleistung unterhalb Mindest-SoC ",-1)])]),_:1}),i(p,{title:"Nur eine bestimmte Ladeleistung reservieren",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/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",n))},S({_:2},[t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?{name:"help",fn:r(()=>[e[22]||(e[22]=a(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten!",-1)),e[23]||(e[23]=m("br",null,null,-1)),e[24]||(e[24]=a(" Befindet sich der Speicher unterhalb des Mindest-SoC, wird er mit der hier eingestellten Speicherladeleistung geladen. Verbleibender Überschuss wird in die Fahrzeuge geladen. ",-1))]),key:"0"}:{name:"help",fn:r(()=>[e[25]||(e[25]=a(" Befindet sich der Speicher unterhalb des Mindest-SoC, wird er priorisiert geladen. ",-1))]),key:"1"}]),1032,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(o(),_(f,{key:1,title:"Reservierte Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",n*1e3))},null,8,["model-value"])):d("",!0),i(h,null,{default:r(()=>[...e[26]||(e[26]=[a(" Speicher-SoC oberhalb Maximal-SoC ",-1)])]),_:1}),i(p,{title:"Entladung des Speichers erlauben",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/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",n))},S({_:2},[t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?{name:"help",fn:r(()=>[e[27]||(e[27]=a(" ACHTUNG: Der hier eingestellte Wert darf die maximale Entadeleistung des Speichers nicht überschreiten! Wird der Maximal-SoC überschritten, wird die PV-Ladung mit der hier eingestellten Speicherentladeleistung unterstützt. Der Speicher darf bis zum Mindest-SoC entladen werden. Die erlaubte Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ",-1))]),key:"0"}:{name:"help",fn:r(()=>[e[28]||(e[28]=a(" Oberhalb des Maximal-SoC wird der Speicher nicht für die Fahrzeugladung mitgenutzt. ",-1))]),key:"1"}]),1032,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(o(),_(f,{key:2,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",n*1e3))},null,8,["model-value"])):d("",!0)])):d("",!0)]))]),_:1}),i(v,{title:"Aktive Speichersteuerung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",A,[i(g,{subtype:"info"},{default:r(()=>[...e[29]||(e[29]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),s("div",H,[i(g,{subtype:"info",class:"mb-3"},{default:r(()=>[e[30]||(e[30]=m("p",null,[a(" Die aktive Speichersteuerung durch openWB basiert auf öffentlich zugänglichen Informationen zu den verschiedenen Speichersystemen. Diese können auch nicht herstellerseitig freigegebene Informationen beinhalten."),m("br"),a(' Fragen bezüglich der Gewährleistung und Hardwarekompatibilität sind vor der Nutzung mit dem Hersteller zu klären. openWB übernimmt keine Haftung für Schäden, welche aus der Nutzung der "aktiven Speichersteuerung" entstehen. ')],-1)),i(p,{title:"Hinweise zur aktiven Speichersteuerung gelesen und akzeptiert",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.updateState("openWB/bat/config/bat_control_permitted",n))},null,8,["model-value"])]),_:1}),t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"]===!0?(o(),s("div",P,[i(h,{class:"mt-0"},{default:r(()=>[...e[31]||(e[31]=[a(" Regelmodi der aktiven Speichersteuerung ",-1)])]),_:1}),i(g,{subtype:"info"},{default:r(()=>[...e[32]||(e[32]=[a(" Die aktive Speichersteuerung kann Speicherentladung in allen Lademodi begrenzen - z.B. Vermeidung von Netzbezug bei Sofortladen. Die erlaubte Entladeleistung des Speichers (Speicherbeachtung PV) wird bei aktiver Speichersteuerung überschrieben, da Speicherentladung aktiv begrenzt wird. ",-1)])]),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(o(),s("div",T,[i(p,{modelValue:t.powerLimit,"onUpdate:modelValue":[e[8]||(e[8]=n=>t.powerLimit=n),e[9]||(e[9]=n=>t.updateState("openWB/bat/config/power_limit_mode",n))],title:"Speichersteuerung",buttons:[{buttonValue:"no_limit",text:"Aus"},{buttonValue:"limit_stop",text:"volle Entladesperre"},{buttonValue:"limit_to_home_consumption",text:"Entladung in Fahrzeuge sperren"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]},{help:r(()=>[t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="no_limit"?(o(),s("div",G," Der Speicher regelt eigenständig und wird nicht gesteuert. Es greift nur die konfigurierte Speicherbeachtung. ")):d("",!0),t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="limit_stop"?(o(),s("div",I," Die Speicherentladung wird komplett gesperrt, sobald ein Fahrzeug lädt! Alle Verbraucher (Fahrzeuge, Hausverbrauch) werden durch Netzstrom versorgt. ")):d("",!0),t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="limit_to_home_consumption"?(o(),s("div",R,' Fahrzeugladung erzeugt Netzbezug statt Speicherentladung. Weitere Verbraucher (bspw. Hausverbrauch) werden durch den Speicher ausgeglichen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "volle Entladesperre". ')):d("",!0)]),_:1},8,["modelValue","model-value"])])):(o(),s("div",J,[i(g,{subtype:"info"},{default:r(()=>[...e[33]||(e[33]=[a(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ",-1)])]),_:1})]))])):d("",!0)]))]),_:1}),i(w,{"form-name":"batteryConfigForm",onSave:e[10]||(e[10]=n=>t.$emit("save")),onReset:e[11]||(e[11]=n=>t.$emit("reset")),onDefaults:e[12]||(e[12]=n=>t.$emit("defaults"))})])])}const re=C(q,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ActiveBatControl.vue"]]);export{re as default}; +import{C as B}from"./index-bbf7119b.js";import{l as W,_ as k,a8 as z,a9 as V,F as y}from"./vendor-fortawesome-641b8eb6.js";import{_ as C,u as l,l as o,m as s,A as m,G as i,E as r,B as a,z as d,x as _,D as S}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";W.add(k,z,V);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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","openWB/general/chargemode_config/pv_charging/max_bat_soc","openWB/bat/config/bat_control_permitted","openWB/bat/get/power_limit_controllable","openWB/bat/config/power_limit_mode"]}},computed:{batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(t){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",t)}}}},$={class:"batteryConfig"},E={name:"batteryConfigForm"},M={key:0},F={key:1},D={key:0},N={key:1},L={key:2},U={key:0},A={key:0},H={key:1},P={key:0},T={key:0},G={key:0},I={key:1},R={key:2},J={key:1};function O(t,e,K,j,Q,u){const g=l("openwb-base-alert"),b=l("font-awesome-icon"),p=l("openwb-base-button-group-input"),c=l("openwb-base-range-input"),h=l("openwb-base-heading"),f=l("openwb-base-number-input"),v=l("openwb-base-card"),w=l("openwb-base-submit-buttons");return o(),s("div",$,[m("form",E,[i(v,{title:"Passive Speicherbeachtung (PV)"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",M,[i(g,{subtype:"info"},{default:r(()=>[...e[13]||(e[13]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),s("div",F,[i(g,{subtype:"info"},{default:r(()=>[...e[14]||(e[14]=[a(' Die Regelmodi der Speicherbeachtung erfolgen "passiv" durch Anpassung der Fahrzeug-Ladeleistung. PV-Überschuss wird, je nach Konfiguration, entweder dem Fahrzeug zugeteilt oder dem Speicher überlassen. Netz- und Speicherbezug wird, sofern nicht anders konfiguriert, vermieden. ',-1)])]),_:1}),i(p,{modelValue:u.batMode,"onUpdate:modelValue":e[0]||(e[0]=n=>u.batMode=n),title:"Ladepriorität",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","car-side"]}),e[15]||(e[15]=a(" Fahrzeuge ",-1))]),"label-bat_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[16]||(e[16]=a(" Speicher ",-1))]),"label-min_soc_bat_mode":r(()=>[i(b,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[17]||(e[17]=a(" Nach SoC des Speichers ",-1))]),help:r(()=>[u.batMode==="ev_mode"?(o(),s("div",D," Der gesamte Überschuss wird in das EV geladen. Wird mehr Überschuss erzeugt als die Fahrzeuge abnehmen, findet auch eine Speicherladung statt. ")):d("",!0),u.batMode==="bat_mode"?(o(),s("div",N," Der gesamte Überschuss wird 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. ")):d("",!0),u.batMode==="min_soc_bat_mode"?(o(),s("div",L,' Verhält sich bis zum Erreichen des Mindest-SoC wie "Ladepriorität Speicher" und oberhalb des Mindest-SoC wie "Ladepriorität Fahrzeuge". Die maximale Leistung der Speicherbe- und entladung lässt sich hier festlegen. ')):d("",!0)]),_:1},8,["modelValue"]),u.batMode==="min_soc_bat_mode"?(o(),s("div",U,[i(c,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[1]||(e[1]=n=>(t.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",n),t.updateState("openWB/general/chargemode_config/pv_charging/max_bat_soc",t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"][...e[18]||(e[18]=[a(" Unterhalb des Mindest-SoC wird vorhandener PV-Überschuss bevorzugt in den Speicher geladen. Oberhalb des Mindest-SoC hat die Fahrzeugladung Priorität. ",-1)])]),_:1},8,["model-value"]),i(c,{title:"Maximal-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"],"onUpdate:modelValue":e[2]||(e[2]=n=>(t.updateState("openWB/general/chargemode_config/pv_charging/max_bat_soc",n),t.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"]>t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]?t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]:n)))},{help:r(()=>[...e[19]||(e[19]=[a(" Wird der Maximal-SoC überschritten, darf der Speicher bis zum Erreichen des Mindest-SoC zur Fahrzeugladung mitbenutzt werden. ",-1)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"]==t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/max_bat_soc"]?(o(),_(g,{key:0,subtype:"info"},{default:r(()=>[...e[20]||(e[20]=[a(" Bei identischen SoC Angaben findet keine Speicherhysterese statt. ",-1)])]),_:1})):d("",!0),i(h,null,{default:r(()=>[...e[21]||(e[21]=[a(" Speicher-Ladeleistung unterhalb Mindest-SoC ",-1)])]),_:1}),i(p,{title:"Nur eine bestimmte Ladeleistung reservieren",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/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",n))},S({_:2},[t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?{name:"help",fn:r(()=>[e[22]||(e[22]=a(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten!",-1)),e[23]||(e[23]=m("br",null,null,-1)),e[24]||(e[24]=a(" Befindet sich der Speicher unterhalb des Mindest-SoC, wird er mit der hier eingestellten Speicherladeleistung geladen. Verbleibender Überschuss wird in die Fahrzeuge geladen. ",-1))]),key:"0"}:{name:"help",fn:r(()=>[e[25]||(e[25]=a(" Befindet sich der Speicher unterhalb des Mindest-SoC, wird er priorisiert geladen. ",-1))]),key:"1"}]),1032,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(o(),_(f,{key:1,title:"Reservierte Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",n*1e3))},null,8,["model-value"])):d("",!0),i(h,null,{default:r(()=>[...e[26]||(e[26]=[a(" Speicher-SoC oberhalb Maximal-SoC ",-1)])]),_:1}),i(p,{title:"Entladung des Speichers erlauben",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/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",n))},S({_:2},[t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?{name:"help",fn:r(()=>[e[27]||(e[27]=a(" ACHTUNG: Der hier eingestellte Wert darf die maximale Entadeleistung des Speichers nicht überschreiten! Wird der Maximal-SoC überschritten, wird die PV-Ladung mit der hier eingestellten Speicherentladeleistung unterstützt. Der Speicher darf bis zum Mindest-SoC entladen werden. Die erlaubte Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ",-1))]),key:"0"}:{name:"help",fn:r(()=>[e[28]||(e[28]=a(" Oberhalb des Maximal-SoC wird der Speicher nicht für die Fahrzeugladung mitgenutzt. ",-1))]),key:"1"}]),1032,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(o(),_(f,{key:2,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",n*1e3))},null,8,["model-value"])):d("",!0)])):d("",!0)]))]),_:1}),i(v,{title:"Aktive Speichersteuerung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",A,[i(g,{subtype:"info"},{default:r(()=>[...e[29]||(e[29]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),s("div",H,[i(g,{subtype:"info",class:"mb-3"},{default:r(()=>[e[30]||(e[30]=m("p",null,[a(" Die aktive Speichersteuerung durch openWB basiert auf öffentlich zugänglichen Informationen zu den verschiedenen Speichersystemen. Diese können auch nicht herstellerseitig freigegebene Informationen beinhalten."),m("br"),a(' Fragen bezüglich der Gewährleistung und Hardwarekompatibilität sind vor der Nutzung mit dem Hersteller zu klären. openWB übernimmt keine Haftung für Schäden, welche aus der Nutzung der "aktiven Speichersteuerung" entstehen. ')],-1)),i(p,{title:"Hinweise zur aktiven Speichersteuerung gelesen und akzeptiert",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.updateState("openWB/bat/config/bat_control_permitted",n))},null,8,["model-value"])]),_:1}),t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"]===!0?(o(),s("div",P,[i(h,{class:"mt-0"},{default:r(()=>[...e[31]||(e[31]=[a(" Regelmodi der aktiven Speichersteuerung ",-1)])]),_:1}),i(g,{subtype:"info"},{default:r(()=>[...e[32]||(e[32]=[a(" Die aktive Speichersteuerung kann Speicherentladung in allen Lademodi begrenzen - z.B. Vermeidung von Netzbezug bei Sofortladen. Die erlaubte Entladeleistung des Speichers (Speicherbeachtung PV) wird bei aktiver Speichersteuerung überschrieben, da Speicherentladung aktiv begrenzt wird. ",-1)])]),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(o(),s("div",T,[i(p,{modelValue:t.powerLimit,"onUpdate:modelValue":[e[8]||(e[8]=n=>t.powerLimit=n),e[9]||(e[9]=n=>t.updateState("openWB/bat/config/power_limit_mode",n))],title:"Speichersteuerung",buttons:[{buttonValue:"no_limit",text:"Aus"},{buttonValue:"limit_stop",text:"volle Entladesperre"},{buttonValue:"limit_to_home_consumption",text:"Entladung in Fahrzeuge sperren"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]},{help:r(()=>[t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="no_limit"?(o(),s("div",G," Der Speicher regelt eigenständig und wird nicht gesteuert. Es greift nur die konfigurierte Speicherbeachtung. ")):d("",!0),t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="limit_stop"?(o(),s("div",I," Die Speicherentladung wird komplett gesperrt, sobald ein Fahrzeug lädt! Alle Verbraucher (Fahrzeuge, Hausverbrauch) werden durch Netzstrom versorgt. ")):d("",!0),t.$store.state.mqtt["openWB/bat/config/power_limit_mode"]==="limit_to_home_consumption"?(o(),s("div",R,' Fahrzeugladung erzeugt Netzbezug statt Speicherentladung. Weitere Verbraucher (bspw. Hausverbrauch) werden durch den Speicher ausgeglichen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "volle Entladesperre". ')):d("",!0)]),_:1},8,["modelValue","model-value"])])):(o(),s("div",J,[i(g,{subtype:"info"},{default:r(()=>[...e[33]||(e[33]=[a(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ",-1)])]),_:1})]))])):d("",!0)]))]),_:1}),i(w,{"form-name":"batteryConfigForm",onSave:e[10]||(e[10]=n=>t.$emit("save")),onReset:e[11]||(e[11]=n=>t.$emit("reset")),onDefaults:e[12]||(e[12]=n=>t.$emit("defaults"))})])])}const re=C(q,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ActiveBatControl.vue"]]);export{re as default}; diff --git a/web/settings/assets/ChargeLog-12d972c5.js b/web/settings/assets/ChargeLog-9451cb11.js similarity index 98% rename from web/settings/assets/ChargeLog-12d972c5.js rename to web/settings/assets/ChargeLog-9451cb11.js index 65d3b69370..6a0e65e171 100644 --- a/web/settings/assets/ChargeLog-12d972c5.js +++ b/web/settings/assets/ChargeLog-9451cb11.js @@ -1,3 +1,3 @@ -import{l as R,a2 as N,a3 as E,F as k}from"./vendor-fortawesome-77ba272b.js";import{_ as B,a1 as S,u as c,l as g,m as h,G as _,E as s,A as i,x as W,z as V,B as d,F as o,P as u,q as w}from"./vendor-1833c026.js";import{C as I}from"./index-25097726.js";import"./vendor-sortablejs-5493eb90.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";R.add(N,E);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:k},mixins:[I],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat(void 0,{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 Laden Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Laden Ende",field:"chargepoint_imported_at_end",sortable:!0},{label:"Entladene Energie",field:"data_exported_since_mode_switch",sortable:!0},{label:"Zähler Entladen Beginn",field:"chargepoint_exported_at_start",sortable:!0},{label:"Zähler Entladen Ende",field:"chargepoint_exported_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:"Entladene Energie",field:"exported_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?null:`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`: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),n=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_exported_at_start:t.chargepoint.exported_at_start,chargepoint_exported_at_end:t.chargepoint.exported_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:n/1e3,time_end:isNaN(n)?null:this.dateTimeFormat.format(new Date(n)),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,data_exported_since_plugged:t.data.exported_since_plugged,data_exported_since_mode_switch:t.data.exported_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"','"Geladene Energie"','"Entladene Energie"','"Reichweite"','"Zählerstand Laden Beginn"','"Zählerstand Laden Ende"','"Zählerstand Entladen Beginn"','"Zählerstand Entladen Ende"','"Energie seit Anstecken"','"Entladene 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_exported_since_mode_switch||0)/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.chargepoint_exported_at_start||0)/1e3,2),this.formatNumber((e.chargepoint_exported_at_end||0)/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2),this.formatNumber((e.data_exported_since_plugged||0)/1e3,2)])].map(e=>e.join(";")).join(` +import{l as R,a2 as N,a3 as E,F as k}from"./vendor-fortawesome-641b8eb6.js";import{_ as B,a1 as S,u as c,l as g,m as h,G as _,E as s,A as i,x as W,z as V,B as d,F as o,P as u,q as w}from"./vendor-50125810.js";import{C as I}from"./index-bbf7119b.js";import"./vendor-sortablejs-8982fad4.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";R.add(N,E);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:k},mixins:[I],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat(void 0,{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 Laden Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Laden Ende",field:"chargepoint_imported_at_end",sortable:!0},{label:"Entladene Energie",field:"data_exported_since_mode_switch",sortable:!0},{label:"Zähler Entladen Beginn",field:"chargepoint_exported_at_start",sortable:!0},{label:"Zähler Entladen Ende",field:"chargepoint_exported_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:"Entladene Energie",field:"exported_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?null:`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`: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),n=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_exported_at_start:t.chargepoint.exported_at_start,chargepoint_exported_at_end:t.chargepoint.exported_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:n/1e3,time_end:isNaN(n)?null:this.dateTimeFormat.format(new Date(n)),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,data_exported_since_plugged:t.data.exported_since_plugged,data_exported_since_mode_switch:t.data.exported_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"','"Geladene Energie"','"Entladene Energie"','"Reichweite"','"Zählerstand Laden Beginn"','"Zählerstand Laden Ende"','"Zählerstand Entladen Beginn"','"Zählerstand Entladen Ende"','"Energie seit Anstecken"','"Entladene 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_exported_since_mode_switch||0)/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.chargepoint_exported_at_start||0)/1e3,2),this.formatNumber((e.chargepoint_exported_at_end||0)/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2),this.formatNumber((e.data_exported_since_plugged||0)/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[,n]of Object.entries(t))e.push({value:n.id,text:n.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[n,f]of Object.entries(t)){let l=parseInt(n.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)),"prio"in this.chargeLogRequestData.filter.vehicle&&this.chargeLogRequestData.filter.vehicle.prio===null&&(this.chargeLogRequestData.filter.vehicle.prio=void 0)},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 n=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?n+"kW":n},formatWh(t,e=!0){let n=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?n+"kWh":n},formatRange(t,e=!0){let n=this.dashIfNotSet(this.formatNumber(t,0));return e?n+"km":n},formatSoc(t,e=!0){let n=this.dashIfNotSet(this.formatNumber(t,0));return e?n+"%":n},formatCosts(t,e=!0){let n=this.dashIfNotSet(this.formatNumber(t,2));return e?n+"€":n},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"Eco":case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},T={class:"chargeLog"},U={key:0},y={key:1},M={name:"chargeLogForm"},P=["href"],Z=["href"],z={key:1},A={class:"td-end"},O={class:"td-end"},j=["title"],K=["aria-valuenow"],Y=["aria-valuenow"],G=["aria-valuenow"],J=["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:"no-wrap"},le={class:"td-end"},de={class:"td-end"},_e={class:"td-end"},ce={class:"td-end"},ge={key:0},he={class:"row justify-content-center"},ue={ref:"downloadChargeLogLink",class:"hide"},me={class:"td-end"},pe={class:"td-end"},fe={class:"td-end"},be={class:"td-end"},ve={class:"td-end"};function Le(t,e,n,f,l,r){const m=c("openwb-base-alert"),D=c("openwb-base-text-input"),b=c("font-awesome-icon"),C=c("openwb-base-button-group-input"),p=c("openwb-base-select-input"),q=c("openwb-base-array-input"),v=c("openwb-base-card"),L=c("vue3-table-lite"),x=c("openwb-base-click-button");return g(),h("div",T,[t.$store.state.mqtt["openWB/general/extern"]===!0?(g(),h("div",U,[_(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)])]),_:1})])):(g(),h("div",y,[i("form",M,[_(v,{title:"Filter"},{default:s(()=>[_(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"]),_(v,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[_(b,{icon:["fas","filter"]}),e[14]||(e[14]=d(" Erweiterte Optionen ",-1))]),default:s(()=>[_(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:null,text:"Alle",class:"btn-outline-info"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),_(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)])]),_:1},8,["modelValue","options"]),_(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)])]),_:1},8,["modelValue","options"]),_(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)])]),_:1},8,["modelValue","options"]),_(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)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),_(m,{subtype:"info"},{default:s(()=>[e[19]||(e[19]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ",-1)),i("a",{href:r.downloadUrlMonth},o(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: ",-1)),i("a",{href:r.downloadUrlYear},o(r.downloadUrlYear),9,Z)]),_:1}),r.chargeLogRead?(g(),h("div",z,[_(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(o(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:s(a=>[d(o(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:s(a=>[i("div",A,o(a.value.time_time_charged),1)]),data_costs:s(a=>[i("div",O,o(r.formatCosts(a.value.data_costs)),1)]),data_power_source:s(a=>[a.value.data_power_source?(g(),h("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:u({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K),i("div",{class:"progress-bar bg-primary",role:"progressbar",style:u({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,Y),i("div",{class:"progress-bar bg-warning",role:"progressbar",style:u({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,G),i("div",{class:"progress-bar bg-success",role:"progressbar",style:u({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J)],8,j)):(g(),h("div",H," - "))]),vehicle_chargemode:s(a=>[i("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},o(a.value.vehicle_chargemode),3)]),vehicle_prio:s(a=>[i("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},o(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:s(a=>[d(o(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:s(a=>[i("div",Q,[i("span",X,o(r.formatSoc(a.value.vehicle_soc_at_start)),1),i("span",$," ("+o(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:s(a=>[i("div",ee,[i("span",te,o(r.formatSoc(a.value.vehicle_soc_at_end)),1),i("span",ae," ("+o(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:s(a=>[d(o(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:s(a=>[d(o(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:s(a=>[i("div",re,[i("span",ie,o(r.formatWh(a.value.data_imported_since_mode_switch)),1),i("span",se," ("+o(r.formatRange(a.value.data_range_charged))+") ",1)])]),data_exported_since_mode_switch:s(a=>[i("div",oe,[i("span",ne,o(r.formatWh(a.value.data_exported_since_mode_switch||0)),1)])]),chargepoint_imported_at_start:s(a=>[i("div",le,o(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:s(a=>[i("div",de,o(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),chargepoint_exported_at_start:s(a=>[i("div",_e,o(r.formatWh(a.value.chargepoint_exported_at_start||0)),1)]),chargepoint_exported_at_end:s(a=>[i("div",ce,o(r.formatWh(a.value.chargepoint_exported_at_end||0)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(g(),h("div",ge,[i("div",he,[_(x,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:s(()=>[e[24]||(e[24]=d(" Als CSV exportieren ",-1)),_(b,{icon:["fas","download"]})]),_:1}),i("a",ue,null,512)]),e[25]||(e[25]=i("div",{class:"row"},[i("div",{class:"col"},[i("h2",null,"Summe")])],-1)),_(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",me,o(a.value.time_charged),1)]),imported_since_mode_switch:s(a=>[i("div",pe,o(r.formatWh(a.value.imported_since_mode_switch)),1)]),exported_since_mode_switch:s(a=>[i("div",fe,o(r.formatWh(a.value.exported_since_mode_switch||0)),1)]),range_charged:s(a=>[i("div",be,o(r.formatRange(a.value.range_charged)),1)]),costs:s(a=>[i("div",ve,o(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):V("",!0)])):(g(),W(m,{key:0,subtype:"info"},{default:s(()=>[...e[23]||(e[23]=[d(" Es wurden noch keine Daten abgerufen. ",-1)])]),_:1}))])]))])}const Ee=B(F,[["render",Le],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{Ee as default}; diff --git a/web/settings/assets/ChargePointInstallation-1fc5b922.js b/web/settings/assets/ChargePointInstallation-1fc5b922.js new file mode 100644 index 0000000000..2a65c96c52 --- /dev/null +++ b/web/settings/assets/ChargePointInstallation-1fc5b922.js @@ -0,0 +1 @@ +import{l as O,ab as j,am as N,G as R,an as Z,ao as $,F as H,d as ee,Q as te,ap as ne,M as ae}from"./vendor-fortawesome-641b8eb6.js";import{_ as B,C as J}from"./index-bbf7119b.js";import{_ as T}from"./dynamic-import-helper-be004503.js";import{_ as z,u as p,l as i,m as u,x as h,E as l,B as s,F as v,G as a,A as m,a2 as M,a3 as F,N as A,q as oe,y as U,z as g,M as E,D as le}from"./vendor-50125810.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})}}},se=z(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[se]},ue={class:"charge-point-config-fallback"},de={key:1};function pe(t,e,c,w,_,n){const y=p("openwb-base-alert"),f=p("openwb-base-textarea");return i(),u("div",ue,[Object.keys(t.chargePoint.configuration).length==0?(i(),h(y,{key:0,subtype:"info"},{default:l(()=>[s(' Der Ladepunkt-Typ "'+v(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(i(),u("div",de,[a(y,{subtype:"warning"},{default:l(()=>[s(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+v(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(f,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:l(()=>[...e[1]||(e[1]=[s(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),a(y,{subtype:"info"},{default:l(()=>[m("pre",null,v(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const me=z(re,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ge={props:{chargePoint:{type:Object,required:!0}}},ce=z(ge,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),be={name:"ChargePointCommandsFallback",mixins:[ce]},fe={class:"charge-point-commands-fallback"};function he(t,e,c,w,_,n){return i(),u("div",fe)}const _e=z(be,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),ke={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),M({loader:()=>T(Object.assign({"./external_openwb/chargePoint.vue":()=>B(()=>import("./chargePoint-163bba28.js"),["assets/chargePoint-163bba28.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>B(()=>import("./chargePoint-89e931b9.js"),["assets/chargePoint-89e931b9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>B(()=>import("./chargePoint-fc2353ce.js"),["assets/chargePoint-fc2353ce.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>B(()=>import("./chargePoint-a9984587.js"),["assets/chargePoint-a9984587.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>B(()=>import("./chargePoint-78210a4e.js"),["assets/chargePoint-78210a4e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>B(()=>import("./chargePoint-2885de97.js"),["assets/chargePoint-2885de97.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>B(()=>import("./chargePoint-84a488de.js"),["assets/chargePoint-84a488de.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:me})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),M({loader:()=>T(Object.assign({"./internal_openwb/commands.vue":()=>B(()=>import("./commands-8c8fccb0.js"),["assets/commands-8c8fccb0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>B(()=>import("./commands-6f8fd55f.js"),["assets/commands-6f8fd55f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:_e})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,c,w,_,n){const y=p("openwb-base-heading");return i(),u(A,null,[a(y,null,{default:l(()=>[s(' Einstellungen für Ladepunkt Typ "'+v(c.chargePoint.type)+'" ',1)]),_:1}),(i(),h(F(n.getChargePointSettingsComponent()),{"charge-point":c.chargePoint,"onUpdate:configuration":e[0]||(e[0]=f=>n.updateConfiguration(f))},null,40,["charge-point"])),e[1]||(e[1]=m("hr",null,null,-1)),a(y,null,{default:l(()=>[s(' Befehle für Ladepunkt Typ "'+v(c.chargePoint.type)+'" ',1)]),_:1}),(i(),h(F(n.getChargePointCommandsComponent()),{"charge-point":c.chargePoint},null,8,["charge-point"]))],64)}const we=z(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);O.add(j,N,R,Z,$);const ye={name:"TemplateAutoLockPlan",components:{FontAwesomeIcon:H},mixins:[J],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0}},emits:["update:modelValue","sendCommand"],data(){return{showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(t){this.$emit("update:modelValue",t)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.templateId,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(t){this.showRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:this.templateId,plan:this.modelValue.id}})}}},Ve={key:0},Le={key:1},Ce={key:2},Be={key:1},We={key:2};function Pe(t,e,c,w,_,n){const y=p("openwb-base-modal-dialog"),f=p("font-awesome-icon"),L=p("openwb-base-avatar"),V=p("openwb-base-text-input"),W=p("openwb-base-button-group-input"),I=p("openwb-base-card");return i(),u(A,null,[a(y,{show:_.showRemoveModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removePlan},{default:l(()=>[s(' Willst Du den Autolock Zeitplan "'+v(n.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),a(I,{title:n.plan.name,collapsible:!0,collapsed:!0},{actions:l(b=>[b.collapsed==!0?(i(),u("span",{key:0,class:oe(["pill clickable",n.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=U(k=>n.plan.active=!n.plan.active,["stop"]))},[a(f,{icon:["fas","clock"]}),s(" "+v(n.plan.time[0])+" - "+v(n.plan.time[1])+" ",1),n.plan.frequency.selected=="once"?(i(),u("span",Ve,[a(f,{icon:["fas","calendar-day"]}),s(" "+v(t.formatDate(n.plan.frequency.once[0])==t.formatDate(n.plan.frequency.once[1])?t.formatDate(n.plan.frequency.once[0]):t.formatDate(n.plan.frequency.once[0])+" - "+t.formatDate(n.plan.frequency.once[1])),1)])):g("",!0),n.plan.frequency.selected=="daily"?(i(),u("span",Le,[a(f,{icon:["fas","calendar-week"]})])):g("",!0),n.plan.frequency.selected=="weekly"?(i(),u("span",Ce,[a(f,{icon:["fas","calendar-alt"]})])):g("",!0)],2)):g("",!0),b.collapsed==!1?(i(),u("span",Be,[a(L,{class:"bg-success clickable",title:"Autolock Zeitplan duplizieren",onClick:e[1]||(e[1]=U(k=>n.copyPlan(),["stop"]))},{default:l(()=>[a(f,{icon:["fas","copy"]})]),_:1}),a(L,{class:"bg-danger clickable ml-1",title:"Autolock Zeitplan löschen",onClick:e[2]||(e[2]=U(k=>n.removePlanModal(),["stop"]))},{default:l(()=>[a(f,{icon:["fas","trash"]})]),_:1})])):g("",!0)]),default:l(()=>[a(V,{modelValue:n.plan.name,"onUpdate:modelValue":e[3]||(e[3]=b=>n.plan.name=b),title:"Bezeichnung"},null,8,["modelValue"]),a(W,{modelValue:n.plan.active,"onUpdate:modelValue":e[4]||(e[4]=b=>n.plan.active=b),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),a(V,{modelValue:n.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=b=>n.plan.time[0]=b),title:"Sperren um",subtype:"time"},null,8,["modelValue"]),a(V,{modelValue:n.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=b=>n.plan.time[1]=b),title:"Freigeben um",subtype:"time"},null,8,["modelValue"]),a(W,{modelValue:n.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=b=>n.plan.frequency.selected=b),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"}]},null,8,["modelValue"]),n.plan.frequency.selected=="once"?(i(),h(V,{key:0,modelValue:n.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=b=>n.plan.frequency.once[0]=b),title:"Sperren ab ...",subtype:"date"},null,8,["modelValue"])):g("",!0),n.plan.frequency.selected=="once"?(i(),h(V,{key:1,modelValue:n.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=b=>n.plan.frequency.once[1]=b),title:"... bis",subtype:"date",min:n.plan.frequency.once[0]},null,8,["modelValue","min"])):g("",!0),n.plan.frequency.selected=="weekly"?(i(),u("div",We,[(i(!0),u(A,null,E(t.weekdays,(b,k)=>(i(),h(W,{key:k,modelValue:n.plan.frequency.weekly[k],"onUpdate:modelValue":C=>n.plan.frequency.weekly[k]=C,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):g("",!0)]),_:1},8,["title"])],64)}const Ae=z(ye,[["render",Pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/TemplateAutoLockPlan.vue"]]);O.add(ee,j,N,R,Z,$,te,ne);const ze={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:H,FontAwesomeLayers:ae,OpenwbChargePointProxy:we,TemplateAutoLockPlan:Ae},mixins:[J],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/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex: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[c,w]of Object.entries(t))(w&&typeof w=="object"&&w.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[c]=w);return e}},chargePointTemplates(){const t=this.getWildcardTopics("openWB/chargepoint/template/+");return Object.fromEntries(Object.entries(t).filter(([,e])=>e&&typeof e=="object"))},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let c=parseInt(e.match(/([0-9]+)/g)[0]),w=this.$store.state.mqtt["openWB/chargepoint/template/"+c].name;t.push({value:c,text:w})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){t.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:e}})},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},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t,e){t.stopPropagation();let c={};e&&(c.copy=this.getChargePointTemplateIndex(e)),this.$emit("sendCommand",{command:"addChargepointTemplate",data:c})},removeChargePointTemplateModal(t,e){t.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}})},addChargePointTemplateAutolockPlan(t){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.getChargePointTemplateIndex(t)}})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ie={class:"chargePointInstallation"},De={name:"chargePointInstallationForm"},Ue={key:0},Ee={key:2},xe={key:0},Se={key:0,class:"border-secondary"},qe={key:0},Te={key:1},Me={key:1},Fe={key:0},Oe={key:0},je={key:1},Ne={key:2},Re={key:1},Ze={key:0},$e={key:2},He={key:4};function Je(t,e,c,w,_,n){const y=p("openwb-base-modal-dialog"),f=p("font-awesome-icon"),L=p("openwb-base-alert"),V=p("openwb-base-avatar"),W=p("openwb-base-text-input"),I=p("openwb-base-select-input"),b=p("openwb-charge-point-proxy"),k=p("openwb-base-heading"),C=p("openwb-base-button-group-input"),D=p("openwb-base-card"),G=p("font-awesome-layers"),S=p("router-link"),Q=p("openwb-base-array-input"),q=p("openwb-base-range-input"),X=p("openwb-base-number-input"),Y=p("template-auto-lock-plan"),K=p("openwb-base-submit-buttons");return i(),u(A,null,[a(y,{show:_.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>n.removeChargePoint(o,_.modalChargePointIndex))},{default:l(()=>[s(' Willst Du den Ladepunkt "'+v(n.getChargePointName(_.modalChargePointIndex))+'" (ID: '+v(_.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(y,{show:_.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>n.removeChargePointTemplate(o,_.modalChargePointTemplateIndex))},{default:l(()=>[s(' Willst Du das Ladepunkt-Profil "'+v(n.getChargePointTemplateName(_.modalChargePointTemplateIndex))+'" (ID: '+v(_.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),m("div",Ie,[m("form",De,[a(D,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!c.installAssistantActive},{header:l(()=>[a(f,{icon:["fas","charging-station"]}),e[7]||(e[7]=s(" Ladepunkte ",-1))]),default:l(()=>[a(L,{subtype:"info"},{default:l(()=>[...e[8]||(e[8]=[s(" Eine detaillierte Anleitung zur Einrichtung der Ladepunkte findet sich in unserem ",-1),m("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:konfiguration:ladepunkte:openwb",target:"_blank",rel:"noopener noreferrer"},"Wiki",-1),s(" . ",-1)])]),_:1}),(i(!0),u(A,null,E(n.installedChargePoints,(o,d)=>(i(),h(D,{key:d,title:(o==null?void 0:o.name)+" (ID: "+(o==null?void 0:o.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:l(r=>[r.collapsed?g("",!0):(i(),h(V,{key:0,class:"bg-danger clickable",title:"Ladepunkt löschen",onClick:P=>n.removeChargePointModal(P,d)},{default:l(()=>[a(f,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:l(()=>[a(W,{title:"Bezeichnung",subtype:"text","model-value":o==null?void 0:o.name,"onUpdate:modelValue":r=>t.updateState(d,r,"name")},null,8,["model-value","onUpdate:modelValue"]),a(W,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[d].type},null,8,["model-value"]),(o==null?void 0:o.type)!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),u("span",Ue,[a(I,{title:"Ladepunkt-Profil",options:n.chargePointTemplateList,"model-value":t.$store.state.mqtt[d].template,"onUpdate:modelValue":r=>t.updateState(d,r,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(i(),h(W,{key:1,title:"OCPP-Chargebox ID","model-value":o==null?void 0:o.ocpp_chargebox_id,"onUpdate:modelValue":r=>t.updateState(d,r,"ocpp_chargebox_id")},{help:l(()=>[...e[9]||(e[9]=[s(" Bitte gib 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):g("",!0),e[15]||(e[15]=m("hr",null,null,-1)),a(b,{"charge-point":o,"onUpdate:configuration":r=>n.updateConfiguration(d,r)},null,8,["charge-point","onUpdate:configuration"]),((o==null?void 0:o.type)!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&(o==null?void 0:o.charging_type)!=="DC"?(i(),u("div",Ee,[e[14]||(e[14]=m("hr",null,null,-1)),a(k,null,{default:l(()=>[...e[10]||(e[10]=[s(" Hardware-Optionen ",-1)])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o==null?void 0:o.auto_phase_switch_hw,"onUpdate:modelValue":r=>t.updateState(d,r,"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":o==null?void 0:o.control_pilot_interruption_hw,"onUpdate:modelValue":r=>t.updateState(d,r,"control_pilot_interruption_hw")},{help:l(()=>[...e[11]||(e[11]=[s(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(k,null,{default:l(()=>[...e[12]||(e[12]=[s(" Elektrischer Anschluss ",-1)])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o==null?void 0:o.connected_phases,"onUpdate:modelValue":r=>t.updateState(d,r,"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":o==null?void 0:o.phase_1,"onUpdate:modelValue":r=>t.updateState(d,r,"phase_1")},{help:l(()=>[...e[13]||(e[13]=[s(" 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.",-1),m("br",null,null,-1),s(' 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.',-1),m("br",null,null,-1),s(" 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).",-1),m("br",null,null,-1),s(" 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.",-1),m("br",null,null,-1),s(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(n.installedChargePoints).length>0?(i(),u("hr",xe)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:n.getChargePointList(),"model-value":_.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=o=>_.chargePointToAdd=o),"onInput:add":n.addChargePoint},{help:l(()=>[...e[16]||(e[16]=[s(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll.",-1),m("br",null,null,-1),m("ul",null,[m("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 "),m("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),m("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),m("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),m("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),m("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"]),t.$store.state.mqtt["openWB/general/extern"]==!1||!c.installAssistantActive?(i(),u("hr",Se)):g("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1||!c.installAssistantActive?(i(),h(D,{key:1,title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:l(()=>[a(G,{class:"fa-lg"},{default:l(()=>[a(f,{icon:["far","file"]}),a(f,{icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[17]||(e[17]=s(" Ladepunkt-Profile ",-1))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),h(V,{key:0,class:"bg-success clickable",title:"Neues Ladepunkt-Profil anlegen",onClick:n.addChargePointTemplate},{default:l(()=>[a(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",qe,[a(L,{subtype:"info"},{default:l(()=>[...e[18]||(e[18]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(i(),u("div",Te,[(i(!0),u(A,null,E(n.chargePointTemplates,(o,d)=>(i(),h(D,{key:d,title:`${o.name} (ID: ${n.getChargePointTemplateIndex(d)})`,collapsible:!0,collapsed:!0},{actions:l(r=>[r.collapsed==!1?(i(),h(V,{key:0,class:"bg-success clickable",title:"Ladepunkt-Profil duplizieren",onClick:P=>n.addChargePointTemplate(P,d)},{default:l(()=>[a(f,{icon:["fas","copy"]})]),_:1},8,["onClick"])):g("",!0),r.collapsed==!1&&!d.endsWith("/0")?(i(),h(V,{key:1,class:"bg-danger clickable ml-1",title:"Ladepunkt-Profil löschen",onClick:P=>n.removeChargePointTemplateModal(P,d)},{default:l(()=>[a(f,{icon:["fas","trash"]})]),_:1},8,["onClick"])):g("",!0)]),default:l(()=>[a(W,{title:"Bezeichnung",subtype:"text","model-value":o.name,disabled:d.endsWith("/0"),"onUpdate:modelValue":r=>t.updateState(d,r,"name")},le({_:2},[d.endsWith("/0")?{name:"help",fn:l(()=>[e[19]||(e[19]=s(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),n.dcChargingEnabled===!0?(i(),h(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":o.charging_type,"onUpdate:modelValue":r=>t.updateState(d,r,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[39]||(e[39]=m("hr",null,null,-1)),c.installAssistantActive?g("",!0):(i(),u("div",Me,[a(k,null,{default:l(()=>[...e[20]||(e[20]=[s(" Zugangskontrolle ",-1)])]),_:1}),o.valid_tags.length>0?(i(),u("div",Fe,[a(L,{subtype:"info"},{default:l(()=>[e[22]||(e[22]=s(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(S,{to:"/IdentificationConfig"},{default:l(()=>[...e[21]||(e[21]=[s(" Einstellungen - Identifikation ",-1)])]),_:1}),e[23]||(e[23]=s(". ",-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&o.disable_after_unplug?(i(),u("div",Oe," Ladepunkte mit diesem Profil werden automatisch beim Abstecken eines Fahrzeugs gesperrt und müssen für den nächsten Ladevorgang mit einem ID-Tag entsperrt werden. ")):t.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(i(),u("div",je," Die Zugangskontrolle ist aktuell deaktiviert. ")):(i(),u("div",Ne," Die Zugangskontrolle ist aktiviert, jedoch werden Ladepunkte mit diesem Profil nicht automatisch nach dem Abstecken eines Fahrzeugs gesperrt. "))]),_:2},1024),a(Q,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.",readonly:!0,"model-value":o.valid_tags},{help:l(()=>[...e[24]||(e[24]=[s(" Hier werden die ID-Tags aufgelistet, welche diesem Ladepunkt-Profil zugeordnet sind. Nur mit diesen ID-Tags können Ladepunkte, denen dieses Profil zugeordnet ist, entsperrt werden. ",-1)])]),_:1},8,["model-value"])])):(i(),u("div",Re,[a(L,{subtype:"info"},{default:l(()=>[e[26]||(e[26]=s(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(S,{to:"/IdentificationConfig"},{default:l(()=>[...e[25]||(e[25]=[s(" Einstellungen - Identifikation ",-1)])]),_:1}),e[27]||(e[27]=s(".",-1)),e[28]||(e[28]=m("br",null,null,-1)),e[29]||(e[29]=s(" Dem Ladepunkt-Profil sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1})]))])),e[40]||(e[40]=m("hr",null,null,-1)),a(k,null,{default:l(()=>[...e[30]||(e[30]=[s(" Angaben zum konfigurierten Ladestrom der openWB ",-1)])]),_:1}),a(L,{subtype:"info"},{default:l(()=>[e[31]||(e[31]=s(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.",-1)),e[32]||(e[32]=m("br",null,null,-1)),e[33]||(e[33]=s(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ",-1)),o.charging_type==="AC"?(i(),u("span",Ze," 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)]),_:2},1024),o.charging_type==="AC"||n.dcChargingEnabled!==!0?(i(),u("div",$e,[a(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":r=>t.updateState(d,r,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":r=>t.updateState(d,r,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(i(),h(X,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":r=>t.updateState(d,t.dc_power2ac_current(r),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),c.installAssistantActive?g("",!0):(i(),u("div",He,[e[38]||(e[38]=m("hr",null,null,-1)),a(k,null,{default:l(()=>[...e[34]||(e[34]=[s(" Sperren nach Uhrzeit (Komplettsperrung - Freischaltung per Identifikation möglich) ",-1)])]),_:1}),a(C,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.autolock.active,"onUpdate:modelValue":r=>t.updateState(d,r,"autolock.active")},{help:l(()=>[...e[35]||(e[35]=[s(" 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.autolock.wait_for_charging_end,"onUpdate:modelValue":r=>t.updateState(d,r,"autolock.wait_for_charging_end")},{help:l(()=>[...e[36]||(e[36]=[s(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(k,null,{actions:l(()=>[a(V,{class:"bg-success clickable",title:"Neuen Autolock Zeitplan anlegen",onClick:U(r=>n.addChargePointTemplateAutolockPlan(d),["stop"])},{default:l(()=>[a(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:l(()=>[e[37]||(e[37]=s(" Zeitpläne für Sperren nach Uhrzeit ",-1))]),_:2},1024)])),(i(!0),u(A,null,E(o.autolock.plans,(r,P)=>(i(),h(Y,{key:P,"model-value":r,"template-id":o.id,"onUpdate:modelValue":x=>t.updateState(d,x,`autolock.plans.${P}`),onSendCommand:e[3]||(e[3]=x=>t.$emit("sendCommand",x))},null,8,["model-value","template-id","onUpdate:modelValue"]))),128))]),_:2},1032,["title"]))),128))]))]),_:1})):g("",!0),a(K,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=o=>t.$emit("save")),onReset:e[5]||(e[5]=o=>t.$emit("reset")),onDefaults:e[6]||(e[6]=o=>t.$emit("defaults"))})])])],64)}const Ge=z(ze,[["render",Je],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),et=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"}));export{se as C,ce as a,Ge as b,et as c}; diff --git a/web/settings/assets/ChargePointInstallation-9dd020bc.js b/web/settings/assets/ChargePointInstallation-9dd020bc.js deleted file mode 100644 index 5968d293e2..0000000000 --- a/web/settings/assets/ChargePointInstallation-9dd020bc.js +++ /dev/null @@ -1 +0,0 @@ -import{l as O,ab as N,am as R,G as Z,an as j,ao as $,F as H,d as ee,Q as te,ap as ne,M as ae}from"./vendor-fortawesome-77ba272b.js";import{_ as L,C as J}from"./index-25097726.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as z,u as p,l,m as u,x as h,E as o,B as i,F as v,G as a,A as m,a2 as T,a3 as F,N as A,q as oe,y as U,z as g,M as E,D as le}from"./vendor-1833c026.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})}}},se=z(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[se]},ue={class:"charge-point-config-fallback"},de={key:1};function pe(t,e,c,P,_,n){const w=p("openwb-base-alert"),f=p("openwb-base-textarea");return l(),u("div",ue,[Object.keys(t.chargePoint.configuration).length==0?(l(),h(w,{key:0,subtype:"info"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+v(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),u("div",de,[a(w,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+v(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(f,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=C=>t.updateConfiguration(C,"configuration"))},{help:o(()=>[...e[1]||(e[1]=[i(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),a(w,{subtype:"info"},{default:o(()=>[m("pre",null,v(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const me=z(re,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ge={props:{chargePoint:{type:Object,required:!0}}},ce=z(ge,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),be={name:"ChargePointCommandsFallback",mixins:[ce]},fe={class:"charge-point-commands-fallback"};function he(t,e,c,P,_,n){return l(),u("div",fe)}const _e=z(be,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),ke={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./external_openwb/chargePoint.vue":()=>L(()=>import("./chargePoint-99e7b333.js"),["assets/chargePoint-99e7b333.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>L(()=>import("./chargePoint-e5dd91aa.js"),["assets/chargePoint-e5dd91aa.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>L(()=>import("./chargePoint-990c52e7.js"),["assets/chargePoint-990c52e7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>L(()=>import("./chargePoint-59c7868c.js"),["assets/chargePoint-59c7868c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>L(()=>import("./chargePoint-8442dbfc.js"),["assets/chargePoint-8442dbfc.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>L(()=>import("./chargePoint-f67a5db3.js"),["assets/chargePoint-f67a5db3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>L(()=>import("./chargePoint-49b53f1d.js"),["assets/chargePoint-49b53f1d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:me})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./internal_openwb/commands.vue":()=>L(()=>import("./commands-e17b45d5.js"),["assets/commands-e17b45d5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>L(()=>import("./commands-0b9f0b08.js"),["assets/commands-0b9f0b08.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:_e})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,c,P,_,n){const w=p("openwb-base-heading");return l(),u(A,null,[a(w,null,{default:o(()=>[i(' Einstellungen für Ladepunkt Typ "'+v(c.chargePoint.type)+'" ',1)]),_:1}),(l(),h(F(n.getChargePointSettingsComponent()),{"charge-point":c.chargePoint,"onUpdate:configuration":e[0]||(e[0]=f=>n.updateConfiguration(f))},null,40,["charge-point"])),e[1]||(e[1]=m("hr",null,null,-1)),a(w,null,{default:o(()=>[i(' Befehle für Ladepunkt Typ "'+v(c.chargePoint.type)+'" ',1)]),_:1}),(l(),h(F(n.getChargePointCommandsComponent()),{"charge-point":c.chargePoint},null,8,["charge-point"]))],64)}const we=z(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);O.add(N,R,Z,j,$);const ye={name:"TemplateAutoLockPlan",components:{FontAwesomeIcon:H},mixins:[J],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0}},emits:["update:modelValue","sendCommand"],data(){return{showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(t){this.$emit("update:modelValue",t)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.templateId,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(t){this.showRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:this.templateId,plan:this.modelValue.id}})}}},Ce={key:0},Pe={key:1},Ve={key:2},Le={key:1},Be={key:2};function We(t,e,c,P,_,n){const w=p("openwb-base-modal-dialog"),f=p("font-awesome-icon"),C=p("openwb-base-avatar"),y=p("openwb-base-text-input"),B=p("openwb-base-button-group-input"),I=p("openwb-base-card");return l(),u(A,null,[a(w,{show:_.showRemoveModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removePlan},{default:o(()=>[i(' Willst Du den Autolock Zeitplan "'+v(n.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),a(I,{title:n.plan.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(l(),u("span",{key:0,class:oe(["pill clickable",n.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=U(k=>n.plan.active=!n.plan.active,["stop"]))},[a(f,{icon:["fas","clock"]}),i(" "+v(n.plan.time[0])+" - "+v(n.plan.time[1])+" ",1),n.plan.frequency.selected=="once"?(l(),u("span",Ce,[a(f,{icon:["fas","calendar-day"]}),i(" "+v(t.formatDate(n.plan.frequency.once[0])==t.formatDate(n.plan.frequency.once[1])?t.formatDate(n.plan.frequency.once[0]):t.formatDate(n.plan.frequency.once[0])+" - "+t.formatDate(n.plan.frequency.once[1])),1)])):g("",!0),n.plan.frequency.selected=="daily"?(l(),u("span",Pe,[a(f,{icon:["fas","calendar-week"]})])):g("",!0),n.plan.frequency.selected=="weekly"?(l(),u("span",Ve,[a(f,{icon:["fas","calendar-alt"]})])):g("",!0)],2)):g("",!0),b.collapsed==!1?(l(),u("span",Le,[a(C,{class:"bg-success clickable",title:"Autolock Zeitplan duplizieren",onClick:e[1]||(e[1]=U(k=>n.copyPlan(),["stop"]))},{default:o(()=>[a(f,{icon:["fas","copy"]})]),_:1}),a(C,{class:"bg-danger clickable ml-1",title:"Autolock Zeitplan löschen",onClick:e[2]||(e[2]=U(k=>n.removePlanModal(),["stop"]))},{default:o(()=>[a(f,{icon:["fas","trash"]})]),_:1})])):g("",!0)]),default:o(()=>[a(y,{modelValue:n.plan.name,"onUpdate:modelValue":e[3]||(e[3]=b=>n.plan.name=b),title:"Bezeichnung"},null,8,["modelValue"]),a(B,{modelValue:n.plan.active,"onUpdate:modelValue":e[4]||(e[4]=b=>n.plan.active=b),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),a(y,{modelValue:n.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=b=>n.plan.time[0]=b),title:"Sperren um",subtype:"time"},null,8,["modelValue"]),a(y,{modelValue:n.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=b=>n.plan.time[1]=b),title:"Freigeben um",subtype:"time"},null,8,["modelValue"]),a(B,{modelValue:n.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=b=>n.plan.frequency.selected=b),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"}]},null,8,["modelValue"]),n.plan.frequency.selected=="once"?(l(),h(y,{key:0,modelValue:n.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=b=>n.plan.frequency.once[0]=b),title:"Sperren ab ...",subtype:"date"},null,8,["modelValue"])):g("",!0),n.plan.frequency.selected=="once"?(l(),h(y,{key:1,modelValue:n.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=b=>n.plan.frequency.once[1]=b),title:"... bis",subtype:"date",min:n.plan.frequency.once[0]},null,8,["modelValue","min"])):g("",!0),n.plan.frequency.selected=="weekly"?(l(),u("div",Be,[(l(!0),u(A,null,E(t.weekdays,(b,k)=>(l(),h(B,{key:k,modelValue:n.plan.frequency.weekly[k],"onUpdate:modelValue":V=>n.plan.frequency.weekly[k]=V,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):g("",!0)]),_:1},8,["title"])],64)}const Ae=z(ye,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/TemplateAutoLockPlan.vue"]]);O.add(ee,N,R,Z,j,$,te,ne);const ze={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:H,FontAwesomeLayers:ae,OpenwbChargePointProxy:we,TemplateAutoLockPlan:Ae},mixins:[J],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/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex: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[c,P]of Object.entries(t))(P.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[c]=P);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let c=parseInt(e.match(/([0-9]+)/g)[0]),P=this.$store.state.mqtt["openWB/chargepoint/template/"+c].name;t.push({value:c,text:P})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){t.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:e}})},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},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t,e){t.stopPropagation();let c={};e&&(c.copy=this.getChargePointTemplateIndex(e)),this.$emit("sendCommand",{command:"addChargepointTemplate",data:c})},removeChargePointTemplateModal(t,e){t.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}})},addChargePointTemplateAutolockPlan(t){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.getChargePointTemplateIndex(t)}})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ie={class:"chargePointInstallation"},De={name:"chargePointInstallationForm"},Ue={key:0},Ee={key:2},xe={key:0},Se={key:0,class:"border-secondary"},qe={key:0},Me={key:1},Te={key:1},Fe={key:0},Oe={key:0},Ne={key:1},Re={key:2},Ze={key:1},je={key:0},$e={key:2},He={key:4};function Je(t,e,c,P,_,n){const w=p("openwb-base-modal-dialog"),f=p("font-awesome-icon"),C=p("openwb-base-alert"),y=p("openwb-base-avatar"),B=p("openwb-base-text-input"),I=p("openwb-base-select-input"),b=p("openwb-charge-point-proxy"),k=p("openwb-base-heading"),V=p("openwb-base-button-group-input"),D=p("openwb-base-card"),G=p("font-awesome-layers"),S=p("router-link"),Q=p("openwb-base-array-input"),q=p("openwb-base-range-input"),X=p("openwb-base-number-input"),Y=p("template-auto-lock-plan"),K=p("openwb-base-submit-buttons");return l(),u(A,null,[a(w,{show:_.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=s=>n.removeChargePoint(s,_.modalChargePointIndex))},{default:o(()=>[i(' Willst Du den Ladepunkt "'+v(n.getChargePointName(_.modalChargePointIndex))+'" (ID: '+v(_.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(w,{show:_.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=s=>n.removeChargePointTemplate(s,_.modalChargePointTemplateIndex))},{default:o(()=>[i(' Willst Du das Ladepunkt-Profil "'+v(n.getChargePointTemplateName(_.modalChargePointTemplateIndex))+'" (ID: '+v(_.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),m("div",Ie,[m("form",De,[a(D,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!c.installAssistantActive},{header:o(()=>[a(f,{icon:["fas","charging-station"]}),e[7]||(e[7]=i(" Ladepunkte ",-1))]),default:o(()=>[a(C,{subtype:"info"},{default:o(()=>[...e[8]||(e[8]=[i(" Eine detaillierte Anleitung zur Einrichtung der Ladepunkte findet sich in unserem ",-1),m("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:konfiguration:ladepunkte:openwb",target:"_blank",rel:"noopener noreferrer"},"Wiki",-1),i(" . ",-1)])]),_:1}),(l(!0),u(A,null,E(n.installedChargePoints,(s,d)=>(l(),h(D,{key:d,title:s.name+" (ID: "+s.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(r=>[r.collapsed?g("",!0):(l(),h(y,{key:0,class:"bg-danger clickable",title:"Ladepunkt löschen",onClick:W=>n.removeChargePointModal(W,d)},{default:o(()=>[a(f,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:o(()=>[a(B,{title:"Bezeichnung",subtype:"text","model-value":s.name,"onUpdate:modelValue":r=>t.updateState(d,r,"name")},null,8,["model-value","onUpdate:modelValue"]),a(B,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[d].type},null,8,["model-value"]),s.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),u("span",Ue,[a(I,{title:"Ladepunkt-Profil",options:n.chargePointTemplateList,"model-value":t.$store.state.mqtt[d].template,"onUpdate:modelValue":r=>t.updateState(d,r,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),h(B,{key:1,title:"OCPP-Chargebox ID","model-value":s.ocpp_chargebox_id,"onUpdate:modelValue":r=>t.updateState(d,r,"ocpp_chargebox_id")},{help:o(()=>[...e[9]||(e[9]=[i(" Bitte gib 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):g("",!0),e[15]||(e[15]=m("hr",null,null,-1)),a(b,{"charge-point":s,"onUpdate:configuration":r=>n.updateConfiguration(d,r)},null,8,["charge-point","onUpdate:configuration"]),(s.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&s.charging_type!=="DC"?(l(),u("div",Ee,[e[14]||(e[14]=m("hr",null,null,-1)),a(k,null,{default:o(()=>[...e[10]||(e[10]=[i(" Hardware-Optionen ",-1)])]),_:1}),a(V,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.auto_phase_switch_hw,"onUpdate:modelValue":r=>t.updateState(d,r,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(V,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.control_pilot_interruption_hw,"onUpdate:modelValue":r=>t.updateState(d,r,"control_pilot_interruption_hw")},{help:o(()=>[...e[11]||(e[11]=[i(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(k,null,{default:o(()=>[...e[12]||(e[12]=[i(" Elektrischer Anschluss ",-1)])]),_:1}),a(V,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":s.connected_phases,"onUpdate:modelValue":r=>t.updateState(d,r,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(V,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":s.phase_1,"onUpdate:modelValue":r=>t.updateState(d,r,"phase_1")},{help:o(()=>[...e[13]||(e[13]=[i(" 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.",-1),m("br",null,null,-1),i(' 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.',-1),m("br",null,null,-1),i(" 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).",-1),m("br",null,null,-1),i(" 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.",-1),m("br",null,null,-1),i(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(n.installedChargePoints).length>0?(l(),u("hr",xe)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:n.getChargePointList(),"model-value":_.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=s=>_.chargePointToAdd=s),"onInput:add":n.addChargePoint},{help:o(()=>[...e[16]||(e[16]=[i(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll.",-1),m("br",null,null,-1),m("ul",null,[m("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 "),m("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),m("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),m("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),m("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),m("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"]),t.$store.state.mqtt["openWB/general/extern"]==!1||!c.installAssistantActive?(l(),u("hr",Se)):g("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1||!c.installAssistantActive?(l(),h(D,{key:1,title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(G,{class:"fa-lg"},{default:o(()=>[a(f,{icon:["far","file"]}),a(f,{icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[17]||(e[17]=i(" Ladepunkt-Profile ",-1))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),h(y,{key:0,class:"bg-success clickable",title:"Neues Ladepunkt-Profil anlegen",onClick:n.addChargePointTemplate},{default:o(()=>[a(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",qe,[a(C,{subtype:"info"},{default:o(()=>[...e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(l(),u("div",Me,[(l(!0),u(A,null,E(n.chargePointTemplates,(s,d)=>(l(),h(D,{key:d,title:`${s.name} (ID: ${n.getChargePointTemplateIndex(d)})`,collapsible:!0,collapsed:!0},{actions:o(r=>[r.collapsed==!1?(l(),h(y,{key:0,class:"bg-success clickable",title:"Ladepunkt-Profil duplizieren",onClick:W=>n.addChargePointTemplate(W,d)},{default:o(()=>[a(f,{icon:["fas","copy"]})]),_:1},8,["onClick"])):g("",!0),r.collapsed==!1&&!d.endsWith("/0")?(l(),h(y,{key:1,class:"bg-danger clickable ml-1",title:"Ladepunkt-Profil löschen",onClick:W=>n.removeChargePointTemplateModal(W,d)},{default:o(()=>[a(f,{icon:["fas","trash"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[a(B,{title:"Bezeichnung",subtype:"text","model-value":s.name,disabled:d.endsWith("/0"),"onUpdate:modelValue":r=>t.updateState(d,r,"name")},le({_:2},[d.endsWith("/0")?{name:"help",fn:o(()=>[e[19]||(e[19]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),n.dcChargingEnabled===!0?(l(),h(V,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":s.charging_type,"onUpdate:modelValue":r=>t.updateState(d,r,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[39]||(e[39]=m("hr",null,null,-1)),c.installAssistantActive?g("",!0):(l(),u("div",Te,[a(k,null,{default:o(()=>[...e[20]||(e[20]=[i(" Zugangskontrolle ",-1)])]),_:1}),s.valid_tags.length>0?(l(),u("div",Fe,[a(C,{subtype:"info"},{default:o(()=>[e[22]||(e[22]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(S,{to:"/IdentificationConfig"},{default:o(()=>[...e[21]||(e[21]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[23]||(e[23]=i(". ",-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&s.disable_after_unplug?(l(),u("div",Oe," Ladepunkte mit diesem Profil werden automatisch beim Abstecken eines Fahrzeugs gesperrt und müssen für den nächsten Ladevorgang mit einem ID-Tag entsperrt werden. ")):t.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(l(),u("div",Ne," Die Zugangskontrolle ist aktuell deaktiviert. ")):(l(),u("div",Re," Die Zugangskontrolle ist aktiviert, jedoch werden Ladepunkte mit diesem Profil nicht automatisch nach dem Abstecken eines Fahrzeugs gesperrt. "))]),_:2},1024),a(Q,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.",readonly:!0,"model-value":s.valid_tags},{help:o(()=>[...e[24]||(e[24]=[i(" Hier werden die ID-Tags aufgelistet, welche diesem Ladepunkt-Profil zugeordnet sind. Nur mit diesen ID-Tags können Ladepunkte, denen dieses Profil zugeordnet ist, entsperrt werden. ",-1)])]),_:1},8,["model-value"])])):(l(),u("div",Ze,[a(C,{subtype:"info"},{default:o(()=>[e[26]||(e[26]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(S,{to:"/IdentificationConfig"},{default:o(()=>[...e[25]||(e[25]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[27]||(e[27]=i(".",-1)),e[28]||(e[28]=m("br",null,null,-1)),e[29]||(e[29]=i(" Dem Ladepunkt-Profil sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1})]))])),e[40]||(e[40]=m("hr",null,null,-1)),a(k,null,{default:o(()=>[...e[30]||(e[30]=[i(" Angaben zum konfigurierten Ladestrom der openWB ",-1)])]),_:1}),a(C,{subtype:"info"},{default:o(()=>[e[31]||(e[31]=i(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.",-1)),e[32]||(e[32]=m("br",null,null,-1)),e[33]||(e[33]=i(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ",-1)),s.charging_type==="AC"?(l(),u("span",je," 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)]),_:2},1024),s.charging_type==="AC"||n.dcChargingEnabled!==!0?(l(),u("div",$e,[a(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":s.max_current_single_phase,"onUpdate:modelValue":r=>t.updateState(d,r,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":s.max_current_multi_phases,"onUpdate:modelValue":r=>t.updateState(d,r,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),h(X,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(s.dc_max_current),"onUpdate:modelValue":r=>t.updateState(d,t.dc_power2ac_current(r),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),c.installAssistantActive?g("",!0):(l(),u("div",He,[e[38]||(e[38]=m("hr",null,null,-1)),a(k,null,{default:o(()=>[...e[34]||(e[34]=[i(" Sperren nach Uhrzeit (Komplettsperrung - Freischaltung per Identifikation möglich) ",-1)])]),_:1}),a(V,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.active,"onUpdate:modelValue":r=>t.updateState(d,r,"autolock.active")},{help:o(()=>[...e[35]||(e[35]=[i(" 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(V,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.wait_for_charging_end,"onUpdate:modelValue":r=>t.updateState(d,r,"autolock.wait_for_charging_end")},{help:o(()=>[...e[36]||(e[36]=[i(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(k,null,{actions:o(()=>[a(y,{class:"bg-success clickable",title:"Neuen Autolock Zeitplan anlegen",onClick:U(r=>n.addChargePointTemplateAutolockPlan(d),["stop"])},{default:o(()=>[a(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:o(()=>[e[37]||(e[37]=i(" Zeitpläne für Sperren nach Uhrzeit ",-1))]),_:2},1024)])),(l(!0),u(A,null,E(s.autolock.plans,(r,W)=>(l(),h(Y,{key:W,"model-value":r,"template-id":s.id,"onUpdate:modelValue":x=>t.updateState(d,x,`autolock.plans.${W}`),onSendCommand:e[3]||(e[3]=x=>t.$emit("sendCommand",x))},null,8,["model-value","template-id","onUpdate:modelValue"]))),128))]),_:2},1032,["title"]))),128))]))]),_:1})):g("",!0),a(K,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=s=>t.$emit("save")),onReset:e[5]||(e[5]=s=>t.$emit("reset")),onDefaults:e[6]||(e[6]=s=>t.$emit("defaults"))})])])],64)}const Ge=z(ze,[["render",Je],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),et=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"}));export{se as C,ce as a,Ge as b,et as c}; diff --git a/web/settings/assets/Chart-ccf0c887.js b/web/settings/assets/Chart-04006694.js similarity index 98% rename from web/settings/assets/Chart-ccf0c887.js rename to web/settings/assets/Chart-04006694.js index 2d39bf57d6..49b9471563 100644 --- a/web/settings/assets/Chart-ccf0c887.js +++ b/web/settings/assets/Chart-04006694.js @@ -1 +1 @@ -import{l as $,Q as j,_ as O,Z as V,Y as z,a4 as M,a5 as q,F as E}from"./vendor-fortawesome-77ba272b.js";import{C as P}from"./index-25097726.js";import{C as B,p as F,a as N,L as K,b as Z,B as G,f as J,P as X,c as Y,T as U,i as Q,d as ee,e as te,g as ae}from"./vendor-chartjs-93e80b58.js";import{_ as D,l as o,m as l,N as _,M as f,q as A,A as g,F as v,u as c,x as y,n as re,G as p,E as h,B as x,z as w}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./vendor-luxon-cc86f6dc.js";const ne={name:"LegendStandard",props:{items:{type:Array,default:()=>[]}},emits:["toggle"]},ie={class:"custom-legend d-flex flex-wrap justify-content-center"},oe=["onClick"],se={width:"20",height:"6",class:"mr-1"},le=["stroke","stroke-dasharray"];function de(e,t,r,s,n,a){return o(),l("div",ie,[(o(!0),l(_,null,f(r.items,i=>(o(),l("div",{key:i.label,class:A(["legend-item d-flex align-items-center m-1",{"legend-item-hidden":i.hidden}]),role:"button",onClick:d=>e.$emit("toggle",i.label)},[(o(),l("svg",se,[g("line",{x1:"0",y1:"3",x2:"20",y2:"3",stroke:i.borderColor,"stroke-width":"3","stroke-dasharray":i.borderDash&&i.borderDash.length?i.borderDash.join(","):""},null,8,le)])),g("span",{class:A(["legend-label",{"text-line-through":i.hidden}])},v(i.label),3)],10,oe))),128))])}const ce=D(ne,[["render",de],["__scopeId","data-v-40ecb731"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendStandard.vue"]]);const ue={name:"LegendCategory",props:{label:{type:String,default:""},items:{type:Array,default:()=>[]}},emits:["toggle"]},pe={class:"dropdown m-1"},he={class:"btn btn-secondary dropdown-toggle",type:"button","data-toggle":"dropdown","aria-expanded":"false"},ge={class:"dropdown-menu"},ye=["onClick"],me={width:"20",height:"6",class:"mr-1"},be=["stroke","stroke-dasharray"];function _e(e,t,r,s,n,a){return o(),l("div",pe,[g("button",he,v(r.label),1),g("ul",ge,[(o(!0),l(_,null,f(r.items,i=>(o(),l("li",{key:i.label,class:A(["dropdown-item",{"legend-item-hidden":i.hidden}]),onClick:d=>e.$emit("toggle",i.label)},[(o(),l("svg",me,[g("line",{x1:"0",y1:"3",x2:"20",y2:"3",stroke:i.borderColor,"stroke-width":"3","stroke-dasharray":i.borderDash&&i.borderDash.length?i.borderDash.join(","):""},null,8,be)])),g("span",{class:A({"text-line-through":i.hidden})},v(i.label),3)],10,ye))),128))])])}const fe=D(ue,[["render",_e],["__scopeId","data-v-1ce49a26"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendCategory.vue"]]),ke={name:"LegendCategoriesGroup",components:{LegendCategory:fe},props:{categorizedItems:{type:Object,default:()=>({chargepoint:[],vehicle:[],component:[]})}},emits:["toggle"],data(){return{categoryLabels:{component:"Komponenten",chargepoint:"Ladepunkte",vehicle:"Fahrzeuge"}}}},xe={class:"d-flex flex-wrap justify-content-center"};function ve(e,t,r,s,n,a){const i=c("LegendCategory");return o(),l("div",xe,[(o(!0),l(_,null,f(r.categorizedItems,(d,k)=>(o(),y(i,{key:k,label:n.categoryLabels[k],items:d,onToggle:t[0]||(t[0]=b=>e.$emit("toggle",b))},null,8,["label","items"]))),128))])}const De=D(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendCategoriesGroup.vue"]]),Ce={name:"ChartLegend",components:{LegendCategoriesGroup:De,LegendStandard:ce},props:{chart:{type:Object,default:()=>null},range:{type:String,default:"day"}},computed:{legendItems(){if(!this.chart||!this.chart.data)return[];const e=this.$store.state.chartLegend.hiddenDatasets;return this.chart.data.datasets.map((t,r)=>({label:t.label,index:r,category:t.category||"component",hidden:e.includes(t.label),borderColor:t.borderColor,borderDash:t.borderDash}))},categorizedLegendItems(){var s,n;if(!this.chart)return{chargepoint:[],vehicle:[],component:[]};let e={};const t=this.$store.state.chartLegend.hiddenDatasets;return this.range==="day"?e={chargepoint:[],vehicle:[],component:[]}:e={chargepoint:[],component:[]},(((n=(s=this.chart)==null?void 0:s.data)==null?void 0:n.datasets)||[]).forEach((a,i)=>{const d=a.category||"component";e[d]||(e[d]=[]),e[d].push({label:a.label,index:i,hidden:t.includes(a.label),borderColor:a.borderColor,borderDash:a.borderDash})}),e},showStandardLegend(){return this.legendItems.length<12}},watch:{chart(e){this.defaultHiddenDatasets(e)}},mounted(){this.defaultHiddenDatasets(this.chart)},methods:{toggleDataset(e){if(!this.chart)return;const t=this.chart.data.datasets.find(r=>r.label===e);t&&(this.$store.commit("chartLegend/toggleDataset",t.label),this.applyHiddenDatasetsToChart())},defaultHiddenDatasets(e){if(e&&e.data&&e.data.datasets.length){const t=e.data.datasets.filter(r=>r.hidden).map(r=>r.label);this.$store.commit("chartLegend/setHiddenDatasets",t),this.applyHiddenDatasetsToChart()}},applyHiddenDatasetsToChart(){if(!this.chart||!this.chart.data)return;const e=this.$store.state.chartLegend.hiddenDatasets;this.chart.data.datasets.forEach(t=>{t.hidden=e.includes(t.label)}),this.chart.update()}}};function Ae(e,t,r,s,n,a){const i=c("LegendStandard"),d=c("LegendCategoriesGroup");return a.showStandardLegend?(o(),y(i,{key:r.range,items:a.legendItems,onToggle:a.toggleDataset},null,8,["items","onToggle"])):(o(),y(d,{key:1,"categorized-items":a.categorizedLegendItems,onToggle:a.toggleDataset},null,8,["categorized-items","onToggle"]))}const we=D(Ce,[["render",Ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/ChartLegend.vue"]]);$.add(j,O,V,z,M,q);B.register(F,N,K,Z,G,J,X,Y,U,Q,ee);const Se={name:"OpenwbChartView",components:{ChartjsLine:te,FontAwesomeIcon:E,ChartLegend:we},mixins:[P],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{chartInstance:null,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,chartIsLoading:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",category:"component",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",category:"component",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",category:"component",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}},"counter-energy_imported_grid":{label:"Zähler (Netzanteil)",category:"component",unit:"kWh",type:"bar",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:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_pv":{label:"Zähler (PV-Anteil)",category:"component",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_bat":{label:"Zähler (PV-Anteil)",category:"component",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"chargepoint",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",category:"chargepoint",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)",category:"chargepoint",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)",category:"chargepoint",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)",category:"chargepoint",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",category:"vehicle",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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)",category:"component",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)",category:"component",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)",category:"component",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:!1},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};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date: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);let t={};return JSON.parse(JSON.stringify(e)).forEach(r=>{r.timestamp=r.timestamp*1e3,t[r.timestamp]=r}),Object.values(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(([s,n])=>{Object.keys(n).forEach(a=>{this.initDataset(r,s,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()},chartDataRead:{handler(e){e&&(this.chartIsLoading=!1)},immediate:!0}},updated(){this.$nextTick(()=>{var e;(e=this.$refs.myChart)!=null&&e.chart&&(this.chartInstance=this.$refs.myChart.chart)})},mounted(){this.init(),re(()=>{var e;this.chartInstance=(e=this.$refs.myChart)==null?void 0:e.chart})},methods:{getChartInstance(){return this.$refs.myChart?this.$refs.myChart.chart:null},refreshLegend(){this.$nextTick(()=>{var e;this.chartInstance=(e=this.$refs.myChart)==null?void 0:e.chart})},handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=ae(t,e);if(!r.length)return;const{datasetIndex:s,index:n}=r[0],a=this.chartData.datasets[s].data[n].date;var i="",d="";switch(this.chartRange){case"month":i=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),d="day";break;case"year":i=a.substring(0,4)+"-"+a.substring(4,6),d="month";break}this.blockChartInit=!0,this.chartDate=i,this.chartRange=d},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 s="*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";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;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 s},getDatasetLabel(e,t,r,s){var n=["*"+s],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":n=["PV"];break;case"bat":switch(n=["Speicher"],r){case"soc":n.push("SoC");break}break;case"cp":n=["Ladepunkte"];break;case"hc":n=["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)&&(n=[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;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"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`${n.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},updateDatasetStack(e,t,r){if(e){if(t=="all"&&!["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])){console.debug("not stacking totals for:",e,t,r);return}return e.includes("#")?(console.debug("updating stack template:",e,t,r),e.replace("#",t)):e}},addDataset(e,t,r,s){if(console.debug("adding dataset:",e,t,r,s),!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var n=e+"-"+r;if(this.datasetTemplates[n]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[n]));return a.parsing.yAxisKey=s,a.jsonKey=s,a.data=this.chartDataObject,a.category=this.datasetTemplates[n].category,a.label=this.getDatasetLabel(e,t,r,s),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),a.stack=this.updateDatasetStack(a.stack,t,r),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+s+" with template: "+n)}},initDataset(e,t,r){var s=[];this.chartRange=="day"?s={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:s={counter:["energy_imported","energy_exported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],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 n=e+"."+t+"."+r;if(s[e].includes(r)){var a=this.getDatasetIndex(n);a==null&&(a=this.addDataset(e,t,r,n))}else console.debug("skipping dataset:",n)},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.chartFilterForm.reportValidity()){this.chartIsLoading=!0,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()}}},Le={class:"chart"},Re={key:0},Ie={key:1},We={name:"chartFilterForm"},Te={key:1},He={key:1},$e={class:"openwb-chart"},je={name:"chartTotalsForm"},Oe={key:1};function Ve(e,t,r,s,n,a){const i=c("openwb-base-alert"),d=c("openwb-base-select-input"),k=c("openwb-base-text-input"),b=c("openwb-base-card"),L=c("chartjs-line"),R=c("ChartLegend"),I=c("font-awesome-icon"),W=c("openwb-base-heading");return o(),l("div",Le,[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),l("div",Re,[p(i,{subtype:"info"},{default:h(()=>[...t[3]||(t[3]=[x(' 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)])]),_:1})])):(o(),l("div",Ie,[p(b,{title:"Filter",collapsible:!0,collapsed:!1},{default:h(()=>[g("form",We,[p(d,{modelValue:n.chartRange,"onUpdate:modelValue":t[0]||(t[0]=m=>n.chartRange=m),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),p(k,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=m=>a.chartDate=m),t[2]||(t[2]=m=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:n.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])])]),_:1}),n.chartIsLoading?(o(),y(i,{key:0,subtype:"info"},{default:h(()=>[...t[4]||(t[4]=[x(" Daten werden geladen... ",-1)])]),_:1})):(o(),l("div",Te,[a.chartDataHasEntries?(o(),l("div",He,[p(b,{title:"Diagramm",collapsible:!0,collapsed:!1,onExpanded:a.refreshLegend},{default:h(()=>[g("div",$e,[p(L,{ref:"myChart",data:a.chartData,options:n.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])]),n.chartInstance?(o(),y(R,{key:n.chartDatasets.datasets.length,ref:"chartLegend",range:n.chartRange,chart:a.getChartInstance()},null,8,["range","chart"])):w("",!0)]),_:1},8,["onExpanded"]),p(b,{title:"Summen",collapsible:!0,collapsed:!0},{default:h(()=>[g("form",je,[(o(!0),l(_,null,f(Object.fromEntries(Object.entries(a.chartTotals).filter(([m,u])=>Object.keys(u).length>0)),(m,u)=>(o(),y(b,{key:u,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(u)},{header:h(()=>[p(I,{icon:a.getCardIcon(u)},null,8,["icon"]),x(" "+v(a.getTotalsLabel(u)),1)]),default:h(()=>[(o(!0),l(_,null,f(m,(T,C)=>(o(),l("div",{key:C},[u!=="hc"?(o(),y(W,{key:0},{default:h(()=>[x(v(a.getTotalsLabel(u,C)),1)]),_:2},1024)):w("",!0),(o(!0),l(_,null,f(T,(H,S)=>(o(),l("div",{key:S},[p(k,{title:a.getTotalsLabel(u,C,S),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(H/1e3,3)},null,8,["title","model-value"])]))),128)),C=="all"&&u!="hc"?(o(),l("hr",Oe)):w("",!0)]))),128))]),_:2},1032,["subtype"]))),128))])]),_:1})])):(o(),y(i,{key:0,subtype:"info"},{default:h(()=>[...t[5]||(t[5]=[x(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ",-1)])]),_:1}))]))]))])}const Ze=D(Se,[["render",Ve],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{Ze as default}; +import{l as $,Q as j,_ as O,Z as V,Y as z,a4 as M,a5 as q,F as E}from"./vendor-fortawesome-641b8eb6.js";import{C as P}from"./index-bbf7119b.js";import{C as B,p as F,a as N,L as K,b as Z,B as G,f as J,P as X,c as Y,T as U,i as Q,d as ee,e as te,g as ae}from"./vendor-chartjs-6bace15d.js";import{_ as D,l as o,m as l,N as _,M as f,q as A,A as g,F as v,u as c,x as y,n as re,G as p,E as h,B as x,z as w}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./vendor-luxon-cc86f6dc.js";const ne={name:"LegendStandard",props:{items:{type:Array,default:()=>[]}},emits:["toggle"]},ie={class:"custom-legend d-flex flex-wrap justify-content-center"},oe=["onClick"],se={width:"20",height:"6",class:"mr-1"},le=["stroke","stroke-dasharray"];function de(e,t,r,s,n,a){return o(),l("div",ie,[(o(!0),l(_,null,f(r.items,i=>(o(),l("div",{key:i.label,class:A(["legend-item d-flex align-items-center m-1",{"legend-item-hidden":i.hidden}]),role:"button",onClick:d=>e.$emit("toggle",i.label)},[(o(),l("svg",se,[g("line",{x1:"0",y1:"3",x2:"20",y2:"3",stroke:i.borderColor,"stroke-width":"3","stroke-dasharray":i.borderDash&&i.borderDash.length?i.borderDash.join(","):""},null,8,le)])),g("span",{class:A(["legend-label",{"text-line-through":i.hidden}])},v(i.label),3)],10,oe))),128))])}const ce=D(ne,[["render",de],["__scopeId","data-v-40ecb731"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendStandard.vue"]]);const ue={name:"LegendCategory",props:{label:{type:String,default:""},items:{type:Array,default:()=>[]}},emits:["toggle"]},pe={class:"dropdown m-1"},he={class:"btn btn-secondary dropdown-toggle",type:"button","data-toggle":"dropdown","aria-expanded":"false"},ge={class:"dropdown-menu"},ye=["onClick"],me={width:"20",height:"6",class:"mr-1"},be=["stroke","stroke-dasharray"];function _e(e,t,r,s,n,a){return o(),l("div",pe,[g("button",he,v(r.label),1),g("ul",ge,[(o(!0),l(_,null,f(r.items,i=>(o(),l("li",{key:i.label,class:A(["dropdown-item",{"legend-item-hidden":i.hidden}]),onClick:d=>e.$emit("toggle",i.label)},[(o(),l("svg",me,[g("line",{x1:"0",y1:"3",x2:"20",y2:"3",stroke:i.borderColor,"stroke-width":"3","stroke-dasharray":i.borderDash&&i.borderDash.length?i.borderDash.join(","):""},null,8,be)])),g("span",{class:A({"text-line-through":i.hidden})},v(i.label),3)],10,ye))),128))])])}const fe=D(ue,[["render",_e],["__scopeId","data-v-1ce49a26"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendCategory.vue"]]),ke={name:"LegendCategoriesGroup",components:{LegendCategory:fe},props:{categorizedItems:{type:Object,default:()=>({chargepoint:[],vehicle:[],component:[]})}},emits:["toggle"],data(){return{categoryLabels:{component:"Komponenten",chargepoint:"Ladepunkte",vehicle:"Fahrzeuge"}}}},xe={class:"d-flex flex-wrap justify-content-center"};function ve(e,t,r,s,n,a){const i=c("LegendCategory");return o(),l("div",xe,[(o(!0),l(_,null,f(r.categorizedItems,(d,k)=>(o(),y(i,{key:k,label:n.categoryLabels[k],items:d,onToggle:t[0]||(t[0]=b=>e.$emit("toggle",b))},null,8,["label","items"]))),128))])}const De=D(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/LegendCategoriesGroup.vue"]]),Ce={name:"ChartLegend",components:{LegendCategoriesGroup:De,LegendStandard:ce},props:{chart:{type:Object,default:()=>null},range:{type:String,default:"day"}},computed:{legendItems(){if(!this.chart||!this.chart.data)return[];const e=this.$store.state.chartLegend.hiddenDatasets;return this.chart.data.datasets.map((t,r)=>({label:t.label,index:r,category:t.category||"component",hidden:e.includes(t.label),borderColor:t.borderColor,borderDash:t.borderDash}))},categorizedLegendItems(){var s,n;if(!this.chart)return{chargepoint:[],vehicle:[],component:[]};let e={};const t=this.$store.state.chartLegend.hiddenDatasets;return this.range==="day"?e={chargepoint:[],vehicle:[],component:[]}:e={chargepoint:[],component:[]},(((n=(s=this.chart)==null?void 0:s.data)==null?void 0:n.datasets)||[]).forEach((a,i)=>{const d=a.category||"component";e[d]||(e[d]=[]),e[d].push({label:a.label,index:i,hidden:t.includes(a.label),borderColor:a.borderColor,borderDash:a.borderDash})}),e},showStandardLegend(){return this.legendItems.length<12}},watch:{chart(e){this.defaultHiddenDatasets(e)}},mounted(){this.defaultHiddenDatasets(this.chart)},methods:{toggleDataset(e){if(!this.chart)return;const t=this.chart.data.datasets.find(r=>r.label===e);t&&(this.$store.commit("chartLegend/toggleDataset",t.label),this.applyHiddenDatasetsToChart())},defaultHiddenDatasets(e){if(e&&e.data&&e.data.datasets.length){const t=e.data.datasets.filter(r=>r.hidden).map(r=>r.label);this.$store.commit("chartLegend/setHiddenDatasets",t),this.applyHiddenDatasetsToChart()}},applyHiddenDatasetsToChart(){if(!this.chart||!this.chart.data)return;const e=this.$store.state.chartLegend.hiddenDatasets;this.chart.data.datasets.forEach(t=>{t.hidden=e.includes(t.label)}),this.chart.update()}}};function Ae(e,t,r,s,n,a){const i=c("LegendStandard"),d=c("LegendCategoriesGroup");return a.showStandardLegend?(o(),y(i,{key:r.range,items:a.legendItems,onToggle:a.toggleDataset},null,8,["items","onToggle"])):(o(),y(d,{key:1,"categorized-items":a.categorizedLegendItems,onToggle:a.toggleDataset},null,8,["categorized-items","onToggle"]))}const we=D(Ce,[["render",Ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/chart/ChartLegend.vue"]]);$.add(j,O,V,z,M,q);B.register(F,N,K,Z,G,J,X,Y,U,Q,ee);const Se={name:"OpenwbChartView",components:{ChartjsLine:te,FontAwesomeIcon:E,ChartLegend:we},mixins:[P],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{chartInstance:null,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,chartIsLoading:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",category:"component",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",category:"component",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",category:"component",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}},"counter-energy_imported_grid":{label:"Zähler (Netzanteil)",category:"component",unit:"kWh",type:"bar",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:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_pv":{label:"Zähler (PV-Anteil)",category:"component",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_bat":{label:"Zähler (PV-Anteil)",category:"component",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"chargepoint",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",category:"chargepoint",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)",category:"chargepoint",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)",category:"chargepoint",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)",category:"chargepoint",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",category:"vehicle",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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",category:"component",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)",category:"component",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)",category:"component",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)",category:"component",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:!1},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};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date: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);let t={};return JSON.parse(JSON.stringify(e)).forEach(r=>{r.timestamp=r.timestamp*1e3,t[r.timestamp]=r}),Object.values(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(([s,n])=>{Object.keys(n).forEach(a=>{this.initDataset(r,s,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()},chartDataRead:{handler(e){e&&(this.chartIsLoading=!1)},immediate:!0}},updated(){this.$nextTick(()=>{var e;(e=this.$refs.myChart)!=null&&e.chart&&(this.chartInstance=this.$refs.myChart.chart)})},mounted(){this.init(),re(()=>{var e;this.chartInstance=(e=this.$refs.myChart)==null?void 0:e.chart})},methods:{getChartInstance(){return this.$refs.myChart?this.$refs.myChart.chart:null},refreshLegend(){this.$nextTick(()=>{var e;this.chartInstance=(e=this.$refs.myChart)==null?void 0:e.chart})},handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=ae(t,e);if(!r.length)return;const{datasetIndex:s,index:n}=r[0],a=this.chartData.datasets[s].data[n].date;var i="",d="";switch(this.chartRange){case"month":i=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),d="day";break;case"year":i=a.substring(0,4)+"-"+a.substring(4,6),d="month";break}this.blockChartInit=!0,this.chartDate=i,this.chartRange=d},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 s="*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";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;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 s},getDatasetLabel(e,t,r,s){var n=["*"+s],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":n=["PV"];break;case"bat":switch(n=["Speicher"],r){case"soc":n.push("SoC");break}break;case"cp":n=["Ladepunkte"];break;case"hc":n=["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)&&(n=[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;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"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`${n.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},updateDatasetStack(e,t,r){if(e){if(t=="all"&&!["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])){console.debug("not stacking totals for:",e,t,r);return}return e.includes("#")?(console.debug("updating stack template:",e,t,r),e.replace("#",t)):e}},addDataset(e,t,r,s){if(console.debug("adding dataset:",e,t,r,s),!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var n=e+"-"+r;if(this.datasetTemplates[n]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[n]));return a.parsing.yAxisKey=s,a.jsonKey=s,a.data=this.chartDataObject,a.category=this.datasetTemplates[n].category,a.label=this.getDatasetLabel(e,t,r,s),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),a.stack=this.updateDatasetStack(a.stack,t,r),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+s+" with template: "+n)}},initDataset(e,t,r){var s=[];this.chartRange=="day"?s={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:s={counter:["energy_imported","energy_exported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],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 n=e+"."+t+"."+r;if(s[e].includes(r)){var a=this.getDatasetIndex(n);a==null&&(a=this.addDataset(e,t,r,n))}else console.debug("skipping dataset:",n)},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.chartFilterForm.reportValidity()){this.chartIsLoading=!0,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()}}},Le={class:"chart"},Re={key:0},Ie={key:1},We={name:"chartFilterForm"},Te={key:1},He={key:1},$e={class:"openwb-chart"},je={name:"chartTotalsForm"},Oe={key:1};function Ve(e,t,r,s,n,a){const i=c("openwb-base-alert"),d=c("openwb-base-select-input"),k=c("openwb-base-text-input"),b=c("openwb-base-card"),L=c("chartjs-line"),R=c("ChartLegend"),I=c("font-awesome-icon"),W=c("openwb-base-heading");return o(),l("div",Le,[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),l("div",Re,[p(i,{subtype:"info"},{default:h(()=>[...t[3]||(t[3]=[x(' 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)])]),_:1})])):(o(),l("div",Ie,[p(b,{title:"Filter",collapsible:!0,collapsed:!1},{default:h(()=>[g("form",We,[p(d,{modelValue:n.chartRange,"onUpdate:modelValue":t[0]||(t[0]=m=>n.chartRange=m),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),p(k,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=m=>a.chartDate=m),t[2]||(t[2]=m=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:n.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])])]),_:1}),n.chartIsLoading?(o(),y(i,{key:0,subtype:"info"},{default:h(()=>[...t[4]||(t[4]=[x(" Daten werden geladen... ",-1)])]),_:1})):(o(),l("div",Te,[a.chartDataHasEntries?(o(),l("div",He,[p(b,{title:"Diagramm",collapsible:!0,collapsed:!1,onExpanded:a.refreshLegend},{default:h(()=>[g("div",$e,[p(L,{ref:"myChart",data:a.chartData,options:n.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])]),n.chartInstance?(o(),y(R,{key:n.chartDatasets.datasets.length,ref:"chartLegend",range:n.chartRange,chart:a.getChartInstance()},null,8,["range","chart"])):w("",!0)]),_:1},8,["onExpanded"]),p(b,{title:"Summen",collapsible:!0,collapsed:!0},{default:h(()=>[g("form",je,[(o(!0),l(_,null,f(Object.fromEntries(Object.entries(a.chartTotals).filter(([m,u])=>Object.keys(u).length>0)),(m,u)=>(o(),y(b,{key:u,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(u)},{header:h(()=>[p(I,{icon:a.getCardIcon(u)},null,8,["icon"]),x(" "+v(a.getTotalsLabel(u)),1)]),default:h(()=>[(o(!0),l(_,null,f(m,(T,C)=>(o(),l("div",{key:C},[u!=="hc"?(o(),y(W,{key:0},{default:h(()=>[x(v(a.getTotalsLabel(u,C)),1)]),_:2},1024)):w("",!0),(o(!0),l(_,null,f(T,(H,S)=>(o(),l("div",{key:S},[p(k,{title:a.getTotalsLabel(u,C,S),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(H/1e3,3)},null,8,["title","model-value"])]))),128)),C=="all"&&u!="hc"?(o(),l("hr",Oe)):w("",!0)]))),128))]),_:2},1032,["subtype"]))),128))])]),_:1})])):(o(),y(i,{key:0,subtype:"info"},{default:h(()=>[...t[5]||(t[5]=[x(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ",-1)])]),_:1}))]))]))])}const Ze=D(Se,[["render",Ve],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{Ze as default}; diff --git a/web/settings/assets/CloudConfig-9f394e87.js b/web/settings/assets/CloudConfig-09c750bd.js similarity index 96% rename from web/settings/assets/CloudConfig-9f394e87.js rename to web/settings/assets/CloudConfig-09c750bd.js index 77c1156761..1c6b1da0b6 100644 --- a/web/settings/assets/CloudConfig-9f394e87.js +++ b/web/settings/assets/CloudConfig-09c750bd.js @@ -1 +1 @@ -import{l as S,aa as q,F as z}from"./vendor-fortawesome-77ba272b.js";import{C as P}from"./index-25097726.js";import{_ as h,u as a,l,m as C,G as s,E as t,A as i,x as p,z as m,D as Z,N as I,B as r,q as _}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";S.add(q);const M={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,w]of Object.entries(n))w.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"},x={key:1},R={key:1,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},A={key:2,name:"cloudConfigured"},N={class:"row justify-content-center"};function F(n,e,w,j,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),b=a("openwb-base-text-input"),B=a("openwb-base-button-group-input"),f=a("font-awesome-icon"),y=a("openwb-base-array-input"),v=a("openwb-base-click-button"),k=a("openwb-base-card"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),C(I,null,[s(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]=[r(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",-1)])]),_:1},8,["show"]),i("div",K,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=r(" Du musst der ",-1)),s(c,{to:"/System/LegalSettings"},{default:t(()=>[...e[14]||(e[14]=[r(" Datenschutzerklärung ",-1)])]),_:1}),e[16]||(e[16]=r(" zustimmen, um die openWB Cloud nutzen zu können. ",-1))]),_:1})):(l(),C("div",x,[s(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=r(" Du hast der ",-1)),s(c,{to:"/System/LegalSettings"},{default:t(()=>[...e[17]||(e[17]=[r(" Datenschutzerklärung ",-1)])]),_:1}),e[19]||(e[19]=r(" zugestimmt und kannst die openWB Cloud nutzen. ",-1))]),_:1}),u.enableRemoveCloudButton?m("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>[...e[20]||(e[20]=[r(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ",-1)])]),_:1})),d.cloudBridgeKey?m("",!0):(l(),C("form",R,[s(k,{title:"Vorhandenen Zugang einrichten"},Z({default:t(()=>[s(g,{subtype:"info"},{default:t(()=>[...e[21]||(e[21]=[i("p",null,[r(" Bitte nutze die in/an der openWB notierten Zugangsdaten. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),i("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de "),r(" . ")],-1),i("p",null,[r(" Eine Anleitung zur Einrichtung der openWB Cloud findest Du im "),i("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:tutorials:cloudeinrichten",target:"_blank",rel:"noopener noreferrer"}," Wiki "),r(". ")],-1)])]),_:1}),s(b,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),s(b,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),s(B,{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]=[r(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])]),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(y,{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(()=>[s(f,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[s(f,{icon:["fas","user-gear"]})]),help:t(()=>[...e[23]||(e[23]=[r(" 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)])]),_:1},8,["model-value"])):m("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[i("div",U,[s(v,{class:_(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>[...e[24]||(e[24]=[r(" Mit Cloud verbinden ",-1)])]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),C("form",A,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>[...e[25]||(e[25]=[r(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ",-1)])]),_:1})):m("",!0),s(k,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[i("div",N,[s(v,{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]=[r(" Zugang löschen ",-1)])]),_:1},8,["class","disabled"])])]),default:t(()=>[s(V,null,{default:t(()=>[...e[26]||(e[26]=[i("span",null,[r(" Mit diesen Zugangsdaten kannst Du dich in der "),i("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),r(" anmelden. ")],-1)])]),_:1}),s(b,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),s(b,{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]=i("hr",null,null,-1)),s(B,{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]=[r(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])]),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(y,{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(()=>[s(f,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[s(f,{icon:["fas","user-gear"]})]),help:t(()=>[...e[28]||(e[28]=[r(" 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)])]),_:1},8,["model-value"])):m("",!0)]),_:1})])):m("",!0),d.cloudBridgeKey?(l(),p(W,{key:3,"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"))})):m("",!0)]))])],64)}const Q=h(M,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{Q as default}; +import{l as S,aa as q,F as z}from"./vendor-fortawesome-641b8eb6.js";import{C as P}from"./index-bbf7119b.js";import{_ as h,u as a,l,m as C,G as s,E as t,A as i,x as p,z as m,D as Z,N as I,B as r,q as _}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";S.add(q);const M={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,w]of Object.entries(n))w.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"},x={key:1},R={key:1,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},A={key:2,name:"cloudConfigured"},N={class:"row justify-content-center"};function F(n,e,w,j,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),b=a("openwb-base-text-input"),B=a("openwb-base-button-group-input"),f=a("font-awesome-icon"),y=a("openwb-base-array-input"),v=a("openwb-base-click-button"),k=a("openwb-base-card"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),C(I,null,[s(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]=[r(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",-1)])]),_:1},8,["show"]),i("div",K,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=r(" Du musst der ",-1)),s(c,{to:"/System/LegalSettings"},{default:t(()=>[...e[14]||(e[14]=[r(" Datenschutzerklärung ",-1)])]),_:1}),e[16]||(e[16]=r(" zustimmen, um die openWB Cloud nutzen zu können. ",-1))]),_:1})):(l(),C("div",x,[s(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=r(" Du hast der ",-1)),s(c,{to:"/System/LegalSettings"},{default:t(()=>[...e[17]||(e[17]=[r(" Datenschutzerklärung ",-1)])]),_:1}),e[19]||(e[19]=r(" zugestimmt und kannst die openWB Cloud nutzen. ",-1))]),_:1}),u.enableRemoveCloudButton?m("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>[...e[20]||(e[20]=[r(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ",-1)])]),_:1})),d.cloudBridgeKey?m("",!0):(l(),C("form",R,[s(k,{title:"Vorhandenen Zugang einrichten"},Z({default:t(()=>[s(g,{subtype:"info"},{default:t(()=>[...e[21]||(e[21]=[i("p",null,[r(" Bitte nutze die in/an der openWB notierten Zugangsdaten. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),i("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de "),r(" . ")],-1),i("p",null,[r(" Eine Anleitung zur Einrichtung der openWB Cloud findest Du im "),i("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:tutorials:cloudeinrichten",target:"_blank",rel:"noopener noreferrer"}," Wiki "),r(". ")],-1)])]),_:1}),s(b,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),s(b,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),s(B,{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]=[r(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])]),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(y,{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(()=>[s(f,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[s(f,{icon:["fas","user-gear"]})]),help:t(()=>[...e[23]||(e[23]=[r(" 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)])]),_:1},8,["model-value"])):m("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[i("div",U,[s(v,{class:_(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>[...e[24]||(e[24]=[r(" Mit Cloud verbinden ",-1)])]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),C("form",A,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>[...e[25]||(e[25]=[r(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ",-1)])]),_:1})):m("",!0),s(k,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[i("div",N,[s(v,{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]=[r(" Zugang löschen ",-1)])]),_:1},8,["class","disabled"])])]),default:t(()=>[s(V,null,{default:t(()=>[...e[26]||(e[26]=[i("span",null,[r(" Mit diesen Zugangsdaten kannst Du dich in der "),i("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),r(" anmelden. ")],-1)])]),_:1}),s(b,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),s(b,{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]=i("hr",null,null,-1)),s(B,{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]=[r(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])]),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(y,{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(()=>[s(f,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[s(f,{icon:["fas","user-gear"]})]),help:t(()=>[...e[28]||(e[28]=[r(" 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)])]),_:1},8,["model-value"])):m("",!0)]),_:1})])):m("",!0),d.cloudBridgeKey?(l(),p(W,{key:3,"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"))})):m("",!0)]))])],64)}const Q=h(M,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{Q as default}; diff --git a/web/settings/assets/DataManagement-9f7405c3.js b/web/settings/assets/DataManagement-246ef920.js similarity index 93% rename from web/settings/assets/DataManagement-9f7405c3.js rename to web/settings/assets/DataManagement-246ef920.js index c8bbcae238..6aa8050757 100644 --- a/web/settings/assets/DataManagement-9f7405c3.js +++ b/web/settings/assets/DataManagement-246ef920.js @@ -1 +1 @@ -import{l as P,a6 as E,a7 as j,F as V,at as N,au as I,av as K,aw as G,ax as J}from"./vendor-fortawesome-77ba272b.js";import{_ as D,C as Z}from"./index-25097726.js";import{_ as R}from"./dynamic-import-helper-be004503.js";import{_ as B,u as m,l as u,m as g,x as k,E as i,B as o,F as b,G as t,A as s,a2 as U,a3 as x,N as F,z as y,q as O,M as T,D as Q}from"./vendor-1833c026.js";const X={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})}}},Y=B(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),ee={name:"BackupCloudConfigFallback",mixins:[Y]},ne={class:"backup-cloud-fallback"},te={key:1};function oe(n,e,a,v,r,l){const d=m("openwb-base-alert"),p=m("openwb-base-textarea");return u(),g("div",ne,[Object.keys(n.backupCloud.configuration).length==0?(u(),k(d,{key:0,subtype:"info"},{default:i(()=>[o(' Die Backup-Cloud "'+b(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),g("div",te,[t(d,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+b(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(p,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>n.updateConfiguration(h,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const ie=B(ee,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]);P.add(E,j);const se={name:"OpenwbBackupCloudProxy",components:{FontAwesomeIcon:V},props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),U({loader:()=>R(Object.assign({"./nextcloud/backup_cloud.vue":()=>D(()=>import("./backup_cloud-0f27373c.js"),["assets/backup_cloud-0f27373c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>D(()=>import("./backup_cloud-72e42145.js"),["assets/backup_cloud-72e42145.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>D(()=>import("./backup_cloud-7d97c5c9.js"),["assets/backup_cloud-7d97c5c9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>D(()=>import("./backup_cloud-024d8c49.js"),["assets/backup_cloud-024d8c49.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:ie})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function ae(n,e,a,v,r,l){const d=m("font-awesome-icon"),p=m("openwb-base-alert"),h=m("openwb-base-heading");return u(),g(F,null,[a.backupCloud.official?(u(),k(p,{key:0,subtype:"success"},{default:i(()=>[t(d,{icon:["fas","certificate"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(a.backupCloud.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),k(p,{key:1,subtype:"info"},{default:i(()=>[t(d,{icon:["fas","people-group"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(a.backupCloud.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(h,null,{default:i(()=>[o(' Einstellungen für Backup-Cloud Modul "'+b(a.backupCloud.name)+'" ',1)]),_:1}),(u(),k(x(l.getBackupCloudComponent()),{"backup-cloud":a.backupCloud,"onUpdate:configuration":e[0]||(e[0]=C=>l.updateConfiguration(C)),onSendCommand:e[1]||(e[1]=C=>l.sendCommand(C))},null,40,["backup-cloud"]))],64)}const re=B(se,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),le={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ue=B(le,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),de={name:"MonitoringConfigFallback",mixins:[ue]},pe={class:"monitoring-fallback"},ce={key:1};function me(n,e,a,v,r,l){const d=m("openwb-base-alert"),p=m("openwb-base-textarea");return u(),g("div",pe,[Object.keys(n.monitoring.configuration).length==0?(u(),k(d,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(n.monitoring.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),g("div",ce,[t(d,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(p,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>n.updateConfiguration(h,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})]))])}const ge=B(de,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]);P.add(E,j);const fe={name:"OpenwbMonitoringProxy",components:{FontAwesomeIcon:V},props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),U({loader:()=>R(Object.assign({"./zabbix/monitoring.vue":()=>D(()=>import("./monitoring-ec1608df.js"),["assets/monitoring-ec1608df.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:ge})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function be(n,e,a,v,r,l){const d=m("font-awesome-icon"),p=m("openwb-base-alert"),h=m("openwb-base-heading");return u(),g(F,null,[a.monitoring.official?(u(),k(p,{key:0,subtype:"success"},{default:i(()=>[t(d,{icon:["fas","certificate"]}),o(' Das ausgewählte Monitoring Modul "'+b(a.monitoring.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),k(p,{key:1,subtype:"info"},{default:i(()=>[t(d,{icon:["fas","people-group"]}),o(' Das ausgewählte Monitoring Modul "'+b(a.monitoring.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(h,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(a.monitoring.name)+'" ',1)]),_:1}),(u(),k(x(l.getMonitoringComponent()),{monitoring:a.monitoring,"onUpdate:configuration":e[0]||(e[0]=C=>l.updateConfiguration(C))},null,40,["monitoring"]))],64)}const he=B(fe,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);P.add(N,I,K,G,J);const ke={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:V,OpenwbBackupCloudProxy:re,OpenwbMonitoringProxy:he},mixins:[Z],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_password","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,restorePassword:void 0,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 a of Object.values(n))e.push({value:a.id,text:a.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[a,v]of Object.entries(n)){let r=parseInt(a.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:v})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[a,v]of Object.entries(n))if(v==1){let r=parseInt(a.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e},disableRestoreUpload(){var n,e;return!this.selectedRestoreFile||((e=(n=this.selectedRestoreFile)==null?void 0:n.name)==null?void 0:e.endsWith(".gpg"))&&!(this.restorePassword||this.$store.state.mqtt["openWB/system/backup_password"])}},methods:{isComponentType(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(a=>a.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,a,v={}){return new Promise(r=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let l=new FormData;l.append("file",e),l.append("target",n);for(const[d,p]of Object.entries(v))l.append(d,p);this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",l,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(a,"success"),r(!0)}).catch(d=>{if(d.response){console.error(d.response.status,d.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+d.response.status+": "+d.response.data}else d.request?(console.error(d.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",d.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),r(!1)})}else console.error("no file selected for upload"),r(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(a=>a.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. Du kannst die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n,[void 0,null,""].includes(this.restorePassword)?void 0:{restorePassword:this.restorePassword})},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Du kannst 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})}}},ye={class:"system"},ve={key:1},we={name:"backupPasswordForm"},_e={name:"backupForm"},Ce={class:"row justify-content-center"},Be={class:"col-md-4 d-flex py-1 justify-content-center"},De={key:0,name:"restoreForm"},Se={class:"input-group mb-2"},We={class:"input-group-prepend"},Me={class:"input-group-text"},Oe={class:"custom-file"},Fe={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Ae={class:"input-group-append"},ze=["disabled"],Pe={class:"row justify-content-center"},Ve={class:"col-md-4 d-flex py-1 justify-content-center"},Le={key:1},Te={key:0,name:"cloudBackupForm"},Ee={key:0},je={name:"dataMigrationForm"},Re={class:"input-group"},Ue={class:"input-group-prepend"},xe={class:"input-group-text"},qe={class:"custom-file"},$e={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},He={class:"input-group-append"},Ne=["disabled"],Ie={class:"row justify-content-center"},Ke={class:"col-md-4 d-flex py-1 justify-content-center"},Ge={key:1,name:"resetForm"},Je={class:"row justify-content-center"},Ze={class:"col-md-4 d-flex py-1 justify-content-center"},Qe={key:2,name:"monitoringForm"},Xe={key:0},Ye={key:1},en={key:0};function nn(n,e,a,v,r,l){const d=m("openwb-base-button-group-input"),p=m("openwb-base-alert"),h=m("openwb-base-heading"),C=m("openwb-base-text-input"),A=m("openwb-base-submit-buttons"),_=m("font-awesome-icon"),S=m("openwb-base-click-button"),z=m("openwb-base-select-input"),q=m("openwb-base-button-input"),$=m("openwb-backup-cloud-proxy"),W=m("openwb-base-card"),H=m("openwb-monitoring-proxy");return u(),g("div",ye,[a.installAssistantActive?y("",!0):(u(),k(p,{key:0,subtype:"danger"},{default:i(()=>[e[25]||(e[25]=s("h2",null,"Achtung!",-1)),e[26]||(e[26]=s("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(d,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=f=>r.warningAcknowledged=f),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||a.installAssistantActive?(u(),g("div",ve,[t(W,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!a.installAssistantActive},{default:i(()=>{var f,w,M,L;return[s("form",we,[t(h,null,{default:i(()=>[...e[27]||(e[27]=[o("Allgemein",-1)])]),_:1}),t(C,{title:"Kennwort für Sicherungen",subtype:"password","model-value":n.$store.state.mqtt["openWB/system/backup_password"],"onUpdate:modelValue":e[1]||(e[1]=c=>n.updateState("openWB/system/backup_password",c))},{help:i(()=>[...e[28]||(e[28]=[o(" Ist hier ein Kennwort gesetzt, werden alle Sicherungen mit einem Kennwortschutz versehen. Diese Option sollte genutzt werden, wenn die Sicherungsdatei über unsichere Kanäle (z.B. eine Backup-Cloud im Internet) übertragen wird.",-1),s("br",null,null,-1),o(" Wichtig: Das Kennwort wird nicht in der Sicherung gespeichert! Ohne gültiges Kennwort kann eine geschützte Sicherung nicht wiederhergestellt werden! ",-1)])]),_:1},8,["model-value"]),t(A,{"form-name":"backupPasswordForm","hide-reset":!0,"hide-defaults":!0,onSave:e[2]||(e[2]=c=>n.$emit("save",["openWB/system/backup_password"])),onReset:e[3]||(e[3]=c=>n.$emit("reset"))}),e[29]||(e[29]=s("hr",null,null,-1))]),s("form",_e,[t(h,null,{default:i(()=>[...e[30]||(e[30]=[o("Sicherung",-1)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[31]||(e[31]=[o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])]),_:1}),t(p,{subtype:"info"},{default:i(()=>[...e[32]||(e[32]=[o(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder ",-1),s("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),o(" heruntergeladen werden. ",-1)])]),_:1}),s("div",Ce,[s("div",Be,[t(S,{class:"btn-success clickable",onButtonClicked:e[4]||(e[4]=c=>l.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:i(()=>[e[33]||(e[33]=o(" Sicherung erstellen ",-1)),t(_,{icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),g("form",De,[e[39]||(e[39]=s("hr",null,null,-1)),t(h,null,{default:i(()=>[...e[34]||(e[34]=[o("Wiederherstellung",-1)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[35]||(e[35]=[o(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt.",-1),s("br",null,null,-1),o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])]),_:1}),s("div",Se,[s("div",We,[s("div",Me,[t(_,{icon:["fas","file-archive"]})])]),s("div",Oe,[s("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,.openwb-backup,application/gzip,application/tar+gzip,.openwb-backup.gpg,application/gzip+gpg,application/tar+gzip+gpg",onChange:e[5]||(e[5]=c=>l.updateSelectedRestoreFile(c))},null,32),s("label",Fe,b(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Ae,[s("button",{class:O(["btn",l.disableRestoreUpload?"btn-outline-success":"btn-success clickable"]),disabled:l.disableRestoreUpload,type:"button",onClick:e[6]||(e[6]=c=>l.uploadRestoreFile())},[e[36]||(e[36]=o(" Hochladen ",-1)),t(_,{icon:["fas","upload"]})],10,ze)])]),(w=(f=r.selectedRestoreFile)==null?void 0:f.name)!=null&&w.endsWith(".gpg")?(u(),k(C,{key:0,modelValue:r.restorePassword,"onUpdate:modelValue":e[7]||(e[7]=c=>r.restorePassword=c),title:"Kennwort dieser Sicherung",subtype:"password"},{help:i(()=>[...e[37]||(e[37]=[o(' Wenn die Sicherung mit einem Kennwortschutz versehen wurde, wird zuerst eine Entschlüsselung mit dem unter "Allgemein" hinterlegten Kennwort versucht. Falls die Sicherung mit einem anderen Kennwort geschützt wurde, muss dieses hier eingegeben werden. ',-1)])]),_:1},8,["modelValue"])):y("",!0),s("div",Pe,[s("div",Ve,[t(S,{class:O(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[8]||(e[8]=c=>l.restoreBackup())},{default:i(()=>[e[38]||(e[38]=o(" Wiederherstellung starten ",-1)),t(_,{icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):y("",!0),a.installAssistantActive?y("",!0):(u(),g("div",Le,[a.showBackupCloudSection?(u(),g("form",Te,[e[43]||(e[43]=s("hr",null,null,-1)),t(h,null,{default:i(()=>[...e[40]||(e[40]=[o(" Automatische Sicherung in einen Cloud-Dienst ",-1)])]),_:1}),t(p,{subtype:"info"},{default:i(()=>[...e[41]||(e[41]=[o(" 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.",-1),s("br",null,null,-1),o(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt.",-1),s("br",null,null,-1),o(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du ",-1),s("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" . ",-1)])]),_:1}),t(z,{class:"mb-2",title:"Backup-Cloud",options:l.backupCloudList,"model-value":(M=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:M.type,"onUpdate:modelValue":e[9]||(e[9]=c=>l.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(L=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&L.type?(u(),g("div",Ee,[t(d,{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[10]||(e[10]=c=>n.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:i(()=>[...e[42]||(e[42]=[o(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ",-1)])]),_:1},8,["model-value"]),t(q,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[11]||(e[11]=c=>l.sendSystemCommand("createCloudBackup",{}))}),t($,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[12]||(e[12]=c=>l.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[13]||(e[13]=c=>l.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):y("",!0),t(A,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[14]||(e[14]=c=>n.$emit("save")),onReset:e[15]||(e[15]=c=>n.$emit("reset")),onDefaults:e[16]||(e[16]=c=>n.$emit("defaults"))})])):y("",!0)]))]}),_:1},8,["collapsed"]),!a.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),k(W,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:i(()=>[s("form",je,[t(p,{subtype:"info"},{default:i(()=>[...e[44]||(e[44]=[o(" 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.",-1),s("br",null,null,-1),o(" 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)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[45]||(e[45]=[o(" 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.",-1),s("br",null,null,-1),o(" Vor der Datenübernahme unbedingt eine Sicherung erstellen.",-1),s("br",null,null,-1),o(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ",-1)])]),_:1}),s("div",Re,[s("div",Ue,[s("div",xe,[t(_,{icon:["fas","file-archive"]})])]),s("div",qe,[s("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[17]||(e[17]=f=>l.updateSelectedDataMigrationFile(f))},null,32),s("label",$e,b(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),s("div",He,[s("button",{class:O(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[18]||(e[18]=f=>l.uploadDataMigrationFile())},[e[46]||(e[46]=o(" Hochladen ",-1)),t(_,{icon:["fas","upload"]})],10,Ne)])]),t(h,null,{default:i(()=>[...e[47]||(e[47]=[o(" Zuordnung der Komponenten ",-1)])]),_:1}),(u(!0),g(F,null,T(r.dataMigrationConfig,f=>(u(),g("div",{key:f.sectionName},[t(h,null,{default:i(()=>[o(b(f.sectionName),1)]),_:2},1024),(u(!0),g(F,null,T(f.sectionComponents,w=>(u(),k(z,{key:w.key,modelValue:r.dataMigrationMapping[w.key],"onUpdate:modelValue":M=>r.dataMigrationMapping[w.key]=M,title:w.label,options:l.getMigrationOptions(w.validTypes)},Q({_:2},[w.help?{name:"help",fn:i(()=>[o(b(w.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),s("div",Ie,[s("div",Ke,[t(S,{class:O(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[19]||(e[19]=f=>l.dataMigration())},{default:i(()=>[e[48]||(e[48]=o(" Datenübernahme starten ",-1)),t(_,{icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})):y("",!0),a.installAssistantActive?y("",!0):(u(),g("form",Ge,[t(W,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[s("div",Je,[s("div",Ze,[t(S,{class:"btn-danger clickable",onButtonClicked:e[20]||(e[20]=f=>l.factoryReset())},{default:i(()=>[t(_,{icon:["fas","skull-crossbones"]}),e[50]||(e[50]=o(" Zurücksetzen ",-1)),t(_,{icon:["fas","skull-crossbones"]})]),_:1})])])]),default:i(()=>[t(p,{subtype:"danger"},{default:i(()=>[...e[49]||(e[49]=[o(" 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})]),_:1})])),a.installAssistantActive?y("",!0):(u(),g("form",Qe,[t(W,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:i(()=>[t(A,{"form-name":"monitoringForm","hide-defaults":!0,onSave:e[23]||(e[23]=f=>n.$emit("save")),onReset:e[24]||(e[24]=f=>n.$emit("reset"))})]),default:i(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),g("div",Xe,[t(p,{subtype:"info"},{default:i(()=>[...e[51]||(e[51]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),g("div",Ye,[t(p,{subtype:"info"},{default:i(()=>[...e[52]||(e[52]=[o(" 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)])]),_:1}),t(z,{class:"mb-2",title:"Anbieter",options:l.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[21]||(e[21]=f=>l.updateSelectedMonitoring(f))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),g("div",en,[t(H,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[22]||(e[22]=f=>l.updateConfiguration("openWB/optional/monitoring/config",f))},null,8,["monitoring"])])):y("",!0)]))]),_:1})]))])):y("",!0)])}const tn=B(ke,[["render",nn],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),ln=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"}));export{Y as B,tn as D,ue as M,ln as a}; +import{l as P,a6 as E,a7 as j,F as V,at as N,au as I,av as K,aw as G,ax as J}from"./vendor-fortawesome-641b8eb6.js";import{_ as D,C as Z}from"./index-bbf7119b.js";import{_ as R}from"./dynamic-import-helper-be004503.js";import{_ as B,u as m,l as u,m as g,x as k,E as i,B as o,F as b,G as t,A as s,a2 as U,a3 as x,N as F,z as y,q as O,M as T,D as Q}from"./vendor-50125810.js";const X={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})}}},Y=B(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),ee={name:"BackupCloudConfigFallback",mixins:[Y]},ne={class:"backup-cloud-fallback"},te={key:1};function oe(n,e,a,v,r,l){const d=m("openwb-base-alert"),p=m("openwb-base-textarea");return u(),g("div",ne,[Object.keys(n.backupCloud.configuration).length==0?(u(),k(d,{key:0,subtype:"info"},{default:i(()=>[o(' Die Backup-Cloud "'+b(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),g("div",te,[t(d,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+b(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(p,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>n.updateConfiguration(h,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const ie=B(ee,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]);P.add(E,j);const se={name:"OpenwbBackupCloudProxy",components:{FontAwesomeIcon:V},props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),U({loader:()=>R(Object.assign({"./nextcloud/backup_cloud.vue":()=>D(()=>import("./backup_cloud-3f5a509d.js"),["assets/backup_cloud-3f5a509d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>D(()=>import("./backup_cloud-53ebd812.js"),["assets/backup_cloud-53ebd812.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>D(()=>import("./backup_cloud-615bf3a1.js"),["assets/backup_cloud-615bf3a1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>D(()=>import("./backup_cloud-6db8baf5.js"),["assets/backup_cloud-6db8baf5.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:ie})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function ae(n,e,a,v,r,l){const d=m("font-awesome-icon"),p=m("openwb-base-alert"),h=m("openwb-base-heading");return u(),g(F,null,[a.backupCloud.official?(u(),k(p,{key:0,subtype:"success"},{default:i(()=>[t(d,{icon:["fas","certificate"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(a.backupCloud.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),k(p,{key:1,subtype:"info"},{default:i(()=>[t(d,{icon:["fas","people-group"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(a.backupCloud.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(h,null,{default:i(()=>[o(' Einstellungen für Backup-Cloud Modul "'+b(a.backupCloud.name)+'" ',1)]),_:1}),(u(),k(x(l.getBackupCloudComponent()),{"backup-cloud":a.backupCloud,"onUpdate:configuration":e[0]||(e[0]=C=>l.updateConfiguration(C)),onSendCommand:e[1]||(e[1]=C=>l.sendCommand(C))},null,40,["backup-cloud"]))],64)}const re=B(se,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),le={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ue=B(le,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),de={name:"MonitoringConfigFallback",mixins:[ue]},pe={class:"monitoring-fallback"},ce={key:1};function me(n,e,a,v,r,l){const d=m("openwb-base-alert"),p=m("openwb-base-textarea");return u(),g("div",pe,[Object.keys(n.monitoring.configuration).length==0?(u(),k(d,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(n.monitoring.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),g("div",ce,[t(d,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(p,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>n.updateConfiguration(h,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})]))])}const ge=B(de,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]);P.add(E,j);const fe={name:"OpenwbMonitoringProxy",components:{FontAwesomeIcon:V},props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),U({loader:()=>R(Object.assign({"./zabbix/monitoring.vue":()=>D(()=>import("./monitoring-b515e712.js"),["assets/monitoring-b515e712.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:ge})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function be(n,e,a,v,r,l){const d=m("font-awesome-icon"),p=m("openwb-base-alert"),h=m("openwb-base-heading");return u(),g(F,null,[a.monitoring.official?(u(),k(p,{key:0,subtype:"success"},{default:i(()=>[t(d,{icon:["fas","certificate"]}),o(' Das ausgewählte Monitoring Modul "'+b(a.monitoring.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),k(p,{key:1,subtype:"info"},{default:i(()=>[t(d,{icon:["fas","people-group"]}),o(' Das ausgewählte Monitoring Modul "'+b(a.monitoring.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(h,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(a.monitoring.name)+'" ',1)]),_:1}),(u(),k(x(l.getMonitoringComponent()),{monitoring:a.monitoring,"onUpdate:configuration":e[0]||(e[0]=C=>l.updateConfiguration(C))},null,40,["monitoring"]))],64)}const he=B(fe,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);P.add(N,I,K,G,J);const ke={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:V,OpenwbBackupCloudProxy:re,OpenwbMonitoringProxy:he},mixins:[Z],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_password","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,restorePassword:void 0,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 a of Object.values(n))e.push({value:a.id,text:a.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[a,v]of Object.entries(n)){let r=parseInt(a.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:v})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[a,v]of Object.entries(n))if(v==1){let r=parseInt(a.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e},disableRestoreUpload(){var n,e;return!this.selectedRestoreFile||((e=(n=this.selectedRestoreFile)==null?void 0:n.name)==null?void 0:e.endsWith(".gpg"))&&!(this.restorePassword||this.$store.state.mqtt["openWB/system/backup_password"])}},methods:{isComponentType(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(a=>a.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,a,v={}){return new Promise(r=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let l=new FormData;l.append("file",e),l.append("target",n);for(const[d,p]of Object.entries(v))l.append(d,p);this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",l,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(a,"success"),r(!0)}).catch(d=>{if(d.response){console.error(d.response.status,d.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+d.response.status+": "+d.response.data}else d.request?(console.error(d.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",d.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),r(!1)})}else console.error("no file selected for upload"),r(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(a=>a.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. Du kannst die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n,[void 0,null,""].includes(this.restorePassword)?void 0:{restorePassword:this.restorePassword})},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Du kannst 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})}}},ye={class:"system"},ve={key:1},we={name:"backupPasswordForm"},_e={name:"backupForm"},Ce={class:"row justify-content-center"},Be={class:"col-md-4 d-flex py-1 justify-content-center"},De={key:0,name:"restoreForm"},Se={class:"input-group mb-2"},We={class:"input-group-prepend"},Me={class:"input-group-text"},Oe={class:"custom-file"},Fe={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Ae={class:"input-group-append"},ze=["disabled"],Pe={class:"row justify-content-center"},Ve={class:"col-md-4 d-flex py-1 justify-content-center"},Le={key:1},Te={key:0,name:"cloudBackupForm"},Ee={key:0},je={name:"dataMigrationForm"},Re={class:"input-group"},Ue={class:"input-group-prepend"},xe={class:"input-group-text"},qe={class:"custom-file"},$e={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},He={class:"input-group-append"},Ne=["disabled"],Ie={class:"row justify-content-center"},Ke={class:"col-md-4 d-flex py-1 justify-content-center"},Ge={key:1,name:"resetForm"},Je={class:"row justify-content-center"},Ze={class:"col-md-4 d-flex py-1 justify-content-center"},Qe={key:2,name:"monitoringForm"},Xe={key:0},Ye={key:1},en={key:0};function nn(n,e,a,v,r,l){const d=m("openwb-base-button-group-input"),p=m("openwb-base-alert"),h=m("openwb-base-heading"),C=m("openwb-base-text-input"),A=m("openwb-base-submit-buttons"),_=m("font-awesome-icon"),S=m("openwb-base-click-button"),z=m("openwb-base-select-input"),q=m("openwb-base-button-input"),$=m("openwb-backup-cloud-proxy"),W=m("openwb-base-card"),H=m("openwb-monitoring-proxy");return u(),g("div",ye,[a.installAssistantActive?y("",!0):(u(),k(p,{key:0,subtype:"danger"},{default:i(()=>[e[25]||(e[25]=s("h2",null,"Achtung!",-1)),e[26]||(e[26]=s("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(d,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=f=>r.warningAcknowledged=f),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||a.installAssistantActive?(u(),g("div",ve,[t(W,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!a.installAssistantActive},{default:i(()=>{var f,w,M,L;return[s("form",we,[t(h,null,{default:i(()=>[...e[27]||(e[27]=[o("Allgemein",-1)])]),_:1}),t(C,{title:"Kennwort für Sicherungen",subtype:"password","model-value":n.$store.state.mqtt["openWB/system/backup_password"],"onUpdate:modelValue":e[1]||(e[1]=c=>n.updateState("openWB/system/backup_password",c))},{help:i(()=>[...e[28]||(e[28]=[o(" Ist hier ein Kennwort gesetzt, werden alle Sicherungen mit einem Kennwortschutz versehen. Diese Option sollte genutzt werden, wenn die Sicherungsdatei über unsichere Kanäle (z.B. eine Backup-Cloud im Internet) übertragen wird.",-1),s("br",null,null,-1),o(" Wichtig: Das Kennwort wird nicht in der Sicherung gespeichert! Ohne gültiges Kennwort kann eine geschützte Sicherung nicht wiederhergestellt werden! ",-1)])]),_:1},8,["model-value"]),t(A,{"form-name":"backupPasswordForm","hide-reset":!0,"hide-defaults":!0,onSave:e[2]||(e[2]=c=>n.$emit("save",["openWB/system/backup_password"])),onReset:e[3]||(e[3]=c=>n.$emit("reset"))}),e[29]||(e[29]=s("hr",null,null,-1))]),s("form",_e,[t(h,null,{default:i(()=>[...e[30]||(e[30]=[o("Sicherung",-1)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[31]||(e[31]=[o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])]),_:1}),t(p,{subtype:"info"},{default:i(()=>[...e[32]||(e[32]=[o(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder ",-1),s("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),o(" heruntergeladen werden. ",-1)])]),_:1}),s("div",Ce,[s("div",Be,[t(S,{class:"btn-success clickable",onButtonClicked:e[4]||(e[4]=c=>l.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:i(()=>[e[33]||(e[33]=o(" Sicherung erstellen ",-1)),t(_,{icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),g("form",De,[e[39]||(e[39]=s("hr",null,null,-1)),t(h,null,{default:i(()=>[...e[34]||(e[34]=[o("Wiederherstellung",-1)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[35]||(e[35]=[o(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt.",-1),s("br",null,null,-1),o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])]),_:1}),s("div",Se,[s("div",We,[s("div",Me,[t(_,{icon:["fas","file-archive"]})])]),s("div",Oe,[s("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,.openwb-backup,application/gzip,application/tar+gzip,.openwb-backup.gpg,application/gzip+gpg,application/tar+gzip+gpg",onChange:e[5]||(e[5]=c=>l.updateSelectedRestoreFile(c))},null,32),s("label",Fe,b(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Ae,[s("button",{class:O(["btn",l.disableRestoreUpload?"btn-outline-success":"btn-success clickable"]),disabled:l.disableRestoreUpload,type:"button",onClick:e[6]||(e[6]=c=>l.uploadRestoreFile())},[e[36]||(e[36]=o(" Hochladen ",-1)),t(_,{icon:["fas","upload"]})],10,ze)])]),(w=(f=r.selectedRestoreFile)==null?void 0:f.name)!=null&&w.endsWith(".gpg")?(u(),k(C,{key:0,modelValue:r.restorePassword,"onUpdate:modelValue":e[7]||(e[7]=c=>r.restorePassword=c),title:"Kennwort dieser Sicherung",subtype:"password"},{help:i(()=>[...e[37]||(e[37]=[o(' Wenn die Sicherung mit einem Kennwortschutz versehen wurde, wird zuerst eine Entschlüsselung mit dem unter "Allgemein" hinterlegten Kennwort versucht. Falls die Sicherung mit einem anderen Kennwort geschützt wurde, muss dieses hier eingegeben werden. ',-1)])]),_:1},8,["modelValue"])):y("",!0),s("div",Pe,[s("div",Ve,[t(S,{class:O(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[8]||(e[8]=c=>l.restoreBackup())},{default:i(()=>[e[38]||(e[38]=o(" Wiederherstellung starten ",-1)),t(_,{icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):y("",!0),a.installAssistantActive?y("",!0):(u(),g("div",Le,[a.showBackupCloudSection?(u(),g("form",Te,[e[43]||(e[43]=s("hr",null,null,-1)),t(h,null,{default:i(()=>[...e[40]||(e[40]=[o(" Automatische Sicherung in einen Cloud-Dienst ",-1)])]),_:1}),t(p,{subtype:"info"},{default:i(()=>[...e[41]||(e[41]=[o(" 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.",-1),s("br",null,null,-1),o(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt.",-1),s("br",null,null,-1),o(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du ",-1),s("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" . ",-1)])]),_:1}),t(z,{class:"mb-2",title:"Backup-Cloud",options:l.backupCloudList,"model-value":(M=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:M.type,"onUpdate:modelValue":e[9]||(e[9]=c=>l.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(L=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&L.type?(u(),g("div",Ee,[t(d,{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[10]||(e[10]=c=>n.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:i(()=>[...e[42]||(e[42]=[o(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ",-1)])]),_:1},8,["model-value"]),t(q,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[11]||(e[11]=c=>l.sendSystemCommand("createCloudBackup",{}))}),t($,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[12]||(e[12]=c=>l.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[13]||(e[13]=c=>l.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):y("",!0),t(A,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[14]||(e[14]=c=>n.$emit("save")),onReset:e[15]||(e[15]=c=>n.$emit("reset")),onDefaults:e[16]||(e[16]=c=>n.$emit("defaults"))})])):y("",!0)]))]}),_:1},8,["collapsed"]),!a.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),k(W,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:i(()=>[s("form",je,[t(p,{subtype:"info"},{default:i(()=>[...e[44]||(e[44]=[o(" 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.",-1),s("br",null,null,-1),o(" 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)])]),_:1}),t(p,{subtype:"danger"},{default:i(()=>[...e[45]||(e[45]=[o(" 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.",-1),s("br",null,null,-1),o(" Vor der Datenübernahme unbedingt eine Sicherung erstellen.",-1),s("br",null,null,-1),o(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ",-1)])]),_:1}),s("div",Re,[s("div",Ue,[s("div",xe,[t(_,{icon:["fas","file-archive"]})])]),s("div",qe,[s("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[17]||(e[17]=f=>l.updateSelectedDataMigrationFile(f))},null,32),s("label",$e,b(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),s("div",He,[s("button",{class:O(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[18]||(e[18]=f=>l.uploadDataMigrationFile())},[e[46]||(e[46]=o(" Hochladen ",-1)),t(_,{icon:["fas","upload"]})],10,Ne)])]),t(h,null,{default:i(()=>[...e[47]||(e[47]=[o(" Zuordnung der Komponenten ",-1)])]),_:1}),(u(!0),g(F,null,T(r.dataMigrationConfig,f=>(u(),g("div",{key:f.sectionName},[t(h,null,{default:i(()=>[o(b(f.sectionName),1)]),_:2},1024),(u(!0),g(F,null,T(f.sectionComponents,w=>(u(),k(z,{key:w.key,modelValue:r.dataMigrationMapping[w.key],"onUpdate:modelValue":M=>r.dataMigrationMapping[w.key]=M,title:w.label,options:l.getMigrationOptions(w.validTypes)},Q({_:2},[w.help?{name:"help",fn:i(()=>[o(b(w.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),s("div",Ie,[s("div",Ke,[t(S,{class:O(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[19]||(e[19]=f=>l.dataMigration())},{default:i(()=>[e[48]||(e[48]=o(" Datenübernahme starten ",-1)),t(_,{icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})):y("",!0),a.installAssistantActive?y("",!0):(u(),g("form",Ge,[t(W,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[s("div",Je,[s("div",Ze,[t(S,{class:"btn-danger clickable",onButtonClicked:e[20]||(e[20]=f=>l.factoryReset())},{default:i(()=>[t(_,{icon:["fas","skull-crossbones"]}),e[50]||(e[50]=o(" Zurücksetzen ",-1)),t(_,{icon:["fas","skull-crossbones"]})]),_:1})])])]),default:i(()=>[t(p,{subtype:"danger"},{default:i(()=>[...e[49]||(e[49]=[o(" 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})]),_:1})])),a.installAssistantActive?y("",!0):(u(),g("form",Qe,[t(W,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:i(()=>[t(A,{"form-name":"monitoringForm","hide-defaults":!0,onSave:e[23]||(e[23]=f=>n.$emit("save")),onReset:e[24]||(e[24]=f=>n.$emit("reset"))})]),default:i(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),g("div",Xe,[t(p,{subtype:"info"},{default:i(()=>[...e[51]||(e[51]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),g("div",Ye,[t(p,{subtype:"info"},{default:i(()=>[...e[52]||(e[52]=[o(" 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)])]),_:1}),t(z,{class:"mb-2",title:"Anbieter",options:l.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[21]||(e[21]=f=>l.updateSelectedMonitoring(f))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),g("div",en,[t(H,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[22]||(e[22]=f=>l.updateConfiguration("openWB/optional/monitoring/config",f))},null,8,["monitoring"])])):y("",!0)]))]),_:1})]))])):y("",!0)])}const tn=B(ke,[["render",nn],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),ln=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"}));export{Y as B,tn as D,ue as M,ln as a}; diff --git a/web/settings/assets/DebugConfig-a8acdcbf.js b/web/settings/assets/DebugConfig-cf79b687.js similarity index 95% rename from web/settings/assets/DebugConfig-a8acdcbf.js rename to web/settings/assets/DebugConfig-cf79b687.js index 2a44f16ffe..75bb9ee228 100644 --- a/web/settings/assets/DebugConfig-a8acdcbf.js +++ b/web/settings/assets/DebugConfig-cf79b687.js @@ -1,2 +1,2 @@ -import{C as x}from"./index-25097726.js";import{l as B,ac as W,ad as V,k as z,ae as P,g as N,F as M}from"./vendor-fortawesome-77ba272b.js";import{a as y}from"./vendor-axios-8e1a46ae.js";import{_ as F,a4 as S,u as l,l as u,x as p,E as r,q as f,y as L,G as g,z as m,B as h,F as v,A as b,m as C,N as T,M as q}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-sortablejs-5493eb90.js";B.add(W,V,z,P,N);const E={name:"OpenwbLogCard",components:{FontAwesomeIcon:M},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1,foundFiles:[],selectedVariant:"",copyMessage:!1,pastebinLink:""}},methods:{async getFilePromise(o,e=!1,n=!0,a=!1){return y[a?"head":"get"](location.protocol+"//"+location.host+o).then(s=>{if(a)return!0;{const d=s.data;return d||"log file is empty"}}).catch(s=>{if(!n)throw s;return s.response?s.response.status==404&&e?a?!1:"":`A 404 is expected if running node.js dev server! +import{C as x}from"./index-bbf7119b.js";import{l as B,ac as W,ad as V,k as z,ae as P,g as N,F as M}from"./vendor-fortawesome-641b8eb6.js";import{a as y}from"./vendor-axios-1a87d4ae.js";import{_ as F,a4 as S,u as l,l as u,x as p,E as r,q as f,y as L,G as g,z as m,B as h,F as v,A as b,m as C,N as T,M as q}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-sortablejs-8982fad4.js";B.add(W,V,z,P,N);const E={name:"OpenwbLogCard",components:{FontAwesomeIcon:M},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1,foundFiles:[],selectedVariant:"",copyMessage:!1,pastebinLink:""}},methods:{async getFilePromise(o,e=!1,n=!0,a=!1){return y[a?"head":"get"](location.protocol+"//"+location.host+o).then(s=>{if(a)return!0;{const d=s.data;return d||"log file is empty"}}).catch(s=>{if(!n)throw s;return s.response?s.response.status==404&&e?a?!1:"":`A 404 is expected if running node.js dev server! `+s.response.status+" "+s.response.statusText+": "+s.response.request.responseURL:s.request?s.request:s.message})},async loadLog(o,e=""){this.logData="wird aktualisiert...",this.loading=!0,this.pastebinLink="";var n="";e&&(o=o.replace(".log",`.${e}.log`));for(let t=4;t>=1;t--){const s=await this.getFilePromise(o+"."+t,!0);n+=s}const a=await this.getFilePromise(o);n+=a,this.logData=n,this.loading=!1},async checkLatestLog(o){const e=[{suffix:"latest",title:"Letzten 3 Durchläufe",description:"Logs der Letzten 3 Durchläufe laden"},{suffix:"current",title:"Letzter Durchlauf",description:"Logs des letzten Durchlaufs laden"},{suffix:"latest-warning",title:"Letzter Durchlauf mit Warnung oder Fehler",description:"Fehlerprotokoll laden"}];this.foundFiles=[];for(const n of e){const a=o.replace(".log",`.${n.suffix}.log`);try{await this.getFilePromise(a,!1,!1,!0),this.foundFiles.push(n),n.suffix==="latest"&&(this.selectedVariant="latest",console.log("Found latest log file: ",a))}catch(t){console.log(t)}}this.foundFiles.length>0&&this.foundFiles.push({suffix:"",title:"Vollständiges Log",description:"Vollständiges Log laden"})},async onCardExpand(){await this.checkLatestLog(this.logFile),this.loadLog(this.logFile,this.selectedVariant)},copyToClipboard(o=this.logData,e=!0){if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(()=>{e&&this.showCopyMessage()}).catch(n=>{console.error("Fehler beim Kopieren in die Zwischenablage: ",n)});else{const n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select();try{document.execCommand("copy"),e&&this.showCopyMessage()}catch(a){console.error("Fehler beim Kopieren in die Zwischenablage: ",a)}document.body.removeChild(n)}},showCopyMessage(){this.copyMessage=!0,this.$root.postClientMessage("Log in die Zwischenablage kopiert.","info"),setTimeout(()=>{this.copyMessage=!1},3e3)},async postToPastebin(){try{const o=S.gzip(this.logData),e=await y.post("https://bytebin.openwb.de/post",o,{headers:{"Content-Type":"text/log","Content-Encoding":"gzip"}});if(!e.data.key)throw new Error("Key is missing in the response");const n=e.data.key;this.pastebinLink=`https://paste.openwb.de/${n}`,console.log("Pastebin link:",this.pastebinLink),this.copyToClipboard(this.pastebinLink,!1),this.$root.postClientMessage(`Log an Pastebin gesendet.
Key: ${n}
Der Link wurde in die Zwischenablage kopiert.`,"info")}catch(o){console.error("Fehler beim Posten auf paste.openwb.de: ",o)}}}},I={class:"log-data mb-0"};function A(o,e,n,a,t,s){const d=l("font-awesome-icon"),c=l("openwb-base-avatar"),w=l("openwb-base-select-input"),_=l("openwb-base-alert"),k=l("openwb-base-card");return u(),p(k,{title:n.title,class:"log-card",collapsible:!0,collapsed:!0,onExpanded:s.onCardExpand},{actions:r(({collapsed:i})=>[i?m("",!0):(u(),p(c,{key:0,class:f(["clickable mr-1",t.pastebinLink?"bg-success":"bg-info"]),onClick:L(s.postToPastebin,["stop"])},{default:r(()=>[g(d,{icon:t.pastebinLink?["fas","check"]:["fas","share-nodes"],title:t.pastebinLink?"Link in die Zwischenablage kopiert":"Log auf paste.openwb.de teilen"},null,8,["icon","title"])]),_:1},8,["class","onClick"])),i?m("",!0):(u(),p(c,{key:1,class:f(["clickable mr-1",t.copyMessage?"bg-success":"bg-info"]),onClick:e[0]||(e[0]=L(D=>s.copyToClipboard(t.logData),["stop"]))},{default:r(()=>[g(d,{icon:t.copyMessage?["fas","check"]:["fas","clipboard"],title:t.copyMessage?"Log in die Zwischenablage kopiert":"Log kopieren"},null,8,["icon","title"])]),_:1},8,["class"])),i?m("",!0):(u(),p(c,{key:2,class:f(["clickable",t.loading?"bg-success":"bg-info"]),onClick:e[1]||(e[1]=L(D=>s.loadLog(n.logFile,t.selectedVariant),["stop"]))},{default:r(()=>[g(d,{class:f(t.loading?"fa-spin-pulse":""),icon:t.loading?["fas","spinner"]:["fas","file-download"],title:"Log laden/aktualisieren"},null,8,["class","icon"])]),_:1},8,["class"]))]),default:r(()=>[t.foundFiles.length>0?(u(),p(_,{key:0,subtype:"info"},{default:r(()=>[h(" Im "+v(n.title)+" stehen unterschiedliche Logauszüge zur Verfügung. Standardmässig werden Logs der letzten 3 Durchläufe geladen, für viele Fälle sollte dies ausreichen. Optional kann auch das gesamte Log geladen werden.",1),e[4]||(e[4]=b("br",null,null,-1)),e[5]||(e[5]=h(" Wurde eine Warnung oder ein Fehler protokolliert steht zusätzlich der letzte Durchlauf mit Warnungen und Fehlern zur Verfügung.",-1)),e[6]||(e[6]=b("br",null,null,-1)),g(w,{modelValue:t.selectedVariant,"onUpdate:modelValue":e[2]||(e[2]=i=>t.selectedVariant=i),title:"Logfile",required:"",options:t.foundFiles.map(i=>({value:i.suffix,text:i.title})),onChange:e[3]||(e[3]=i=>s.loadLog(n.logFile,t.selectedVariant))},null,8,["modelValue","options"])]),_:1})):m("",!0),b("pre",I,v(t.logData),1)]),_:1},8,["title","onExpanded"])}const K=F(E,[["render",A],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),Z={name:"OpenwbDebuggingView",components:{OpenwbLogCard:K},mixins:[x],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 Sicherung",fileName:"/openWB/data/log/backup.log"},{title:"Protokoll der Wiederherstellung",fileName:"/openWB/data/log/restore.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"},{title:"Protokoll über die Schaltvorgänge von steuerbaren Verbrauchseinrichtungen",fileName:"/openWB/data/log/steuve_control_command.log"},{title:"Thread-Errors",fileName:"/openWB/ramdisk/thread_errors.log"}]}}},O={class:"debugging"},R={name:"debugConfigForm"};function U(o,e,n,a,t,s){const d=l("openwb-base-button-group-input"),c=l("openwb-base-alert"),w=l("openwb-base-card"),_=l("openwb-base-submit-buttons"),k=l("openwb-log-card");return u(),C("div",O,[b("form",R,[g(w,{title:"Protokollierung"},{default:r(()=>[g(d,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":o.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateState("openWB/system/debug_level",i))},{help:r(()=>[...e[4]||(e[4]=[h(' 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)])]),_:1},8,["model-value"]),g(c,{subtype:"warning"},{default:r(()=>[...e[5]||(e[5]=[h(' 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})]),_:1}),g(_,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=i=>o.$emit("save")),onReset:e[2]||(e[2]=i=>o.$emit("reset")),onDefaults:e[3]||(e[3]=i=>o.$emit("defaults"))})]),(u(!0),C(T,null,q(t.logFiles,i=>(u(),p(k,{key:i.fileName,title:i.title,"log-file":i.fileName},null,8,["title","log-file"]))),128))])}const H=F(Z,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{H as default}; diff --git a/web/settings/assets/GeneralChargeConfig-eb4e97fc.js b/web/settings/assets/GeneralChargeConfig-d99f183c.js similarity index 78% rename from web/settings/assets/GeneralChargeConfig-eb4e97fc.js rename to web/settings/assets/GeneralChargeConfig-d99f183c.js index ba57d1c20d..a031b196b6 100644 --- a/web/settings/assets/GeneralChargeConfig-eb4e97fc.js +++ b/web/settings/assets/GeneralChargeConfig-d99f183c.js @@ -1 +1 @@ -import{_ as g,C as I}from"./index-25097726.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as E,a6 as S,a7 as T,F as D}from"./vendor-fortawesome-77ba272b.js";import{_ as w,u as l,l as r,m as u,x as m,E as i,B as o,F as b,G as n,A as c,a2 as V,a3 as z,N as q,z as h}from"./vendor-1833c026.js";const U={props:{flexibleTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},R=w(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/FlexibleTariffConfigMixin.vue"]]),j={name:"FlexibleTariffConfigFallback",mixins:[R]},M={class:"flexible-tariff-fallback"},Z={key:1};function K(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-textarea");return r(),u("div",M,[Object.keys(t.flexibleTariff.configuration).length==0?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(t.flexibleTariff.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),u("div",Z,[n(s,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(t.flexibleTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":t.flexibleTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(s,{subtype:"info"},{default:i(()=>[c("pre",null,b(JSON.stringify(t.flexibleTariff.configuration,void 0,2)),1)]),_:1})]))])}const J=w(j,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/OpenwbFlexibleTariffConfigFallback.vue"]]);E.add(S,T);const H={name:"OpenwbFlexibleTariffProxy",components:{FontAwesomeIcon:D},props:{flexibleTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading flexible tariff: ${this.flexibleTariff.type}`),V({loader:()=>O(Object.assign({"./awattar/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-afa485fa.js"),["assets/flexible_tariff-afa485fa.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ekz/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-e6eb4229.js"),["assets/flexible_tariff-e6eb4229.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-e2811fbd.js"),["assets/flexible_tariff-e2811fbd.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fixed_hours/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-ba0b0f8d.js"),["assets/flexible_tariff-ba0b0f8d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js","assets/flexible_tariff-d811ae8a.css"]),"./groupe_e/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-c2ebec8f.js"),["assets/flexible_tariff-c2ebec8f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./octopusenergy/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-dc17dca7.js"),["assets/flexible_tariff-dc17dca7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ostrom/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-d2faf311.js"),["assets/flexible_tariff-d2faf311.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-8b1a79b5.js"),["assets/flexible_tariff-8b1a79b5.js","assets/vendor-axios-8e1a46ae.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-ef5e756a.js"),["assets/flexible_tariff-ef5e756a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-0956bfb8.js"),["assets/flexible_tariff-0956bfb8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./westfalen_wind/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-5f92f999.js"),["assets/flexible_tariff-5f92f999.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.flexibleTariff.type}/flexible_tariff.vue`),errorComponent:J})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function Q(t,e,d,B,k,p){const s=l("font-awesome-icon"),f=l("openwb-base-alert"),_=l("openwb-base-heading");return r(),u(q,null,[d.flexibleTariff.official?(r(),m(f,{key:0,subtype:"success"},{default:i(()=>[n(s,{icon:["fas","certificate"]}),o(' Das ausgewählte Modul "'+b(d.flexibleTariff.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),m(f,{key:1,subtype:"info"},{default:i(()=>[n(s,{icon:["fas","people-group"]}),o(' Das ausgewählte Modul "'+b(d.flexibleTariff.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(d.flexibleTariff.name)+'" ',1)]),_:1}),(r(),m(z(p.getTariffComponent()),{"flexible-tariff":d.flexibleTariff,"onUpdate:configuration":e[0]||(e[0]=v=>p.updateConfiguration(v))},null,40,["flexible-tariff"]))],64)}const X=w(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/OpenwbFlexibleTariffProxy.vue"]]),Y={props:{gridFee:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ee=w(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/GridFeeConfigMixin.vue"]]),te={name:"GridFeeConfigFallback",mixins:[ee]},ne={class:"grid-fee-fallback"},ie={key:1};function oe(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-textarea");return r(),u("div",ne,[Object.keys(t.gridFee.configuration).length==0?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(t.gridFee.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),u("div",ie,[n(s,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(t.gridFee.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":t.gridFee.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(s,{subtype:"info"},{default:i(()=>[c("pre",null,b(JSON.stringify(t.gridFee.configuration,void 0,2)),1)]),_:1})]))])}const re=w(te,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/OpenwbGridFeeConfigFallback.vue"]]);E.add(S,T);const ae={name:"OpenwbGridFeeProxy",components:{FontAwesomeIcon:D},props:{gridFee:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading grid fee: ${this.gridFee.type}`),V({loader:()=>O(Object.assign({"./fixed_hours/grid_fee.vue":()=>g(()=>import("./grid_fee-a59274da.js"),["assets/grid_fee-a59274da.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js","assets/grid_fee-f3426cec.css"])}),`./${this.gridFee.type}/grid_fee.vue`),errorComponent:re})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function le(t,e,d,B,k,p){const s=l("font-awesome-icon"),f=l("openwb-base-alert"),_=l("openwb-base-heading");return r(),u(q,null,[d.gridFee.official?(r(),m(f,{key:0,subtype:"success"},{default:i(()=>[n(s,{icon:["fas","certificate"]}),o(' Das ausgewählte Modul "'+b(d.gridFee.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),m(f,{key:1,subtype:"info"},{default:i(()=>[n(s,{icon:["fas","people-group"]}),o(' Das ausgewählte Modul "'+b(d.gridFee.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(d.gridFee.name)+'" ',1)]),_:1}),(r(),m(z(p.getTariffComponent()),{"grid-fee":d.gridFee,"onUpdate:configuration":e[0]||(e[0]=v=>p.updateConfiguration(v))},null,40,["grid-fee"]))],64)}const se=w(ae,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/OpenwbGridFeeProxy.vue"]]),de={name:"OpenwbGeneralChargeConfigView",components:{OpenwbFlexibleTariffProxy:X,OpenwbGridFeeProxy:se},mixins:[I],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/ep/flexible_tariff/provider","openWB/optional/ep/grid_fee/provider","openWB/optional/ocpp/config","openWB/system/configurable/flexible_tariffs","openWB/system/configurable/grid_fees"]}},computed:{flexibleTariffList(){return this.$store.state.mqtt["openWB/system/configurable/flexible_tariffs"]},gridFeeList(){return this.$store.state.mqtt["openWB/system/configurable/grid_fees"]}},methods:{getFlexibleTariffDefaultConfiguration(t){const e=this.flexibleTariffList.find(d=>d.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedFlexibleTariff(t){this.updateState("openWB/optional/ep/flexible_tariff/provider",t,"type"),this.updateState("openWB/optional/ep/flexible_tariff/provider",this.getFlexibleTariffDefaultConfiguration(t))},getGridFeeDefaultConfiguration(t){const e=this.gridFeeList.find(d=>d.value==t);return e&&Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for grid fee type!",t),{})},updateSelectedGridFee(t){this.updateState("openWB/optional/ep/grid_fee/provider",t,"type"),this.updateState("openWB/optional/ep/grid_fee/provider",this.getGridFeeDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},ue={class:"generalChargeConfig"},pe={name:"generalChargeConfigForm"},fe={key:0},ge={key:1},be={key:0},me={key:1},_e={key:1},ce={key:2},ve={key:0},we={key:1},ye={key:0};function he(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-button-group-input"),_=l("openwb-base-range-input"),v=l("openwb-base-card"),W=l("openwb-base-heading"),x=l("openwb-base-number-input"),F=l("openwb-base-select-input"),L=l("openwb-flexible-tariff-proxy"),A=l("openwb-grid-fee-proxy"),G=l("openwb-base-text-input"),N=l("openwb-base-submit-buttons");return r(),u("div",ue,[c("form",pe,[n(v,{title:"Allgemein"},{default:i(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",fe,[n(s,{subtype:"info"},{default:i(()=>[...e[15]||(e[15]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",ge,[n(f,{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]=a=>t.updateState("openWB/general/chargemode_config/unbalanced_load",a))},{help:i(()=>[...e[16]||(e[16]=[o(" 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!",-1),c("br",null,null,-1),o(' 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)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(r(),m(_,{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]=a=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",a))},{help:i(()=>[...e[17]||(e[17]=[o(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ",-1)])]),_:1},8,["model-value"])):h("",!0)]))]),_:1}),n(v,{title:"Energiekosten"},{default:i(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",be,[n(s,{subtype:"info"},{default:i(()=>[...e[18]||(e[18]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",me,[n(W,{class:"mt-0"},{help:i(()=>[...e[19]||(e[19]=[o(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert.",-1),c("br",null,null,-1),o(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ",-1)])]),default:i(()=>[e[20]||(e[20]=o(" Berechnung der Ladekosten ",-1))]),_:1}),t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]&&t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[...e[21]||(e[21]=[o(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. Wenn keine dynamischen Strompreise abgefragt werden können, wird der eingetragene Preis für den Netzbezug verwendet. ",-1)])]),_:1})):h("",!0),n(x,{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[2]||(e[2]=a=>t.updateState("openWB/general/prices/grid",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),n(x,{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[3]||(e[3]=a=>t.updateState("openWB/general/prices/bat",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),n(x,{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[4]||(e[4]=a=>t.updateState("openWB/general/prices/pv",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),e[26]||(e[26]=c("hr",null,null,-1)),n(W,null,{default:i(()=>[...e[22]||(e[22]=[o(" Variable Strompreise ",-1)])]),_:1}),n(s,{subtype:"info"},{default:i(()=>[...e[23]||(e[23]=[o(' Ist in den Lademodi Eco und Zeitladen "Preisbasiertes Laden" gewählt, 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 Zeiten geladen.',-1),c("br",null,null,-1),o(' Wenn keine Preise abgefragt werden können oder "Preisbasiertes Laden" abgewählt wurde, wird in Modus Eco immer geladen bzw. bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. Wenn sowohl dynamische Stromtarife als auch dynamische Netzentgelte konfiguriert sind, werden beide zum Gesamt-Strompreis addiert. Ist nur eines von beiden konfiguriert, wird dieses als Gesamtpreis verwendet.',-1),c("br",null,null,-1)])]),_:1}),n(W,null,{default:i(()=>[...e[24]||(e[24]=[o(" Dynamische Stromtarife ",-1)])]),_:1}),n(F,{class:"mb-2",title:"Anbieter",options:p.flexibleTariffList,"model-value":t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]?t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type:"","onUpdate:modelValue":e[5]||(e[5]=a=>p.updateSelectedFlexibleTariff(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]&&t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(r(),u("div",_e,[n(L,{"flexible-tariff":t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"],"onUpdate:configuration":e[6]||(e[6]=a=>p.updateConfiguration("openWB/optional/ep/flexible_tariff/provider",a))},null,8,["flexible-tariff"])])):h("",!0),n(W,null,{default:i(()=>[...e[25]||(e[25]=[o(" Dynamische Netzentgelte ",-1)])]),_:1}),n(F,{class:"mb-2",title:"Anbieter",options:p.gridFeeList,"model-value":t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"]?t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=a=>p.updateSelectedGridFee(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"]&&t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"].type?(r(),u("div",ce,[n(A,{"grid-fee":t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"],"onUpdate:configuration":e[8]||(e[8]=a=>p.updateConfiguration("openWB/optional/ep/grid_fee/provider",a))},null,8,["grid-fee"])])):h("",!0)]))]),_:1}),n(v,{title:"OCPP Anbindung"},{default:i(()=>{var a,C,P,$;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",ve,[n(s,{subtype:"info"},{default:i(()=>[...e[27]||(e[27]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",we,[n(f,{title:"OCPP aktivieren",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/optional/ocpp/config"])==null?void 0:a.active,"onUpdate:modelValue":e[9]||(e[9]=y=>t.updateState("openWB/optional/ocpp/config",y,"active"))},null,8,["model-value"]),((C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.active)===!0?(r(),u("div",ye,[n(s,{subtype:"info"},{default:i(()=>[...e[28]||(e[28]=[o(" 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.",-1),c("br",null,null,-1),o(" 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 unter Einstellungen -> Konfiguration im zugehörigen -> Ladepunkt eingetragen werden. ",-1)])]),_:1}),n(G,{title:"URL des OCPP-Backends",subtype:"url","model-value":(P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.url,"onUpdate:modelValue":e[10]||(e[10]=y=>t.updateState("openWB/optional/ocpp/config",y,"url"))},null,8,["model-value"]),n(F,{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":($=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:$.version,"onUpdate:modelValue":e[11]||(e[11]=y=>t.updateState("openWB/optional/ocpp/config",y,"version"))},null,8,["model-value"])])):h("",!0)]))]}),_:1}),n(N,{"form-name":"generalChargeConfigForm",onSave:e[12]||(e[12]=a=>t.$emit("save")),onReset:e[13]||(e[13]=a=>t.$emit("reset")),onDefaults:e[14]||(e[14]=a=>t.$emit("defaults"))})])])}const Be=w(de,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),Ce=Object.freeze(Object.defineProperty({__proto__:null,default:Be},Symbol.toStringTag,{value:"Module"}));export{R as F,ee as G,Ce as a}; +import{_ as g,C as I}from"./index-bbf7119b.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as E,a6 as S,a7 as T,F as D}from"./vendor-fortawesome-641b8eb6.js";import{_ as w,u as l,l as r,m as u,x as m,E as i,B as o,F as b,G as n,A as c,a2 as V,a3 as z,N as q,z as h}from"./vendor-50125810.js";const U={props:{flexibleTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},R=w(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/FlexibleTariffConfigMixin.vue"]]),j={name:"FlexibleTariffConfigFallback",mixins:[R]},M={class:"flexible-tariff-fallback"},Z={key:1};function K(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-textarea");return r(),u("div",M,[Object.keys(t.flexibleTariff.configuration).length==0?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(t.flexibleTariff.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),u("div",Z,[n(s,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(t.flexibleTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":t.flexibleTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(s,{subtype:"info"},{default:i(()=>[c("pre",null,b(JSON.stringify(t.flexibleTariff.configuration,void 0,2)),1)]),_:1})]))])}const J=w(j,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/OpenwbFlexibleTariffConfigFallback.vue"]]);E.add(S,T);const H={name:"OpenwbFlexibleTariffProxy",components:{FontAwesomeIcon:D},props:{flexibleTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading flexible tariff: ${this.flexibleTariff.type}`),V({loader:()=>O(Object.assign({"./awattar/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-949410f1.js"),["assets/flexible_tariff-949410f1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ekz/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-e8dae122.js"),["assets/flexible_tariff-e8dae122.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-20cf9e98.js"),["assets/flexible_tariff-20cf9e98.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fixed_hours/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-60131f3a.js"),["assets/flexible_tariff-60131f3a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js","assets/flexible_tariff-d811ae8a.css"]),"./groupe_e/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-d7c10ad8.js"),["assets/flexible_tariff-d7c10ad8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./octopusenergy/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-4a082b2b.js"),["assets/flexible_tariff-4a082b2b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ostrom/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-81101acf.js"),["assets/flexible_tariff-81101acf.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-5f23f4ec.js"),["assets/flexible_tariff-5f23f4ec.js","assets/vendor-axios-1a87d4ae.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-b5a6cbc7.js"),["assets/flexible_tariff-b5a6cbc7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-c2eab59f.js"),["assets/flexible_tariff-c2eab59f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./westfalen_wind/flexible_tariff.vue":()=>g(()=>import("./flexible_tariff-ac4f844d.js"),["assets/flexible_tariff-ac4f844d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.flexibleTariff.type}/flexible_tariff.vue`),errorComponent:J})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function Q(t,e,d,B,k,p){const s=l("font-awesome-icon"),f=l("openwb-base-alert"),_=l("openwb-base-heading");return r(),u(q,null,[d.flexibleTariff.official?(r(),m(f,{key:0,subtype:"success"},{default:i(()=>[n(s,{icon:["fas","certificate"]}),o(' Das ausgewählte Modul "'+b(d.flexibleTariff.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),m(f,{key:1,subtype:"info"},{default:i(()=>[n(s,{icon:["fas","people-group"]}),o(' Das ausgewählte Modul "'+b(d.flexibleTariff.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(d.flexibleTariff.name)+'" ',1)]),_:1}),(r(),m(z(p.getTariffComponent()),{"flexible-tariff":d.flexibleTariff,"onUpdate:configuration":e[0]||(e[0]=v=>p.updateConfiguration(v))},null,40,["flexible-tariff"]))],64)}const X=w(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/OpenwbFlexibleTariffProxy.vue"]]),Y={props:{gridFee:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ee=w(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/GridFeeConfigMixin.vue"]]),te={name:"GridFeeConfigFallback",mixins:[ee]},ne={class:"grid-fee-fallback"},ie={key:1};function oe(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-textarea");return r(),u("div",ne,[Object.keys(t.gridFee.configuration).length==0?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(t.gridFee.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),u("div",ie,[n(s,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(t.gridFee.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":t.gridFee.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(s,{subtype:"info"},{default:i(()=>[c("pre",null,b(JSON.stringify(t.gridFee.configuration,void 0,2)),1)]),_:1})]))])}const re=w(te,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/OpenwbGridFeeConfigFallback.vue"]]);E.add(S,T);const ae={name:"OpenwbGridFeeProxy",components:{FontAwesomeIcon:D},props:{gridFee:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading grid fee: ${this.gridFee.type}`),V({loader:()=>O(Object.assign({"./fixed_hours/grid_fee.vue":()=>g(()=>import("./grid_fee-08bca713.js"),["assets/grid_fee-08bca713.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js","assets/grid_fee-f3426cec.css"])}),`./${this.gridFee.type}/grid_fee.vue`),errorComponent:re})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function le(t,e,d,B,k,p){const s=l("font-awesome-icon"),f=l("openwb-base-alert"),_=l("openwb-base-heading");return r(),u(q,null,[d.gridFee.official?(r(),m(f,{key:0,subtype:"success"},{default:i(()=>[n(s,{icon:["fas","certificate"]}),o(' Das ausgewählte Modul "'+b(d.gridFee.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),m(f,{key:1,subtype:"info"},{default:i(()=>[n(s,{icon:["fas","people-group"]}),o(' Das ausgewählte Modul "'+b(d.gridFee.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(d.gridFee.name)+'" ',1)]),_:1}),(r(),m(z(p.getTariffComponent()),{"grid-fee":d.gridFee,"onUpdate:configuration":e[0]||(e[0]=v=>p.updateConfiguration(v))},null,40,["grid-fee"]))],64)}const se=w(ae,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/OpenwbGridFeeProxy.vue"]]),de={name:"OpenwbGeneralChargeConfigView",components:{OpenwbFlexibleTariffProxy:X,OpenwbGridFeeProxy:se},mixins:[I],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/ep/flexible_tariff/provider","openWB/optional/ep/grid_fee/provider","openWB/optional/ocpp/config","openWB/system/configurable/flexible_tariffs","openWB/system/configurable/grid_fees"]}},computed:{flexibleTariffList(){return this.$store.state.mqtt["openWB/system/configurable/flexible_tariffs"]},gridFeeList(){return this.$store.state.mqtt["openWB/system/configurable/grid_fees"]}},methods:{getFlexibleTariffDefaultConfiguration(t){const e=this.flexibleTariffList.find(d=>d.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedFlexibleTariff(t){this.updateState("openWB/optional/ep/flexible_tariff/provider",t,"type"),this.updateState("openWB/optional/ep/flexible_tariff/provider",this.getFlexibleTariffDefaultConfiguration(t))},getGridFeeDefaultConfiguration(t){const e=this.gridFeeList.find(d=>d.value==t);return e&&Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for grid fee type!",t),{})},updateSelectedGridFee(t){this.updateState("openWB/optional/ep/grid_fee/provider",t,"type"),this.updateState("openWB/optional/ep/grid_fee/provider",this.getGridFeeDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},ue={class:"generalChargeConfig"},pe={name:"generalChargeConfigForm"},fe={key:0},ge={key:1},be={key:0},me={key:1},_e={key:1},ce={key:2},ve={key:0},we={key:1},ye={key:0};function he(t,e,d,B,k,p){const s=l("openwb-base-alert"),f=l("openwb-base-button-group-input"),_=l("openwb-base-range-input"),v=l("openwb-base-card"),W=l("openwb-base-heading"),x=l("openwb-base-number-input"),F=l("openwb-base-select-input"),L=l("openwb-flexible-tariff-proxy"),A=l("openwb-grid-fee-proxy"),G=l("openwb-base-text-input"),N=l("openwb-base-submit-buttons");return r(),u("div",ue,[c("form",pe,[n(v,{title:"Allgemein"},{default:i(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",fe,[n(s,{subtype:"info"},{default:i(()=>[...e[15]||(e[15]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",ge,[n(f,{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]=a=>t.updateState("openWB/general/chargemode_config/unbalanced_load",a))},{help:i(()=>[...e[16]||(e[16]=[o(" 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!",-1),c("br",null,null,-1),o(' 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)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(r(),m(_,{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]=a=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",a))},{help:i(()=>[...e[17]||(e[17]=[o(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ",-1)])]),_:1},8,["model-value"])):h("",!0)]))]),_:1}),n(v,{title:"Energiekosten"},{default:i(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",be,[n(s,{subtype:"info"},{default:i(()=>[...e[18]||(e[18]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",me,[n(W,{class:"mt-0"},{help:i(()=>[...e[19]||(e[19]=[o(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert.",-1),c("br",null,null,-1),o(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ",-1)])]),default:i(()=>[e[20]||(e[20]=o(" Berechnung der Ladekosten ",-1))]),_:1}),t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]&&t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(r(),m(s,{key:0,subtype:"info"},{default:i(()=>[...e[21]||(e[21]=[o(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. Wenn keine dynamischen Strompreise abgefragt werden können, wird der eingetragene Preis für den Netzbezug verwendet. ",-1)])]),_:1})):h("",!0),n(x,{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[2]||(e[2]=a=>t.updateState("openWB/general/prices/grid",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),n(x,{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[3]||(e[3]=a=>t.updateState("openWB/general/prices/bat",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),n(x,{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[4]||(e[4]=a=>t.updateState("openWB/general/prices/pv",parseFloat((a/1e5).toFixed(7))))},null,8,["model-value"]),e[26]||(e[26]=c("hr",null,null,-1)),n(W,null,{default:i(()=>[...e[22]||(e[22]=[o(" Variable Strompreise ",-1)])]),_:1}),n(s,{subtype:"info"},{default:i(()=>[...e[23]||(e[23]=[o(' Ist in den Lademodi Eco und Zeitladen "Preisbasiertes Laden" gewählt, 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 Zeiten geladen.',-1),c("br",null,null,-1),o(' Wenn keine Preise abgefragt werden können oder "Preisbasiertes Laden" abgewählt wurde, wird in Modus Eco immer geladen bzw. bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. Wenn sowohl dynamische Stromtarife als auch dynamische Netzentgelte konfiguriert sind, werden beide zum Gesamt-Strompreis addiert. Ist nur eines von beiden konfiguriert, wird dieses als Gesamtpreis verwendet.',-1),c("br",null,null,-1)])]),_:1}),n(W,null,{default:i(()=>[...e[24]||(e[24]=[o(" Dynamische Stromtarife ",-1)])]),_:1}),n(F,{class:"mb-2",title:"Anbieter",options:p.flexibleTariffList,"model-value":t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]?t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type:"","onUpdate:modelValue":e[5]||(e[5]=a=>p.updateSelectedFlexibleTariff(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]&&t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(r(),u("div",_e,[n(L,{"flexible-tariff":t.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"],"onUpdate:configuration":e[6]||(e[6]=a=>p.updateConfiguration("openWB/optional/ep/flexible_tariff/provider",a))},null,8,["flexible-tariff"])])):h("",!0),n(W,null,{default:i(()=>[...e[25]||(e[25]=[o(" Dynamische Netzentgelte ",-1)])]),_:1}),n(F,{class:"mb-2",title:"Anbieter",options:p.gridFeeList,"model-value":t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"]?t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=a=>p.updateSelectedGridFee(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"]&&t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"].type?(r(),u("div",ce,[n(A,{"grid-fee":t.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"],"onUpdate:configuration":e[8]||(e[8]=a=>p.updateConfiguration("openWB/optional/ep/grid_fee/provider",a))},null,8,["grid-fee"])])):h("",!0)]))]),_:1}),n(v,{title:"OCPP Anbindung"},{default:i(()=>{var a,C,P,$;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),u("div",ve,[n(s,{subtype:"info"},{default:i(()=>[...e[27]||(e[27]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),u("div",we,[n(f,{title:"OCPP aktivieren",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/optional/ocpp/config"])==null?void 0:a.active,"onUpdate:modelValue":e[9]||(e[9]=y=>t.updateState("openWB/optional/ocpp/config",y,"active"))},null,8,["model-value"]),((C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.active)===!0?(r(),u("div",ye,[n(s,{subtype:"info"},{default:i(()=>[...e[28]||(e[28]=[o(" 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.",-1),c("br",null,null,-1),o(" 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 unter Einstellungen -> Konfiguration im zugehörigen -> Ladepunkt eingetragen werden. ",-1)])]),_:1}),n(G,{title:"URL des OCPP-Backends",subtype:"url","model-value":(P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.url,"onUpdate:modelValue":e[10]||(e[10]=y=>t.updateState("openWB/optional/ocpp/config",y,"url"))},null,8,["model-value"]),n(F,{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":($=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:$.version,"onUpdate:modelValue":e[11]||(e[11]=y=>t.updateState("openWB/optional/ocpp/config",y,"version"))},null,8,["model-value"])])):h("",!0)]))]}),_:1}),n(N,{"form-name":"generalChargeConfigForm",onSave:e[12]||(e[12]=a=>t.$emit("save")),onReset:e[13]||(e[13]=a=>t.$emit("reset")),onDefaults:e[14]||(e[14]=a=>t.$emit("defaults"))})])])}const Be=w(de,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),Ce=Object.freeze(Object.defineProperty({__proto__:null,default:Be},Symbol.toStringTag,{value:"Module"}));export{R as F,ee as G,Ce as a}; diff --git a/web/settings/assets/GeneralConfig-8c10c8b4.js b/web/settings/assets/GeneralConfig-9577138e.js similarity index 95% rename from web/settings/assets/GeneralConfig-8c10c8b4.js rename to web/settings/assets/GeneralConfig-9577138e.js index 4760c10de0..76817514b1 100644 --- a/web/settings/assets/GeneralConfig-8c10c8b4.js +++ b/web/settings/assets/GeneralConfig-9577138e.js @@ -1 +1 @@ -import{l as R,a6 as H,a7 as Z,F as I,a0 as K,Q,E as X,ag as Y,ah as ee,ai as te}from"./vendor-fortawesome-77ba272b.js";import{_ as x,C as ne}from"./index-25097726.js";import{_ as ae}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l as r,m as p,x as c,E as a,B as o,F as w,G as n,A as g,a2 as oe,a3 as se,N as le,z as f}from"./vendor-1833c026.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=W(re,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),ue={name:"WebThemeFallback",mixins:[ie]},de={class:"web-theme-fallback"},ge={key:1};function pe(t,e,d,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-textarea");return r(),p("div",de,[Object.keys(t.webTheme.configuration).length==0?(r(),c(b,{key:0,subtype:"info"},{default:a(()=>[o(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),p("div",ge,[n(b,{subtype:"warning"},{default:a(()=>[o(' 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(l,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:a(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(b,{subtype:"info"},{default:a(()=>[g("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const me=W(ue,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);R.add(H,Z);const be={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:I},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),oe({loader:()=>ae(Object.assign({"./koala/webTheme.vue":()=>x(()=>import("./webTheme-65621094.js"),["assets/webTheme-65621094.js","assets/OpenwbSortableList-ca37615e.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/OpenwbSortableList-7ba533e4.css","assets/dynamic-import-helper-be004503.js"]),"./standard_legacy/webTheme.vue":()=>x(()=>import("./webTheme-d99ea023.js"),["assets/webTheme-d99ea023.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:me})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function fe(t,e,d,B,V,h){const b=m("font-awesome-icon"),l=m("openwb-base-alert"),_=m("openwb-base-heading");return r(),p(le,null,[d.webTheme.official?(r(),c(l,{key:0,subtype:"success"},{default:a(()=>[n(b,{icon:["fas","certificate"]}),o(' Das ausgewählte Web Theme "'+w(d.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),c(l,{key:1,subtype:"info"},{default:a(()=>[n(b,{icon:["fas","people-group"]}),e[1]||(e[1]=o(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ",-1))]),_:1})),n(_,null,{default:a(()=>[o(' Einstellungen für Web Theme "'+w(d.webTheme.name)+'" ',1)]),_:1}),(r(),c(se(h.getThemeComponent()),{"web-theme":d.webTheme,"onUpdate:configuration":e[0]||(e[0]=v=>h.updateConfiguration(v))},null,40,["web-theme"]))],64)}const _e=W(be,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]);R.add(K,Q,X,Y,ee,te);const ce={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:_e,FontAwesomeIcon:I},mixins:[ne],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/temporary_charge_templates_active","openWB/general/web_theme","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(d=>{d.official===!0?t[0].options.push(d):t[1].options.push(d)}),t}}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(d=>d.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)}}},he={class:"generalConfig"},we={name:"generalConfigForm"},ve={key:0},We={key:1},Be={key:1},Ve={key:0},ye={key:0},ke={key:1},Se={key:0},Te={key:1},$e={key:0},qe={key:0},Ce={key:1};function Ne(t,e,d,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-button-group-input"),_=m("openwb-base-card"),v=m("openwb-base-heading"),M=m("openwb-base-select-input"),j=m("openwb-web-theme-proxy"),u=m("font-awesome-icon"),G=m("openwb-base-submit-buttons");return r(),p("div",he,[g("form",we,[n(_,{title:"Steuerungsmodus"},{default:a(()=>[n(b,{subtype:"info"},{default:a(()=>[...e[31]||(e[31]=[g("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. Diese werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),g("p",null,' 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. ',-1)])]),_:1}),n(l,{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]=i=>t.updateState("openWB/general/extern",i))},null,8,["model-value"]),d.installAssistantActive?f("",!0):(r(),p("div",ve,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),c(l,{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]=i=>t.updateState("openWB/general/modbus_control",i))},{help:a(()=>[...e[32]||(e[32]=[o(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind ",-1),g("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ",-1)])]),_:1},8,["model-value"])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(r(),p("div",We,[n(b,{subtype:"info",class:"mb-2"},{default:a(()=>[...e[33]||(e[33]=[o(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ',-1)])]),_:1})])):f("",!0)])),d.installAssistantActive?f("",!0):(r(),p("div",Be,[n(l,{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]=i=>t.updateState("openWB/general/http_api",i))},{help:a(()=>[...e[34]||(e[34]=[g("p",null,[o(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),g("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 "),o(" dokumentiert. ")],-1)])]),_:1},8,["model-value"])]))]),_:1}),d.installAssistantActive?f("",!0):(r(),p("div",Ve,[n(_,{title:"Hardware"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",ye,[n(b,{subtype:"info"},{default:a(()=>[...e[35]||(e[35]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),p("div",ke,[n(l,{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]=i=>t.updateState("openWB/general/control_interval",i))},{help:a(()=>[...e[36]||(e[36]=[o(' 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.',-1),g("br",null,null,-1),g("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(l,{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]=i=>t.updateState("openWB/general/grid_protection_configured",i))},{help:a(()=>[...e[37]||(e[37]=[o(' 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.',-1),g("br",null,null,-1),g("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])]),_:1},8,["model-value"])])):f("",!0)]),_:1})])),d.installAssistantActive?f("",!0):(r(),c(_,{key:1,title:"Bedienung & Darstellung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",Se,[n(b,{subtype:"info"},{default:a(()=>[...e[38]||(e[38]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),p("div",Te,[n(l,{title:"Temporäre Ladeeinstellungen",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/temporary_charge_templates_active"],"onUpdate:modelValue":e[5]||(e[5]=i=>t.updateState("openWB/general/temporary_charge_templates_active",i))},{help:a(()=>[...e[39]||(e[39]=[g("p",null,[o(' Bei Auswahl "Ja" werden Änderungen am Ladepunkt über die Hauptseite oder den Touchscreen der openWB als "temporäre" Eingaben behandelt. Dies erlaubt z.B. das schnelle, temporäre Umschalten des Lademodus oder deren Detaileinstellungen für eine unplanmäßige Ladeanforderung (Bsp. Voreinstellung -> PV-Laden / unplanmäßig -> Sofort-Laden für Laden wegen unplanmäßigen Termins). '),g("br"),o(" Alle Einstellungen, die unter Einstellungen → Konfiguration → Fahrzeuge → Lade-Profil für das jeweilige Fahrzeug konfiguriert sind, gelten als persistent (dauerhaft). Diese werden bei jedem Abstecken des jeweiligen Fahrzeugs neu geladen - sind also Voreinstellungen (default). ")],-1),g("p",null,' Bei Auswahl "Nein" werden Änderungen am Ladepunkt über die Hauptseite oder den Touchscreen der openWB direkt als "persistente" (dauerhafte) Eingaben behandelt. ',-1),g("p",null,[o(" Eine ausführliche Erläuterung mit Beispielen findet Ihr im "),g("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:einstellungen:allgemein#temporaere_ladeeinstellungen",target:"_blank",rel:"noopener noreferrer"}," openWB-DokuWiki ")],-1)])]),_:1},8,["model-value"]),n(v,{class:"mt-0"},{default:a(()=>[...e[40]||(e[40]=[o(" Hauptseite ",-1)])]),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(r(),p("div",$e,[n(M,{class:"mb-2",title:"Theme",groups:h.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[6]||(e[6]=i=>h.updateSelectedWebTheme(i))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(r(),c(j,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[7]||(e[7]=i=>h.updateConfiguration("openWB/general/web_theme",i))},null,8,["web-theme"])):f("",!0)])):f("",!0)]))]),_:1})),d.installAssistantActive?f("",!0):(r(),c(_,{key:2,title:"Lade-Protokoll"},{default:a(()=>{var i,y,k,S,T,$,q,C,N,E,z,A,D,L,U,P,J,O,F;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",qe,[n(b,{subtype:"info"},{default:a(()=>[...e[41]||(e[41]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),p("div",Ce,[n(l,{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[8]||(e[8]=s=>t.updateState("openWB/general/range_unit",s))},null,8,["model-value"]),n(v,null,{default:a(()=>[...e[42]||(e[42]=[o(" Auswahl der Datenfelder ",-1)])]),_:1}),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(i=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:i.time_begin,"onUpdate:modelValue":e[9]||(e[9]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_begin"))},{title:a(()=>[n(u,{icon:["fas","calendar"]}),e[43]||(e[43]=o(" Beginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(y=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:y.time_end,"onUpdate:modelValue":e[10]||(e[10]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_end"))},{title:a(()=>[n(u,{icon:["fas","calendar"]}),e[44]||(e[44]=o(" Ende ",-1))]),_:1},8,["model-value"]),n(l,{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.time_time_charged,"onUpdate:modelValue":e[11]||(e[11]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_time_charged"))},{title:a(()=>[n(u,{icon:["fas","clock"]}),e[45]||(e[45]=o(" Dauer ",-1))]),_:1},8,["model-value"]),n(l,{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.data_costs,"onUpdate:modelValue":e[12]||(e[12]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_costs"))},{title:a(()=>[n(u,{icon:["fas","coins"]}),e[46]||(e[46]=o(" Kosten ",-1))]),_:1},8,["model-value"]),n(l,{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.data_power_source,"onUpdate:modelValue":e[13]||(e[13]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_power_source"))},{title:a(()=>[n(u,{icon:["fas","pie-chart"]}),e[47]||(e[47]=o(" Energieaufteilung ",-1))]),_:1},8,["model-value"]),n(l,{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:$.vehicle_name,"onUpdate:modelValue":e[14]||(e[14]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_name"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[48]||(e[48]=o(" Name ",-1))]),_:1},8,["model-value"]),n(l,{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[15]||(e[15]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_chargemode"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[49]||(e[49]=o(" Lademodus ",-1))]),_:1},8,["model-value"]),n(l,{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.vehicle_prio,"onUpdate:modelValue":e[16]||(e[16]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_prio"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[50]||(e[50]=o(" Priorität ",-1))]),_:1},8,["model-value"]),n(l,{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.vehicle_rfid,"onUpdate:modelValue":e[17]||(e[17]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_rfid"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[51]||(e[51]=o(" ID-Tag ",-1))]),_:1},8,["model-value"]),n(l,{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_start,"onUpdate:modelValue":e[18]||(e[18]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_start"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[52]||(e[52]=o(" SoC bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{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_end,"onUpdate:modelValue":e[19]||(e[19]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_end"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[53]||(e[53]=o(" SoC bei Ladende ",-1))]),_:1},8,["model-value"]),n(l,{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_name,"onUpdate:modelValue":e[20]||(e[20]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_name"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[54]||(e[54]=o(" Name ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_serial_number,"onUpdate:modelValue":e[21]||(e[21]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_serial_number"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[55]||(e[55]=o(" Seriennummer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(L=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:L.data_imported_since_mode_switch,"onUpdate:modelValue":e[22]||(e[22]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_imported_since_mode_switch"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[56]||(e[56]=o(" Geladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{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[23]||(e[23]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_start"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[57]||(e[57]=o(" Zählerstand bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_imported_at_end,"onUpdate:modelValue":e[24]||(e[24]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_end"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[58]||(e[58]=o(" Zählerstand bei Ladeende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(J=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:J.data_exported_since_mode_switch,"onUpdate:modelValue":e[25]||(e[25]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_exported_since_mode_switch"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[59]||(e[59]=o(" Entladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_exported_at_start,"onUpdate:modelValue":e[26]||(e[26]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_exported_at_start"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[60]||(e[60]=o(" Zählerstand bei Entladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(F=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:F.chargepoint_exported_at_end,"onUpdate:modelValue":e[27]||(e[27]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_exported_at_end"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[61]||(e[61]=o(" Zählerstand bei Entladeende ",-1))]),_:1},8,["model-value"])]))]}),_:1})),n(G,{"form-name":"generalConfigForm",onSave:e[28]||(e[28]=i=>t.$emit("save")),onReset:e[29]||(e[29]=i=>t.$emit("reset")),onDefaults:e[30]||(e[30]=i=>t.$emit("defaults"))})])])}const Ee=W(ce,[["render",Ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ue=Object.freeze(Object.defineProperty({__proto__:null,default:Ee},Symbol.toStringTag,{value:"Module"}));export{Ee as G,ie as W,Ue as a}; +import{l as R,a6 as H,a7 as Z,F as I,a0 as K,Q,E as X,ag as Y,ah as ee,ai as te}from"./vendor-fortawesome-641b8eb6.js";import{_ as x,C as ne}from"./index-bbf7119b.js";import{_ as ae}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l as r,m as p,x as c,E as a,B as o,F as w,G as n,A as g,a2 as oe,a3 as se,N as le,z as f}from"./vendor-50125810.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=W(re,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),ue={name:"WebThemeFallback",mixins:[ie]},de={class:"web-theme-fallback"},ge={key:1};function pe(t,e,d,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-textarea");return r(),p("div",de,[Object.keys(t.webTheme.configuration).length==0?(r(),c(b,{key:0,subtype:"info"},{default:a(()=>[o(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),p("div",ge,[n(b,{subtype:"warning"},{default:a(()=>[o(' 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(l,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:a(()=>[...e[1]||(e[1]=[o(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(b,{subtype:"info"},{default:a(()=>[g("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const me=W(ue,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);R.add(H,Z);const be={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:I},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),oe({loader:()=>ae(Object.assign({"./koala/webTheme.vue":()=>x(()=>import("./webTheme-10f1afab.js"),["assets/webTheme-10f1afab.js","assets/OpenwbSortableList-f1671b8d.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/OpenwbSortableList-7ba533e4.css","assets/dynamic-import-helper-be004503.js"]),"./standard_legacy/webTheme.vue":()=>x(()=>import("./webTheme-85909cc5.js"),["assets/webTheme-85909cc5.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:me})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function fe(t,e,d,B,V,h){const b=m("font-awesome-icon"),l=m("openwb-base-alert"),_=m("openwb-base-heading");return r(),p(le,null,[d.webTheme.official?(r(),c(l,{key:0,subtype:"success"},{default:a(()=>[n(b,{icon:["fas","certificate"]}),o(' Das ausgewählte Web Theme "'+w(d.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),c(l,{key:1,subtype:"info"},{default:a(()=>[n(b,{icon:["fas","people-group"]}),e[1]||(e[1]=o(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ",-1))]),_:1})),n(_,null,{default:a(()=>[o(' Einstellungen für Web Theme "'+w(d.webTheme.name)+'" ',1)]),_:1}),(r(),c(se(h.getThemeComponent()),{"web-theme":d.webTheme,"onUpdate:configuration":e[0]||(e[0]=v=>h.updateConfiguration(v))},null,40,["web-theme"]))],64)}const _e=W(be,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]);R.add(K,Q,X,Y,ee,te);const ce={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:_e,FontAwesomeIcon:I},mixins:[ne],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/temporary_charge_templates_active","openWB/general/web_theme","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(d=>{d.official===!0?t[0].options.push(d):t[1].options.push(d)}),t}}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(d=>d.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)}}},he={class:"generalConfig"},we={name:"generalConfigForm"},ve={key:0},We={key:1},Be={key:1},Ve={key:0},ye={key:0},ke={key:1},Se={key:0},Te={key:1},$e={key:0},qe={key:0},Ce={key:1};function Ne(t,e,d,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-button-group-input"),_=m("openwb-base-card"),v=m("openwb-base-heading"),M=m("openwb-base-select-input"),j=m("openwb-web-theme-proxy"),u=m("font-awesome-icon"),G=m("openwb-base-submit-buttons");return r(),p("div",he,[g("form",we,[n(_,{title:"Steuerungsmodus"},{default:a(()=>[n(b,{subtype:"info"},{default:a(()=>[...e[31]||(e[31]=[g("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. Diese werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),g("p",null,' 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. ',-1)])]),_:1}),n(l,{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]=i=>t.updateState("openWB/general/extern",i))},null,8,["model-value"]),d.installAssistantActive?f("",!0):(r(),p("div",ve,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),c(l,{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]=i=>t.updateState("openWB/general/modbus_control",i))},{help:a(()=>[...e[32]||(e[32]=[o(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind ",-1),g("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ",-1)])]),_:1},8,["model-value"])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(r(),p("div",We,[n(b,{subtype:"info",class:"mb-2"},{default:a(()=>[...e[33]||(e[33]=[o(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ',-1)])]),_:1})])):f("",!0)])),d.installAssistantActive?f("",!0):(r(),p("div",Be,[n(l,{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]=i=>t.updateState("openWB/general/http_api",i))},{help:a(()=>[...e[34]||(e[34]=[g("p",null,[o(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),g("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 "),o(" dokumentiert. ")],-1)])]),_:1},8,["model-value"])]))]),_:1}),d.installAssistantActive?f("",!0):(r(),p("div",Ve,[n(_,{title:"Hardware"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",ye,[n(b,{subtype:"info"},{default:a(()=>[...e[35]||(e[35]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),p("div",ke,[n(l,{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]=i=>t.updateState("openWB/general/control_interval",i))},{help:a(()=>[...e[36]||(e[36]=[o(' 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.',-1),g("br",null,null,-1),g("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(l,{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]=i=>t.updateState("openWB/general/grid_protection_configured",i))},{help:a(()=>[...e[37]||(e[37]=[o(' 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.',-1),g("br",null,null,-1),g("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])]),_:1},8,["model-value"])])):f("",!0)]),_:1})])),d.installAssistantActive?f("",!0):(r(),c(_,{key:1,title:"Bedienung & Darstellung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",Se,[n(b,{subtype:"info"},{default:a(()=>[...e[38]||(e[38]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),p("div",Te,[n(l,{title:"Temporäre Ladeeinstellungen",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/temporary_charge_templates_active"],"onUpdate:modelValue":e[5]||(e[5]=i=>t.updateState("openWB/general/temporary_charge_templates_active",i))},{help:a(()=>[...e[39]||(e[39]=[g("p",null,[o(' Bei Auswahl "Ja" werden Änderungen am Ladepunkt über die Hauptseite oder den Touchscreen der openWB als "temporäre" Eingaben behandelt. Dies erlaubt z.B. das schnelle, temporäre Umschalten des Lademodus oder deren Detaileinstellungen für eine unplanmäßige Ladeanforderung (Bsp. Voreinstellung -> PV-Laden / unplanmäßig -> Sofort-Laden für Laden wegen unplanmäßigen Termins). '),g("br"),o(" Alle Einstellungen, die unter Einstellungen → Konfiguration → Fahrzeuge → Lade-Profil für das jeweilige Fahrzeug konfiguriert sind, gelten als persistent (dauerhaft). Diese werden bei jedem Abstecken des jeweiligen Fahrzeugs neu geladen - sind also Voreinstellungen (default). ")],-1),g("p",null,' Bei Auswahl "Nein" werden Änderungen am Ladepunkt über die Hauptseite oder den Touchscreen der openWB direkt als "persistente" (dauerhafte) Eingaben behandelt. ',-1),g("p",null,[o(" Eine ausführliche Erläuterung mit Beispielen findet Ihr im "),g("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:einstellungen:allgemein#temporaere_ladeeinstellungen",target:"_blank",rel:"noopener noreferrer"}," openWB-DokuWiki ")],-1)])]),_:1},8,["model-value"]),n(v,{class:"mt-0"},{default:a(()=>[...e[40]||(e[40]=[o(" Hauptseite ",-1)])]),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(r(),p("div",$e,[n(M,{class:"mb-2",title:"Theme",groups:h.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[6]||(e[6]=i=>h.updateSelectedWebTheme(i))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(r(),c(j,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[7]||(e[7]=i=>h.updateConfiguration("openWB/general/web_theme",i))},null,8,["web-theme"])):f("",!0)])):f("",!0)]))]),_:1})),d.installAssistantActive?f("",!0):(r(),c(_,{key:2,title:"Lade-Protokoll"},{default:a(()=>{var i,y,k,S,T,$,q,C,N,E,z,A,D,L,U,P,J,O,F;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),p("div",qe,[n(b,{subtype:"info"},{default:a(()=>[...e[41]||(e[41]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(r(),p("div",Ce,[n(l,{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[8]||(e[8]=s=>t.updateState("openWB/general/range_unit",s))},null,8,["model-value"]),n(v,null,{default:a(()=>[...e[42]||(e[42]=[o(" Auswahl der Datenfelder ",-1)])]),_:1}),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(i=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:i.time_begin,"onUpdate:modelValue":e[9]||(e[9]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_begin"))},{title:a(()=>[n(u,{icon:["fas","calendar"]}),e[43]||(e[43]=o(" Beginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(y=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:y.time_end,"onUpdate:modelValue":e[10]||(e[10]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_end"))},{title:a(()=>[n(u,{icon:["fas","calendar"]}),e[44]||(e[44]=o(" Ende ",-1))]),_:1},8,["model-value"]),n(l,{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.time_time_charged,"onUpdate:modelValue":e[11]||(e[11]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_time_charged"))},{title:a(()=>[n(u,{icon:["fas","clock"]}),e[45]||(e[45]=o(" Dauer ",-1))]),_:1},8,["model-value"]),n(l,{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.data_costs,"onUpdate:modelValue":e[12]||(e[12]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_costs"))},{title:a(()=>[n(u,{icon:["fas","coins"]}),e[46]||(e[46]=o(" Kosten ",-1))]),_:1},8,["model-value"]),n(l,{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.data_power_source,"onUpdate:modelValue":e[13]||(e[13]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_power_source"))},{title:a(()=>[n(u,{icon:["fas","pie-chart"]}),e[47]||(e[47]=o(" Energieaufteilung ",-1))]),_:1},8,["model-value"]),n(l,{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:$.vehicle_name,"onUpdate:modelValue":e[14]||(e[14]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_name"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[48]||(e[48]=o(" Name ",-1))]),_:1},8,["model-value"]),n(l,{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[15]||(e[15]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_chargemode"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[49]||(e[49]=o(" Lademodus ",-1))]),_:1},8,["model-value"]),n(l,{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.vehicle_prio,"onUpdate:modelValue":e[16]||(e[16]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_prio"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[50]||(e[50]=o(" Priorität ",-1))]),_:1},8,["model-value"]),n(l,{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.vehicle_rfid,"onUpdate:modelValue":e[17]||(e[17]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_rfid"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[51]||(e[51]=o(" ID-Tag ",-1))]),_:1},8,["model-value"]),n(l,{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_start,"onUpdate:modelValue":e[18]||(e[18]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_start"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[52]||(e[52]=o(" SoC bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{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_end,"onUpdate:modelValue":e[19]||(e[19]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_end"))},{title:a(()=>[n(u,{icon:["fas","car"]}),e[53]||(e[53]=o(" SoC bei Ladende ",-1))]),_:1},8,["model-value"]),n(l,{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_name,"onUpdate:modelValue":e[20]||(e[20]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_name"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[54]||(e[54]=o(" Name ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_serial_number,"onUpdate:modelValue":e[21]||(e[21]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_serial_number"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[55]||(e[55]=o(" Seriennummer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(L=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:L.data_imported_since_mode_switch,"onUpdate:modelValue":e[22]||(e[22]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_imported_since_mode_switch"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[56]||(e[56]=o(" Geladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{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[23]||(e[23]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_start"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[57]||(e[57]=o(" Zählerstand bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_imported_at_end,"onUpdate:modelValue":e[24]||(e[24]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_end"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[58]||(e[58]=o(" Zählerstand bei Ladeende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(J=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:J.data_exported_since_mode_switch,"onUpdate:modelValue":e[25]||(e[25]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_exported_since_mode_switch"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[59]||(e[59]=o(" Entladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{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.chargepoint_exported_at_start,"onUpdate:modelValue":e[26]||(e[26]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_exported_at_start"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[60]||(e[60]=o(" Zählerstand bei Entladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(F=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:F.chargepoint_exported_at_end,"onUpdate:modelValue":e[27]||(e[27]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_exported_at_end"))},{title:a(()=>[n(u,{icon:["fas","charging-station"]}),e[61]||(e[61]=o(" Zählerstand bei Entladeende ",-1))]),_:1},8,["model-value"])]))]}),_:1})),n(G,{"form-name":"generalConfigForm",onSave:e[28]||(e[28]=i=>t.$emit("save")),onReset:e[29]||(e[29]=i=>t.$emit("reset")),onDefaults:e[30]||(e[30]=i=>t.$emit("defaults"))})])])}const Ee=W(ce,[["render",Ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ue=Object.freeze(Object.defineProperty({__proto__:null,default:Ee},Symbol.toStringTag,{value:"Module"}));export{Ee as G,ie as W,Ue as a}; diff --git a/web/settings/assets/HardwareInstallation-99f8d83a.js b/web/settings/assets/HardwareInstallation-99f8d83a.js deleted file mode 100644 index 275e6e1c96..0000000000 --- a/web/settings/assets/HardwareInstallation-99f8d83a.js +++ /dev/null @@ -1 +0,0 @@ -import{l as U,d as q,y as S,aj as G,ab as N,_ as K,Z as F,Y as H,F as $}from"./vendor-fortawesome-77ba272b.js";import{_ as e,C as J}from"./index-25097726.js";import{_ as z}from"./dynamic-import-helper-be004503.js";import{_ as A,u as p,l as v,m as g,x as l,E as r,B as d,F as O,G as u,A as E,a2 as C,a3 as Z,z as f,N as b,M as k,q as Y}from"./vendor-1833c026.js";const Q={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=A(Q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),X={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,s,n){const c=p("openwb-base-alert"),P=p("openwb-base-textarea");return v(),g("div",ee,[Object.keys(t.device.configuration).length==0?(v(),l(c,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+O(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",oe,[u(c,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+O(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(P,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=I=>t.updateConfiguration(I,"configuration"))},{help:r(()=>[...o[1]||(o[1]=[d(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),u(c,{subtype:"info"},{default:r(()=>[E("pre",null,O(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=A(X,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=A(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 ve(t,o,i,m,s,n){const c=p("openwb-base-alert"),P=p("openwb-base-textarea");return v(),g("div",ue,[Object.keys(t.component.configuration).length==0?(v(),l(c,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+O(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",de,[u(c,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+O(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(P,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=I=>t.updateConfiguration(I,"configuration"))},{help:r(()=>[...o[1]||(o[1]=[d(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),u(c,{subtype:"info"},{default:r(()=>[E("pre",null,O(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const se=A(ne,[["render",ve],["__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 t;return console.debug(`loading component: ${this.device.type} / ${(t=this.component)==null?void 0:t.type}`),this.component!==void 0?C({loader:()=>z(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-94044d0a.js"),["assets/device-94044d0a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/bat.vue":()=>e(()=>import("./bat-76a61014.js"),["assets/bat-76a61014.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-97b87908.js"),["assets/device-97b87908.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-245ff896.js"),["assets/device-245ff896.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/counter.vue":()=>e(()=>import("./counter-b6466a43.js"),["assets/counter-b6466a43.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-f415cae3.js"),["assets/device-f415cae3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-f58c5e2f.js"),["assets/device-f58c5e2f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs_3p/device.vue":()=>e(()=>import("./device-caf2a024.js"),["assets/device-caf2a024.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/bat.vue":()=>e(()=>import("./bat-bf504774.js"),["assets/bat-bf504774.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-3a0e48e9.js"),["assets/device-3a0e48e9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-90a65ab9.js"),["assets/device-90a65ab9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-aa05a5e3.js"),["assets/inverter-aa05a5e3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-862c8961.js"),["assets/device-862c8961.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-b82c8a40.js"),["assets/counter-b82c8a40.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-877c7142.js"),["assets/device-877c7142.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/counter.vue":()=>e(()=>import("./counter-577d71b7.js"),["assets/counter-577d71b7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/device.vue":()=>e(()=>import("./device-91e6a5f4.js"),["assets/device-91e6a5f4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-13b82cc9.js"),["assets/bat-13b82cc9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-ac8ad21e.js"),["assets/counter-ac8ad21e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-77f8dada.js"),["assets/device-77f8dada.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-bb57ffc4.js"),["assets/inverter-bb57ffc4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-73099cbd.js"),["assets/counter-73099cbd.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-b5f49999.js"),["assets/device-b5f49999.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-2db09673.js"),["assets/inverter-2db09673.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-4e91369f.js"),["assets/device-4e91369f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-bfc02b41.js"),["assets/device-bfc02b41.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-7562b5d0.js"),["assets/counter-7562b5d0.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-82ce5fbf.js"),["assets/device-82ce5fbf.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-9bd10fcb.js"),["assets/inverter-9bd10fcb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-cb3e8ab1.js"),["assets/bat-cb3e8ab1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-0a8cfdb1.js"),["assets/device-0a8cfdb1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-0da8962c.js"),["assets/bat-0da8962c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-4b0c4685.js"),["assets/counter-4b0c4685.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-1aafa728.js"),["assets/device-1aafa728.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-91dce15c.js"),["assets/inverter-91dce15c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-0240d84f.js"),["assets/bat-0240d84f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-8aaf794b.js"),["assets/counter_sm-8aaf794b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-fd65581f.js"),["assets/device-fd65581f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_production_meter.vue":()=>e(()=>import("./inverter_production_meter-625c05b3.js"),["assets/inverter_production_meter-625c05b3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-362a1cb1.js"),["assets/inverter_secondary-362a1cb1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-620e6b77.js"),["assets/bat-620e6b77.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-1ca65171.js"),["assets/counter-1ca65171.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-7ee118be.js"),["assets/device-7ee118be.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-c4ab3fa1.js"),["assets/inverter-c4ab3fa1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-b72a400b.js"),["assets/bat-b72a400b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-3848d145.js"),["assets/counter-3848d145.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-91119790.js"),["assets/device-91119790.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-c2d8701c.js"),["assets/inverter-c2d8701c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-c8af015c.js"),["assets/bat-c8af015c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-2eb950ed.js"),["assets/counter-2eb950ed.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-21a47734.js"),["assets/device-21a47734.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-927f5e44.js"),["assets/inverter-927f5e44.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-ad530283.js"),["assets/counter-ad530283.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/bat.vue":()=>e(()=>import("./bat-796419d5.js"),["assets/bat-796419d5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-dd9e2207.js"),["assets/device-dd9e2207.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-ded4778a.js"),["assets/device-ded4778a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-63cc2a7d.js"),["assets/device-63cc2a7d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-32f2da7b.js"),["assets/device-32f2da7b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-c234f969.js"),["assets/bat-c234f969.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-8efc1d41.js"),["assets/counter-8efc1d41.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-ae596298.js"),["assets/device-ae596298.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-7261ef39.js"),["assets/inverter-7261ef39.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./idm/idm/device.vue":()=>e(()=>import("./device-117443e8.js"),["assets/device-117443e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-6b48393d.js"),["assets/counter-6b48393d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-afdb3f35.js"),["assets/device-afdb3f35.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/bat.vue":()=>e(()=>import("./bat-52bffa6b.js"),["assets/bat-52bffa6b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/counter.vue":()=>e(()=>import("./counter-d67a9b8d.js"),["assets/counter-d67a9b8d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/device.vue":()=>e(()=>import("./device-9e5eb764.js"),["assets/device-9e5eb764.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/inverter.vue":()=>e(()=>import("./inverter-4fddab22.js"),["assets/inverter-4fddab22.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-65c4cc4d.js"),["assets/device-65c4cc4d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/inverter.vue":()=>e(()=>import("./inverter-2247b7a1.js"),["assets/inverter-2247b7a1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-30afc13d.js"),["assets/counter-30afc13d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-9968b9d2.js"),["assets/device-9968b9d2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-78e92d97.js"),["assets/inverter-78e92d97.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/counter.vue":()=>e(()=>import("./counter-722802fd.js"),["assets/counter-722802fd.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/device.vue":()=>e(()=>import("./device-c3803fae.js"),["assets/device-c3803fae.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/inverter.vue":()=>e(()=>import("./inverter-098a6b66.js"),["assets/inverter-098a6b66.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-55e8a676.js"),["assets/device-55e8a676.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/bat.vue":()=>e(()=>import("./bat-c69d73a4.js"),["assets/bat-c69d73a4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-2bb63b76.js"),["assets/counter-2bb63b76.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-e626ab4a.js"),["assets/device-e626ab4a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-d8276998.js"),["assets/counter-d8276998.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-f7828376.js"),["assets/device-f7828376.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-270dfbfb.js"),["assets/device-270dfbfb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-9bad397e.js"),["assets/inverter-9bad397e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-f57321f1.js"),["assets/device-f57321f1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/bat.vue":()=>e(()=>import("./bat-474ca619.js"),["assets/bat-474ca619.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/device.vue":()=>e(()=>import("./device-e8b9da08.js"),["assets/device-e8b9da08.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-0daa1625.js"),["assets/bat-0daa1625.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-b559f4af.js"),["assets/counter-b559f4af.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-7091e1e5.js"),["assets/device-7091e1e5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-5b8bb3ad.js"),["assets/inverter-5b8bb3ad.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-56df3604.js"),["assets/device-56df3604.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/counter.vue":()=>e(()=>import("./counter-cd56a0df.js"),["assets/counter-cd56a0df.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-c10e0f6f.js"),["assets/device-c10e0f6f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-e46719e4.js"),["assets/device-e46719e4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-edd0d8f9.js"),["assets/inverter-edd0d8f9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-c4d646a1.js"),["assets/bat-c4d646a1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-5a2db664.js"),["assets/bat-5a2db664.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-a3a4100a.js"),["assets/counter-a3a4100a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-4f529614.js"),["assets/inverter-4f529614.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-1972018d.js"),["assets/bat-1972018d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-01b6ca08.js"),["assets/consumption_counter-01b6ca08.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-4b1ec332.js"),["assets/counter-4b1ec332.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-200aaa7e.js"),["assets/device-200aaa7e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-074a90d8.js"),["assets/inverter-074a90d8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-9f7096ed.js"),["assets/inverter-9f7096ed.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/counter.vue":()=>e(()=>import("./counter-7f314f14.js"),["assets/counter-7f314f14.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-ad0193a2.js"),["assets/device-ad0193a2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-c9f6da15.js"),["assets/counter-c9f6da15.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-a54b5d7b.js"),["assets/device-a54b5d7b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-d8234e7f.js"),["assets/counter-d8234e7f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-dd98b374.js"),["assets/device-dd98b374.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-820bed95.js"),["assets/inverter-820bed95.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-72088506.js"),["assets/device-72088506.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-dc300472.js"),["assets/device-dc300472.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-1c0043b7.js"),["assets/device-1c0043b7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-582e4619.js"),["assets/counter-582e4619.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-c81df8f1.js"),["assets/device-c81df8f1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-309ab2e8.js"),["assets/device-309ab2e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-cf95042a.js"),["assets/device-cf95042a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-4fa2c4eb.js"),["assets/bat-4fa2c4eb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-001d8da5.js"),["assets/counter-001d8da5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-7a34ec3c.js"),["assets/device-7a34ec3c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-fa33fc1c.js"),["assets/inverter-fa33fc1c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-ba1592b3.js"),["assets/counter-ba1592b3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-dc2cfd53.js"),["assets/inverter-dc2cfd53.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-a549d5b4.js"),["assets/bat-a549d5b4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-f9c0010c.js"),["assets/bat_smart_energy-f9c0010c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-87b36ff1.js"),["assets/counter-87b36ff1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-07e7718c.js"),["assets/device-07e7718c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-d3dbee70.js"),["assets/inverter-d3dbee70.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-c36965d1.js"),["assets/bat-c36965d1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-fd812491.js"),["assets/device-fd812491.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-252da138.js"),["assets/device-252da138.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-4e056ef8.js"),["assets/counter-4e056ef8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-91fa8405.js"),["assets/device-91fa8405.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-b271dfed.js"),["assets/inverter-b271dfed.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-472ed466.js"),["assets/device-472ed466.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-4f375efb.js"),["assets/device-4f375efb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/bat.vue":()=>e(()=>import("./bat-b7b18a90.js"),["assets/bat-b7b18a90.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/device.vue":()=>e(()=>import("./device-49e4a733.js"),["assets/device-49e4a733.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/inverter.vue":()=>e(()=>import("./inverter-8f4b824c.js"),["assets/inverter-8f4b824c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-65908aab.js"),["assets/counter-65908aab.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-b492bc9e.js"),["assets/device-b492bc9e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-55304ad5.js"),["assets/device-55304ad5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-89c42523.js"),["assets/inverter-89c42523.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-a5436d32.js"),["assets/device-a5436d32.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-9b5125e8.js"),["assets/device-9b5125e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-394c1f3a.js"),["assets/bat-394c1f3a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-fda28b8d.js"),["assets/counter-fda28b8d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f8e64d3f.js"),["assets/device-f8e64d3f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-d9ebdad6.js"),["assets/external_inverter-d9ebdad6.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-aa1a199b.js"),["assets/inverter-aa1a199b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-19d62677.js"),["assets/bat-19d62677.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/counter_maxstorage.vue":()=>e(()=>import("./counter_maxstorage-680be685.js"),["assets/counter_maxstorage-680be685.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-b39b5a98.js"),["assets/device-b39b5a98.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-d2734698.js"),["assets/inverter-d2734698.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter_maxstorage.vue":()=>e(()=>import("./inverter_maxstorage-eb96460b.js"),["assets/inverter_maxstorage-eb96460b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-47b72eba.js"),["assets/device-47b72eba.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-682bf2fb.js"),["assets/bat-682bf2fb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-bd94bea6.js"),["assets/counter-bd94bea6.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-b11427c3.js"),["assets/device-b11427c3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-0ef56fd4.js"),["assets/inverter-0ef56fd4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/bat.vue":()=>e(()=>import("./bat-94c8e60d.js"),["assets/bat-94c8e60d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-5bc42f7a.js"),["assets/counter-5bc42f7a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter_consumption.vue":()=>e(()=>import("./counter_consumption-0fd566db.js"),["assets/counter_consumption-0fd566db.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-fcb6f2ea.js"),["assets/device-fcb6f2ea.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-3cc0de59.js"),["assets/bat-3cc0de59.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-44d4f1e8.js"),["assets/device-44d4f1e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-647050ec.js"),["assets/inverter-647050ec.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-ef322f8c.js"),["assets/device-ef322f8c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-671c53f0.js"),["assets/device-671c53f0.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-4f3ad63d.js"),["assets/device-4f3ad63d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-126e7a77.js"),["assets/counter-126e7a77.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-a8d0e4af.js"),["assets/device-a8d0e4af.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/counter.vue":()=>e(()=>import("./counter-d2b5ca51.js"),["assets/counter-d2b5ca51.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-c2205c17.js"),["assets/device-c2205c17.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-47bc9e35.js"),["assets/device-47bc9e35.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-02ddf86e.js"),["assets/device-02ddf86e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-14e41dd1.js"),["assets/inverter-14e41dd1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-2ea2e792.js"),["assets/bat-2ea2e792.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-e1627baf.js"),["assets/counter-e1627baf.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-e80904c7.js"),["assets/device-e80904c7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-6f309522.js"),["assets/inverter-6f309522.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-366528a1.js"),["assets/counter-366528a1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-86698f91.js"),["assets/device-86698f91.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-ca9784d7.js"),["assets/inverter-ca9784d7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-0b90d2b2.js"),["assets/device-0b90d2b2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-dfa8aa07.js"),["assets/inverter-dfa8aa07.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:se}):C({loader:()=>z(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-94044d0a.js"),["assets/device-94044d0a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-97b87908.js"),["assets/device-97b87908.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-245ff896.js"),["assets/device-245ff896.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-f415cae3.js"),["assets/device-f415cae3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-f58c5e2f.js"),["assets/device-f58c5e2f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs_3p/device.vue":()=>e(()=>import("./device-caf2a024.js"),["assets/device-caf2a024.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-3a0e48e9.js"),["assets/device-3a0e48e9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-90a65ab9.js"),["assets/device-90a65ab9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-862c8961.js"),["assets/device-862c8961.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-877c7142.js"),["assets/device-877c7142.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/device.vue":()=>e(()=>import("./device-91e6a5f4.js"),["assets/device-91e6a5f4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-77f8dada.js"),["assets/device-77f8dada.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-b5f49999.js"),["assets/device-b5f49999.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-4e91369f.js"),["assets/device-4e91369f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-bfc02b41.js"),["assets/device-bfc02b41.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-82ce5fbf.js"),["assets/device-82ce5fbf.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-0a8cfdb1.js"),["assets/device-0a8cfdb1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-1aafa728.js"),["assets/device-1aafa728.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-fd65581f.js"),["assets/device-fd65581f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-7ee118be.js"),["assets/device-7ee118be.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-91119790.js"),["assets/device-91119790.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-21a47734.js"),["assets/device-21a47734.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-dd9e2207.js"),["assets/device-dd9e2207.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-ded4778a.js"),["assets/device-ded4778a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-63cc2a7d.js"),["assets/device-63cc2a7d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-32f2da7b.js"),["assets/device-32f2da7b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-ae596298.js"),["assets/device-ae596298.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./idm/idm/device.vue":()=>e(()=>import("./device-117443e8.js"),["assets/device-117443e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-afdb3f35.js"),["assets/device-afdb3f35.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/device.vue":()=>e(()=>import("./device-9e5eb764.js"),["assets/device-9e5eb764.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-65c4cc4d.js"),["assets/device-65c4cc4d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-9968b9d2.js"),["assets/device-9968b9d2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/device.vue":()=>e(()=>import("./device-c3803fae.js"),["assets/device-c3803fae.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-55e8a676.js"),["assets/device-55e8a676.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-e626ab4a.js"),["assets/device-e626ab4a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-f7828376.js"),["assets/device-f7828376.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-270dfbfb.js"),["assets/device-270dfbfb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-f57321f1.js"),["assets/device-f57321f1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/device.vue":()=>e(()=>import("./device-e8b9da08.js"),["assets/device-e8b9da08.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-7091e1e5.js"),["assets/device-7091e1e5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-56df3604.js"),["assets/device-56df3604.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-c10e0f6f.js"),["assets/device-c10e0f6f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-e46719e4.js"),["assets/device-e46719e4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-200aaa7e.js"),["assets/device-200aaa7e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-ad0193a2.js"),["assets/device-ad0193a2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-a54b5d7b.js"),["assets/device-a54b5d7b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-dd98b374.js"),["assets/device-dd98b374.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-72088506.js"),["assets/device-72088506.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-dc300472.js"),["assets/device-dc300472.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-1c0043b7.js"),["assets/device-1c0043b7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-c81df8f1.js"),["assets/device-c81df8f1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-309ab2e8.js"),["assets/device-309ab2e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-cf95042a.js"),["assets/device-cf95042a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-7a34ec3c.js"),["assets/device-7a34ec3c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-07e7718c.js"),["assets/device-07e7718c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-fd812491.js"),["assets/device-fd812491.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-252da138.js"),["assets/device-252da138.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-91fa8405.js"),["assets/device-91fa8405.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-472ed466.js"),["assets/device-472ed466.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-4f375efb.js"),["assets/device-4f375efb.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/device.vue":()=>e(()=>import("./device-49e4a733.js"),["assets/device-49e4a733.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-b492bc9e.js"),["assets/device-b492bc9e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-55304ad5.js"),["assets/device-55304ad5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-a5436d32.js"),["assets/device-a5436d32.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-9b5125e8.js"),["assets/device-9b5125e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f8e64d3f.js"),["assets/device-f8e64d3f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-b39b5a98.js"),["assets/device-b39b5a98.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-47b72eba.js"),["assets/device-47b72eba.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-b11427c3.js"),["assets/device-b11427c3.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-fcb6f2ea.js"),["assets/device-fcb6f2ea.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-44d4f1e8.js"),["assets/device-44d4f1e8.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-ef322f8c.js"),["assets/device-ef322f8c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-671c53f0.js"),["assets/device-671c53f0.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-4f3ad63d.js"),["assets/device-4f3ad63d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-a8d0e4af.js"),["assets/device-a8d0e4af.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-c2205c17.js"),["assets/device-c2205c17.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-47bc9e35.js"),["assets/device-47bc9e35.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-02ddf86e.js"),["assets/device-02ddf86e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-e80904c7.js"),["assets/device-e80904c7.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-86698f91.js"),["assets/device-86698f91.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-0b90d2b2.js"),["assets/device-0b90d2b2.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,s,n){return v(),l(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":o[0]||(o[0]=c=>n.updateConfiguration(c))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=A(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);U.add(q,S,G,N,K,F,H);const ce={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(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,s){s.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(t,o){if(t===void 0||o===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,c])=>({value:n,text:c.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},Ee={class:"hardwareInstallation"},le={name:"hardwareInstallationForm"},ge={key:0},Ve={key:1},Oe={key:1},Te={key:0};function Ie(t,o,i,m,s,n){const c=p("openwb-base-modal-dialog"),P=p("router-link"),I=p("openwb-base-alert"),R=p("font-awesome-icon"),D=p("openwb-base-avatar"),L=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 v(),g(b,null,[u(c,{show:s.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Willst Du das Gerät "'+O(s.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(c,{show:s.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Willst Du die Komponente "'+O(s.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),E("div",Ee,[E("form",le,[i.installAssistantActive?f("",!0):(v(),l(I,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ",-1)),u(P,{to:"/LoadManagementConfiguration"},{default:r(()=>[...o[6]||(o[6]=[d(" Lastmanagement ",-1)])]),_:1}),o[8]||(o[8]=d(" zu prüfen!",-1)),o[9]||(o[9]=E("br",null,null,-1)),o[10]||(o[10]=d(" Je nach Hersteller muss eventuell die Kommunikation im Wechselrichter freigegeben werden (z.B. Aktivierung Modbus TCP, Portfreigaben o.Ä.) ",-1))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(v(),g("div",ge,[u(I,{subtype:"info"},{default:r(()=>[...o[11]||(o[11]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(v(),g("div",Ve,[(v(!0),g(b,null,k(n.installedDevices,(_,h)=>(v(),l(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(R,{icon:["fas","network-wired"]}),d(" "+O(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(v(),g("div",Oe,[(v(!0),g(b,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),V=>(v(),l(D,{key:V.id,class:Y("ml-1 bg-"+n.getComponentTypeClass(V.type))},{default:r(()=>[u(R,{icon:n.getComponentTypeIcon(V.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(v(),l(D,{key:0,class:"bg-danger clickable",onClick:V=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,V)},{default:r(()=>[u(R,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:r(()=>[u(L,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[19]||(o[19]=E("hr",null,null,-1)),u(x,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[20]||(o[20]=E("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[12]||(o[12]=[d("Komponenten",-1)])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?f("",!0):(v(),l(I,{key:0,subtype:"warning"},{default:r(()=>[...o[13]||(o[13]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ",-1)])]),_:1})),(v(!0),g(b,null,k(n.getMyInstalledComponents(_.id),(a,V)=>(v(),l(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(R,{icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+O(a.name),1)]),actions:r(T=>[T.collapsed?f("",!0):(v(),l(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(R,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:r(()=>[u(L,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":T=>t.updateState(V,T,"name")},null,8,["model-value","onUpdate:modelValue"]),u(L,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":T=>t.updateState(V,T,"info.manufacturer")},{help:r(()=>[...o[14]||(o[14]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),u(L,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":T=>t.updateState(V,T,"info.model")},{help:r(()=>[...o[15]||(o[15]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o[16]||(o[16]=E("hr",null,null,-1)),u(x,{device:_,component:a,"onUpdate:configuration":T=>n.updateConfiguration(V,T)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),o[21]||(o[21]=E("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(v(),l(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":s.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>s.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,s.componentToAdd[_.id])},{help:r(()=>[...o[17]||(o[17]=[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. ",-1)])]),_:1},8,["options","model-value","onUpdate:modelValue","onInput:add"])):(v(),l(I,{key:2,subtype:"info"},{default:r(()=>[...o[18]||(o[18]=[d(" Dieses System bietet keine Komponenten zur Installation an. ",-1)])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(v(),g("hr",Te)):f("",!0),u(y,{modelValue:s.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>s.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:s.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>s.deviceToAdd=_),o[2]||(o[2]=_=>s.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:s.selectedVendor===void 0,options:n.deviceList,"model-value":s.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>[...o[22]||(o[22]=[E("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.'),E("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),E("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.'),E("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),E("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:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Ae=A(ce,[["render",Ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),be=Object.freeze(Object.defineProperty({__proto__:null,default:Ae},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Ae as H,be as a}; diff --git a/web/settings/assets/HardwareInstallation-fcf847f9.js b/web/settings/assets/HardwareInstallation-fcf847f9.js new file mode 100644 index 0000000000..10f6a01f69 --- /dev/null +++ b/web/settings/assets/HardwareInstallation-fcf847f9.js @@ -0,0 +1 @@ +import{l as S,d as G,y as N,aj as K,ab as $,_ as F,Z as H,Y as J,F as Z}from"./vendor-fortawesome-641b8eb6.js";import{_ as e,C as Y}from"./index-bbf7119b.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as A,u as E,l as a,m as V,x as g,E as v,B as s,F as O,G as d,A as c,a2 as M,a3 as Q,z as D,N as w,M as z,q as X}from"./vendor-50125810.js";const ee={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(o,_=void 0){this.$emit("update:configuration",{value:o,object:_})}}},W=A(ee,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),_e={name:"DeviceFallback",mixins:[W]},oe={class:"device-fallback"},te={key:1};function re(o,_,i,m,n,u){const p=E("openwb-base-alert"),T=E("openwb-base-textarea");return a(),V("div",oe,[Object.keys(o.device.configuration).length==0?(a(),g(p,{key:0,subtype:"info"},{default:v(()=>[s(' Der Gerät-Typ "'+O(o.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),V("div",te,[d(p,{subtype:"warning"},{default:v(()=>[s(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+O(o.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),d(T,{title:"Konfiguration",subtype:"json","model-value":o.device.configuration,"onUpdate:modelValue":_[0]||(_[0]=l=>o.updateConfiguration(l,"configuration"))},{help:v(()=>[..._[1]||(_[1]=[s(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),d(p,{subtype:"info"},{default:v(()=>[c("pre",null,O(JSON.stringify(o.device.configuration,void 0,2)),1)]),_:1})]))])}const ie=A(_e,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ue={mixins:[W],props:{component:{type:Object,required:!0}}},ne=A(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ve={name:"ComponentFallback",mixins:[ne]},de={class:"component-fallback"},se={key:1};function ae(o,_,i,m,n,u){const p=E("openwb-base-alert"),T=E("openwb-base-textarea");return a(),V("div",de,[Object.keys(o.component.configuration).length==0?(a(),g(p,{key:0,subtype:"info"},{default:v(()=>[s(' Der Komponenten-Typ "'+O(o.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),V("div",se,[d(p,{subtype:"warning"},{default:v(()=>[s(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+O(o.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),d(T,{title:"Konfiguration",subtype:"json","model-value":o.component.configuration,"onUpdate:modelValue":_[0]||(_[0]=l=>o.updateConfiguration(l,"configuration"))},{help:v(()=>[..._[1]||(_[1]=[s(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),d(p,{subtype:"info"},{default:v(()=>[c("pre",null,O(JSON.stringify(o.component.configuration,void 0,2)),1)]),_:1})]))])}const me=A(ve,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),pe={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: ${(o=this.device)==null?void 0:o.type} / ${(_=this.component)==null?void 0:_.type}`),this.component!==void 0?M({loader:()=>{var i,m,n;return j(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-54d56c7d.js"),["assets/device-54d56c7d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/bat.vue":()=>e(()=>import("./bat-29ce1276.js"),["assets/bat-29ce1276.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-c0755185.js"),["assets/device-c0755185.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-75384b14.js"),["assets/device-75384b14.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/counter.vue":()=>e(()=>import("./counter-08ba2696.js"),["assets/counter-08ba2696.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-6b95742b.js"),["assets/device-6b95742b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-48df2895.js"),["assets/device-48df2895.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs_3p/device.vue":()=>e(()=>import("./device-d7081ea9.js"),["assets/device-d7081ea9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/bat.vue":()=>e(()=>import("./bat-d27b9ca7.js"),["assets/bat-d27b9ca7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-030bc086.js"),["assets/device-030bc086.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-81efc975.js"),["assets/device-81efc975.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-504b242a.js"),["assets/inverter-504b242a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-021e8627.js"),["assets/device-021e8627.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-c1d85299.js"),["assets/counter-c1d85299.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-19f0c95a.js"),["assets/device-19f0c95a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/counter.vue":()=>e(()=>import("./counter-312ccbff.js"),["assets/counter-312ccbff.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/device.vue":()=>e(()=>import("./device-c1feb2e7.js"),["assets/device-c1feb2e7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-99f5afbd.js"),["assets/bat-99f5afbd.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-9eceb38d.js"),["assets/counter-9eceb38d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-4c44c40d.js"),["assets/device-4c44c40d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-f0e40c6a.js"),["assets/inverter-f0e40c6a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-8a0b0c9e.js"),["assets/counter-8a0b0c9e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-a8d662d4.js"),["assets/device-a8d662d4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-35bdd1fe.js"),["assets/inverter-35bdd1fe.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-20e3d435.js"),["assets/device-20e3d435.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-d252b279.js"),["assets/device-d252b279.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-eb85db81.js"),["assets/counter-eb85db81.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-47ed11f1.js"),["assets/device-47ed11f1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-02526580.js"),["assets/inverter-02526580.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-818452e6.js"),["assets/bat-818452e6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-d32b014e.js"),["assets/device-d32b014e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-be043085.js"),["assets/bat-be043085.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-f5ebd6db.js"),["assets/counter-f5ebd6db.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-f047f80b.js"),["assets/device-f047f80b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-583bb892.js"),["assets/inverter-583bb892.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-0881e58c.js"),["assets/bat-0881e58c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-6394512b.js"),["assets/counter_sm-6394512b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-ece6afde.js"),["assets/device-ece6afde.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_production_meter.vue":()=>e(()=>import("./inverter_production_meter-42e63f79.js"),["assets/inverter_production_meter-42e63f79.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-d7a96ac9.js"),["assets/inverter_secondary-d7a96ac9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-9c5a5c0f.js"),["assets/bat-9c5a5c0f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-52fc2051.js"),["assets/counter-52fc2051.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-20a492db.js"),["assets/device-20a492db.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-6c4cdb15.js"),["assets/inverter-6c4cdb15.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-36e103bf.js"),["assets/bat-36e103bf.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-5fc350b0.js"),["assets/counter-5fc350b0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-314cbbc9.js"),["assets/device-314cbbc9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-00dd1d35.js"),["assets/inverter-00dd1d35.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-5add2389.js"),["assets/bat-5add2389.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-a60ad81d.js"),["assets/counter-a60ad81d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-b83d1492.js"),["assets/device-b83d1492.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-fab08b71.js"),["assets/inverter-fab08b71.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-2475ab90.js"),["assets/counter-2475ab90.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/bat.vue":()=>e(()=>import("./bat-796ca5f1.js"),["assets/bat-796ca5f1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-0d4f2219.js"),["assets/device-0d4f2219.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-d7caa67c.js"),["assets/device-d7caa67c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-5521efb9.js"),["assets/device-5521efb9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-8304af38.js"),["assets/device-8304af38.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-7c611aaf.js"),["assets/bat-7c611aaf.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-c9668a6b.js"),["assets/counter-c9668a6b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-ce62bcc9.js"),["assets/device-ce62bcc9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-92f3ccb6.js"),["assets/inverter-92f3ccb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./idm/idm/device.vue":()=>e(()=>import("./device-4c4ad49a.js"),["assets/device-4c4ad49a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-d41d7f12.js"),["assets/counter-d41d7f12.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-2fc61817.js"),["assets/device-2fc61817.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/bat.vue":()=>e(()=>import("./bat-61a66367.js"),["assets/bat-61a66367.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/counter.vue":()=>e(()=>import("./counter-c021172e.js"),["assets/counter-c021172e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/device.vue":()=>e(()=>import("./device-e97f2969.js"),["assets/device-e97f2969.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/inverter.vue":()=>e(()=>import("./inverter-cd144efc.js"),["assets/inverter-cd144efc.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-e1a0c047.js"),["assets/device-e1a0c047.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/inverter.vue":()=>e(()=>import("./inverter-8dcbaaa7.js"),["assets/inverter-8dcbaaa7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-89c66f72.js"),["assets/counter-89c66f72.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-59ff51fe.js"),["assets/device-59ff51fe.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-5ef14c47.js"),["assets/inverter-5ef14c47.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/counter.vue":()=>e(()=>import("./counter-26cca10d.js"),["assets/counter-26cca10d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/device.vue":()=>e(()=>import("./device-7204b6c4.js"),["assets/device-7204b6c4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/inverter.vue":()=>e(()=>import("./inverter-397b5f86.js"),["assets/inverter-397b5f86.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-5e8be58e.js"),["assets/device-5e8be58e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/bat.vue":()=>e(()=>import("./bat-cf471350.js"),["assets/bat-cf471350.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-2a278f52.js"),["assets/counter-2a278f52.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-06f745a0.js"),["assets/device-06f745a0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-6f036fc5.js"),["assets/counter-6f036fc5.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-dbf8c1b7.js"),["assets/device-dbf8c1b7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-4a131e61.js"),["assets/device-4a131e61.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-46e635e4.js"),["assets/inverter-46e635e4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-a7625ee9.js"),["assets/device-a7625ee9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/bat.vue":()=>e(()=>import("./bat-8f7fbab4.js"),["assets/bat-8f7fbab4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/device.vue":()=>e(()=>import("./device-a2d93396.js"),["assets/device-a2d93396.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-586deeb3.js"),["assets/bat-586deeb3.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-a04df7a1.js"),["assets/counter-a04df7a1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-ffe6b46a.js"),["assets/device-ffe6b46a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-70a06a8e.js"),["assets/inverter-70a06a8e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-1fae1c88.js"),["assets/device-1fae1c88.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/counter.vue":()=>e(()=>import("./counter-2b9f9574.js"),["assets/counter-2b9f9574.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-23415915.js"),["assets/device-23415915.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-f1d1a336.js"),["assets/device-f1d1a336.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-1f4356ec.js"),["assets/inverter-1f4356ec.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-d96076be.js"),["assets/bat-d96076be.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-a1c093c1.js"),["assets/bat-a1c093c1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-eb8f59f0.js"),["assets/counter-eb8f59f0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-71b9be2d.js"),["assets/inverter-71b9be2d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-22f35957.js"),["assets/bat-22f35957.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-b42dc10a.js"),["assets/consumption_counter-b42dc10a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-606a9742.js"),["assets/counter-606a9742.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-f732d82b.js"),["assets/device-f732d82b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-fc3819b7.js"),["assets/inverter-fc3819b7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-4382492d.js"),["assets/inverter-4382492d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/counter.vue":()=>e(()=>import("./counter-00dcfba0.js"),["assets/counter-00dcfba0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-e81fa756.js"),["assets/device-e81fa756.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-3ab011a0.js"),["assets/counter-3ab011a0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-417400d0.js"),["assets/device-417400d0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-4c473e63.js"),["assets/counter-4c473e63.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-182aa355.js"),["assets/device-182aa355.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-e46b845c.js"),["assets/inverter-e46b845c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-3e145bf0.js"),["assets/device-3e145bf0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-6dc72a0e.js"),["assets/device-6dc72a0e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-92fda5a4.js"),["assets/device-92fda5a4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-dc44d158.js"),["assets/counter-dc44d158.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-23b1a217.js"),["assets/device-23b1a217.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-62449aeb.js"),["assets/device-62449aeb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-51c65c8f.js"),["assets/device-51c65c8f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-9d544eef.js"),["assets/bat-9d544eef.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-9ef4a1ac.js"),["assets/counter-9ef4a1ac.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-5446b50e.js"),["assets/device-5446b50e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-c94bc1e8.js"),["assets/inverter-c94bc1e8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-e81958df.js"),["assets/counter-e81958df.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-4c495eb0.js"),["assets/inverter-4c495eb0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-9d1ca2d9.js"),["assets/bat-9d1ca2d9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-ddc36dda.js"),["assets/bat_smart_energy-ddc36dda.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-bcc0c9cd.js"),["assets/counter-bcc0c9cd.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-07cbcb9f.js"),["assets/device-07cbcb9f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-db86c0b7.js"),["assets/inverter-db86c0b7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-7ee7b298.js"),["assets/bat-7ee7b298.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-f78dd169.js"),["assets/device-f78dd169.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-8e359d3e.js"),["assets/device-8e359d3e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-a8afcd33.js"),["assets/counter-a8afcd33.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-7b25bfcf.js"),["assets/device-7b25bfcf.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-f4c75808.js"),["assets/inverter-f4c75808.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-3a1efddd.js"),["assets/device-3a1efddd.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-25bb8777.js"),["assets/device-25bb8777.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/bat.vue":()=>e(()=>import("./bat-9c77f3ef.js"),["assets/bat-9c77f3ef.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/device.vue":()=>e(()=>import("./device-6345b955.js"),["assets/device-6345b955.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/inverter.vue":()=>e(()=>import("./inverter-4dc1c017.js"),["assets/inverter-4dc1c017.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-61fafcd9.js"),["assets/counter-61fafcd9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-16305651.js"),["assets/device-16305651.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-8d16f2ec.js"),["assets/device-8d16f2ec.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-f24d3d1a.js"),["assets/inverter-f24d3d1a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-5bdeb51a.js"),["assets/device-5bdeb51a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-57b7f13e.js"),["assets/device-57b7f13e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-bbc4a125.js"),["assets/bat-bbc4a125.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-69226a81.js"),["assets/counter-69226a81.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f9bae821.js"),["assets/device-f9bae821.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-2a74f14e.js"),["assets/external_inverter-2a74f14e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-7b6ba245.js"),["assets/inverter-7b6ba245.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-45aedbc7.js"),["assets/bat-45aedbc7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/counter_maxstorage.vue":()=>e(()=>import("./counter_maxstorage-06b858bb.js"),["assets/counter_maxstorage-06b858bb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-faf65afe.js"),["assets/device-faf65afe.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-06cc6c90.js"),["assets/inverter-06cc6c90.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter_maxstorage.vue":()=>e(()=>import("./inverter_maxstorage-b3474e6c.js"),["assets/inverter_maxstorage-b3474e6c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-95b81141.js"),["assets/device-95b81141.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-fab6d309.js"),["assets/bat-fab6d309.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-1f139201.js"),["assets/counter-1f139201.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-31f32fa8.js"),["assets/device-31f32fa8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-fb4543f1.js"),["assets/inverter-fb4543f1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/bat.vue":()=>e(()=>import("./bat-7a9691d9.js"),["assets/bat-7a9691d9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-e72b064a.js"),["assets/counter-e72b064a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter_consumption.vue":()=>e(()=>import("./counter_consumption-de587348.js"),["assets/counter_consumption-de587348.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-b7b8ef73.js"),["assets/device-b7b8ef73.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-1fff6c44.js"),["assets/bat-1fff6c44.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-46e6962f.js"),["assets/device-46e6962f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-dfaf62d7.js"),["assets/inverter-dfaf62d7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-ec604e00.js"),["assets/device-ec604e00.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-e27c51bb.js"),["assets/device-e27c51bb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-56bb2517.js"),["assets/device-56bb2517.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-c7b74fbc.js"),["assets/counter-c7b74fbc.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-136ba995.js"),["assets/device-136ba995.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/counter.vue":()=>e(()=>import("./counter-8e341262.js"),["assets/counter-8e341262.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-d87a5565.js"),["assets/device-d87a5565.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-2e561cc8.js"),["assets/device-2e561cc8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-bcc7ec5d.js"),["assets/device-bcc7ec5d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-2fa0cd92.js"),["assets/inverter-2fa0cd92.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-8be6c2f3.js"),["assets/bat-8be6c2f3.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-0d273f86.js"),["assets/counter-0d273f86.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-8a61cbb7.js"),["assets/device-8a61cbb7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-9a218979.js"),["assets/inverter-9a218979.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-d2496225.js"),["assets/counter-d2496225.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-eb286beb.js"),["assets/device-eb286beb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-f9a9dcb2.js"),["assets/inverter-f9a9dcb2.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-d02fab9a.js"),["assets/device-d02fab9a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-28a9d0d6.js"),["assets/inverter-28a9d0d6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${(i=this.device)==null?void 0:i.vendor}/${(m=this.device)==null?void 0:m.type}/${(n=this.component)==null?void 0:n.type}.vue`)},errorComponent:me}):M({loader:()=>{var i,m;return j(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-54d56c7d.js"),["assets/device-54d56c7d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-c0755185.js"),["assets/device-c0755185.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-75384b14.js"),["assets/device-75384b14.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-6b95742b.js"),["assets/device-6b95742b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-48df2895.js"),["assets/device-48df2895.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs_3p/device.vue":()=>e(()=>import("./device-d7081ea9.js"),["assets/device-d7081ea9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-030bc086.js"),["assets/device-030bc086.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-81efc975.js"),["assets/device-81efc975.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-021e8627.js"),["assets/device-021e8627.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-19f0c95a.js"),["assets/device-19f0c95a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./chint/chint/device.vue":()=>e(()=>import("./device-c1feb2e7.js"),["assets/device-c1feb2e7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-4c44c40d.js"),["assets/device-4c44c40d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-a8d662d4.js"),["assets/device-a8d662d4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-20e3d435.js"),["assets/device-20e3d435.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-d252b279.js"),["assets/device-d252b279.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-47ed11f1.js"),["assets/device-47ed11f1.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-d32b014e.js"),["assets/device-d32b014e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-f047f80b.js"),["assets/device-f047f80b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-ece6afde.js"),["assets/device-ece6afde.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-20a492db.js"),["assets/device-20a492db.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-314cbbc9.js"),["assets/device-314cbbc9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-b83d1492.js"),["assets/device-b83d1492.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-0d4f2219.js"),["assets/device-0d4f2219.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-d7caa67c.js"),["assets/device-d7caa67c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-5521efb9.js"),["assets/device-5521efb9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-8304af38.js"),["assets/device-8304af38.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-ce62bcc9.js"),["assets/device-ce62bcc9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./idm/idm/device.vue":()=>e(()=>import("./device-4c4ad49a.js"),["assets/device-4c4ad49a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-2fc61817.js"),["assets/device-2fc61817.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_nh/device.vue":()=>e(()=>import("./device-e97f2969.js"),["assets/device-e97f2969.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-e1a0c047.js"),["assets/device-e1a0c047.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-59ff51fe.js"),["assets/device-59ff51fe.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_ci/device.vue":()=>e(()=>import("./device-7204b6c4.js"),["assets/device-7204b6c4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-5e8be58e.js"),["assets/device-5e8be58e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-06f745a0.js"),["assets/device-06f745a0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-dbf8c1b7.js"),["assets/device-dbf8c1b7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-4a131e61.js"),["assets/device-4a131e61.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-a7625ee9.js"),["assets/device-a7625ee9.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./marstek/venus_c_e/device.vue":()=>e(()=>import("./device-a2d93396.js"),["assets/device-a2d93396.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-ffe6b46a.js"),["assets/device-ffe6b46a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-1fae1c88.js"),["assets/device-1fae1c88.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-23415915.js"),["assets/device-23415915.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-f1d1a336.js"),["assets/device-f1d1a336.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-f732d82b.js"),["assets/device-f732d82b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-e81fa756.js"),["assets/device-e81fa756.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-417400d0.js"),["assets/device-417400d0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-182aa355.js"),["assets/device-182aa355.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-3e145bf0.js"),["assets/device-3e145bf0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-6dc72a0e.js"),["assets/device-6dc72a0e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-92fda5a4.js"),["assets/device-92fda5a4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-23b1a217.js"),["assets/device-23b1a217.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-62449aeb.js"),["assets/device-62449aeb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-51c65c8f.js"),["assets/device-51c65c8f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-5446b50e.js"),["assets/device-5446b50e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-07cbcb9f.js"),["assets/device-07cbcb9f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-f78dd169.js"),["assets/device-f78dd169.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-8e359d3e.js"),["assets/device-8e359d3e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-7b25bfcf.js"),["assets/device-7b25bfcf.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-3a1efddd.js"),["assets/device-3a1efddd.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-25bb8777.js"),["assets/device-25bb8777.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solakon/solakon_one/device.vue":()=>e(()=>import("./device-6345b955.js"),["assets/device-6345b955.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-16305651.js"),["assets/device-16305651.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-8d16f2ec.js"),["assets/device-8d16f2ec.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-5bdeb51a.js"),["assets/device-5bdeb51a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-57b7f13e.js"),["assets/device-57b7f13e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f9bae821.js"),["assets/device-f9bae821.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-faf65afe.js"),["assets/device-faf65afe.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-95b81141.js"),["assets/device-95b81141.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-31f32fa8.js"),["assets/device-31f32fa8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-b7b8ef73.js"),["assets/device-b7b8ef73.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-46e6962f.js"),["assets/device-46e6962f.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-ec604e00.js"),["assets/device-ec604e00.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-e27c51bb.js"),["assets/device-e27c51bb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-56bb2517.js"),["assets/device-56bb2517.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-136ba995.js"),["assets/device-136ba995.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-d87a5565.js"),["assets/device-d87a5565.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-2e561cc8.js"),["assets/device-2e561cc8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-bcc7ec5d.js"),["assets/device-bcc7ec5d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-8a61cbb7.js"),["assets/device-8a61cbb7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-eb286beb.js"),["assets/device-eb286beb.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-d02fab9a.js"),["assets/device-d02fab9a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${(i=this.device)==null?void 0:i.vendor}/${(m=this.device)==null?void 0:m.type}/device.vue`)},errorComponent:ie})},updateConfiguration(o){this.$emit("update:configuration",o)}}};function Ee(o,_,i,m,n,u){return a(),g(Q(u.getComponent()),{device:i.device,component:i.component,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":_[0]||(_[0]=p=>u.updateConfiguration(p))},null,40,["device","component","component-id","component-type"])}const ce=A(pe,[["render",Ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(G,N,K,$,F,H,J);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:Z,OpenwbConfigProxy:ce},mixins:[Y],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(){const o=this.getWildcardTopics("openWB/system/device/+/config");return Object.fromEntries(Object.entries(o).filter(([,_])=>_&&typeof _=="object"))},installedComponents(){const o=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.fromEntries(Object.entries(o).filter(([,_])=>_&&typeof _=="object"))},vendorList:{get(){const o=this.$store.state.mqtt["openWB/system/configurable/devices_components"];return o?Object.entries(o).map(([_,i])=>{const m=(i==null?void 0:i.vendors)||{};return{label:(i==null?void 0:i.group_name)||"",options:Object.entries(m).map(([n,u])=>({value:[_,n],text:(u==null?void 0:u.vendor_name)||""})).sort((n,u)=>n.text.localeCompare(u.text))}}).sort((_,i)=>-_.label.localeCompare(i.label)):[]}},deviceList:{get(){var m,n,u,p;if(this.selectedVendor===void 0)return[];let[o,_]=this.selectedVendor;const i=(p=(u=(n=(m=this.$store.state.mqtt["openWB/system/configurable/devices_components"])==null?void 0:m[o])==null?void 0:n.vendors)==null?void 0:u[_])==null?void 0:p.devices;return i?Object.entries(i).map(([T,l])=>({value:[_,T],text:l.device_name})).sort((T,l)=>T.text.localeCompare(l.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,_,i){i.stopPropagation(),this.modalDevice=o,this.modalDeviceName=_,this.showDeviceRemoveModal=!0},removeDevice(o){this.showDeviceRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(o,_,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:o,deviceType:i,deviceVendor:_,type:m}})},removeComponentModal(o,_,i,m,n){n.stopPropagation(),this.modalComponent={deviceId:o,id:_,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,_){if(o===void 0||_===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[_]!==void 0&&(i=Object.entries(m.vendors[o].devices[_].components).map(([u,p])=>({value:u,text:p.component_name}))),!1):!0),i},updateConfiguration(o,_){console.debug("updateConfiguration",o,_),this.updateState(o,_.value,_.object)}}},ge={class:"hardwareInstallation"},Ve={name:"hardwareInstallationForm"},Oe={key:0},Te={key:1},Ie={key:1},Ae={key:0};function Pe(o,_,i,m,n,u){const p=E("openwb-base-modal-dialog"),T=E("router-link"),l=E("openwb-base-alert"),P=E("font-awesome-icon"),y=E("openwb-base-avatar"),f=E("openwb-base-text-input"),B=E("openwb-config-proxy"),C=E("openwb-base-heading"),h=E("openwb-base-card"),k=E("openwb-base-select-input"),U=E("openwb-base-submit-buttons");return a(),V(w,null,[d(p,{show:n.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:u.removeDevice},{default:v(()=>[s(' Willst Du das Gerät "'+O(n.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),d(p,{show:n.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:u.removeComponent},{default:v(()=>[s(' Willst Du die Komponente "'+O(n.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ge,[c("form",Ve,[i.installAssistantActive?D("",!0):(a(),g(l,{key:0,subtype:"info"},{default:v(()=>[_[7]||(_[7]=s(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ",-1)),d(T,{to:"/LoadManagementConfiguration"},{default:v(()=>[..._[6]||(_[6]=[s(" Lastmanagement ",-1)])]),_:1}),_[8]||(_[8]=s(" zu prüfen!",-1)),_[9]||(_[9]=c("br",null,null,-1)),_[10]||(_[10]=s(" Je nach Hersteller muss eventuell die Kommunikation im Wechselrichter freigegeben werden (z.B. Aktivierung Modbus TCP, Portfreigaben o.Ä.) ",-1))]),_:1})),d(h,{title:"Geräte und Komponenten"},{default:v(()=>{var R;return[o.$store.state.mqtt["openWB/general/extern"]===!0?(a(),V("div",Oe,[d(l,{subtype:"info"},{default:v(()=>[..._[11]||(_[11]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(a(),V("div",Te,[(a(!0),V(w,null,z(u.installedDevices,(t,x)=>(a(),g(h,{key:x,collapsible:!0,collapsed:!0,subtype:"dark"},{header:v(()=>[d(P,{icon:["fas","network-wired"]}),s(" "+O(t==null?void 0:t.name),1)]),actions:v(L=>[L.collapsed?(a(),V("div",Ie,[(a(!0),V(w,null,z(u.getMyInstalledComponents(t==null?void 0:t.id),r=>(a(),g(y,{key:r==null?void 0:r.id,class:X("ml-1 bg-"+u.getComponentTypeClass(r==null?void 0:r.type))},{default:v(()=>[d(P,{icon:u.getComponentTypeIcon(r==null?void 0:r.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(a(),g(y,{key:0,class:"bg-danger clickable",onClick:r=>u.removeDeviceModal(t==null?void 0:t.id,t==null?void 0:t.name,r)},{default:v(()=>[d(P,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:v(()=>{var L;return[d(f,{title:"Bezeichnung",subtype:"text","model-value":t==null?void 0:t.name,"onUpdate:modelValue":r=>o.updateState(x,r,"name")},null,8,["model-value","onUpdate:modelValue"]),_[19]||(_[19]=c("hr",null,null,-1)),d(B,{device:t,"onUpdate:configuration":r=>u.updateConfiguration(x,r)},null,8,["device","onUpdate:configuration"]),_[20]||(_[20]=c("hr",null,null,-1)),d(C,null,{default:v(()=>[..._[12]||(_[12]=[s("Komponenten",-1)])]),_:1}),u.deviceHasConfiguredComponents(t==null?void 0:t.id)?D("",!0):(a(),g(l,{key:0,subtype:"warning"},{default:v(()=>[..._[13]||(_[13]=[s(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ",-1)])]),_:1})),(a(!0),V(w,null,z(u.getMyInstalledComponents(t==null?void 0:t.id),(r,b)=>(a(),g(h,{key:r==null?void 0:r.id,collapsible:!0,collapsed:!0,subtype:u.getComponentTypeClass(r==null?void 0:r.type)},{header:v(()=>[d(P,{icon:u.getComponentTypeIcon(r==null?void 0:r.type)},null,8,["icon"]),s(" "+O(r==null?void 0:r.name),1)]),actions:v(I=>[I.collapsed?D("",!0):(a(),g(y,{key:0,class:"bg-danger clickable",onClick:q=>u.removeComponentModal(t==null?void 0:t.id,r==null?void 0:r.id,r==null?void 0:r.type,r==null?void 0:r.name,q)},{default:v(()=>[d(P,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:v(()=>[d(f,{title:"Bezeichnung",subtype:"text","model-value":r==null?void 0:r.name,"onUpdate:modelValue":I=>o.updateState(b,I,"name")},null,8,["model-value","onUpdate:modelValue"]),d(f,{title:"Hersteller",subtype:"text","model-value":r==null?void 0:r.info.manufacturer,"onUpdate:modelValue":I=>o.updateState(b,I,"info.manufacturer")},{help:v(()=>[..._[14]||(_[14]=[s(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),d(f,{title:"Modell",subtype:"text","model-value":r==null?void 0:r.info.model,"onUpdate:modelValue":I=>o.updateState(b,I,"info.model")},{help:v(()=>[..._[15]||(_[15]=[s(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),_[16]||(_[16]=c("hr",null,null,-1)),d(B,{device:t,component:r,"onUpdate:configuration":I=>u.updateConfiguration(b,I)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),_[21]||(_[21]=c("hr",null,null,-1)),(L=u.getComponentList(t==null?void 0:t.vendor,t==null?void 0:t.type))!=null&&L.length?(a(),g(k,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:u.getComponentList(t==null?void 0:t.vendor,t==null?void 0:t.type),"model-value":n.componentToAdd[t==null?void 0:t.id],"add-button":!0,"onUpdate:modelValue":r=>n.componentToAdd[t==null?void 0:t.id]=r,"onInput:add":r=>u.addComponent(t==null?void 0:t.id,t==null?void 0:t.vendor,t==null?void 0:t.type,n.componentToAdd[t==null?void 0:t.id])},{help:v(()=>[..._[17]||(_[17]=[s(" 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. ",-1)])]),_:1},8,["options","model-value","onUpdate:modelValue","onInput:add"])):(a(),g(l,{key:2,subtype:"info"},{default:v(()=>[..._[18]||(_[18]=[s(" Dieses System bietet keine Komponenten zur Installation an. ",-1)])]),_:1}))]}),_:2},1024))),128)),((R=Object.keys(u.installedDevices))==null?void 0:R.length)>0?(a(),V("hr",Ae)):D("",!0),d(k,{modelValue:n.selectedVendor,"onUpdate:modelValue":_[0]||(_[0]=t=>n.selectedVendor=t),title:"Hersteller","not-selected":"Bitte auswählen",groups:u.vendorList},null,8,["modelValue","groups"]),d(k,{modelValue:n.deviceToAdd,"onUpdate:modelValue":[_[1]||(_[1]=t=>n.deviceToAdd=t),_[2]||(_[2]=t=>n.deviceToAdd=t)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:n.selectedVendor===void 0,options:u.deviceList,"model-value":n.deviceToAdd,"add-button":!0,"onInput:add":u.addDevice},{help:v(()=>[..._[22]||(_[22]=[c("p",null,[s(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),s(' 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,[s(' 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"),s(' 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}),d(U,{"form-name":"hardwareInstallationForm",onSave:_[3]||(_[3]=R=>o.$emit("save")),onReset:_[4]||(_[4]=R=>o.$emit("reset")),onDefaults:_[5]||(_[5]=R=>o.$emit("defaults"))})])])],64)}const Re=A(le,[["render",Pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),we=Object.freeze(Object.defineProperty({__proto__:null,default:Re},Symbol.toStringTag,{value:"Module"}));export{ne as C,W as D,Re as H,we as a}; diff --git a/web/settings/assets/IdentificationConfig-77eaeeb9.js b/web/settings/assets/IdentificationConfig-eae90efd.js similarity index 96% rename from web/settings/assets/IdentificationConfig-77eaeeb9.js rename to web/settings/assets/IdentificationConfig-eae90efd.js index a4932ebdcc..cc28385dd9 100644 --- a/web/settings/assets/IdentificationConfig-77eaeeb9.js +++ b/web/settings/assets/IdentificationConfig-eae90efd.js @@ -1,2 +1,2 @@ -import{C as $}from"./index-25097726.js";import{_ as D,u as m,l as i,m as l,A as r,G as s,E as o,B as a,x as u,z as g,N as W,M as z,F as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";const I={name:"IdentificationConfigView",mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/vehicle_id","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/chargepoint/template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/tag_id"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}}},methods:{getIdFromTopic(e){return e.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/(rfid|vehicle_id)$",!0)).forEach(e=>{e[1]!==null&&(this.tempIdTagList[e[1]]=`${e[1]} (${e[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(e[0]))})`)}),this.tempIdTagList},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e}}},y={class:"optionalComponents"},F={name:"optionalComponentsForm"},L={key:2},q={key:0},S={key:2},T={key:0};function V(e,t,E,C,A,f){const d=m("openwb-base-alert"),c=m("openwb-base-button-group-input"),w=m("openwb-base-textarea"),v=m("openwb-base-card"),h=m("openwb-base-heading"),B=m("openwb-base-array-input"),_=m("openwb-base-submit-buttons");return i(),l("div",y,[r("form",F,[s(v,{title:"Identifikation"},{default:o(()=>[s(d,{subtype:"info"},{default:o(()=>[...t[4]||(t[4]=[r("p",null,[a(" Eine ausführliche Anleitung findest Du hier: "),r("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:einstellungen:identifikation",target:"_blank",rel:"noopener noreferrer"}," Wiki-Beitrag zur Identifikation ")],-1),a(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: ",-1),r("ul",null,[r("li",null,"Über einen RFID-Reader (optional in der openWB verbaut, z.B. anhand des Lieferscheins prüfen)."),r("li",null," Durch die automatische Fahrzeugerkennung der openWB Pro/ Pro+ (in den Einstellungen der openWB Pro aktivieren). "),r("li",null,"Durch manuelle Eingabe einer ID an einer openWB mit Display.")],-1),r("p",null,"Bei openWB Pro/Pro+ werden RFID-Tags nur bei angestecktem Fahrzeug erfasst!",-1),r("p",null,[a(" Für die Erkennung kann auch ein Muster (mittels Wildcards) hinterlegt werden. Ein Fragezeichen (?) entspricht dabei einem Zeichen, ein Stern (*) beliebig vielen Zeichen. So ist bspw. die Erkennung von Fahrzeugen mit wechselnder ID (u.a. Fahrzeuge der VW Gruppe) möglich."),r("br"),a(" Es wird davon abgeraten, Muster für die Entsperrung von öffentlich zugänglichen Ladepunkten zu nutzen, um unbefugten Zugriff zu vermeiden. ")],-1)])]),_:1}),s(c,{title:"Identifikation aktivieren","model-value":e.$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":t[0]||(t[0]=n=>e.updateState("openWB/optional/rfid/active",n))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u(d,{key:0,subtype:"info",class:"mt-3"},{default:o(()=>[...t[5]||(t[5]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})):e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(i(),u(w,{key:1,title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":f.idTagList.join(` +import{C as $}from"./index-bbf7119b.js";import{_ as D,u as m,l as i,m as l,A as r,G as s,E as o,B as a,x as u,z as g,N as W,M as z,F as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";const I={name:"IdentificationConfigView",mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/vehicle_id","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/chargepoint/template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/tag_id"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}}},methods:{getIdFromTopic(e){return e.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/(rfid|vehicle_id)$",!0)).forEach(e=>{e[1]!==null&&(this.tempIdTagList[e[1]]=`${e[1]} (${e[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(e[0]))})`)}),this.tempIdTagList},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e}}},y={class:"optionalComponents"},F={name:"optionalComponentsForm"},L={key:2},q={key:0},S={key:2},T={key:0};function V(e,t,E,C,A,f){const d=m("openwb-base-alert"),c=m("openwb-base-button-group-input"),w=m("openwb-base-textarea"),v=m("openwb-base-card"),h=m("openwb-base-heading"),B=m("openwb-base-array-input"),_=m("openwb-base-submit-buttons");return i(),l("div",y,[r("form",F,[s(v,{title:"Identifikation"},{default:o(()=>[s(d,{subtype:"info"},{default:o(()=>[...t[4]||(t[4]=[r("p",null,[a(" Eine ausführliche Anleitung findest Du hier: "),r("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:einstellungen:identifikation",target:"_blank",rel:"noopener noreferrer"}," Wiki-Beitrag zur Identifikation ")],-1),a(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: ",-1),r("ul",null,[r("li",null,"Über einen RFID-Reader (optional in der openWB verbaut, z.B. anhand des Lieferscheins prüfen)."),r("li",null," Durch die automatische Fahrzeugerkennung der openWB Pro/ Pro+ (in den Einstellungen der openWB Pro aktivieren). "),r("li",null,"Durch manuelle Eingabe einer ID an einer openWB mit Display.")],-1),r("p",null,"Bei openWB Pro/Pro+ werden RFID-Tags nur bei angestecktem Fahrzeug erfasst!",-1),r("p",null,[a(" Für die Erkennung kann auch ein Muster (mittels Wildcards) hinterlegt werden. Ein Fragezeichen (?) entspricht dabei einem Zeichen, ein Stern (*) beliebig vielen Zeichen. So ist bspw. die Erkennung von Fahrzeugen mit wechselnder ID (u.a. Fahrzeuge der VW Gruppe) möglich."),r("br"),a(" Es wird davon abgeraten, Muster für die Entsperrung von öffentlich zugänglichen Ladepunkten zu nutzen, um unbefugten Zugriff zu vermeiden. ")],-1)])]),_:1}),s(c,{title:"Identifikation aktivieren","model-value":e.$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":t[0]||(t[0]=n=>e.updateState("openWB/optional/rfid/active",n))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u(d,{key:0,subtype:"info",class:"mt-3"},{default:o(()=>[...t[5]||(t[5]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})):e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(i(),u(w,{key:1,title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":f.idTagList.join(` `)},null,8,["model-value"])):g("",!0)]),_:1}),s(h,null,{default:o(()=>[...t[6]||(t[6]=[a(" Entsperren von Ladepunkten (gekoppelt an Ladepunkt-Profil) ",-1)])]),_:1}),s(v,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u(d,{key:0,subtype:"info"},{default:o(()=>[...t[7]||(t[7]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet.',-1),r("br",null,null,-1),a(' Die Konfiguration zum Entsperren von Ladepunkten bitte auf der "primary" openWB durchführen. ',-1)])]),_:1})):e.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(i(),u(d,{key:1,subtype:"info"},{default:o(()=>[...t[8]||(t[8]=[a(" Diese Einstellungen sind nur verfügbar, wenn Identifikation aktiviert ist. ",-1)])]),_:1})):(i(),l("div",L,[s(d,{subtype:"info"},{default:o(()=>[...t[9]||(t[9]=[a(" Hier zugeordnete ID-Tags entsperren beim Scannen das jeweilige Ladepunkt-Profil. Der ID-Tag kann an jedem Ladepunkt genutzt werden, dem das entsprechende Ladepunkt-Profil zugeordnet wurde. ",-1)])]),_:1}),(i(!0),l(W,null,z(f.chargePointTemplates,(n,p)=>(i(),l("div",{key:p},[f.getChargePointTemplateIndex(p)!=0?(i(),l("hr",q)):g("",!0),s(h,{class:"mt-0"},{default:o(()=>[a(b(n.name),1)]),_:2},1024),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(i(),u(B,{key:1,title:"Zugeordnete ID-Tags","no-elements-message":'"'+n.name+'" sind keine ID-Tags zugeordnet.',pattern:"^[^\\s].*[^\\s]$","model-value":n.valid_tags,"onUpdate:modelValue":k=>e.updateState(p,k,"valid_tags")},null,8,["no-elements-message","model-value","onUpdate:modelValue"])):g("",!0),s(c,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.disable_after_unplug,"onUpdate:modelValue":k=>e.updateState(p,k,"disable_after_unplug")},{help:o(()=>[a(' Ist "Sperre nach Abstecken" aktiviert, wird der Ladepunkt mit Ladepunkt-Profil "'+b(n.name)+'" nach Abstecken eines Fahrzeugs automatisch gesperrt. Ist die Funktion deaktiviert, bleibt der Ladepunkt entsperrt. ',1)]),_:2},1032,["model-value","onUpdate:modelValue"])]))),128))]))]),_:1}),s(h,null,{default:o(()=>[...t[10]||(t[10]=[a(" Zuordnung von Fahrzeugen ",-1)])]),_:1}),s(v,{title:"Fahrzeuge",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u(d,{key:0,subtype:"info"},{default:o(()=>[...t[11]||(t[11]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet.',-1),r("br",null,null,-1),a(' Die Konfiguration zur Fahrzeugzuordnung bitte auf der "primary" openWB durchführen. ',-1)])]),_:1})):e.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(i(),u(d,{key:1,subtype:"info"},{default:o(()=>[...t[12]||(t[12]=[a(" Diese Einstellungen sind nur verfügbar, wenn Identifikation aktiviert ist. ",-1)])]),_:1})):(i(),l("div",S,[s(d,{subtype:"info"},{default:o(()=>[...t[13]||(t[13]=[a(" Hier zugeordnete ID-Tags weisen dem Ladepunkt beim Scannen automatisch das jeweilige Fahrzeug zu. Ist bei Scannen des ID-Tags noch kein Fahrzeug angeschlossen muss dies zeitnah erfolgen, da der ID-Tag nach 5 Minuten verworfen wird. ",-1)])]),_:1}),(i(!0),l(W,null,z(f.vehicleIndexes,n=>(i(),l("div",{key:n},[n!=f.vehicleIndexes[0]?(i(),l("hr",T)):g("",!0),s(h,{class:"mt-0"},{default:o(()=>[a(b(e.$store.state.mqtt["openWB/vehicle/"+n+"/name"]),1)]),_:2},1024),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(i(),u(B,{key:1,title:"Zugeordnete ID-Tags","no-elements-message":'"'+e.$store.state.mqtt["openWB/vehicle/"+n+"/name"]+'" sind keine ID-Tags zugeordnet.',pattern:"^[^\\s].*[^\\s]$","model-value":e.$store.state.mqtt["openWB/vehicle/"+n+"/tag_id"],"onUpdate:modelValue":p=>e.updateState("openWB/vehicle/"+n+"/tag_id",p)},null,8,["no-elements-message","model-value","onUpdate:modelValue"])):g("",!0),n!=0?(i(),u(c,{key:2,title:"Standard-Fahrzeug nach Abstecken zuordnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].load_default,"onUpdate:modelValue":p=>e.updateState("openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"],p,"load_default")},{help:o(()=>[a(' Ist diese Option aktiviert, wird am Ladepunkt nach Abstecken auf das Standard-Fahrzeug zurückgesetzt. Die Option ist im Lade-Profil "'+b(e.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].name)+'" gespeichert.',1),t[14]||(t[14]=r("br",null,null,-1)),a(' "Standard-Fahrzeug nach Abstecken" ist für alle Fahrzeuge '+b(e.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].load_default===!0?"aktiviert":"deaktiviert")+" , denen dieses Lade-Profil zugeordnet wurde. ",1)]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)]))),128))]))]),_:1}),s(_,{"form-name":"optionalComponentsForm",onSave:t[1]||(t[1]=n=>e.$emit("save")),onReset:t[2]||(t[2]=n=>e.$emit("reset")),onDefaults:t[3]||(t[3]=n=>e.$emit("defaults"))})])])}const R=D(I,[["render",V],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IdentificationConfig.vue"]]);export{R as default}; diff --git a/web/settings/assets/InstallAssistant-5584e8e4.js b/web/settings/assets/InstallAssistant-5584e8e4.js new file mode 100644 index 0000000000..4df266af4e --- /dev/null +++ b/web/settings/assets/InstallAssistant-5584e8e4.js @@ -0,0 +1 @@ +import{C as r,_ as t}from"./index-bbf7119b.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a2 as p,u as d,l as i,m as u,G as A,E as v,x as E,a3 as I,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-63344c45.js"),["assets/InstallAssistantStep0-63344c45.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-1fd0253a.js"),["assets/InstallAssistantStep1-1fd0253a.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-246ef920.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-47a5cc17.js"),["assets/InstallAssistantStep10-47a5cc17.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-2a3d1939.js"),["assets/InstallAssistantStep2-2a3d1939.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-d8a9b563.js","assets/System-f301c290.css"]),"../components/install_assistant/InstallAssistantStep20.vue":()=>t(()=>import("./InstallAssistantStep20-7466f600.js"),["assets/InstallAssistantStep20-7466f600.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-1fc5b922.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-c5836bae.js"),["assets/InstallAssistantStep3-c5836bae.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-9577138e.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-b104eac8.js"),["assets/InstallAssistantStep4-b104eac8.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/IoConfig-1612dbed.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-93b36fef.js"),["assets/InstallAssistantStep5-93b36fef.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-fcf847f9.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-bb1962b3.js"),["assets/InstallAssistantStep6-bb1962b3.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-1fc5b922.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-f38c3706.js"),["assets/InstallAssistantStep7-f38c3706.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-e937ade9.js","assets/OpenwbSortableList-f1671b8d.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-51149503.js"),["assets/InstallAssistantStep8-51149503.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-ab3e40e7.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-f2103e10.js"),["assets/InstallAssistantStep9-f2103e10.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-90225f10.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-246ef920.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-90225f10.js"),["assets/InstallAssistantStepTemplate-90225f10.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.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,n,f,g,o,e){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:e.endAssistant},{default:v(()=>[...n[4]||(n[4]=[c(" Willst Du den Assistenten wirklich vorzeitig beenden? ",-1)])]),_:1},8,["show","onModalResult"]),(i(),E(I(e.getInstallAssistantStepComponent()),{onSendCommand:n[0]||(n[0]=a=>s.$emit("sendCommand",a)),onSave:n[1]||(n[1]=a=>s.$emit("save")),onReset:n[2]||(n[2]=a=>s.$emit("reset")),onDefaults:n[3]||(n[3]=a=>s.$emit("defaults")),onSwitchPage:e.switchPage,onEndAssistant:e.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/InstallAssistant-7f2c7ca1.js b/web/settings/assets/InstallAssistant-7f2c7ca1.js deleted file mode 100644 index 4e4ff34864..0000000000 --- a/web/settings/assets/InstallAssistant-7f2c7ca1.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r,_ as t}from"./index-25097726.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a2 as p,u as d,l as i,m as u,G as A,E as v,x as E,a3 as I,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-0485cfaf.js"),["assets/InstallAssistantStep0-0485cfaf.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-d3e88a1f.js"),["assets/InstallAssistantStep1-d3e88a1f.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-9f7405c3.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-cedcbb37.js"),["assets/InstallAssistantStep10-cedcbb37.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-ef927661.js"),["assets/InstallAssistantStep2-ef927661.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-6cef44b5.js","assets/System-f301c290.css"]),"../components/install_assistant/InstallAssistantStep20.vue":()=>t(()=>import("./InstallAssistantStep20-d9040f24.js"),["assets/InstallAssistantStep20-d9040f24.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-9dd020bc.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-f8315f4c.js"),["assets/InstallAssistantStep3-f8315f4c.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-8c10c8b4.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-955c6ba3.js"),["assets/InstallAssistantStep4-955c6ba3.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/IoConfig-fbc082e3.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-6ca8effa.js"),["assets/InstallAssistantStep5-6ca8effa.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-99f8d83a.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-cc04c39b.js"),["assets/InstallAssistantStep6-cc04c39b.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-9dd020bc.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-6e051485.js"),["assets/InstallAssistantStep7-6e051485.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-d3c3da5c.js","assets/OpenwbSortableList-ca37615e.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-526e80bd.js"),["assets/InstallAssistantStep8-526e80bd.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-2de1808b.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-78784f43.js"),["assets/InstallAssistantStep9-78784f43.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/InstallAssistantStepTemplate-df7a059b.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-9f7405c3.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-df7a059b.js"),["assets/InstallAssistantStepTemplate-df7a059b.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.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,n,f,g,o,e){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:e.endAssistant},{default:v(()=>[...n[4]||(n[4]=[c(" Willst Du den Assistenten wirklich vorzeitig beenden? ",-1)])]),_:1},8,["show","onModalResult"]),(i(),E(I(e.getInstallAssistantStepComponent()),{onSendCommand:n[0]||(n[0]=a=>s.$emit("sendCommand",a)),onSave:n[1]||(n[1]=a=>s.$emit("save")),onReset:n[2]||(n[2]=a=>s.$emit("reset")),onDefaults:n[3]||(n[3]=a=>s.$emit("defaults")),onSwitchPage:e.switchPage,onEndAssistant:e.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-0485cfaf.js b/web/settings/assets/InstallAssistantStep0-63344c45.js similarity index 85% rename from web/settings/assets/InstallAssistantStep0-0485cfaf.js rename to web/settings/assets/InstallAssistantStep0-63344c45.js index 7d3e57b9e3..631c22c3fb 100644 --- a/web/settings/assets/InstallAssistantStep0-0485cfaf.js +++ b/web/settings/assets/InstallAssistantStep0-63344c45.js @@ -1 +1 @@ -import{C as m}from"./index-25097726.js";import g from"./InstallAssistantStepTemplate-df7a059b.js";import{F as f}from"./vendor-fortawesome-77ba272b.js";import{_ as h,u as i,l as c,x as w,E as r,G as a,B as o,A as n}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";const A={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:g,FontAwesomeIcon:f},mixins:[m],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")}}},b={class:"font-weight-bold"};function k(s,e,x,B,P,t){const l=i("openwb-base-modal-dialog"),u=i("FontAwesomeIcon"),d=i("InstallAssistantStepTemplate");return c(),w(d,{title:"Start","hide-previous":!0,onNextPage:t.requestNextPage,onPreviousPage:t.previousPage,onEndAssistant:t.endAssistant},{content:r(()=>[a(l,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=p=>t.nextPage(p))},{default:r(()=>[...e[1]||(e[1]=[o(" 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)])]),_:1},8,["show"]),e[4]||(e[4]=n("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[5]||(e[5]=n("p",null,"Dieser Assistent führt durch die Konfiguration der einzelnen Module:",-1)),e[6]||(e[6]=n("ol",null,[n("li",null,"Datensicherung der bestehenden Konfiguration"),n("li",null,"Aktualisierung des openWB-Systems"),n("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[7]||(e[7]=n("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[8]||(e[8]=n("ol",{start:"4"},[n("li",null,"Ein- und Ausgänge konfigurieren"),n("li",null,"Energiesystem - Geräte und Komponenten einrichten"),n("li",null,"Einrichten der Ladepunkte (openWB als primary)"),n("li",null,"Konfiguration des Lastmanagements"),n("li",null,"Einrichten der Fahrzeuge"),n("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[9]||(e[9]=n("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1)),n("p",b,[e[2]||(e[2]=o(" Bitte während der Einrichtung auch die jeweiligen Hilfstexte lesen, welche durch Klick auf ",-1)),a(u,{icon:["far","question-circle"]}),e[3]||(e[3]=o(" erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1))])]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=h(A,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{N as default}; +import{C as m}from"./index-bbf7119b.js";import g from"./InstallAssistantStepTemplate-90225f10.js";import{F as f}from"./vendor-fortawesome-641b8eb6.js";import{_ as h,u as i,l as c,x as w,E as r,G as a,B as o,A as n}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";const A={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:g,FontAwesomeIcon:f},mixins:[m],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")}}},b={class:"font-weight-bold"};function k(s,e,x,B,P,t){const l=i("openwb-base-modal-dialog"),u=i("FontAwesomeIcon"),d=i("InstallAssistantStepTemplate");return c(),w(d,{title:"Start","hide-previous":!0,onNextPage:t.requestNextPage,onPreviousPage:t.previousPage,onEndAssistant:t.endAssistant},{content:r(()=>[a(l,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=p=>t.nextPage(p))},{default:r(()=>[...e[1]||(e[1]=[o(" 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)])]),_:1},8,["show"]),e[4]||(e[4]=n("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[5]||(e[5]=n("p",null,"Dieser Assistent führt durch die Konfiguration der einzelnen Module:",-1)),e[6]||(e[6]=n("ol",null,[n("li",null,"Datensicherung der bestehenden Konfiguration"),n("li",null,"Aktualisierung des openWB-Systems"),n("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[7]||(e[7]=n("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[8]||(e[8]=n("ol",{start:"4"},[n("li",null,"Ein- und Ausgänge konfigurieren"),n("li",null,"Energiesystem - Geräte und Komponenten einrichten"),n("li",null,"Einrichten der Ladepunkte (openWB als primary)"),n("li",null,"Konfiguration des Lastmanagements"),n("li",null,"Einrichten der Fahrzeuge"),n("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[9]||(e[9]=n("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1)),n("p",b,[e[2]||(e[2]=o(" Bitte während der Einrichtung auch die jeweiligen Hilfstexte lesen, welche durch Klick auf ",-1)),a(u,{icon:["far","question-circle"]}),e[3]||(e[3]=o(" erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1))])]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=h(A,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{N as default}; diff --git a/web/settings/assets/InstallAssistantStep1-d3e88a1f.js b/web/settings/assets/InstallAssistantStep1-1fd0253a.js similarity index 75% rename from web/settings/assets/InstallAssistantStep1-d3e88a1f.js rename to web/settings/assets/InstallAssistantStep1-1fd0253a.js index a2fe329b05..b49698ade9 100644 --- a/web/settings/assets/InstallAssistantStep1-d3e88a1f.js +++ b/web/settings/assets/InstallAssistantStep1-1fd0253a.js @@ -1 +1 @@ -import{C as m}from"./index-25097726.js";import p from"./InstallAssistantStepTemplate-df7a059b.js";import{D as l}from"./DataManagement-9f7405c3.js";import{_ as d,u as a,l as u,x as g,E as o,A as f,G as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-bbf7119b.js";import p from"./InstallAssistantStepTemplate-90225f10.js";import{D as l}from"./DataManagement-246ef920.js";import{_ as d,u as a,l as u,x as g,E as o,A as f,G as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-cedcbb37.js b/web/settings/assets/InstallAssistantStep10-47a5cc17.js similarity index 75% rename from web/settings/assets/InstallAssistantStep10-cedcbb37.js rename to web/settings/assets/InstallAssistantStep10-47a5cc17.js index 65ff1afcba..551e98afcc 100644 --- a/web/settings/assets/InstallAssistantStep10-cedcbb37.js +++ b/web/settings/assets/InstallAssistantStep10-47a5cc17.js @@ -1 +1 @@ -import{C as a}from"./index-25097726.js";import o from"./InstallAssistantStepTemplate-df7a059b.js";import{_ as r,u as l,l as m,x as p,E as d,A as n}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-bbf7119b.js";import o from"./InstallAssistantStepTemplate-90225f10.js";import{_ as r,u as l,l as m,x as p,E as d,A as n}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-ef927661.js b/web/settings/assets/InstallAssistantStep2-2a3d1939.js similarity index 76% rename from web/settings/assets/InstallAssistantStep2-ef927661.js rename to web/settings/assets/InstallAssistantStep2-2a3d1939.js index 800edd86fa..903ff58dd3 100644 --- a/web/settings/assets/InstallAssistantStep2-ef927661.js +++ b/web/settings/assets/InstallAssistantStep2-2a3d1939.js @@ -1 +1 @@ -import{C as l}from"./index-25097726.js";import p from"./InstallAssistantStepTemplate-df7a059b.js";import d from"./System-6cef44b5.js";import{_ as u,u as a,l as f,x as g,E as o,A as i,G as S}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";const A={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:p,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 v(e,t,w,P,c,n){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>[...t[4]||(t[4]=[i("p",null,"Bitte ein System-Update durchführen, um die Software auf den neuesten Stand zu bringen.",-1),i("p",null," Bitte warten, bis die Versionsliste aktualisiert wurde. Falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),i("p",null,' 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:t[0]||(t[0]=s=>e.$emit("sendCommand",s)),onSave:t[1]||(t[1]=s=>e.$emit("save")),onReset:t[2]||(t[2]=s=>e.$emit("reset")),onDefaults:t[3]||(t[3]=s=>e.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const y=u(A,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{y as default}; +import{C as l}from"./index-bbf7119b.js";import p from"./InstallAssistantStepTemplate-90225f10.js";import d from"./System-d8a9b563.js";import{_ as u,u as a,l as f,x as g,E as o,A as i,G as S}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";const A={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:p,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 v(e,t,w,P,c,n){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>[...t[4]||(t[4]=[i("p",null,"Bitte ein System-Update durchführen, um die Software auf den neuesten Stand zu bringen.",-1),i("p",null," Bitte warten, bis die Versionsliste aktualisiert wurde. Falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),i("p",null,' 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:t[0]||(t[0]=s=>e.$emit("sendCommand",s)),onSave:t[1]||(t[1]=s=>e.$emit("save")),onReset:t[2]||(t[2]=s=>e.$emit("reset")),onDefaults:t[3]||(t[3]=s=>e.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const y=u(A,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{y as default}; diff --git a/web/settings/assets/InstallAssistantStep20-d9040f24.js b/web/settings/assets/InstallAssistantStep20-7466f600.js similarity index 80% rename from web/settings/assets/InstallAssistantStep20-d9040f24.js rename to web/settings/assets/InstallAssistantStep20-7466f600.js index 48ae5d77fa..95836edf85 100644 --- a/web/settings/assets/InstallAssistantStep20-d9040f24.js +++ b/web/settings/assets/InstallAssistantStep20-7466f600.js @@ -1 +1 @@ -import{C as l}from"./index-25097726.js";import d from"./InstallAssistantStepTemplate-df7a059b.js";import{b as m}from"./ChargePointInstallation-9dd020bc.js";import{_ as u,u as a,l as g,x as f,E as o,A as n,G as w}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:d,ChargePointInstallationView:m},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 P(t,e,B,k,c,i){const r=a("ChargePointInstallationView"),p=a("InstallAssistantStepTemplate");return g(),f(p,{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 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,' Trage unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wähle die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+), Buchse oder Pro+) aus. ',-1),n("p",null,"Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren.",-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 T=u(v,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep20.vue"]]);export{T as default}; +import{C as l}from"./index-bbf7119b.js";import d from"./InstallAssistantStepTemplate-90225f10.js";import{b as m}from"./ChargePointInstallation-1fc5b922.js";import{_ as u,u as a,l as g,x as f,E as o,A as n,G as w}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:d,ChargePointInstallationView:m},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 P(t,e,B,k,c,i){const r=a("ChargePointInstallationView"),p=a("InstallAssistantStepTemplate");return g(),f(p,{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 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,' Trage unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wähle die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+), Buchse oder Pro+) aus. ',-1),n("p",null,"Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren.",-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 T=u(v,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep20.vue"]]);export{T as default}; diff --git a/web/settings/assets/InstallAssistantStep3-f8315f4c.js b/web/settings/assets/InstallAssistantStep3-c5836bae.js similarity index 80% rename from web/settings/assets/InstallAssistantStep3-f8315f4c.js rename to web/settings/assets/InstallAssistantStep3-c5836bae.js index 0626bddbbc..3cf17fa92e 100644 --- a/web/settings/assets/InstallAssistantStep3-f8315f4c.js +++ b/web/settings/assets/InstallAssistantStep3-c5836bae.js @@ -1 +1 @@ -import{C as p}from"./index-25097726.js";import d from"./InstallAssistantStepTemplate-df7a059b.js";import{G as m}from"./GeneralConfig-8c10c8b4.js";import{_ as u,u as i,l as g,x as f,E as r,A as a,G as w}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const S={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[p],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?20:4)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,P,k,v,s){const o=i("GeneralConfigView"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Auswahl des Steuerungsmodus",onNextPage:s.nextPage,onPreviousPage:s.previousPage,onEndAssistant:s.endAssistant},{help:r(()=>[...e[4]||(e[4]=[a("p",null,' Hier festlegen, 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),a("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo (2 Ladepunkte) und Buchse können sowohl als steuernde primary oder als ferngesteuerte secondary betrieben werden. Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),a("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]=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 y=u(S,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{y as default}; +import{C as p}from"./index-bbf7119b.js";import d from"./InstallAssistantStepTemplate-90225f10.js";import{G as m}from"./GeneralConfig-9577138e.js";import{_ as u,u as i,l as g,x as f,E as r,A as a,G as w}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const S={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[p],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?20:4)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,P,k,v,s){const o=i("GeneralConfigView"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Auswahl des Steuerungsmodus",onNextPage:s.nextPage,onPreviousPage:s.previousPage,onEndAssistant:s.endAssistant},{help:r(()=>[...e[4]||(e[4]=[a("p",null,' Hier festlegen, 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),a("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo (2 Ladepunkte) und Buchse können sowohl als steuernde primary oder als ferngesteuerte secondary betrieben werden. Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),a("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]=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 y=u(S,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{y as default}; diff --git a/web/settings/assets/InstallAssistantStep4-955c6ba3.js b/web/settings/assets/InstallAssistantStep4-b104eac8.js similarity index 80% rename from web/settings/assets/InstallAssistantStep4-955c6ba3.js rename to web/settings/assets/InstallAssistantStep4-b104eac8.js index 59813257b9..d5685931a2 100644 --- a/web/settings/assets/InstallAssistantStep4-955c6ba3.js +++ b/web/settings/assets/InstallAssistantStep4-b104eac8.js @@ -1 +1 @@ -import{C as l}from"./index-25097726.js";import p from"./InstallAssistantStepTemplate-df7a059b.js";import{I as d}from"./IoConfig-fbc082e3.js";import{_ as u,u as a,l as g,x as f,E as o,A as t,B as w,G as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const S={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,IoConfigView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",5)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function v(n,e,A,h,P,i){const r=a("IoConfigView"),m=a("InstallAssistantStepTemplate");return g(),f(m,{title:"4. Ein- und Ausgänge konfigurieren",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>[...e[4]||(e[4]=[t("p",null,'Diese openWB ist als "primary" konfiguriert und übernimmt die Regelung des Systems.',-1),t("p",{class:"font-weight-bold"},"Optional:",-1),t("p",null,[w(" Wird die openWB nicht als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet, "),t("span",{class:"font-weight-bold"},"kann dieser Schritt übersprungen werden.")],-1),t("p",null," Soll die openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. ",-1),t("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])]),content:o(()=>[c(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>n.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>n.$emit("save")),onReset:e[2]||(e[2]=s=>n.$emit("reset")),onDefaults:e[3]||(e[3]=s=>n.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=u(S,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{N as default}; +import{C as l}from"./index-bbf7119b.js";import p from"./InstallAssistantStepTemplate-90225f10.js";import{I as d}from"./IoConfig-1612dbed.js";import{_ as u,u as a,l as g,x as f,E as o,A as t,B as w,G as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const S={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,IoConfigView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",5)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function v(n,e,A,h,P,i){const r=a("IoConfigView"),m=a("InstallAssistantStepTemplate");return g(),f(m,{title:"4. Ein- und Ausgänge konfigurieren",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>[...e[4]||(e[4]=[t("p",null,'Diese openWB ist als "primary" konfiguriert und übernimmt die Regelung des Systems.',-1),t("p",{class:"font-weight-bold"},"Optional:",-1),t("p",null,[w(" Wird die openWB nicht als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet, "),t("span",{class:"font-weight-bold"},"kann dieser Schritt übersprungen werden.")],-1),t("p",null," Soll die openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. ",-1),t("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])]),content:o(()=>[c(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>n.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>n.$emit("save")),onReset:e[2]||(e[2]=s=>n.$emit("reset")),onDefaults:e[3]||(e[3]=s=>n.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=u(S,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{N as default}; diff --git a/web/settings/assets/InstallAssistantStep5-6ca8effa.js b/web/settings/assets/InstallAssistantStep5-93b36fef.js similarity index 82% rename from web/settings/assets/InstallAssistantStep5-6ca8effa.js rename to web/settings/assets/InstallAssistantStep5-93b36fef.js index 0d4a80326b..75886a4ef7 100644 --- a/web/settings/assets/InstallAssistantStep5-6ca8effa.js +++ b/web/settings/assets/InstallAssistantStep5-93b36fef.js @@ -1 +1 @@ -import{C as d}from"./index-25097726.js";import m from"./InstallAssistantStepTemplate-df7a059b.js";import{H as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as r,l as g,x as w,E as a,A as s,G as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:p},mixins:[d],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 v(t,e,c,A,P,i){const o=r("HardwareInstallationView"),l=r("InstallAssistantStepTemplate");return g(),w(l,{title:"5. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[...e[4]||(e[4]=[s("p",null," Für die Regelung werden aktuelle Leistungswerte des EVU-Zählers, der PV-Anlage und ggf. eines Speichers benötigt. ",-1),s("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem konfiguriert wird. ",-1),s("p",null," Alle Komponenten, welche über die gleiche IP-Adresse erreichbar sind werden als ein Gerät verstanden. 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),s("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])]),content:a(()=>[f(o,{"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=u(h,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{z as default}; +import{C as d}from"./index-bbf7119b.js";import m from"./InstallAssistantStepTemplate-90225f10.js";import{H as p}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as r,l as g,x as w,E as a,A as s,G as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:p},mixins:[d],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 v(t,e,c,A,P,i){const o=r("HardwareInstallationView"),l=r("InstallAssistantStepTemplate");return g(),w(l,{title:"5. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[...e[4]||(e[4]=[s("p",null," Für die Regelung werden aktuelle Leistungswerte des EVU-Zählers, der PV-Anlage und ggf. eines Speichers benötigt. ",-1),s("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem konfiguriert wird. ",-1),s("p",null," Alle Komponenten, welche über die gleiche IP-Adresse erreichbar sind werden als ein Gerät verstanden. 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),s("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])]),content:a(()=>[f(o,{"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=u(h,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{z as default}; diff --git a/web/settings/assets/InstallAssistantStep6-cc04c39b.js b/web/settings/assets/InstallAssistantStep6-bb1962b3.js similarity index 86% rename from web/settings/assets/InstallAssistantStep6-cc04c39b.js rename to web/settings/assets/InstallAssistantStep6-bb1962b3.js index e64a6a13d6..63d9efefc1 100644 --- a/web/settings/assets/InstallAssistantStep6-cc04c39b.js +++ b/web/settings/assets/InstallAssistantStep6-bb1962b3.js @@ -1 +1 @@ -import{C as d}from"./index-25097726.js";import u from"./InstallAssistantStepTemplate-df7a059b.js";import{b as p}from"./ChargePointInstallation-9dd020bc.js";import{_ as m,u as a,l as h,x as g,E as r,A as n,G as w}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 c(t,e,f,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return h(),g(l,{title:"6. 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 openWB" oder andere WB-Typen wie "openWB Pro", "openwB Satellit" eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk ist hier bereits ein Ladepunkt eingetragen.",-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 Abschnitt "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",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; +import{C as d}from"./index-bbf7119b.js";import u from"./InstallAssistantStepTemplate-90225f10.js";import{b as p}from"./ChargePointInstallation-1fc5b922.js";import{_ as m,u as a,l as h,x as g,E as r,A as n,G as w}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 c(t,e,f,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return h(),g(l,{title:"6. 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 openWB" oder andere WB-Typen wie "openWB Pro", "openwB Satellit" eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk ist hier bereits ein Ladepunkt eingetragen.",-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 Abschnitt "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",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; diff --git a/web/settings/assets/InstallAssistantStep7-6e051485.js b/web/settings/assets/InstallAssistantStep7-f38c3706.js similarity index 83% rename from web/settings/assets/InstallAssistantStep7-6e051485.js rename to web/settings/assets/InstallAssistantStep7-f38c3706.js index 43334fd1ec..f4eac060a8 100644 --- a/web/settings/assets/InstallAssistantStep7-6e051485.js +++ b/web/settings/assets/InstallAssistantStep7-f38c3706.js @@ -1 +1 @@ -import{C as l}from"./index-25097726.js";import m from"./InstallAssistantStepTemplate-df7a059b.js";import p from"./LoadManagementConfig-d3c3da5c.js";import{_ as u,u as r,l as g,x as h,E as a,A as n,G as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./OpenwbSortableList-ca37615e.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:"7. 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-bbf7119b.js";import m from"./InstallAssistantStepTemplate-90225f10.js";import p from"./LoadManagementConfig-e937ade9.js";import{_ as u,u as r,l as g,x as h,E as a,A as n,G as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./OpenwbSortableList-f1671b8d.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:"7. 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-526e80bd.js b/web/settings/assets/InstallAssistantStep8-51149503.js similarity index 85% rename from web/settings/assets/InstallAssistantStep8-526e80bd.js rename to web/settings/assets/InstallAssistantStep8-51149503.js index fee954601d..5f363e6d58 100644 --- a/web/settings/assets/InstallAssistantStep8-526e80bd.js +++ b/web/settings/assets/InstallAssistantStep8-51149503.js @@ -1 +1 @@ -import{C as g}from"./index-25097726.js";import p from"./InstallAssistantStepTemplate-df7a059b.js";import{a as h}from"./VehicleConfig-2de1808b.js";import{F as f}from"./vendor-fortawesome-77ba272b.js";import{_ as z,u as r,l as w,x as P,E as a,A as n,B as o,G as d}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const A={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")}}},F={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:"8. 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",F,[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 ',-1)),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. ",-1))]),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(A,[["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-bbf7119b.js";import p from"./InstallAssistantStepTemplate-90225f10.js";import{a as h}from"./VehicleConfig-ab3e40e7.js";import{F as f}from"./vendor-fortawesome-641b8eb6.js";import{_ as z,u as r,l as w,x as P,E as a,A as n,B as o,G as d}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const A={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")}}},F={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:"8. 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",F,[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 ',-1)),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. ",-1))]),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(A,[["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-78784f43.js b/web/settings/assets/InstallAssistantStep9-f2103e10.js similarity index 78% rename from web/settings/assets/InstallAssistantStep9-78784f43.js rename to web/settings/assets/InstallAssistantStep9-f2103e10.js index 672d2178b9..54e13885c4 100644 --- a/web/settings/assets/InstallAssistantStep9-78784f43.js +++ b/web/settings/assets/InstallAssistantStep9-f2103e10.js @@ -1 +1 @@ -import{C as l}from"./index-25097726.js";import p from"./InstallAssistantStepTemplate-df7a059b.js";import{D as u}from"./DataManagement-9f7405c3.js";import{_ as d,u as a,l as g,x as f,E as i,A as o,G as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:9}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?20:8)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,$,S,c,n){const r=a("DataManagement"),m=a("InstallAssistantStepTemplate");return g(),f(m,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:i(()=>[...e[4]||(e[4]=[o("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),o("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)])]),content:i(()=>[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(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; +import{C as l}from"./index-bbf7119b.js";import p from"./InstallAssistantStepTemplate-90225f10.js";import{D as u}from"./DataManagement-246ef920.js";import{_ as d,u as a,l as g,x as f,E as i,A as o,G as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:9}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?20:8)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,$,S,c,n){const r=a("DataManagement"),m=a("InstallAssistantStepTemplate");return g(),f(m,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:i(()=>[...e[4]||(e[4]=[o("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),o("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)])]),content:i(()=>[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(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; diff --git a/web/settings/assets/InstallAssistantStepTemplate-df7a059b.js b/web/settings/assets/InstallAssistantStepTemplate-90225f10.js similarity index 87% rename from web/settings/assets/InstallAssistantStepTemplate-df7a059b.js rename to web/settings/assets/InstallAssistantStepTemplate-90225f10.js index 4fd6225b3f..52bf1d2fc3 100644 --- a/web/settings/assets/InstallAssistantStepTemplate-df7a059b.js +++ b/web/settings/assets/InstallAssistantStepTemplate-90225f10.js @@ -1 +1 @@ -import{C as g}from"./index-25097726.js";import{l as v,ay as y,az as w,F as x}from"./vendor-fortawesome-77ba272b.js";import{_ as k,u as r,l as a,m as i,G as t,E as s,A as n,B as c,z as p,p as f}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 a(),i("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(a(),i("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=_=>l.previousPage())},{default:s(()=>[t(m,{icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück ",-1))]),_:1})])),o.hideNext?p("",!0):(a(),i("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=_=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ",-1)),t(m,{icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(a(),i("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=_=>l.endAssistant())},{default:s(()=>[...e[5]||(e[5]=[c(" Assistent beenden ",-1)])]),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[f(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[f(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const R=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{R as default}; +import{C as g}from"./index-bbf7119b.js";import{l as v,ay as y,az as w,F as x}from"./vendor-fortawesome-641b8eb6.js";import{_ as k,u as r,l as a,m as i,G as t,E as s,A as n,B as c,z as p,p as f}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 a(),i("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(a(),i("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=_=>l.previousPage())},{default:s(()=>[t(m,{icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück ",-1))]),_:1})])),o.hideNext?p("",!0):(a(),i("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=_=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ",-1)),t(m,{icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(a(),i("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=_=>l.endAssistant())},{default:s(()=>[...e[5]||(e[5]=[c(" Assistent beenden ",-1)])]),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[f(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[f(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const R=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{R as default}; diff --git a/web/settings/assets/IoConfig-1612dbed.js b/web/settings/assets/IoConfig-1612dbed.js new file mode 100644 index 0000000000..68fffadeec --- /dev/null +++ b/web/settings/assets/IoConfig-1612dbed.js @@ -0,0 +1 @@ +import{l as q,ab as $,F as L}from"./vendor-fortawesome-641b8eb6.js";import{_ as k,C as E}from"./index-bbf7119b.js";import{_ as W}from"./dynamic-import-helper-be004503.js";import{_ as A,u as d,l as a,m as b,x as _,E as i,B as l,F as f,G as r,A as w,a2 as M,N as I,M as x,z as C,a3 as T}from"./vendor-50125810.js";const U={props:{ioDevice:{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})}}},F=A(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigMixin.vue"]]),N={name:"OpenwbIoDeviceConfigFallback",mixins:[F]},R={class:"io-device-config-fallback"},z={key:1};function G(t,e,s,y,c,o){const m=d("openwb-base-alert"),h=d("openwb-base-textarea");return a(),b("div",R,[Object.keys(t.ioDevice.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>[l(' Das I/O-Modul "'+f(t.ioDevice.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),b("div",z,[r(m,{subtype:"warning"},{default:i(()=>[l(' Es wurde keine Konfigurationsseite für das I/O-Modul "'+f(t.ioDevice.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":t.ioDevice.configuration,"onUpdate:modelValue":e[0]||(e[0]=v=>t.updateConfiguration(v,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[l(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>[w("pre",null,f(JSON.stringify(t.ioDevice.configuration,void 0,2)),1)]),_:1})]))])}const J=A(N,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigFallback.vue"]]),H={name:"OpenwbIoDeviceProxy",props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading io device: ${this.ioDevice.type}`),M({loader:()=>W(Object.assign({"./add_on/io_device.vue":()=>k(()=>import("./io_device-8104373e.js"),["assets/io_device-8104373e.js","assets/index-bbf7119b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./dimm_kit/io_device.vue":()=>k(()=>import("./io_device-ce392a7d.js"),["assets/io_device-ce392a7d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./eebus/io_device.vue":()=>k(()=>import("./io_device-de89f66a.js"),["assets/io_device-de89f66a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.ioDevice.type}/io_device.vue`),errorComponent:J})},outputs(){const t=[];if(this.ioDevice.output){if(this.ioDevice.output.analog)for(const e in this.ioDevice.output.analog)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/analog_output/${e}`);if(this.ioDevice.output.digital)for(const e in this.ioDevice.output.digital)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/digital_output/${e}`)}return t}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Q(t,e,s,y,c,o){const m=d("openwb-base-heading"),h=d("openwb-base-copy-to-clipboard"),v=d("openwb-base-alert");return a(),b("div",null,[r(m,null,{default:i(()=>[l(' Einstellungen für I/O-Modul "'+f(s.ioDevice.name)+'" ',1)]),_:1}),o.outputs.length?(a(),_(v,{key:0,subtype:"info"},{default:i(()=>[e[2]||(e[2]=l(" Die Ausgänge können über die folgenden Topics manuell per MQTT geschaltet werden. Falls Ausgänge in Aktionen konfiguriert werden, überschreibt das manuelle Setzen den Status. ",-1)),w("ul",null,[(a(!0),b(I,null,x(o.outputs,p=>(a(),b("li",{key:p},[r(h,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[l(f(p),1)]),_:2},1024)]))),128))]),e[3]||(e[3]=l(" Als Wert wird ein boolean als json oder 0/1 akzeptiert.",-1)),e[4]||(e[4]=w("br",null,null,-1)),e[5]||(e[5]=l(" Beispiel: ",-1)),e[6]||(e[6]=w("span",{class:"text-info"},"false",-1))]),_:1})):C("",!0),(a(),_(T(o.myComponent),{"io-device":s.ioDevice,"onUpdate:configuration":e[0]||(e[0]=p=>o.updateConfiguration(p)),onSendCommand:e[1]||(e[1]=p=>o.sendCommand(p))},null,40,["io-device"]))])}const X=A(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceProxy.vue"]]),Y={mixins:[E],props:{ioAction:{type:Object,required:!0},ioDevice:{type:Object,required:!0},availableChargePoints:{type:Array,required:!1,default:()=>[]},availableComponents:{type:Array,required:!1,default:()=>[]},availableIoDevices:{type:Array,required:!1,default:()=>[]}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},Z=A(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigMixin.vue"]]),K={name:"OpenwbIoActionConfigFallback",mixins:[Z]},ee={class:"io-action-config-fallback"},te={key:1};function oe(t,e,s,y,c,o){var v,p;const m=d("openwb-base-alert"),h=d("openwb-base-textarea");return a(),b("div",ee,[Object.keys((v=t.ioAction)==null?void 0:v.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>{var u;return[l(' Die I/O-Aktion "'+f((u=t.ioAction)==null?void 0:u.name)+'" bietet keine Einstellungen. ',1)]}),_:1})):(a(),b("div",te,[r(m,{subtype:"warning"},{default:i(()=>{var u;return[l(' Es wurde keine Konfigurationsseite für die I/O-Aktion "'+f((u=t.ioAction)==null?void 0:u.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]}),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":(p=t.ioAction)==null?void 0:p.configuration,"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateConfiguration(u,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[l(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>{var u;return[w("pre",null,f(JSON.stringify((u=t.ioAction)==null?void 0:u.configuration,void 0,2)),1)]}),_:1})]))])}const ne=A(K,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigFallback.vue"]]),ie={name:"OpenwbIoActionProxy",props:{ioAction:{type:Object,required:!0},ioDevices:{type:Object,required:!0},installedChargePoints:{type:Object,required:!0},installedComponents:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){var t,e;return console.debug(`loading io action: ${(t=this.ioAction)==null?void 0:t.group} / ${(e=this.ioAction)==null?void 0:e.type}`),M({loader:()=>{var s,y;return W(Object.assign({"./controllable_consumers/dimming/io_action.vue":()=>k(()=>import("./io_action-d07c7fcf.js"),["assets/io_action-d07c7fcf.js","assets/OpenwbIoSinglePattern-67be81d3.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/dimming_direct_control/io_action.vue":()=>k(()=>import("./io_action-76cb64d7.js"),["assets/io_action-76cb64d7.js","assets/OpenwbIoSinglePattern-67be81d3.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/ripple_control_receiver/io_action.vue":()=>k(()=>import("./io_action-c076c518.js"),["assets/io_action-c076c518.js","assets/OpenwbIoPattern-53665b55.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generator_systems/stepwise_control/io_action.vue":()=>k(()=>import("./io_action-d7eb4919.js"),["assets/io_action-d7eb4919.js","assets/OpenwbIoPattern-53665b55.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${(s=this.ioAction)==null?void 0:s.group}/${(y=this.ioAction)==null?void 0:y.type}/io_action.vue`)},errorComponent:ne})},ioDeviceList(){return Object.keys(this.ioDevices).map(t=>{var e,s;return{value:(e=this.ioDevices[t])==null?void 0:e.id,text:(s=this.ioDevices[t])==null?void 0:s.name}})},availableIoDevices(){return Object.values(this.ioDevices)},availableChargePoints(){return Object.values(this.installedChargePoints).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name}))},availableComponents(){return Object.values(this.installedComponents).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name,type:t==null?void 0:t.type}))}},methods:{updateConfiguration(t,e=void 0){e?this.$emit("update:configuration",{value:t,object:e}):this.$emit("update:configuration",t)},updateIoDevice(t){var e;if(this.updateConfiguration(t,"configuration.io_device"),Array.isArray((e=this.ioAction.configuration)==null?void 0:e.input_pattern)){let s=this.ioAction.configuration.input_pattern.map(y=>({value:y.value,matrix:{}}));this.updateConfiguration(s,"configuration.input_pattern")}Object.prototype.hasOwnProperty.call(this.ioAction.configuration,"digital_input")&&this.updateConfiguration(null,"configuration.digital_input")}}},ae={key:0};function se(t,e,s,y,c,o){var v,p;const m=d("openwb-base-heading"),h=d("openwb-base-select-input");return a(),b(I,null,[r(m,null,{default:i(()=>{var u;return[l(' Einstellungen für I/O-Aktion "'+f((u=s.ioAction)==null?void 0:u.name)+'" ',1)]}),_:1}),r(h,{title:"Eingangs-Gerät","not-selected":"Bitte auswählen","empty-value":null,required:"",options:o.ioDeviceList,"model-value":(v=s.ioAction)==null?void 0:v.configuration.io_device,"onUpdate:modelValue":e[0]||(e[0]=u=>o.updateIoDevice(u))},{help:i(()=>[...e[2]||(e[2]=[l(" Bitte das Gerät auswählen, über das der Schaltbefehl empfangen werden soll. Für jede Aktion kann nur ein Gerät ausgewählt werden. ",-1)])]),_:1},8,["options","model-value"]),((p=s.ioAction)==null?void 0:p.configuration.io_device)!==null?(a(),b("div",ae,[e[3]||(e[3]=w("hr",null,null,-1)),(a(),_(T(o.myComponent),{"io-action":s.ioAction,"io-device":s.ioDevices[`openWB/system/io/${s.ioAction.configuration.io_device}/config`],"available-charge-points":o.availableChargePoints,"available-components":o.availableComponents,"available-io-devices":o.availableIoDevices,"onUpdate:configuration":e[1]||(e[1]=u=>o.updateConfiguration(u))},null,40,["io-action","io-device","available-charge-points","available-components","available-io-devices"]))])):C("",!0)],64)}const re=A(ie,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionProxy.vue"]]);q.add($);const ue={name:"OpenwbIoConfigView",components:{FontAwesomeIcon:L,OpenwbIoDeviceProxy:X,OpenwbIoActionProxy:re},mixins:[E],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults","send-command"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/io_devices","openWB/system/io/+/config","openWB/system/configurable/io_actions","openWB/io/action/+/config","openWB/chargepoint/+/config","openWB/system/device/+/component/+/config"],showIoDeviceDeleteModal:!1,modalIoDeviceIndex:void 0,ioDeviceToAdd:void 0,showIoActionDeleteModal:!1,modalIoActionIndex:void 0,ioActionToAdd:void 0}},computed:{ioDeviceList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_devices"]}},installedIoDevices(){const t=this.getWildcardTopics("openWB/system/io/+/config");return Object.fromEntries(Object.entries(t).filter(([,e])=>e&&typeof e=="object"))},ioActionList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_actions"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/io_actions"]).map(([t,e])=>({label:e.group_name,options:e.actions.map(s=>({value:[t,s.value],text:s.text})).sort((s,y)=>s.text.localeCompare(y.text))})).sort((t,e)=>t.label.localeCompare(e.label))}},installedIoActions:{get(){return this.getWildcardTopics("openWB/io/action/+/config")}},installedChargePoints:{get(){return this.getWildcardTopics("openWB/chargepoint/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getIoDeviceName(t){return this.$store.state.mqtt["openWB/system/io/"+t+"/config"]?this.$store.state.mqtt["openWB/system/io/"+t+"/config"].name:"I/O-Gerät "+t},addIoDevice(){this.$emit("send-command",{command:"addIoDevice",data:{type:this.ioDeviceToAdd}})},removeIoDeviceModal(t,e){e.stopPropagation(),this.modalIoDeviceIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoDeviceDeleteModal=!0},removeIoDevice(t,e){this.showIoDeviceDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoDevice",data:{id:t}})},addIoAction(){this.$emit("send-command",{command:"addIoAction",data:{type:this.ioActionToAdd}})},removeIoActionModal(t,e){e.stopPropagation(),this.modalIoActionIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoActionDeleteModal=!0},removeIoAction(t,e){this.showIoActionDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoAction",data:{id:t}})},sendSystemCommand(t,e){this.$emit("send-command",{command:t,data:e})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},de={class:"ioConfig"},le={name:"ioConfigForm"},pe={key:0},ce={key:0};function me(t,e,s,y,c,o){const m=d("openwb-base-modal-dialog"),h=d("font-awesome-icon"),v=d("openwb-base-avatar"),p=d("openwb-base-text-input"),u=d("openwb-io-device-proxy"),O=d("openwb-base-card"),j=d("openwb-base-select-input"),P=d("openwb-io-action-proxy"),V=d("openwb-base-alert"),S=d("openwb-base-submit-buttons");return a(),b(I,null,[r(m,{show:c.showIoDeviceDeleteModal,title:"Modul löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>o.removeIoDevice(c.modalIoDeviceIndex,n))},{default:i(()=>[l(' Willst Du das Ein-/Ausgangs-Gerät "'+f(o.getIoDeviceName(c.modalIoDeviceIndex))+'" (ID: '+f(c.modalIoDeviceIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),r(m,{show:c.showIoActionDeleteModal,title:"Aktion löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=n=>o.removeIoAction(c.modalIoActionIndex,n))},{default:i(()=>[l(' Willst Du die Aktion "'+f(o.getIoDeviceName(c.modalIoActionIndex))+'" (ID: '+f(c.modalIoActionIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),w("div",de,[w("form",le,[r(O,{title:"Ein-/Ausgangs-Geräte"},{default:i(()=>[(a(!0),b(I,null,x(o.installedIoDevices,(n,D)=>(a(),_(O,{key:D,title:(n==null?void 0:n.name)+" (ID: "+(n==null?void 0:n.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(g=>[g.collapsed?C("",!0):(a(),_(v,{key:0,class:"bg-danger clickable",onClick:B=>o.removeIoDeviceModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":n.name,"onUpdate:modelValue":g=>t.updateState(D,g,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[D].type},null,8,["model-value"]),e[8]||(e[8]=w("hr",null,null,-1)),r(u,{"io-device":n,"onUpdate:configuration":g=>o.updateConfiguration(D,g),onSendCommand:e[2]||(e[2]=g=>o.sendSystemCommand(g.command,g.data))},null,8,["io-device","onUpdate:configuration"])]),_:2},1032,["title"]))),128)),Object.keys(o.installedIoDevices).length>0?(a(),b("hr",pe)):C("",!0),r(j,{title:"Verfügbare Geräte","not-selected":"Bitte auswählen",options:o.ioDeviceList,"model-value":c.ioDeviceToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=n=>c.ioDeviceToAdd=n),"onInput:add":o.addIoDevice},{help:i(()=>[...e[9]||(e[9]=[l(" Bitte ein Ein-/Ausgangs-Modul auswählen, das hinzugefügt werden soll. ",-1)])]),_:1},8,["options","model-value","onInput:add"])]),_:1}),r(O,{title:"Ein-/Ausgangs-Aktionen"},{default:i(()=>[(a(!0),b(I,null,x(o.installedIoActions,(n,D)=>(a(),_(O,{key:D,title:(n==null?void 0:n.name)+" (ID: "+(n==null?void 0:n.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(g=>[g.collapsed?C("",!0):(a(),_(v,{key:0,class:"bg-danger clickable",onClick:B=>o.removeIoActionModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":n==null?void 0:n.name,"onUpdate:modelValue":g=>t.updateState(D,g,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":[n==null?void 0:n.group,n==null?void 0:n.type].join(" / ")},null,8,["model-value"]),e[10]||(e[10]=w("hr",null,null,-1)),n!==void 0?(a(),_(P,{key:0,"io-action":n,"io-devices":o.installedIoDevices,"installed-charge-points":o.installedChargePoints,"installed-components":o.installedComponents,"onUpdate:configuration":g=>o.updateConfiguration(D,g)},null,8,["io-action","io-devices","installed-charge-points","installed-components","onUpdate:configuration"])):C("",!0)]),_:2},1032,["title"]))),128)),Object.keys(o.installedIoActions).length>0?(a(),b("hr",ce)):C("",!0),Object.keys(o.installedIoDevices).length>0?(a(),_(j,{key:1,title:"Verfügbare Aktionen","not-selected":"Bitte auswählen",groups:o.ioActionList,"model-value":c.ioActionToAdd,"add-button":!0,"onUpdate:modelValue":e[4]||(e[4]=n=>c.ioActionToAdd=n),"onInput:add":o.addIoAction},{help:i(()=>[...e[11]||(e[11]=[l(" Bitte eine Ein-/Ausgangs-Aktion auswählen, die hinzugefügt werden soll. ",-1)])]),_:1},8,["groups","model-value","onInput:add"])):(a(),_(V,{key:2,subtype:"warning"},{default:i(()=>[...e[12]||(e[12]=[l(" Keine Ein-/Ausgangs-Geräte vorhanden!",-1),w("br",null,null,-1),l(" Bitte füge zuerst ein Ein-/Ausgangs-Gerät hinzu, bevor Du Aktionen konfigurierst. ",-1)])]),_:1}))]),_:1}),r(S,{"form-name":"ioConfigForm",onSave:e[5]||(e[5]=n=>t.$emit("save")),onReset:e[6]||(e[6]=n=>t.$emit("reset")),onDefaults:e[7]||(e[7]=n=>t.$emit("defaults"))})])])],64)}const ge=A(ue,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IoConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"}));export{ge as I,F as O,Z as a,ye as b}; diff --git a/web/settings/assets/IoConfig-fbc082e3.js b/web/settings/assets/IoConfig-fbc082e3.js deleted file mode 100644 index e49bcb28b8..0000000000 --- a/web/settings/assets/IoConfig-fbc082e3.js +++ /dev/null @@ -1 +0,0 @@ -import{l as q,ab as $,F as L}from"./vendor-fortawesome-77ba272b.js";import{_ as k,C as j}from"./index-25097726.js";import{_ as W}from"./dynamic-import-helper-be004503.js";import{_ as A,u as d,l as a,m as b,x as _,E as i,B as l,F as f,G as r,A as w,a2 as M,N as I,M as x,z as C,a3 as T}from"./vendor-1833c026.js";const U={props:{ioDevice:{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})}}},F=A(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigMixin.vue"]]),N={name:"OpenwbIoDeviceConfigFallback",mixins:[F]},R={class:"io-device-config-fallback"},z={key:1};function G(t,e,s,y,c,o){const m=d("openwb-base-alert"),h=d("openwb-base-textarea");return a(),b("div",R,[Object.keys(t.ioDevice.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>[l(' Das I/O-Modul "'+f(t.ioDevice.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),b("div",z,[r(m,{subtype:"warning"},{default:i(()=>[l(' Es wurde keine Konfigurationsseite für das I/O-Modul "'+f(t.ioDevice.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":t.ioDevice.configuration,"onUpdate:modelValue":e[0]||(e[0]=v=>t.updateConfiguration(v,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[l(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>[w("pre",null,f(JSON.stringify(t.ioDevice.configuration,void 0,2)),1)]),_:1})]))])}const J=A(N,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigFallback.vue"]]),H={name:"OpenwbIoDeviceProxy",props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading io device: ${this.ioDevice.type}`),M({loader:()=>W(Object.assign({"./add_on/io_device.vue":()=>k(()=>import("./io_device-e3e4e279.js"),["assets/io_device-e3e4e279.js","assets/index-25097726.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./dimm_kit/io_device.vue":()=>k(()=>import("./io_device-7709cf65.js"),["assets/io_device-7709cf65.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./eebus/io_device.vue":()=>k(()=>import("./io_device-ffe199a9.js"),["assets/io_device-ffe199a9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.ioDevice.type}/io_device.vue`),errorComponent:J})},outputs(){const t=[];if(this.ioDevice.output){if(this.ioDevice.output.analog)for(const e in this.ioDevice.output.analog)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/analog_output/${e}`);if(this.ioDevice.output.digital)for(const e in this.ioDevice.output.digital)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/digital_output/${e}`)}return t}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Q(t,e,s,y,c,o){const m=d("openwb-base-heading"),h=d("openwb-base-copy-to-clipboard"),v=d("openwb-base-alert");return a(),b("div",null,[r(m,null,{default:i(()=>[l(' Einstellungen für I/O-Modul "'+f(s.ioDevice.name)+'" ',1)]),_:1}),o.outputs.length?(a(),_(v,{key:0,subtype:"info"},{default:i(()=>[e[2]||(e[2]=l(" Die Ausgänge können über die folgenden Topics manuell per MQTT geschaltet werden. Falls Ausgänge in Aktionen konfiguriert werden, überschreibt das manuelle Setzen den Status. ",-1)),w("ul",null,[(a(!0),b(I,null,x(o.outputs,p=>(a(),b("li",{key:p},[r(h,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[l(f(p),1)]),_:2},1024)]))),128))]),e[3]||(e[3]=l(" Als Wert wird ein boolean als json oder 0/1 akzeptiert.",-1)),e[4]||(e[4]=w("br",null,null,-1)),e[5]||(e[5]=l(" Beispiel: ",-1)),e[6]||(e[6]=w("span",{class:"text-info"},"false",-1))]),_:1})):C("",!0),(a(),_(T(o.myComponent),{"io-device":s.ioDevice,"onUpdate:configuration":e[0]||(e[0]=p=>o.updateConfiguration(p)),onSendCommand:e[1]||(e[1]=p=>o.sendCommand(p))},null,40,["io-device"]))])}const X=A(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceProxy.vue"]]),Y={mixins:[j],props:{ioAction:{type:Object,required:!0},ioDevice:{type:Object,required:!0},availableChargePoints:{type:Array,required:!1,default:()=>[]},availableComponents:{type:Array,required:!1,default:()=>[]},availableIoDevices:{type:Array,required:!1,default:()=>[]}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},Z=A(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigMixin.vue"]]),K={name:"OpenwbIoActionConfigFallback",mixins:[Z]},ee={class:"io-action-config-fallback"},te={key:1};function oe(t,e,s,y,c,o){var v,p;const m=d("openwb-base-alert"),h=d("openwb-base-textarea");return a(),b("div",ee,[Object.keys((v=t.ioAction)==null?void 0:v.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>{var u;return[l(' Die I/O-Aktion "'+f((u=t.ioAction)==null?void 0:u.name)+'" bietet keine Einstellungen. ',1)]}),_:1})):(a(),b("div",te,[r(m,{subtype:"warning"},{default:i(()=>{var u;return[l(' Es wurde keine Konfigurationsseite für die I/O-Aktion "'+f((u=t.ioAction)==null?void 0:u.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]}),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":(p=t.ioAction)==null?void 0:p.configuration,"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateConfiguration(u,"configuration"))},{help:i(()=>[...e[1]||(e[1]=[l(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>{var u;return[w("pre",null,f(JSON.stringify((u=t.ioAction)==null?void 0:u.configuration,void 0,2)),1)]}),_:1})]))])}const ne=A(K,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigFallback.vue"]]),ie={name:"OpenwbIoActionProxy",props:{ioAction:{type:Object,required:!0},ioDevices:{type:Object,required:!0},installedChargePoints:{type:Object,required:!0},installedComponents:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){var t,e;return console.debug(`loading io action: ${(t=this.ioAction)==null?void 0:t.group} / ${(e=this.ioAction)==null?void 0:e.type}`),M({loader:()=>{var s,y;return W(Object.assign({"./controllable_consumers/dimming/io_action.vue":()=>k(()=>import("./io_action-91a47bd2.js"),["assets/io_action-91a47bd2.js","assets/OpenwbIoSinglePattern-70603a89.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/dimming_direct_control/io_action.vue":()=>k(()=>import("./io_action-f04c5275.js"),["assets/io_action-f04c5275.js","assets/OpenwbIoSinglePattern-70603a89.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/ripple_control_receiver/io_action.vue":()=>k(()=>import("./io_action-aaa80f95.js"),["assets/io_action-aaa80f95.js","assets/OpenwbIoPattern-722eda5a.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./generator_systems/stepwise_control/io_action.vue":()=>k(()=>import("./io_action-2bce6dd8.js"),["assets/io_action-2bce6dd8.js","assets/OpenwbIoPattern-722eda5a.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${(s=this.ioAction)==null?void 0:s.group}/${(y=this.ioAction)==null?void 0:y.type}/io_action.vue`)},errorComponent:ne})},ioDeviceList(){return Object.keys(this.ioDevices).map(t=>{var e,s;return{value:(e=this.ioDevices[t])==null?void 0:e.id,text:(s=this.ioDevices[t])==null?void 0:s.name}})},availableIoDevices(){return Object.values(this.ioDevices)},availableChargePoints(){return Object.values(this.installedChargePoints).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name}))},availableComponents(){return Object.values(this.installedComponents).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name,type:t==null?void 0:t.type}))}},methods:{updateConfiguration(t,e=void 0){e?this.$emit("update:configuration",{value:t,object:e}):this.$emit("update:configuration",t)},updateIoDevice(t){var e;if(this.updateConfiguration(t,"configuration.io_device"),Array.isArray((e=this.ioAction.configuration)==null?void 0:e.input_pattern)){let s=this.ioAction.configuration.input_pattern.map(y=>({value:y.value,matrix:{}}));this.updateConfiguration(s,"configuration.input_pattern")}Object.prototype.hasOwnProperty.call(this.ioAction.configuration,"digital_input")&&this.updateConfiguration(null,"configuration.digital_input")}}},ae={key:0};function se(t,e,s,y,c,o){var v,p;const m=d("openwb-base-heading"),h=d("openwb-base-select-input");return a(),b(I,null,[r(m,null,{default:i(()=>{var u;return[l(' Einstellungen für I/O-Aktion "'+f((u=s.ioAction)==null?void 0:u.name)+'" ',1)]}),_:1}),r(h,{title:"Eingangs-Gerät","not-selected":"Bitte auswählen","empty-value":null,required:"",options:o.ioDeviceList,"model-value":(v=s.ioAction)==null?void 0:v.configuration.io_device,"onUpdate:modelValue":e[0]||(e[0]=u=>o.updateIoDevice(u))},{help:i(()=>[...e[2]||(e[2]=[l(" Bitte das Gerät auswählen, über das der Schaltbefehl empfangen werden soll. Für jede Aktion kann nur ein Gerät ausgewählt werden. ",-1)])]),_:1},8,["options","model-value"]),((p=s.ioAction)==null?void 0:p.configuration.io_device)!==null?(a(),b("div",ae,[e[3]||(e[3]=w("hr",null,null,-1)),(a(),_(T(o.myComponent),{"io-action":s.ioAction,"io-device":s.ioDevices[`openWB/system/io/${s.ioAction.configuration.io_device}/config`],"available-charge-points":o.availableChargePoints,"available-components":o.availableComponents,"available-io-devices":o.availableIoDevices,"onUpdate:configuration":e[1]||(e[1]=u=>o.updateConfiguration(u))},null,40,["io-action","io-device","available-charge-points","available-components","available-io-devices"]))])):C("",!0)],64)}const re=A(ie,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionProxy.vue"]]);q.add($);const ue={name:"OpenwbIoConfigView",components:{FontAwesomeIcon:L,OpenwbIoDeviceProxy:X,OpenwbIoActionProxy:re},mixins:[j],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults","send-command"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/io_devices","openWB/system/io/+/config","openWB/system/configurable/io_actions","openWB/io/action/+/config","openWB/chargepoint/+/config","openWB/system/device/+/component/+/config"],showIoDeviceDeleteModal:!1,modalIoDeviceIndex:void 0,ioDeviceToAdd:void 0,showIoActionDeleteModal:!1,modalIoActionIndex:void 0,ioActionToAdd:void 0}},computed:{ioDeviceList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_devices"]}},installedIoDevices:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},ioActionList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_actions"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/io_actions"]).map(([t,e])=>({label:e.group_name,options:e.actions.map(s=>({value:[t,s.value],text:s.text})).sort((s,y)=>s.text.localeCompare(y.text))})).sort((t,e)=>t.label.localeCompare(e.label))}},installedIoActions:{get(){return this.getWildcardTopics("openWB/io/action/+/config")}},installedChargePoints:{get(){return this.getWildcardTopics("openWB/chargepoint/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getIoDeviceName(t){return this.$store.state.mqtt["openWB/system/io/"+t+"/config"]?this.$store.state.mqtt["openWB/system/io/"+t+"/config"].name:"I/O-Gerät "+t},addIoDevice(){this.$emit("send-command",{command:"addIoDevice",data:{type:this.ioDeviceToAdd}})},removeIoDeviceModal(t,e){e.stopPropagation(),this.modalIoDeviceIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoDeviceDeleteModal=!0},removeIoDevice(t,e){this.showIoDeviceDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoDevice",data:{id:t}})},addIoAction(){this.$emit("send-command",{command:"addIoAction",data:{type:this.ioActionToAdd}})},removeIoActionModal(t,e){e.stopPropagation(),this.modalIoActionIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoActionDeleteModal=!0},removeIoAction(t,e){this.showIoActionDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoAction",data:{id:t}})},sendSystemCommand(t,e){this.$emit("send-command",{command:t,data:e})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},de={class:"ioConfig"},le={name:"ioConfigForm"},pe={key:0},ce={key:0};function me(t,e,s,y,c,o){const m=d("openwb-base-modal-dialog"),h=d("font-awesome-icon"),v=d("openwb-base-avatar"),p=d("openwb-base-text-input"),u=d("openwb-io-device-proxy"),O=d("openwb-base-card"),E=d("openwb-base-select-input"),P=d("openwb-io-action-proxy"),V=d("openwb-base-alert"),S=d("openwb-base-submit-buttons");return a(),b(I,null,[r(m,{show:c.showIoDeviceDeleteModal,title:"Modul löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>o.removeIoDevice(c.modalIoDeviceIndex,n))},{default:i(()=>[l(' Willst Du das Ein-/Ausgangs-Gerät "'+f(o.getIoDeviceName(c.modalIoDeviceIndex))+'" (ID: '+f(c.modalIoDeviceIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),r(m,{show:c.showIoActionDeleteModal,title:"Aktion löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=n=>o.removeIoAction(c.modalIoActionIndex,n))},{default:i(()=>[l(' Willst Du die Aktion "'+f(o.getIoDeviceName(c.modalIoActionIndex))+'" (ID: '+f(c.modalIoActionIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),w("div",de,[w("form",le,[r(O,{title:"Ein-/Ausgangs-Geräte"},{default:i(()=>[(a(!0),b(I,null,x(o.installedIoDevices,(n,D)=>(a(),_(O,{key:D,title:(n==null?void 0:n.name)+" (ID: "+(n==null?void 0:n.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(g=>[g.collapsed?C("",!0):(a(),_(v,{key:0,class:"bg-danger clickable",onClick:B=>o.removeIoDeviceModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":n.name,"onUpdate:modelValue":g=>t.updateState(D,g,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[D].type},null,8,["model-value"]),e[8]||(e[8]=w("hr",null,null,-1)),r(u,{"io-device":n,"onUpdate:configuration":g=>o.updateConfiguration(D,g),onSendCommand:e[2]||(e[2]=g=>o.sendSystemCommand(g.command,g.data))},null,8,["io-device","onUpdate:configuration"])]),_:2},1032,["title"]))),128)),Object.keys(o.installedIoDevices).length>0?(a(),b("hr",pe)):C("",!0),r(E,{title:"Verfügbare Geräte","not-selected":"Bitte auswählen",options:o.ioDeviceList,"model-value":c.ioDeviceToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=n=>c.ioDeviceToAdd=n),"onInput:add":o.addIoDevice},{help:i(()=>[...e[9]||(e[9]=[l(" Bitte ein Ein-/Ausgangs-Modul auswählen, das hinzugefügt werden soll. ",-1)])]),_:1},8,["options","model-value","onInput:add"])]),_:1}),r(O,{title:"Ein-/Ausgangs-Aktionen"},{default:i(()=>[(a(!0),b(I,null,x(o.installedIoActions,(n,D)=>(a(),_(O,{key:D,title:(n==null?void 0:n.name)+" (ID: "+(n==null?void 0:n.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(g=>[g.collapsed?C("",!0):(a(),_(v,{key:0,class:"bg-danger clickable",onClick:B=>o.removeIoActionModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":n==null?void 0:n.name,"onUpdate:modelValue":g=>t.updateState(D,g,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":[n==null?void 0:n.group,n==null?void 0:n.type].join(" / ")},null,8,["model-value"]),e[10]||(e[10]=w("hr",null,null,-1)),n!==void 0?(a(),_(P,{key:0,"io-action":n,"io-devices":o.installedIoDevices,"installed-charge-points":o.installedChargePoints,"installed-components":o.installedComponents,"onUpdate:configuration":g=>o.updateConfiguration(D,g)},null,8,["io-action","io-devices","installed-charge-points","installed-components","onUpdate:configuration"])):C("",!0)]),_:2},1032,["title"]))),128)),Object.keys(o.installedIoActions).length>0?(a(),b("hr",ce)):C("",!0),Object.keys(o.installedIoDevices).length>0?(a(),_(E,{key:1,title:"Verfügbare Aktionen","not-selected":"Bitte auswählen",groups:o.ioActionList,"model-value":c.ioActionToAdd,"add-button":!0,"onUpdate:modelValue":e[4]||(e[4]=n=>c.ioActionToAdd=n),"onInput:add":o.addIoAction},{help:i(()=>[...e[11]||(e[11]=[l(" Bitte eine Ein-/Ausgangs-Aktion auswählen, die hinzugefügt werden soll. ",-1)])]),_:1},8,["groups","model-value","onInput:add"])):(a(),_(V,{key:2,subtype:"warning"},{default:i(()=>[...e[12]||(e[12]=[l(" Keine Ein-/Ausgangs-Geräte vorhanden!",-1),w("br",null,null,-1),l(" Bitte füge zuerst ein Ein-/Ausgangs-Gerät hinzu, bevor Du Aktionen konfigurierst. ",-1)])]),_:1}))]),_:1}),r(S,{"form-name":"ioConfigForm",onSave:e[5]||(e[5]=n=>t.$emit("save")),onReset:e[6]||(e[6]=n=>t.$emit("reset")),onDefaults:e[7]||(e[7]=n=>t.$emit("defaults"))})])])],64)}const ge=A(ue,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IoConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"}));export{ge as I,F as O,Z as a,ye as b}; diff --git a/web/settings/assets/LegalSettings-bf67a315.js b/web/settings/assets/LegalSettings-821c84ce.js similarity index 90% rename from web/settings/assets/LegalSettings-bf67a315.js rename to web/settings/assets/LegalSettings-821c84ce.js index d1b3e4a70a..45f82034ae 100644 --- a/web/settings/assets/LegalSettings-bf67a315.js +++ b/web/settings/assets/LegalSettings-821c84ce.js @@ -1 +1 @@ -import{l as k,af as v,F as y}from"./vendor-fortawesome-77ba272b.js";import{C as B}from"./index-25097726.js";import{_ as $,u as n,l as u,m as W,A as o,G as s,E as a,x as g,B as d,z as b}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";k.add(v);const S={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[B],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},async onSaveLegal(){this.$emit("save"),await new Promise(e=>{const i=this.$watch(()=>this.$store.state.local.savingData,r=>{r===!1&&(i(),e())})}),this.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]||await new Promise(e=>{const i=this.$watch(()=>this.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],r=>{r&&(i(),e())})}),await this.$store.getters.installAssistantDone||this.$router.push({name:"InstallAssistant"})}}},z={class:"dataProtection"},A={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function D(t,e,i,r,N,m){const p=n("openwb-base-button-group-input"),w=n("font-awesome-icon"),_=n("openwb-base-click-button"),c=n("openwb-base-alert"),f=n("openwb-base-submit-buttons"),h=n("openwb-base-card");return u(),W("div",z,[o("form",A,[s(h,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:a(()=>[s(f,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:m.onSaveLegal},null,8,["onSave"])]),default:a(()=>[e[6]||(e[6]=o("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[7]||(e[7]=o("hr",null,null,-1)),s(p,{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]=l=>t.updateState("openWB/system/usage_terms_acknowledged",l))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?b("",!0):(u(),g(c,{key:0,subtype:"danger",class:"mb-1"},{default:a(()=>[e[4]||(e[4]=d(" Du musst die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ",-1)),o("div",C,[o("div",V,[s(_,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=l=>m.sendSystemCommand("systemShutdown"))},{default:a(()=>[e[3]||(e[3]=d(" Nicht akzeptieren und ausschalten ",-1)),s(w,{icon:["fas","power-off"]})]),_:1})])])]),_:1})),s(p,{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]=l=>t.updateState("openWB/system/dataprotection_acknowledged",l))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?b("",!0):(u(),g(c,{key:1,subtype:"warning"},{default:a(()=>[...e[5]||(e[5]=[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}))]),_:1})])])}const E=$(S,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{E as default}; +import{l as k,af as v,F as y}from"./vendor-fortawesome-641b8eb6.js";import{C as B}from"./index-bbf7119b.js";import{_ as $,u as n,l as u,m as W,A as o,G as s,E as a,x as g,B as d,z as b}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";k.add(v);const S={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[B],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},async onSaveLegal(){this.$emit("save"),await new Promise(e=>{const i=this.$watch(()=>this.$store.state.local.savingData,r=>{r===!1&&(i(),e())})}),this.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]||await new Promise(e=>{const i=this.$watch(()=>this.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],r=>{r&&(i(),e())})}),await this.$store.getters.installAssistantDone||this.$router.push({name:"InstallAssistant"})}}},z={class:"dataProtection"},A={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function D(t,e,i,r,N,m){const p=n("openwb-base-button-group-input"),w=n("font-awesome-icon"),_=n("openwb-base-click-button"),c=n("openwb-base-alert"),f=n("openwb-base-submit-buttons"),h=n("openwb-base-card");return u(),W("div",z,[o("form",A,[s(h,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:a(()=>[s(f,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:m.onSaveLegal},null,8,["onSave"])]),default:a(()=>[e[6]||(e[6]=o("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[7]||(e[7]=o("hr",null,null,-1)),s(p,{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]=l=>t.updateState("openWB/system/usage_terms_acknowledged",l))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?b("",!0):(u(),g(c,{key:0,subtype:"danger",class:"mb-1"},{default:a(()=>[e[4]||(e[4]=d(" Du musst die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ",-1)),o("div",C,[o("div",V,[s(_,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=l=>m.sendSystemCommand("systemShutdown"))},{default:a(()=>[e[3]||(e[3]=d(" Nicht akzeptieren und ausschalten ",-1)),s(w,{icon:["fas","power-off"]})]),_:1})])])]),_:1})),s(p,{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]=l=>t.updateState("openWB/system/dataprotection_acknowledged",l))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?b("",!0):(u(),g(c,{key:1,subtype:"warning"},{default:a(()=>[...e[5]||(e[5]=[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}))]),_:1})])])}const E=$(S,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{E as default}; diff --git a/web/settings/assets/LoadManagementConfig-d3c3da5c.js b/web/settings/assets/LoadManagementConfig-e937ade9.js similarity index 96% rename from web/settings/assets/LoadManagementConfig-d3c3da5c.js rename to web/settings/assets/LoadManagementConfig-e937ade9.js index 7b61e1ba3c..d51a97e182 100644 --- a/web/settings/assets/LoadManagementConfig-d3c3da5c.js +++ b/web/settings/assets/LoadManagementConfig-e937ade9.js @@ -1 +1 @@ -import{l as C,Z as L,Y as x,F as V}from"./vendor-fortawesome-77ba272b.js";import{C as Z}from"./index-25097726.js";import{S as q}from"./OpenwbSortableList-ca37615e.js";import{_ as $,u as l,l as u,m,A as d,G as s,E as o,B as i,x as f,z as A,N as v,M as k,F as W}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";C.add(L,x);const E={name:"OpenwbLoadManagementConfigView",components:{SortableList:q,FontAwesomeIcon:V},mixins:[Z],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"},F={key:0},D={key:1},O={key:0},P={key:1};function N(t,e,n,H,j,g){const c=l("openwb-base-alert"),_=l("router-link"),B=l("openwb-base-button-group-input"),S=l("openwb-base-select-input"),b=l("openwb-base-heading"),w=l("font-awesome-icon"),p=l("openwb-base-number-input"),h=l("openwb-base-card"),z=l("sortable-list"),y=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(h,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(c,{subtype:"info"},{default:o(()=>[...e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),m("div",D,[n.installAssistantActive?A("",!0):(u(),f(c,{key:0,subtype:"info"},{default:o(()=>[e[8]||(e[8]=i(" Die Konfiguration für die externe Steuerung durch den Netzbetreiber (RSE, EMS, §14a) erfolgt in den ",-1)),s(_,{to:"/IoConfiguration"},{default:o(()=>[...e[7]||(e[7]=[i("Einstellungen der Ein-/Ausgänge",-1)])]),_:1}),e[9]||(e[9]=i(" im Bereich der Aktionen. ",-1))]),_:1})),s(B,{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[10]||(e[10]=[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(S,{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[11]||(e[11]=[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 ",-1),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)])]),_:1},8,["options","groups","model-value"]),s(b,null,{default:o(()=>[...e[12]||(e[12]=[i(" Vorhandene Zählermodule ",-1)])]),_:1}),s(c,{subtype:"info"},{default:o(()=>[...e[13]||(e[13]=[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.",-1),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.",-1),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ",-1)])]),_:1}),(u(!0),m(v,null,k(g.counterConfigs,r=>(u(),f(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(w,{icon:["fas","gauge-high"]}),i(" "+W(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[14]||(e[14]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:6,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[15]||(e[15]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:6,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[16]||(e[16]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:6,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[17]||(e[17]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["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[18]||(e[18]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(b,null,{default:o(()=>[...e[19]||(e[19]=[i(" Vorhandene Wechselrichtermodule ",-1)])]),_:1}),(u(!0),m(v,null,k(g.inverterConfigs,r=>(u(),f(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(w,{icon:["fas","solar-panel"]}),i(" "+W(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[20]||(e[20]=[i(" Bei 0 kW erfolgt keine Berücksichtigung der maximalen Ausgangsleistung. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(h,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",O,[s(c,{subtype:"info"},{default:o(()=>[...e[21]||(e[21]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),m("div",P,[s(z,{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[22]||(e[22]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet.",-1),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.",-1),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden.",-1),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)])]),_:1},8,["model-value","labels"])]))]),_:1}),s(y,{"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 X=$(E,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{X as default}; +import{l as C,Z as L,Y as x,F as V}from"./vendor-fortawesome-641b8eb6.js";import{C as Z}from"./index-bbf7119b.js";import{S as q}from"./OpenwbSortableList-f1671b8d.js";import{_ as $,u as l,l as u,m,A as d,G as s,E as o,B as i,x as f,z as A,N as v,M as k,F as W}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";C.add(L,x);const E={name:"OpenwbLoadManagementConfigView",components:{SortableList:q,FontAwesomeIcon:V},mixins:[Z],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"},F={key:0},D={key:1},O={key:0},P={key:1};function N(t,e,n,H,j,g){const c=l("openwb-base-alert"),_=l("router-link"),B=l("openwb-base-button-group-input"),S=l("openwb-base-select-input"),b=l("openwb-base-heading"),w=l("font-awesome-icon"),p=l("openwb-base-number-input"),h=l("openwb-base-card"),z=l("sortable-list"),y=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(h,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(c,{subtype:"info"},{default:o(()=>[...e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),m("div",D,[n.installAssistantActive?A("",!0):(u(),f(c,{key:0,subtype:"info"},{default:o(()=>[e[8]||(e[8]=i(" Die Konfiguration für die externe Steuerung durch den Netzbetreiber (RSE, EMS, §14a) erfolgt in den ",-1)),s(_,{to:"/IoConfiguration"},{default:o(()=>[...e[7]||(e[7]=[i("Einstellungen der Ein-/Ausgänge",-1)])]),_:1}),e[9]||(e[9]=i(" im Bereich der Aktionen. ",-1))]),_:1})),s(B,{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[10]||(e[10]=[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(S,{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[11]||(e[11]=[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 ",-1),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)])]),_:1},8,["options","groups","model-value"]),s(b,null,{default:o(()=>[...e[12]||(e[12]=[i(" Vorhandene Zählermodule ",-1)])]),_:1}),s(c,{subtype:"info"},{default:o(()=>[...e[13]||(e[13]=[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.",-1),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.",-1),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ",-1)])]),_:1}),(u(!0),m(v,null,k(g.counterConfigs,r=>(u(),f(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(w,{icon:["fas","gauge-high"]}),i(" "+W(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[14]||(e[14]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:6,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[15]||(e[15]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:6,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[16]||(e[16]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:6,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[17]||(e[17]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ",-1)])]),_:1},8,["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[18]||(e[18]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(b,null,{default:o(()=>[...e[19]||(e[19]=[i(" Vorhandene Wechselrichtermodule ",-1)])]),_:1}),(u(!0),m(v,null,k(g.inverterConfigs,r=>(u(),f(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(w,{icon:["fas","solar-panel"]}),i(" "+W(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[20]||(e[20]=[i(" Bei 0 kW erfolgt keine Berücksichtigung der maximalen Ausgangsleistung. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(h,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",O,[s(c,{subtype:"info"},{default:o(()=>[...e[21]||(e[21]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(u(),m("div",P,[s(z,{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[22]||(e[22]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet.",-1),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.",-1),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden.",-1),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)])]),_:1},8,["model-value","labels"])]))]),_:1}),s(y,{"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 X=$(E,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{X as default}; diff --git a/web/settings/assets/MqttBridgeConfig-cbbec581.js b/web/settings/assets/MqttBridgeConfig-cbbec581.js new file mode 100644 index 0000000000..24bd2f5653 --- /dev/null +++ b/web/settings/assets/MqttBridgeConfig-cbbec581.js @@ -0,0 +1 @@ +import{l as F,d as $,ab as j,F as O}from"./vendor-fortawesome-641b8eb6.js";import{C as R}from"./index-bbf7119b.js";import{_ as G,u as r,l as b,m as c,G as o,E as l,A as v,N as Z,B as u,F as H,x as L,z as y,M as J}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";F.add($,j);const X={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:O},mixins:[R],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){var h;const t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");if(!t||typeof t!="object")return{};const n={...t};for(const[k,d]of Object.entries(n))(h=d==null?void 0:d.remote)!=null&&h.is_openwb_cloud&&delete n[k];return n}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,n){n.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,n){this.showMqttBridgeModal=!1,n=="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}}},Y={class:"mqttBridgeConfiguration"},K={key:0},B={key:1},q=["name"];function ee(t,n,h,k,d,i){const I=r("openwb-base-modal-dialog"),w=r("openwb-base-alert"),g=r("font-awesome-icon"),V=r("openwb-base-avatar"),m=r("openwb-base-text-input"),p=r("openwb-base-button-group-input"),M=r("openwb-base-heading"),N=r("openwb-base-number-input"),P=r("openwb-base-submit-buttons"),_=r("openwb-base-card");return b(),c(Z,null,[o(I,{show:d.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n[0]||(n[0]=e=>i.removeMqttBridge(d.modalMqttBridgeIndex,e))},{default:l(()=>[u(' Willst Du die MQTT-Brücke "'+H(i.getMqttBridgeName(d.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),v("div",Y,[o(w,{subtype:"danger"},{default:l(()=>[...n[1]||(n[1]=[u(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!",-1),v("br",null,null,-1),u(' 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)])]),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(b(),L(V,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:l(()=>[o(g,{icon:["fas","plus"]})]),_:1},8,["onClick"])):y("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(b(),c("div",K,[o(w,{subtype:"info"},{default:l(()=>[...n[2]||(n[2]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(b(),c("div",B,[Object.keys(i.configuredMqttBridges).length===0?(b(),L(w,{key:0,subtype:"info"},{default:l(()=>[...n[3]||(n[3]=[u(" Es wurde noch keine MQTT-Brücke konfiguriert. ",-1)])]),_:1})):y("",!0),(b(!0),c(Z,null,J(i.configuredMqttBridges,(e,s)=>(b(),c("form",{key:s,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(s)},[o(_,{title:e==null?void 0:e.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:l(()=>[o(V,{class:"bg-danger clickable",onClick:f=>i.removeMqttBridgeModal(s,f)},{default:l(()=>[o(g,{icon:["fas","trash"]})]),_:1},8,["onClick"])]),footer:l(()=>[o(P,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(s),"hide-defaults":!0,onSave:f=>t.$emit("save",[s]),onReset:f=>t.$emit("reset",[s])},null,8,["form-name","onSave","onReset"])]),default:l(()=>{var f,T,S,U,x,z,D,A,C,W,E,Q;return[o(m,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":e==null?void 0:e.name,"onUpdate:modelValue":a=>t.updateState(s,a,"name")},{help:l(()=>[...n[4]||(n[4]=[u(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(p,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e==null?void 0:e.active,"onUpdate:modelValue":a=>t.updateState(s,a,"active")},null,8,["model-value","onUpdate:modelValue"]),n[14]||(n[14]=v("hr",null,null,-1)),o(M,null,{default:l(()=>[...n[5]||(n[5]=[u(" Einstellungen zur Verbindung ",-1)])]),_:1}),o(m,{title:"Entfernter Server",subtype:"host",required:"","model-value":(f=e==null?void 0:e.remote)==null?void 0:f.host,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(N,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":(T=e==null?void 0:e.remote)==null?void 0:T.port,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(m,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":(S=e==null?void 0:e.remote)==null?void 0:S.username,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(m,{title:"Passwort",subtype:"password",required:"","model-value":(U=e==null?void 0:e.remote)==null?void 0:U.password,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(m,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":(x=e==null?void 0:e.remote)==null?void 0:x.prefix,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.prefix")},{help:l(()=>[...n[6]||(n[6]=[u(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(m,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":(z=e==null?void 0:e.remote)==null?void 0:z.client_id,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.client_id")},{help:l(()=>[...n[7]||(n[7]=[u(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(p,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":(D=e==null?void 0:e.remote)==null?void 0:D.protocol,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(p,{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":(A=e==null?void 0:e.remote)==null?void 0:A.tls_version,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.tls_version")},{help:l(()=>[...n[8]||(n[8]=[u(' 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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(p,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":(C=e==null?void 0:e.remote)==null?void 0:C.try_private,"onUpdate:modelValue":a=>t.updateState(s,a,"remote.try_private")},{help:l(()=>[...n[9]||(n[9]=[u(" 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),n[15]||(n[15]=v("hr",null,null,-1)),o(M,null,{default:l(()=>[...n[10]||(n[10]=[u(" Datenübertragung ",-1)])]),_:1}),o(p,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":(W=e==null?void 0:e.data_transfer)==null?void 0:W.status,"onUpdate:modelValue":a=>t.updateState(s,a,"data_transfer.status")},{help:l(()=>[...n[11]||(n[11]=[u(" Wenn aktiviert, werden alle Statusdaten (z.B. Ladezustand, Leistung, Spannungen, Ströme, etc.) der angeschlossenen Komponenten und Ladepunkte übertragen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(p,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":(E=e==null?void 0:e.data_transfer)==null?void 0:E.graph,"onUpdate:modelValue":a=>t.updateState(s,a,"data_transfer.graph")},{help:l(()=>[...n[12]||(n[12]=[u(" Wenn aktiviert, werden alle Datenserien für die Diagramme (z.B. Leistung über Zeit) der angeschlossenen Komponenten und Ladepunkte übertragen. Dies sind deutlich mehr Daten als bei den Statusdaten allein.",-1),v("br",null,null,-1),u(" Diese Einstellung sollte nur aktiviert werden, wenn die Daten auch tatsächlich benötigt und interpretiert werden können. In der Regel werden die Daten nur für die Web- und Display-Themes benötigt und können daher bei einer MQTT-Brücke deaktiviert bleiben. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),o(p,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":(Q=e==null?void 0:e.data_transfer)==null?void 0:Q.configuration,"onUpdate:modelValue":a=>t.updateState(s,a,"data_transfer.configuration")},{help:l(()=>[...n[13]||(n[13]=[u(' Wenn aktiviert, können über die MQTT-Brücke auch Konfigurationsänderungen (z.B. Ladeleistung, Zeitsteuerungen, etc.) an die openWB über die Topics "openWB/set/*" gesendet werden. Dies sollte nur aktiviert werden, wenn der entfernte MQTT-Server und alle Nutzer, welche darauf Zugriff haben, absolut vertrauenswürdig sind. Ansonsten besteht die Gefahr, dass unbefugte Nutzer die Konfiguration der openWB verändern und z.B. den Ladevorgang manipulieren. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]}),_:2},1032,["title"])],8,q))),128))]))]),_:1})])],64)}const re=G(X,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{re as default}; diff --git a/web/settings/assets/MqttBridgeConfig-f6b9cf62.js b/web/settings/assets/MqttBridgeConfig-f6b9cf62.js deleted file mode 100644 index 380e92e2f7..0000000000 --- a/web/settings/assets/MqttBridgeConfig-f6b9cf62.js +++ /dev/null @@ -1 +0,0 @@ -import{l as x,d as z,ab as D,F as A}from"./vendor-fortawesome-77ba272b.js";import{C}from"./index-25097726.js";import{_ as W,u,l as m,m as b,G as a,E as o,A as g,N as M,B as s,F as q,x as _,z as B,M as E}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";x.add(z,D);const Q={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:A},mixins:[C],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}}},Z={class:"mqttBridgeConfiguration"},L={key:0},I={key:1},N=["name"];function y(t,e,v,P,f,i){const T=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"),k=u("openwb-base-heading"),S=u("openwb-base-number-input"),U=u("openwb-base-submit-buttons"),V=u("openwb-base-card");return m(),b(M,null,[a(T,{show:f.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=l=>i.removeMqttBridge(f.modalMqttBridgeIndex,l))},{default:o(()=>[s(' Willst Du die MQTT-Brücke "'+q(i.getMqttBridgeName(f.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),g("div",Z,[a(c,{subtype:"danger"},{default:o(()=>[...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!",-1),g("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)])]),_:1}),a(V,{title:"Konfigurierte MQTT-Brücken"},{actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),_(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:o(()=>[a(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):B("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",L,[a(c,{subtype:"info"},{default:o(()=>[...e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(m(),b("div",I,[Object.keys(i.configuredMqttBridges).length===0?(m(),_(c,{key:0,subtype:"info"},{default:o(()=>[...e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ",-1)])]),_:1})):B("",!0),(m(!0),b(M,null,E(i.configuredMqttBridges,(l,r)=>(m(),b("form",{key:r,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(r)},[a(V,{title:l.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(()=>[a(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(r,n)},{default:o(()=>[a(h,{icon:["fas","trash"]})]),_:1},8,["onClick"])]),footer:o(()=>[a(U,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(r),"hide-defaults":!0,onSave:n=>t.$emit("save",[r]),onReset:n=>t.$emit("reset",[r])},null,8,["form-name","onSave","onReset"])]),default:o(()=>[a(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":l.name,"onUpdate:modelValue":n=>t.updateState(r,n,"name")},{help:o(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.active,"onUpdate:modelValue":n=>t.updateState(r,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=g("hr",null,null,-1)),a(k,null,{default:o(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ",-1)])]),_:1}),a(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":l.remote.host,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":l.remote.port,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),a(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":l.remote.username,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),a(p,{title:"Passwort",subtype:"password",required:"","model-value":l.remote.password,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),a(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":l.remote.prefix,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.prefix")},{help:o(()=>[...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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":l.remote.client_id,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.client_id")},{help:o(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":l.remote.protocol,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),a(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":l.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.tls_version")},{help:o(()=>[...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. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.remote.try_private,"onUpdate:modelValue":n=>t.updateState(r,n,"remote.try_private")},{help:o(()=>[...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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=g("hr",null,null,-1)),a(k,null,{default:o(()=>[...e[10]||(e[10]=[s(" Datenübertragung ",-1)])]),_:1}),a(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(r,n,"data_transfer.status")},{help:o(()=>[...e[11]||(e[11]=[s(" Wenn aktiviert, werden alle Statusdaten (z.B. Ladezustand, Leistung, Spannungen, Ströme, etc.) der angeschlossenen Komponenten und Ladepunkte übertragen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(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":l.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(r,n,"data_transfer.graph")},{help:o(()=>[...e[12]||(e[12]=[s(" Wenn aktiviert, werden alle Datenserien für die Diagramme (z.B. Leistung über Zeit) der angeschlossenen Komponenten und Ladepunkte übertragen. Dies sind deutlich mehr Daten als bei den Statusdaten allein.",-1),g("br",null,null,-1),s(" Diese Einstellung sollte nur aktiviert werden, wenn die Daten auch tatsächlich benötigt und interpretiert werden können. In der Regel werden die Daten nur für die Web- und Display-Themes benötigt und können daher bei einer MQTT-Brücke deaktiviert bleiben. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),a(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(r,n,"data_transfer.configuration")},{help:o(()=>[...e[13]||(e[13]=[s(' Wenn aktiviert, können über die MQTT-Brücke auch Konfigurationsänderungen (z.B. Ladeleistung, Zeitsteuerungen, etc.) an die openWB über die Topics "openWB/set/*" gesendet werden. Dies sollte nur aktiviert werden, wenn der entfernte MQTT-Server und alle Nutzer, welche darauf Zugriff haben, absolut vertrauenswürdig sind. Ansonsten besteht die Gefahr, dass unbefugte Nutzer die Konfiguration der openWB verändern und z.B. den Ladevorgang manipulieren. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,N))),128))]))]),_:1})])],64)}const J=W(Q,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; diff --git a/web/settings/assets/OpenwbIoPattern-722eda5a.js b/web/settings/assets/OpenwbIoPattern-53665b55.js similarity index 98% rename from web/settings/assets/OpenwbIoPattern-722eda5a.js rename to web/settings/assets/OpenwbIoPattern-53665b55.js index 03985df135..1fe77b2be8 100644 --- a/web/settings/assets/OpenwbIoPattern-722eda5a.js +++ b/web/settings/assets/OpenwbIoPattern-53665b55.js @@ -1 +1 @@ -import{l as T,n as M,o as q,p as E,q as D,ab as y,d as C,O,f as A,a as I,F as z}from"./vendor-fortawesome-77ba272b.js";import{_ as S,u as _,l as a,m as l,A as i,F as P,z as d,N as h,M as b,G as c,E as k,q as x,y as m,K as B,p as N,B as V,x as j}from"./vendor-1833c026.js";T.add(M,q,E,D,y,C,O,A,I);const p={undefined:{value:void 0,icon:["fas","question"],iconClass:"text-secondary",title:"Nicht relevant",nextValue:!0},true:{value:!0,icon:["fas","square"],iconClass:"",title:"Geschlossen",nextValue:!1},false:{value:!1,icon:["far","square"],iconClass:"",title:"Offen",nextValue:void 0}},H={name:"IoActionContactPattern",components:{FontAwesomeIcon:z},inheritAttrs:!1,props:{contacts:{type:Object,required:!0},modelValue:{type:Array,required:!0},title:{type:String,required:!1,default:"Eingangsmuster"},actionTitle:{type:String,required:!1,default:"Verhalten"},enableAddDelete:{type:Boolean,default:!0},minPatterns:{type:Number,default:1},maxPatterns:{type:Number,default:10},showCheckPattern:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],data(){return{showTestPattern:!1,testPattern:{...this.contacts}}},computed:{value:{get(){return this.modelValue},set(s){this.$emit("update:modelValue",s)}},numContacts(){return Object.keys(this.contacts).length},addPatternDisabled(){return this.value.length>=this.maxPatterns},addPatternTooltip(){return this.addPatternDisabled?this.maxPatterns===1?"Es kann maximal ein Muster definiert werden":`Es können maximal ${this.maxPatterns} Muster definiert werden`:"Muster hinzufügen"},deletePatternDisabled(){return this.value.length<=this.minPatterns},deletePatternTooltip(){return this.deletePatternDisabled?this.minPatterns===1?"Es muss mindestens ein Muster definiert sein":`Es müssen mindestens ${this.minPatterns} Muster definiert sein`:"Muster löschen"}},watch:{contacts(){this.testPattern={...this.contacts}}},mounted(){for(;this.value.lengththis.testPattern[e]===void 0?!0:this.value[s].matrix[e]===this.testPattern[e])},deletePattern(s){delete this.value.splice(s,1)},addPattern(){this.value.push({matrix:{},value:null})}}},F={class:"w-100 mb-2"},Q=["span"],G=["colspan"],L={key:0,rowspan:"2",class:"contact-header"},U=["colspan"],W={key:0},J={key:0,class:"text-center"},R={key:1},X={key:0},Y=["colspan"],Z={key:1,class:"bg-info"},K=["colspan"];function $(s,e,r,ee,u,n){const f=_("font-awesome-icon"),w=_("openwb-base-click-button"),v=_("openwb-base-button-group-input");return a(),l(h,null,[i("table",F,[i("colgroup",null,[i("col",{span:n.numContacts,class:"bg-white",style:{border:"1px solid #dee2e6"}},null,8,Q)]),i("thead",null,[i("tr",null,[i("th",{colspan:n.numContacts},P(r.title),9,G),u.showTestPattern?(a(),l("th",L,[...e[6]||(e[6]=[i("div",null,"Prüfergebnis",-1)])])):d("",!0),i("th",{colspan:r.enableAddDelete?2:1},null,8,U)]),i("tr",null,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("th",{key:t,class:"contact-header"},[i("div",null,P(t),1)]))),128)),i("th",null,P(r.actionTitle),1),r.enableAddDelete?(a(),l("th",W,[c(w,{class:"bg-success text-white",tooltip:n.addPatternTooltip,disabled:n.addPatternDisabled,onClick:e[0]||(e[0]=t=>n.addPattern())},{default:k(()=>[c(f,{icon:["fas","plus"]})]),_:1},8,["tooltip","disabled"])])):d("",!0)])]),i("tbody",null,[(a(!0),l(h,null,b(n.value,(t,g)=>(a(),l("tr",{key:g},[(a(!0),l(h,null,b(Object.keys(r.contacts),o=>(a(),l("td",{key:o,class:"text-center"},[c(f,{title:n.getTitle(t.matrix[o]),icon:n.getIcon(t.matrix[o]),class:x([n.getIconClass(t.matrix[o]),"fa-fw clickable"]),size:"2x",transform:t.matrix[o]==null?"shrink-6":null,mask:t.matrix[o]==null?["fas","square"]:null,onClick:m(te=>n.toggleContact(g,o),["stop","prevent"]),onMousedown:e[1]||(e[1]=m(()=>{},["stop","prevent"])),onMouseup:e[2]||(e[2]=m(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128)),u.showTestPattern?(a(),l("td",J,[c(f,{title:"Muster passt",icon:["fas","check-circle"],class:x(["text-success fa-fw",{hidden:!n.patternMatch(g)}])},null,8,["class"])])):d("",!0),i("td",B({ref_for:!0},s.$attrs),[N(s.$slots,"default",{pattern:t},()=>[V(P(t.value),1)],!0)],16),r.enableAddDelete?(a(),l("td",R,[c(w,{class:"bg-danger text-white",tooltip:n.deletePatternTooltip,disabled:n.deletePatternDisabled,onClick:o=>n.deletePattern(g)},{default:k(()=>[c(f,{icon:["fas","trash"]})]),_:1},8,["tooltip","disabled","onClick"])])):d("",!0)]))),128)),u.showTestPattern?(a(),l("tr",X,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("td",{key:t,class:"pt-4"},"   "))),128)),i("td",{colspan:r.enableAddDelete?3:2},null,8,Y)])):d("",!0),u.showTestPattern?(a(),l("tr",Z,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("td",{key:t,class:"text-center text-body"},[c(f,{title:n.getTitle(u.testPattern[t]),icon:n.getIcon(u.testPattern[t]),class:x([n.getIconClass(u.testPattern[t]),"fa-fw clickable"]),size:"2x",transform:u.testPattern[t]==null?"shrink-6":null,mask:u.testPattern[t]==null?["fas","square"]:null,onClick:m(g=>n.toggleTestPattern(t),["stop","prevent"]),onMousedown:e[3]||(e[3]=m(()=>{},["stop","prevent"])),onMouseup:e[4]||(e[4]=m(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128)),i("td",{class:"pl-2",colspan:r.enableAddDelete?3:2}," Simulierter Eingang ",8,K)])):d("",!0)])]),r.showCheckPattern?(a(),j(v,{key:0,modelValue:u.showTestPattern,"onUpdate:modelValue":e[5]||(e[5]=t=>u.showTestPattern=t),title:"Simulierter Eingang",buttons:[{buttonValue:!1,text:"Verbergen"},{buttonValue:!0,text:"Anzeigen"}]},{help:k(()=>[...e[7]||(e[7]=[V(' Der simulierte Eingang ist eine Hilfe um zu testen, ob die Eingangsmuster zum gewünschten Verhalten passen. Ein grüner Haken in der Spalte "Prüfergebnis" zeigt an, dass das Eingangsmuster zum simulierten Eingang passt. Eingangsmuster mit unterschiedlichem Verhalten dürfen nicht gleichzeitig passen, da sonst das Verhalten nicht eindeutig ist. ',-1)])]),_:1},8,["modelValue"])):d("",!0)],64)}const ae=S(H,[["render",$],["__scopeId","data-v-3624c649"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoPattern.vue"]]);export{ae as O}; +import{l as T,n as M,o as q,p as E,q as D,ab as y,d as C,O,f as A,a as I,F as z}from"./vendor-fortawesome-641b8eb6.js";import{_ as S,u as _,l as a,m as l,A as i,F as P,z as d,N as h,M as b,G as c,E as k,q as x,y as m,K as B,p as N,B as V,x as j}from"./vendor-50125810.js";T.add(M,q,E,D,y,C,O,A,I);const p={undefined:{value:void 0,icon:["fas","question"],iconClass:"text-secondary",title:"Nicht relevant",nextValue:!0},true:{value:!0,icon:["fas","square"],iconClass:"",title:"Geschlossen",nextValue:!1},false:{value:!1,icon:["far","square"],iconClass:"",title:"Offen",nextValue:void 0}},H={name:"IoActionContactPattern",components:{FontAwesomeIcon:z},inheritAttrs:!1,props:{contacts:{type:Object,required:!0},modelValue:{type:Array,required:!0},title:{type:String,required:!1,default:"Eingangsmuster"},actionTitle:{type:String,required:!1,default:"Verhalten"},enableAddDelete:{type:Boolean,default:!0},minPatterns:{type:Number,default:1},maxPatterns:{type:Number,default:10},showCheckPattern:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],data(){return{showTestPattern:!1,testPattern:{...this.contacts}}},computed:{value:{get(){return this.modelValue},set(s){this.$emit("update:modelValue",s)}},numContacts(){return Object.keys(this.contacts).length},addPatternDisabled(){return this.value.length>=this.maxPatterns},addPatternTooltip(){return this.addPatternDisabled?this.maxPatterns===1?"Es kann maximal ein Muster definiert werden":`Es können maximal ${this.maxPatterns} Muster definiert werden`:"Muster hinzufügen"},deletePatternDisabled(){return this.value.length<=this.minPatterns},deletePatternTooltip(){return this.deletePatternDisabled?this.minPatterns===1?"Es muss mindestens ein Muster definiert sein":`Es müssen mindestens ${this.minPatterns} Muster definiert sein`:"Muster löschen"}},watch:{contacts(){this.testPattern={...this.contacts}}},mounted(){for(;this.value.lengththis.testPattern[e]===void 0?!0:this.value[s].matrix[e]===this.testPattern[e])},deletePattern(s){delete this.value.splice(s,1)},addPattern(){this.value.push({matrix:{},value:null})}}},F={class:"w-100 mb-2"},Q=["span"],G=["colspan"],L={key:0,rowspan:"2",class:"contact-header"},U=["colspan"],W={key:0},J={key:0,class:"text-center"},R={key:1},X={key:0},Y=["colspan"],Z={key:1,class:"bg-info"},K=["colspan"];function $(s,e,r,ee,u,n){const f=_("font-awesome-icon"),w=_("openwb-base-click-button"),v=_("openwb-base-button-group-input");return a(),l(h,null,[i("table",F,[i("colgroup",null,[i("col",{span:n.numContacts,class:"bg-white",style:{border:"1px solid #dee2e6"}},null,8,Q)]),i("thead",null,[i("tr",null,[i("th",{colspan:n.numContacts},P(r.title),9,G),u.showTestPattern?(a(),l("th",L,[...e[6]||(e[6]=[i("div",null,"Prüfergebnis",-1)])])):d("",!0),i("th",{colspan:r.enableAddDelete?2:1},null,8,U)]),i("tr",null,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("th",{key:t,class:"contact-header"},[i("div",null,P(t),1)]))),128)),i("th",null,P(r.actionTitle),1),r.enableAddDelete?(a(),l("th",W,[c(w,{class:"bg-success text-white",tooltip:n.addPatternTooltip,disabled:n.addPatternDisabled,onClick:e[0]||(e[0]=t=>n.addPattern())},{default:k(()=>[c(f,{icon:["fas","plus"]})]),_:1},8,["tooltip","disabled"])])):d("",!0)])]),i("tbody",null,[(a(!0),l(h,null,b(n.value,(t,g)=>(a(),l("tr",{key:g},[(a(!0),l(h,null,b(Object.keys(r.contacts),o=>(a(),l("td",{key:o,class:"text-center"},[c(f,{title:n.getTitle(t.matrix[o]),icon:n.getIcon(t.matrix[o]),class:x([n.getIconClass(t.matrix[o]),"fa-fw clickable"]),size:"2x",transform:t.matrix[o]==null?"shrink-6":null,mask:t.matrix[o]==null?["fas","square"]:null,onClick:m(te=>n.toggleContact(g,o),["stop","prevent"]),onMousedown:e[1]||(e[1]=m(()=>{},["stop","prevent"])),onMouseup:e[2]||(e[2]=m(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128)),u.showTestPattern?(a(),l("td",J,[c(f,{title:"Muster passt",icon:["fas","check-circle"],class:x(["text-success fa-fw",{hidden:!n.patternMatch(g)}])},null,8,["class"])])):d("",!0),i("td",B({ref_for:!0},s.$attrs),[N(s.$slots,"default",{pattern:t},()=>[V(P(t.value),1)],!0)],16),r.enableAddDelete?(a(),l("td",R,[c(w,{class:"bg-danger text-white",tooltip:n.deletePatternTooltip,disabled:n.deletePatternDisabled,onClick:o=>n.deletePattern(g)},{default:k(()=>[c(f,{icon:["fas","trash"]})]),_:1},8,["tooltip","disabled","onClick"])])):d("",!0)]))),128)),u.showTestPattern?(a(),l("tr",X,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("td",{key:t,class:"pt-4"},"   "))),128)),i("td",{colspan:r.enableAddDelete?3:2},null,8,Y)])):d("",!0),u.showTestPattern?(a(),l("tr",Z,[(a(!0),l(h,null,b(Object.keys(r.contacts),t=>(a(),l("td",{key:t,class:"text-center text-body"},[c(f,{title:n.getTitle(u.testPattern[t]),icon:n.getIcon(u.testPattern[t]),class:x([n.getIconClass(u.testPattern[t]),"fa-fw clickable"]),size:"2x",transform:u.testPattern[t]==null?"shrink-6":null,mask:u.testPattern[t]==null?["fas","square"]:null,onClick:m(g=>n.toggleTestPattern(t),["stop","prevent"]),onMousedown:e[3]||(e[3]=m(()=>{},["stop","prevent"])),onMouseup:e[4]||(e[4]=m(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128)),i("td",{class:"pl-2",colspan:r.enableAddDelete?3:2}," Simulierter Eingang ",8,K)])):d("",!0)])]),r.showCheckPattern?(a(),j(v,{key:0,modelValue:u.showTestPattern,"onUpdate:modelValue":e[5]||(e[5]=t=>u.showTestPattern=t),title:"Simulierter Eingang",buttons:[{buttonValue:!1,text:"Verbergen"},{buttonValue:!0,text:"Anzeigen"}]},{help:k(()=>[...e[7]||(e[7]=[V(' Der simulierte Eingang ist eine Hilfe um zu testen, ob die Eingangsmuster zum gewünschten Verhalten passen. Ein grüner Haken in der Spalte "Prüfergebnis" zeigt an, dass das Eingangsmuster zum simulierten Eingang passt. Eingangsmuster mit unterschiedlichem Verhalten dürfen nicht gleichzeitig passen, da sonst das Verhalten nicht eindeutig ist. ',-1)])]),_:1},8,["modelValue"])):d("",!0)],64)}const ae=S(H,[["render",$],["__scopeId","data-v-3624c649"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoPattern.vue"]]);export{ae as O}; diff --git a/web/settings/assets/OpenwbIoSinglePattern-70603a89.js b/web/settings/assets/OpenwbIoSinglePattern-67be81d3.js similarity index 97% rename from web/settings/assets/OpenwbIoSinglePattern-70603a89.js rename to web/settings/assets/OpenwbIoSinglePattern-67be81d3.js index 9e67765053..7b57bba7c9 100644 --- a/web/settings/assets/OpenwbIoSinglePattern-70603a89.js +++ b/web/settings/assets/OpenwbIoSinglePattern-67be81d3.js @@ -1 +1 @@ -import{_ as m,u as i,l,m as p,G as f,E as r,B as s,F as u,x as g,z as h,N as b}from"./vendor-1833c026.js";const v={name:"IoActionSinglePattern",inheritAttrs:!1,props:{modelValue:{type:Array,required:!0},contacts:{type:Object,required:!0},contactType:{type:String,required:!1,default:"input",validator:e=>["input","output"].includes(e)},title:{type:String,required:!1,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},contactTitle(){return this.title!==void 0?this.title:this.contactType==="input"?"Eingang":"Ausgang"},contactHelpText(){return this.contactType==="input"?"Bitte den Eingang auswählen, auf welchen reagiert werden soll. Es kann nur ein Eingang ausgewählt werden.":"Bitte den Ausgang auswählen, welcher geschaltet werden soll. Es kann nur ein Ausgang ausgewählt werden."},normalModeHelpText(){return this.contactType==="input"?"Bitte Einstellen, ob der Eingang für den normalen Betrieb (nicht aktiv, nicht gedimmt etc.) geschlossen (NC) oder geöffnet (NO) ist.":"Bitte Einstellen, ob der Ausgang für den normalen Betrieb (nicht aktiv, nicht gedimmt etc.) geschlossen (NC) oder geöffnet (NO) ist."},definedContact:{get(){return this.value!==void 0&&Object.keys(this.value[0].matrix).length!==0?Object.keys(this.value[0].matrix)[0]:null},set(e){if(Object.keys(this.value[0].matrix).length===0){this.value=[{value:!0,matrix:{[e]:!0}},{value:!1,matrix:{[e]:!1}}];return}this.value=[{value:!0,matrix:{[e]:this.definedNormalMode}},{value:!1,matrix:{[e]:!this.definedNormalMode}}]}},definedNormalMode:{get(){return Object.values(this.value[0].matrix)[0]},set(e){this.value=[{value:!0,matrix:{[this.definedContact]:e}},{value:!1,matrix:{[this.definedContact]:!e}}]}},contactOptions(){return Object.keys(this.contacts).map(e=>({value:e,text:e}))}}};function x(e,n,o,_,y,t){const d=i("openwb-base-select-input"),c=i("openwb-base-button-group-input");return l(),p(b,null,[f(d,{modelValue:t.definedContact,"onUpdate:modelValue":n[0]||(n[0]=a=>t.definedContact=a),title:t.contactTitle,required:"","not-selected":"Bitte auswählen","empty-value":null,options:t.contactOptions},{help:r(()=>[s(u(t.contactHelpText),1)]),_:1},8,["modelValue","title","options"]),o.contactType==="input"?(l(),g(c,{key:0,modelValue:t.definedNormalMode,"onUpdate:modelValue":n[1]||(n[1]=a=>t.definedNormalMode=a),title:"Normaler Zustand",buttons:[{buttonValue:!1,text:"geschlossen (NC)"},{buttonValue:!0,text:"geöffnet (NO)"}],disabled:!t.definedContact,required:""},{help:r(()=>[s(u(t.normalModeHelpText),1)]),_:1},8,["modelValue","disabled"])):h("",!0)],64)}const w=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoSinglePattern.vue"]]);export{w as O}; +import{_ as m,u as i,l,m as p,G as f,E as r,B as s,F as u,x as g,z as h,N as b}from"./vendor-50125810.js";const v={name:"IoActionSinglePattern",inheritAttrs:!1,props:{modelValue:{type:Array,required:!0},contacts:{type:Object,required:!0},contactType:{type:String,required:!1,default:"input",validator:e=>["input","output"].includes(e)},title:{type:String,required:!1,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},contactTitle(){return this.title!==void 0?this.title:this.contactType==="input"?"Eingang":"Ausgang"},contactHelpText(){return this.contactType==="input"?"Bitte den Eingang auswählen, auf welchen reagiert werden soll. Es kann nur ein Eingang ausgewählt werden.":"Bitte den Ausgang auswählen, welcher geschaltet werden soll. Es kann nur ein Ausgang ausgewählt werden."},normalModeHelpText(){return this.contactType==="input"?"Bitte Einstellen, ob der Eingang für den normalen Betrieb (nicht aktiv, nicht gedimmt etc.) geschlossen (NC) oder geöffnet (NO) ist.":"Bitte Einstellen, ob der Ausgang für den normalen Betrieb (nicht aktiv, nicht gedimmt etc.) geschlossen (NC) oder geöffnet (NO) ist."},definedContact:{get(){return this.value!==void 0&&Object.keys(this.value[0].matrix).length!==0?Object.keys(this.value[0].matrix)[0]:null},set(e){if(Object.keys(this.value[0].matrix).length===0){this.value=[{value:!0,matrix:{[e]:!0}},{value:!1,matrix:{[e]:!1}}];return}this.value=[{value:!0,matrix:{[e]:this.definedNormalMode}},{value:!1,matrix:{[e]:!this.definedNormalMode}}]}},definedNormalMode:{get(){return Object.values(this.value[0].matrix)[0]},set(e){this.value=[{value:!0,matrix:{[this.definedContact]:e}},{value:!1,matrix:{[this.definedContact]:!e}}]}},contactOptions(){return Object.keys(this.contacts).map(e=>({value:e,text:e}))}}};function x(e,n,o,_,y,t){const d=i("openwb-base-select-input"),c=i("openwb-base-button-group-input");return l(),p(b,null,[f(d,{modelValue:t.definedContact,"onUpdate:modelValue":n[0]||(n[0]=a=>t.definedContact=a),title:t.contactTitle,required:"","not-selected":"Bitte auswählen","empty-value":null,options:t.contactOptions},{help:r(()=>[s(u(t.contactHelpText),1)]),_:1},8,["modelValue","title","options"]),o.contactType==="input"?(l(),g(c,{key:0,modelValue:t.definedNormalMode,"onUpdate:modelValue":n[1]||(n[1]=a=>t.definedNormalMode=a),title:"Normaler Zustand",buttons:[{buttonValue:!1,text:"geschlossen (NC)"},{buttonValue:!0,text:"geöffnet (NO)"}],disabled:!t.definedContact,required:""},{help:r(()=>[s(u(t.normalModeHelpText),1)]),_:1},8,["modelValue","disabled"])):h("",!0)],64)}const w=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoSinglePattern.vue"]]);export{w as O}; diff --git a/web/settings/assets/OpenwbSortableList-ca37615e.js b/web/settings/assets/OpenwbSortableList-f1671b8d.js similarity index 93% rename from web/settings/assets/OpenwbSortableList-ca37615e.js rename to web/settings/assets/OpenwbSortableList-f1671b8d.js index e2e88126eb..45d425a301 100644 --- a/web/settings/assets/OpenwbSortableList-ca37615e.js +++ b/web/settings/assets/OpenwbSortableList-f1671b8d.js @@ -1 +1 @@ -import{O as v}from"./index-25097726.js";import{_,a5 as V,u as o,l,x as r,E as d,A as p,q as k,G as S,z as f,B as b,F as g,D as B,p as m,m as O}from"./vendor-1833c026.js";import{l as L,ak as E,al as N,Q as A,_ as C,Z as q,Y as x,F as D}from"./vendor-fortawesome-77ba272b.js";L.add(E,N,A,C,q,x);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:D},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0},nesting:{type:Boolean,default:!0}},methods:{classes(e){var a="";switch(e.type){case"bat":a+="battery";break;case"cp":a+="charge-point";break;default:a+=e.type;break}return a},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 j(e,a,t,w,y,n){const i=o("font-awesome-icon"),u=o("openwb-nested-list",!0),c=o("draggable");return l(),r(c,{class:"dragArea w-100 mb-0",tag:"ul",list:t.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:k(["element-titel",n.classes(s)])},[p("span",null,[S(i,{class:"handle",icon:["fas",t.nesting?"arrows-alt":"arrows-up-down"]},null,8,["icon"]),n.getElementIcon(s)?(l(),r(i,{key:0,icon:n.getElementIcon(s)},null,8,["icon"])):f("",!0),b(" "+g(n.getElementLabel(s.id)),1)])],2),t.nesting&&s.children?(l(),r(u,{key:0,modelValue:s.children,"onUpdate:modelValue":h=>s.children=h,labels:t.labels,nesting:t.nesting},null,8,["modelValue","onUpdate:modelValue","labels","nesting"])):f("",!0)])]),_:1},8,["list"])}const F=_(U,[["render",j],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),I={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:F},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},nesting:{type:Boolean,default:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},W={key:1};function z(e,a,t,w,y,n){const i=o("openwb-nested-list"),u=o("openwb-base-setting-element");return l(),r(u,null,B({title:d(()=>[m(e.$slots,"title",{},()=>[b(g(t.title),1)])]),default:d(()=>[n.value!==void 0?(l(),r(i,{key:0,modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=c=>n.value=c),labels:t.labels,nesting:t.nesting},null,8,["modelValue","labels","nesting"])):(l(),O("div",W,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const Q=_(I,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{Q as S}; +import{O as v}from"./index-bbf7119b.js";import{_,a5 as V,u as o,l,x as r,E as d,A as p,q as k,G as S,z as f,B as b,F as g,D as B,p as m,m as O}from"./vendor-50125810.js";import{l as L,ak as E,al as N,Q as A,_ as C,Z as q,Y as x,F as D}from"./vendor-fortawesome-641b8eb6.js";L.add(E,N,A,C,q,x);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:D},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0},nesting:{type:Boolean,default:!0}},methods:{classes(e){var a="";switch(e.type){case"bat":a+="battery";break;case"cp":a+="charge-point";break;default:a+=e.type;break}return a},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 j(e,a,t,w,y,n){const i=o("font-awesome-icon"),u=o("openwb-nested-list",!0),c=o("draggable");return l(),r(c,{class:"dragArea w-100 mb-0",tag:"ul",list:t.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:k(["element-titel",n.classes(s)])},[p("span",null,[S(i,{class:"handle",icon:["fas",t.nesting?"arrows-alt":"arrows-up-down"]},null,8,["icon"]),n.getElementIcon(s)?(l(),r(i,{key:0,icon:n.getElementIcon(s)},null,8,["icon"])):f("",!0),b(" "+g(n.getElementLabel(s.id)),1)])],2),t.nesting&&s.children?(l(),r(u,{key:0,modelValue:s.children,"onUpdate:modelValue":h=>s.children=h,labels:t.labels,nesting:t.nesting},null,8,["modelValue","onUpdate:modelValue","labels","nesting"])):f("",!0)])]),_:1},8,["list"])}const F=_(U,[["render",j],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),I={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:F},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},nesting:{type:Boolean,default:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},W={key:1};function z(e,a,t,w,y,n){const i=o("openwb-nested-list"),u=o("openwb-base-setting-element");return l(),r(u,null,B({title:d(()=>[m(e.$slots,"title",{},()=>[b(g(t.title),1)])]),default:d(()=>[n.value!==void 0?(l(),r(i,{key:0,modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=c=>n.value=c),labels:t.labels,nesting:t.nesting},null,8,["modelValue","labels","nesting"])):(l(),O("div",W,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const Q=_(I,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{Q as S}; diff --git a/web/settings/assets/OptionalComponents-53748c6f.js b/web/settings/assets/OptionalComponents-846e7387.js similarity index 91% rename from web/settings/assets/OptionalComponents-53748c6f.js rename to web/settings/assets/OptionalComponents-846e7387.js index e99dcc711e..faae8e399b 100644 --- a/web/settings/assets/OptionalComponents-53748c6f.js +++ b/web/settings/assets/OptionalComponents-846e7387.js @@ -1 +1 @@ -import{_ as T,C as $}from"./index-25097726.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as O,a6 as S,a7 as V,F as E}from"./vendor-fortawesome-77ba272b.js";import{_ as g,u as l,l as p,m as d,x as _,E as o,B as a,F as y,G as n,A as m,a2 as q,a3 as N,N as z,z as c}from"./vendor-1833c026.js";const M={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},j=g(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),A={name:"DisplayThemeFallback",mixins:[j]},F={class:"display-theme-fallback"},L={key:1};function P(t,e,s,v,w,u){const r=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),d("div",F,[Object.keys(t.displayTheme.configuration).length==0?(p(),_(r,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+y(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),d("div",L,[n(r,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+y(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]=[a(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[m("pre",null,y(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const U=g(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);O.add(S,V);const x={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}`),q({loader:()=>C(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-4cdeaa5e.js"),["assets/displayTheme-4cdeaa5e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-fbc88025.js"),["assets/displayTheme-fbc88025.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:U})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function I(t,e,s,v,w,u){const r=l("font-awesome-icon"),b=l("openwb-base-alert"),f=l("openwb-base-heading");return p(),d(z,null,[s.displayTheme.official?(p(),_(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),_(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+y(s.displayTheme.name)+'" ',1)]),_:1}),(p(),_(N(u.getDisplayThemeComponent()),{"display-theme":s.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>u.updateConfiguration(h))},null,40,["display-theme"]))],64)}const R=g(x,[["render",I],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:R},mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/on_if_plugged_in","openWB/optional/int_display/only_local_charge_points","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/rotation","openWB/optional/int_display/standby","openWB/optional/int_display/theme","openWB/optional/rfid/active","openWB/system/configurable/display_themes"]}},computed:{displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.displayThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},methods:{getDisplayThemeDefaults(t){const e=this.displayThemeList.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 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)}}},J={class:"optionalComponents"},G={name:"optionalComponentsForm"},K={key:0},Z={key:1},Q={key:2},X={key:0};function Y(t,e,s,v,w,u){const r=l("openwb-base-button-group-input"),b=l("openwb-base-heading"),f=l("openwb-base-range-input"),h=l("openwb-base-alert"),D=l("openwb-base-select-input"),B=l("openwb-display-theme-proxy"),W=l("openwb-base-card"),k=l("openwb-base-submit-buttons");return p(),d("div",J,[m("form",G,[n(W,{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[0]||(e[0]=i=>t.updateState("openWB/optional/int_display/active",i))},{help:o(()=>[...e[9]||(e[9]=[a(' 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)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(p(),d("div",K,[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[1]||(e[1]=i=>t.updateState("openWB/optional/int_display/rotation",i))},{help:o(()=>[...e[10]||(e[10]=[a(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!",-1),m("br",null,null,-1),a(" 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)])]),_:1},8,["model-value"]),e[13]||(e[13]=m("hr",null,null,-1)),n(b,null,{default:o(()=>[...e[11]||(e[11]=[a(" Display Standby ",-1)])]),_:1}),n(f,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{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},{label:"Immer an",value:0}],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/optional/int_display/standby",i))},{help:o(()=>[...e[12]||(e[12]=[a(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ",-1)])]),_:1},8,["model-value"])])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(p(),d("div",Z,[e[15]||(e[15]=m("hr",null,null,-1)),n(h,{subtype:"info"},{default:o(()=>[...e[14]||(e[14]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(p(),d("div",Q,[e[18]||(e[18]=m("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[3]||(e[3]=i=>t.updateState("openWB/optional/int_display/only_local_charge_points",i))},{help:o(()=>[...e[16]||(e[16]=[a(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ",-1)])]),_:1},8,["model-value"]),e[19]||(e[19]=m("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(p(),d("div",X,[n(D,{class:"mb-2",title:"Theme des Displays",groups:u.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[4]||(e[4]=i=>u.updateSelectedDisplayTheme(i))},{help:o(()=>[...e[17]||(e[17]=[a(" 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)])]),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(p(),_(B,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[5]||(e[5]=i=>u.updateConfiguration("openWB/optional/int_display/theme",i))},null,8,["display-theme"])):c("",!0)])):c("",!0)]))]),_:1}),n(k,{"form-name":"optionalComponentsForm",onSave:e[6]||(e[6]=i=>t.$emit("save")),onReset:e[7]||(e[7]=i=>t.$emit("reset")),onDefaults:e[8]||(e[8]=i=>t.$emit("defaults"))})])])}const ee=g(H,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{j as D,ae as O}; +import{_ as T,C as $}from"./index-bbf7119b.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as O,a6 as S,a7 as V,F as E}from"./vendor-fortawesome-641b8eb6.js";import{_ as g,u as l,l as p,m as d,x as _,E as o,B as a,F as y,G as n,A as m,a2 as q,a3 as N,N as z,z as c}from"./vendor-50125810.js";const M={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},j=g(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),A={name:"DisplayThemeFallback",mixins:[j]},F={class:"display-theme-fallback"},L={key:1};function P(t,e,s,v,w,u){const r=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),d("div",F,[Object.keys(t.displayTheme.configuration).length==0?(p(),_(r,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+y(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),d("div",L,[n(r,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+y(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]=[a(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[m("pre",null,y(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const U=g(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);O.add(S,V);const x={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}`),q({loader:()=>C(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-1bd129c0.js"),["assets/displayTheme-1bd129c0.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-33900b62.js"),["assets/displayTheme-33900b62.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:U})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function I(t,e,s,v,w,u){const r=l("font-awesome-icon"),b=l("openwb-base-alert"),f=l("openwb-base-heading");return p(),d(z,null,[s.displayTheme.official?(p(),_(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),_(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+y(s.displayTheme.name)+'" ',1)]),_:1}),(p(),_(N(u.getDisplayThemeComponent()),{"display-theme":s.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>u.updateConfiguration(h))},null,40,["display-theme"]))],64)}const R=g(x,[["render",I],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:R},mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/on_if_plugged_in","openWB/optional/int_display/only_local_charge_points","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/rotation","openWB/optional/int_display/standby","openWB/optional/int_display/theme","openWB/optional/rfid/active","openWB/system/configurable/display_themes"]}},computed:{displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.displayThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},methods:{getDisplayThemeDefaults(t){const e=this.displayThemeList.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 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)}}},J={class:"optionalComponents"},G={name:"optionalComponentsForm"},K={key:0},Z={key:1},Q={key:2},X={key:0};function Y(t,e,s,v,w,u){const r=l("openwb-base-button-group-input"),b=l("openwb-base-heading"),f=l("openwb-base-range-input"),h=l("openwb-base-alert"),D=l("openwb-base-select-input"),B=l("openwb-display-theme-proxy"),W=l("openwb-base-card"),k=l("openwb-base-submit-buttons");return p(),d("div",J,[m("form",G,[n(W,{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[0]||(e[0]=i=>t.updateState("openWB/optional/int_display/active",i))},{help:o(()=>[...e[9]||(e[9]=[a(' 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)])]),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(p(),d("div",K,[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[1]||(e[1]=i=>t.updateState("openWB/optional/int_display/rotation",i))},{help:o(()=>[...e[10]||(e[10]=[a(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!",-1),m("br",null,null,-1),a(" 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)])]),_:1},8,["model-value"]),e[13]||(e[13]=m("hr",null,null,-1)),n(b,null,{default:o(()=>[...e[11]||(e[11]=[a(" Display Standby ",-1)])]),_:1}),n(f,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{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},{label:"Immer an",value:0}],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/optional/int_display/standby",i))},{help:o(()=>[...e[12]||(e[12]=[a(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ",-1)])]),_:1},8,["model-value"])])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(p(),d("div",Z,[e[15]||(e[15]=m("hr",null,null,-1)),n(h,{subtype:"info"},{default:o(()=>[...e[14]||(e[14]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(p(),d("div",Q,[e[18]||(e[18]=m("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[3]||(e[3]=i=>t.updateState("openWB/optional/int_display/only_local_charge_points",i))},{help:o(()=>[...e[16]||(e[16]=[a(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ",-1)])]),_:1},8,["model-value"]),e[19]||(e[19]=m("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(p(),d("div",X,[n(D,{class:"mb-2",title:"Theme des Displays",groups:u.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[4]||(e[4]=i=>u.updateSelectedDisplayTheme(i))},{help:o(()=>[...e[17]||(e[17]=[a(" 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)])]),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(p(),_(B,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[5]||(e[5]=i=>u.updateConfiguration("openWB/optional/int_display/theme",i))},null,8,["display-theme"])):c("",!0)])):c("",!0)]))]),_:1}),n(k,{"form-name":"optionalComponentsForm",onSave:e[6]||(e[6]=i=>t.$emit("save")),onReset:e[7]||(e[7]=i=>t.$emit("reset")),onDefaults:e[8]||(e[8]=i=>t.$emit("defaults"))})])])}const ee=g(H,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{j as D,ae as O}; diff --git a/web/settings/assets/Status-cc2ce464.js b/web/settings/assets/Status-db7384b9.js similarity index 99% rename from web/settings/assets/Status-cc2ce464.js rename to web/settings/assets/Status-db7384b9.js index a25af57805..e2c0855676 100644 --- a/web/settings/assets/Status-cc2ce464.js +++ b/web/settings/assets/Status-db7384b9.js @@ -1,2 +1,2 @@ -import{C as B}from"./index-25097726.js";import{l as C,O as E,P as M,c as R,f as V,F as q,Q as P,R as G,S as H,T as K,U as F,V as Z,W as J,X as Q,Y as U,Z as A,_ as I,$ as X,n as Y,o as tt,p as et,q as st,a0 as ot,a1 as at}from"./vendor-fortawesome-77ba272b.js";import{_ as x,u as c,l as r,x as h,D as O,E as i,A as t,m as f,G as l,B as _,F as a,z as w,p as S,q as it,M as W,N as k}from"./vendor-1833c026.js";import{C as rt,p as nt,a as ct,L as lt,b as dt,P as pt,c as ut,T as mt,i as gt,d as ht,e as _t}from"./vendor-chartjs-93e80b58.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./vendor-luxon-cc86f6dc.js";C.add(E,M,R,V);const bt={name:"StatusCard",components:{FontAwesomeIcon:q},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","question-circle"]}},stateLabel(){switch(this.state){case 0:return"OK";case 1:return"Warnung";case 2:return"Fehler";default:return"Unbekannt"}}}},ft={class:"container"},vt={class:"row justify-content-end"},yt={key:0,class:"col px-0"},Tt={style:{"white-space":"pre-wrap"}},wt={key:1,class:"col col-auto pr-0"},xt={class:"text-right"};function Wt(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-avatar"),m=c("openwb-base-alert"),g=c("openwb-base-card");return r(),h(g,{subtype:n.subtype,collapsible:!0,collapsed:!0},O({header:i(()=>[S(e.$slots,"header-left")]),actions:i(()=>[S(e.$slots,"header-right"),l(p,{class:it(["ml-2",`bg-${s.stateClass}`]),title:s.stateLabel},{default:i(()=>[l(d,{icon:s.stateIcon},null,8,["icon"])]),_:1},8,["class","title"])]),default:i(()=>[S(e.$slots,"default")]),_:2},[n.componentId!==void 0||n.stateMessage?{name:"footer",fn:i(()=>[t("div",ft,[t("div",vt,[n.stateMessage?(r(),f("div",yt,[l(m,{subtype:s.stateClass},{default:i(()=>[l(d,{icon:s.stateIcon},null,8,["icon"]),o[0]||(o[0]=_(" Modulmeldung: ",-1)),t("span",Tt,a(n.stateMessage),1)]),_:1},8,["subtype"])])):w("",!0),n.componentId!==void 0?(r(),f("div",wt,[t("div",xt,"ID: "+a(n.componentId),1)])):w("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const $=x(bt,[["render",Wt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);C.add(P);const kt={name:"ChargePointSumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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"}}}},Bt={class:"text-right"},Ct={class:"row"},qt={class:"col text-right text-monospace"},$t={class:"row"},Nt={class:"col-4 text-right text-monospace"},St={class:"col-4 text-right text-monospace"},Pt={class:"row"},At={class:"col-4 text-right text-monospace"},It={class:"col-4 text-right text-monospace"};function Ot(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"primary"},{"header-left":i(()=>[l(d,{icon:["fas","charging-station"]}),o[0]||(o[0]=_(" Alle Ladepunkte ",-1))]),"header-right":i(()=>[t("span",Bt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:i(()=>[l(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row py-2"},[t("div",{class:"col font-weight-bold"},"Ladevorgang"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Ct,[t("div",qt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),l(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[4]||(o[4]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",$t,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Nt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),t("div",St,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),t("div",Pt,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",At,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),t("div",It,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const Lt=x(kt,[["render",Ot],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);C.add(P,G,H,K,F,Z,J,Q);const jt={name:"ChargePointCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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 e=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return e==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:e==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Dt={class:"row py-2"},zt={class:"col text-right"},Et={style:{"white-space":"pre-wrap"}},Mt={class:"row"},Rt={class:"col text-right text-monospace"},Vt={class:"col text-right text-monospace"},Gt={class:"row"},Ht={key:0,class:"col text-right text-monospace"},Kt={key:1,class:"col text-right text-monospace"},Ft={class:"col text-right text-monospace"},Zt={class:"row"},Jt={class:"col-4 text-right text-monospace"},Qt={class:"col-4 text-right text-monospace"},Ut={class:"row"},Xt={class:"col-4 text-right text-monospace"},Yt={class:"col-4 text-right text-monospace"},te={class:"row"},ee={class:"col text-right text-monospace"},se={class:"col text-right text-monospace"},oe={class:"col text-right text-monospace"},ae={class:"row"},ie={class:"col text-right text-monospace"},re={class:"col text-right text-monospace"},ne={class:"col text-right text-monospace"},ce={class:"row"},le={class:"col text-right text-monospace"},de={class:"col text-right text-monospace"},pe={class:"col text-right text-monospace"},ue={class:"row"},me={class:"col text-right text-monospace"},ge={class:"col text-right text-monospace"},he={class:"col text-right text-monospace"},_e={class:"row"},be={class:"col text-center text-monospace"};function fe(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-alert"),m=c("openwb-base-card"),g=c("status-card");return r(),h(g,{subtype:"primary","component-id":s.chargePointIndex,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","charging-station"]}),_(" "+a(n.installedChargePoint.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Dt,[o[0]||(o[0]=t("div",{class:"col col-auto font-weight-bold"},"Status",-1)),t("div",zt,[l(d,{icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"]),_(" "+a(s.chargingStatus.text),1)])]),l(p,{subtype:"info"},{default:i(()=>[o[1]||(o[1]=_(" Statusmeldung: ",-1)),t("span",Et,a(e.$store.state.mqtt[s.baseTopic+"/get/state_str"]),1)]),_:1}),t("div",null," max. Ladeleistung: "+a((e.max_power=e.formatNumberTopic(s.baseTopic+"/get/max_evse_current",0))=="-"?e.max_power:(()=>{const u=Math.floor(e.max_power*3*230/1e3);return u===13?"20A 1-phasig, 16A 3-phasig":u+" kW"})()),1)]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:i(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Ladestrom Vorgabe"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Mt,[t("div",Rt,a(e.formatNumberTopic(s.baseTopic+"/set/current",2))+" A",1),t("div",Vt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Phasen Vorgabe"),t("div",{class:"col text-right"},"Phasen Aktuell")],-1)),t("div",Gt,[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),f("div",Ht,a(e.formatNumberTopic("openWB/internal_chargepoint/"+s.chargePointIndex+"/data/phases_to_use")),1)):(r(),f("div",Kt,a(e.formatNumberTopic(s.baseTopic+"/set/phases_to_use")),1)),t("div",Ft,a(e.formatNumberTopic(s.baseTopic+"/get/phases_in_use")),1)])]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[6]||(o[6]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",Zt,[o[4]||(o[4]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Jt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Qt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Ut,[o[5]||(o[5]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Xt,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Yt,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:i(()=>[t("div",te,[o[7]||(o[7]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),t("div",ee,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[0]),1),t("div",se,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[1]),1),t("div",oe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[2]),1)]),t("div",ae,[o[8]||(o[8]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),t("div",ie,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",re,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",ne,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)]),t("div",ce,[o[9]||(o[9]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",le,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",de,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",pe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[2]),1)]),t("div",ue,[o[10]||(o[10]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",me,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[0]),1),t("div",ge,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[1]),1),t("div",he,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[2]),1)]),t("div",_e,[o[11]||(o[11]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),t("div",be,a(e.formatNumberTopic(s.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ve=x(jt,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);C.add(U);const ye={name:"CounterCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},Te={class:"row"},we={class:"col text-right text-monospace pl-0"},xe={class:"col text-right text-monospace pl-0"},We={class:"row"},ke={class:"col text-right text-monospace pl-0"},Be={class:"col text-right text-monospace pl-0"},Ce={class:"row"},qe={class:"col"},$e={class:"row"},Ne={class:"col text-right text-monospace pl-0"},Se={class:"col text-right text-monospace pl-0"},Pe={class:"col text-right text-monospace pl-0"},Ae={class:"row"},Ie={class:"col"},Oe={class:"row"},Le={class:"col text-right text-monospace pl-0"},je={class:"col text-right text-monospace pl-0"},De={class:"col text-right text-monospace pl-0"},ze={class:"row"},Ee={class:"col"},Me={class:"row"},Re={class:"col text-right text-monospace pl-0"},Ve={class:"col text-right text-monospace pl-0"},Ge={class:"col text-right text-monospace pl-0"},He={class:"row"},Ke={class:"col"},Fe={class:"row"},Ze={class:"col text-right text-monospace pl-0"},Je={class:"col text-right text-monospace pl-0"},Qe={class:"col text-right text-monospace pl-0"};function Ue(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"danger","component-id":n.counter.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","gauge-high"]}),_(" "+a(n.counter.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),t("div",Te,[t("div",we,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)+" kW"),1),t("div",xe,a(e.formatNumberTopic(s.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Export"),t("div",{class:"col-6 text-right"},"Import")],-1)),t("div",We,[t("div",ke,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),t("div",Be,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Ce,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),t("div",qe,[t("div",$e,[t("div",Ne,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[0]),1),t("div",Se,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[1]),1),t("div",Pe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[2]),1)])])]),t("div",Ae,[o[3]||(o[3]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ie,[t("div",Oe,[t("div",Le,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",je,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",De,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])]),t("div",ze,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",Ee,[t("div",Me,[t("div",Re,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",Ve,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",Ge,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[2]),1)])])]),t("div",He,[o[5]||(o[5]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",Ke,[t("div",Fe,[t("div",Ze,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[0]),1),t("div",Je,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[1]),1),t("div",Qe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Xe=x(ye,[["render",Ue],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);C.add(A);const Ye={name:"InverterSumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},ts={class:"row"},es={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"},os={class:"row"},as={class:"col text-right text-monospace"},is={class:"col text-right text-monospace"},rs={class:"col text-right text-monospace"};function ns(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"success",state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","solar-panel"]}),o[0]||(o[0]=_(" Alle Wechselrichter ",-1))]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ts,[t("div",es,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",ss,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",os,[t("div",as,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",is,a(e.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",rs,a(e.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const cs=x(Ye,[["render",ns],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);C.add(A);const ls={name:"InverterCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},ds={class:"row"},ps={class:"col text-right text-monospace"},us={class:"col text-right text-monospace"},ms={class:"row"},gs={class:"col text-right text-monospace"},hs={class:"col text-right text-monospace"},_s={class:"col text-right text-monospace"},bs={class:"row"},fs={class:"col"},vs={class:"row"},ys={class:"col text-right text-monospace pl-0"},Ts={class:"col text-right text-monospace pl-0"},ws={class:"col text-right text-monospace pl-0"};function xs(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"success","component-id":n.inverter.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","solar-panel"]}),_(" "+a(n.inverter.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ds,[t("div",ps,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",us,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",ms,[t("div",gs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",hs,a(e.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",_s,a(e.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",bs,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",fs,[t("div",vs,[t("div",ys,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",Ts,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",ws,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Ws=x(ls,[["render",xs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);C.add(I);const ks={name:"BatterySumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},Bs={class:"row"},Cs={class:"col text-right text-monospace pl-0"},qs={class:"col text-right text-monospace pl-0"},$s={class:"row"},Ns={class:"col text-right text-monospace"},Ss={class:"col text-right text-monospace"},Ps={class:"row"},As={class:"col text-right text-monospace"},Is={class:"col text-right text-monospace"};function Os(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"warning",state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","car-battery"]}),o[0]||(o[0]=_(" Alle Speicher ",-1))]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Bs,[t("div",Cs,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",qs,a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[4]||(o[4]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",$s,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Ns,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ss,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Ps,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",As,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Is,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const Ls=x(ks,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);C.add(I);const js={name:"BatteryCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ds={class:"row"},zs={class:"col text-right text-monospace pl-0"},Es={class:"col text-right text-monospace pl-0"},Ms={class:"row"},Rs={class:"col text-right text-monospace"},Vs={class:"col text-right text-monospace"},Gs={class:"row"},Hs={class:"col text-right text-monospace"},Ks={class:"col text-right text-monospace"},Fs={class:"row"},Zs={class:"col"},Js={class:"row"},Qs={class:"col text-right text-monospace pl-0"},Us={class:"col text-right text-monospace pl-0"},Xs={class:"col text-right text-monospace pl-0"};function Ys(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"warning","component-id":n.battery.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","car-battery"]}),_(" "+a(n.battery.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Ds,[t("div",zs,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",Es,a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",Ms,[o[1]||(o[1]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Rs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Vs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Gs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Hs,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Ks,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Fs,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Zs,[t("div",Js,[t("div",Qs,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",Us,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",Xs,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const to=x(js,[["render",Ys],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);C.add(X,Y,tt,et,st);const eo={name:"IoDeviceCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{ioDevice:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/io/states/${this.ioDevice.id}/get/+`,"openWB/io/action/+/config","openWB/io/action/+/timestamp"],state:{true:{icon:["fas","square"],title:"Geschlossen",actionTitle:"Aktiv"},false:{icon:["far","square"],title:"Offen",actionTitle:"Inaktiv"}}}},computed:{baseTopic(){return`openWB/io/states/${this.ioDevice.id}`},hasDigitalInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]||{}).length>0},hasDigitalOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]||{}).length>0},hasAnalogInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]||{}).length>0},hasAnalogOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]||{}).length>0},digitalInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]},digitalOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]},analogInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]},analogOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]},ioActionConfigs(){return Object.fromEntries(Object.entries(this.getWildcardTopics("openWB/io/action/+/config")).filter(([,e])=>e.configuration.io_device===this.ioDevice.id))},ioActionState(){return e=>{const o=this.$store.state.mqtt[`openWB/io/action/${e}/timestamp`];return o&&new Date(o*1e3).toLocaleString()}}},methods:{getIcon(e){return this.state[e].icon},getTitle(e){return this.state[e].title},getActionTitle(e){return this.state[e].actionTitle}}},so={class:"col-auto"},oo={class:"col text-right"},ao={class:"row"},io={class:"row"},ro={class:"row"},no={class:"row"};function co(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-alert"),m=c("openwb-base-card"),g=c("status-card");return r(),h(g,{subtype:"secondary",state:e.$store.state.mqtt[`${s.baseTopic}/get/fault_state`],"state-message":e.$store.state.mqtt[`${s.baseTopic}/get/fault_str`],"component-id":n.ioDevice.id},{"header-left":i(()=>[l(d,{icon:["fas","tower-broadcast"]}),_(" "+a(n.ioDevice.name),1)]),default:i(()=>[l(m,{title:"Zugehörige Aktionen",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[Object.keys(s.ioActionConfigs).length===0?(r(),h(p,{key:0,subtype:"info",class:"mb-2"},{default:i(()=>[...o[0]||(o[0]=[_(" Es wurden noch keine Aktionen erstellt, welche dieses IO-Gerät als Signalquelle verwenden. ",-1)])]),_:1})):(r(!0),f(k,{key:1},W(s.ioActionConfigs,(u,y)=>(r(),f("div",{key:y,class:"row"},[t("div",so,[l(d,{title:s.getActionTitle(![void 0,null].includes(s.ioActionState(u.id))),icon:s.getIcon(![void 0,null].includes(s.ioActionState(u.id))),class:"fa-fw"},null,8,["title","icon"]),_(" "+a(u.name),1)]),t("div",oo,a(s.ioActionState(u.id)),1)]))),128))]),_:1}),s.hasDigitalInputs?(r(),h(m,{key:0,title:"Digitale Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",ao,[(r(!0),f(k,null,W(s.digitalInputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},[_(a(y)+": ",1),l(d,{title:s.getTitle(u),icon:s.getIcon(u),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):w("",!0),s.hasDigitalOutputs?(r(),h(m,{key:1,title:"Digitale Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",io,[(r(!0),f(k,null,W(s.digitalOutputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},[_(a(y)+": ",1),l(d,{title:s.getActionTitle(u),icon:s.getIcon(u),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):w("",!0),s.hasAnalogInputs?(r(),h(m,{key:2,title:"Analoge Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",ro,[(r(!0),f(k,null,W(s.analogInputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},a(y)+": "+a(u),1))),128))])]),_:1})):w("",!0),s.hasAnalogOutputs?(r(),h(m,{key:3,title:"Analoge Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",no,[(r(!0),f(k,null,W(s.analogOutputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},a(y)+": "+a(u),1))),128))])]),_:1})):w("",!0)]),_:1},8,["state","state-message","component-id"])}const lo=x(eo,[["render",co],["__scopeId","data-v-356761d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/IoDeviceCard.vue"]]);C.add(ot);const po={name:"VehicleCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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}}}},uo={class:"row"},mo={class:"col text-right text-monospace"},go={class:"col text-right text-monospace"},ho={class:"col text-right text-monospace"};function _o(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"info","component-id":s.vehicleIndex,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},O({"header-left":i(()=>[l(d,{icon:["fas","car"]}),_(" "+a(n.vehicleName),1)]),default:i(()=>[l(p,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col pr-0 text-right"},"Ladestand"),t("div",{class:"col pr-0 text-right"},"Reichweite"),t("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),t("div",uo,[t("div",mo,a(s.soc)+" %",1),t("div",go,a(s.socRange)+" km",1),t("div",ho,a(s.socTimestamp),1)])]),_:1})]),_:2},[s.soc!="-"?{name:"header-right",fn:i(()=>[_(a(s.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const bo=x(po,[["render",_o],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);C.add(at);rt.register(nt,ct,lt,dt,pt,ut,mt,gt,ht);const fo={name:"ElectricityPricingCard",components:{StatusCard:$,FontAwesomeIcon:q,ChartjsLine:_t},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/optional/ep/flexible_tariff/provider","openWB/optional/ep/flexible_tariff/get/fault_state","openWB/optional/ep/flexible_tariff/get/fault_str","openWB/optional/ep/grid_fee/provider","openWB/optional/ep/grid_fee/get/fault_state","openWB/optional/ep/grid_fee/get/fault_str","openWB/optional/ep/get/prices","openWB/optional/ep/flexible_tariff/get/prices","openWB/optional/ep/grid_fee/get/prices"],chartDatasets:{datasets:[{label:"Gesamtpreis",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 149, 0, 0.9)",backgroundColor:"rgba(255, 149, 0, 0.7)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}},{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(139, 0, 0, 0.9)",backgroundColor:"rgba(139, 0, 0, 0.9)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}},{label:"Netzentgelt",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.4)",backgroundColor:"rgba(255, 0, 0, 0.4)",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:!0,position:"top",labels:{filter:function(e,o){return!o.datasets[e.datasetIndex].hidden}}}},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},callback:this.formatTickLabel,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:{electricityPricingConfigured(){const e=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"],o=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"];return e&&e.type||o&&o.type},chartDataRead(){return this.chartDataObject.datasets.some(o=>o.data!==void 0&&!o.hidden)},chartDataObject(){var p,m;const e=JSON.parse(JSON.stringify(this.chartDatasets));if(this.$store.state.mqtt["openWB/optional/ep/get/prices"]){var o=this.$store.state.mqtt["openWB/optional/ep/get/prices"],n=[];for(const[g,u]of Object.entries(o))n.push({timestamp:g*1e3,price:u*1e5});if(n.length>0){const g=n.slice(-1)[0];let u=this.endOfToday;if(n.length>1){const y=n.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}n.push({timestamp:u,price:g.price})}e.datasets[0].data=n}else e.datasets[0].hidden=!0;if((p=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])!=null&&p.type&&this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/prices"]){var b=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/prices"],v=[];for(const[g,u]of Object.entries(b))v.push({timestamp:g*1e3,price:u*1e5});if(v.length>0){const g=v.slice(-1)[0];let u=this.endOfToday;if(v.length>1){const y=v.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}v.push({timestamp:u,price:g.price})}e.datasets[1].data=v}else e.datasets[1].hidden=!0;if((m=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])!=null&&m.type&&this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/prices"],d=[];for(const[g,u]of Object.entries(s))d.push({timestamp:g*1e3,price:u*1e5});if(d.length>0){const g=d.slice(-1)[0];let u=this.endOfToday;if(d.length>1){const y=d.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}d.push({timestamp:u,price:g.price})}e.datasets[2].data=d}else e.datasets[2].hidden=!0;return e},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)},endOfToday(){return new Date().setHours(23,59,59,999).valueOf()},baseTopic:{get(){return"openWB/optional/ep/flexible_tariff"}},combinedState(){const e=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_state"]||0,o=this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_state"]||0;return Math.max(e,o)},combinedStateMessage(){var o,n;const e=[];if((o=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])!=null&&o.type){const v=(this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_state"]||0)>0?this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_str"]:"Kein Fehler.";e.push(`Stromtarif: ${v}`)}if((n=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])!=null&&n.type){const v=(this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_state"]||0)>0?this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_str"]:"Kein Fehler.";e.push(`Netzentgelt: ${v}`)}return e.length>0?e.join(` +import{C as B}from"./index-bbf7119b.js";import{l as C,O as E,P as M,c as R,f as V,F as q,Q as P,R as G,S as H,T as K,U as F,V as Z,W as J,X as Q,Y as U,Z as A,_ as I,$ as X,n as Y,o as tt,p as et,q as st,a0 as ot,a1 as at}from"./vendor-fortawesome-641b8eb6.js";import{_ as x,u as c,l as r,x as h,D as O,E as i,A as t,m as f,G as l,B as _,F as a,z as w,p as S,q as it,M as W,N as k}from"./vendor-50125810.js";import{C as rt,p as nt,a as ct,L as lt,b as dt,P as pt,c as ut,T as mt,i as gt,d as ht,e as _t}from"./vendor-chartjs-6bace15d.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./vendor-luxon-cc86f6dc.js";C.add(E,M,R,V);const bt={name:"StatusCard",components:{FontAwesomeIcon:q},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","question-circle"]}},stateLabel(){switch(this.state){case 0:return"OK";case 1:return"Warnung";case 2:return"Fehler";default:return"Unbekannt"}}}},ft={class:"container"},vt={class:"row justify-content-end"},yt={key:0,class:"col px-0"},Tt={style:{"white-space":"pre-wrap"}},wt={key:1,class:"col col-auto pr-0"},xt={class:"text-right"};function Wt(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-avatar"),m=c("openwb-base-alert"),g=c("openwb-base-card");return r(),h(g,{subtype:n.subtype,collapsible:!0,collapsed:!0},O({header:i(()=>[S(e.$slots,"header-left")]),actions:i(()=>[S(e.$slots,"header-right"),l(p,{class:it(["ml-2",`bg-${s.stateClass}`]),title:s.stateLabel},{default:i(()=>[l(d,{icon:s.stateIcon},null,8,["icon"])]),_:1},8,["class","title"])]),default:i(()=>[S(e.$slots,"default")]),_:2},[n.componentId!==void 0||n.stateMessage?{name:"footer",fn:i(()=>[t("div",ft,[t("div",vt,[n.stateMessage?(r(),f("div",yt,[l(m,{subtype:s.stateClass},{default:i(()=>[l(d,{icon:s.stateIcon},null,8,["icon"]),o[0]||(o[0]=_(" Modulmeldung: ",-1)),t("span",Tt,a(n.stateMessage),1)]),_:1},8,["subtype"])])):w("",!0),n.componentId!==void 0?(r(),f("div",wt,[t("div",xt,"ID: "+a(n.componentId),1)])):w("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const $=x(bt,[["render",Wt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);C.add(P);const kt={name:"ChargePointSumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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"}}}},Bt={class:"text-right"},Ct={class:"row"},qt={class:"col text-right text-monospace"},$t={class:"row"},Nt={class:"col-4 text-right text-monospace"},St={class:"col-4 text-right text-monospace"},Pt={class:"row"},At={class:"col-4 text-right text-monospace"},It={class:"col-4 text-right text-monospace"};function Ot(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"primary"},{"header-left":i(()=>[l(d,{icon:["fas","charging-station"]}),o[0]||(o[0]=_(" Alle Ladepunkte ",-1))]),"header-right":i(()=>[t("span",Bt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:i(()=>[l(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row py-2"},[t("div",{class:"col font-weight-bold"},"Ladevorgang"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Ct,[t("div",qt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),l(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[4]||(o[4]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",$t,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Nt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),t("div",St,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),t("div",Pt,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",At,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),t("div",It,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const Lt=x(kt,[["render",Ot],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);C.add(P,G,H,K,F,Z,J,Q);const jt={name:"ChargePointCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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 e=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return e==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:e==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Dt={class:"row py-2"},zt={class:"col text-right"},Et={style:{"white-space":"pre-wrap"}},Mt={class:"row"},Rt={class:"col text-right text-monospace"},Vt={class:"col text-right text-monospace"},Gt={class:"row"},Ht={key:0,class:"col text-right text-monospace"},Kt={key:1,class:"col text-right text-monospace"},Ft={class:"col text-right text-monospace"},Zt={class:"row"},Jt={class:"col-4 text-right text-monospace"},Qt={class:"col-4 text-right text-monospace"},Ut={class:"row"},Xt={class:"col-4 text-right text-monospace"},Yt={class:"col-4 text-right text-monospace"},te={class:"row"},ee={class:"col text-right text-monospace"},se={class:"col text-right text-monospace"},oe={class:"col text-right text-monospace"},ae={class:"row"},ie={class:"col text-right text-monospace"},re={class:"col text-right text-monospace"},ne={class:"col text-right text-monospace"},ce={class:"row"},le={class:"col text-right text-monospace"},de={class:"col text-right text-monospace"},pe={class:"col text-right text-monospace"},ue={class:"row"},me={class:"col text-right text-monospace"},ge={class:"col text-right text-monospace"},he={class:"col text-right text-monospace"},_e={class:"row"},be={class:"col text-center text-monospace"};function fe(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-alert"),m=c("openwb-base-card"),g=c("status-card");return r(),h(g,{subtype:"primary","component-id":s.chargePointIndex,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","charging-station"]}),_(" "+a(n.installedChargePoint.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Dt,[o[0]||(o[0]=t("div",{class:"col col-auto font-weight-bold"},"Status",-1)),t("div",zt,[l(d,{icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"]),_(" "+a(s.chargingStatus.text),1)])]),l(p,{subtype:"info"},{default:i(()=>[o[1]||(o[1]=_(" Statusmeldung: ",-1)),t("span",Et,a(e.$store.state.mqtt[s.baseTopic+"/get/state_str"]),1)]),_:1}),t("div",null," max. Ladeleistung: "+a((e.max_power=e.formatNumberTopic(s.baseTopic+"/get/max_evse_current",0))=="-"?e.max_power:(()=>{const u=Math.floor(e.max_power*3*230/1e3);return u===13?"20A 1-phasig, 16A 3-phasig":u+" kW"})()),1)]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:i(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Ladestrom Vorgabe"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Mt,[t("div",Rt,a(e.formatNumberTopic(s.baseTopic+"/set/current",2))+" A",1),t("div",Vt,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Phasen Vorgabe"),t("div",{class:"col text-right"},"Phasen Aktuell")],-1)),t("div",Gt,[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),f("div",Ht,a(e.formatNumberTopic("openWB/internal_chargepoint/"+s.chargePointIndex+"/data/phases_to_use")),1)):(r(),f("div",Kt,a(e.formatNumberTopic(s.baseTopic+"/set/phases_to_use")),1)),t("div",Ft,a(e.formatNumberTopic(s.baseTopic+"/get/phases_in_use")),1)])]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[6]||(o[6]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",Zt,[o[4]||(o[4]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Jt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Qt,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Ut,[o[5]||(o[5]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Xt,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Yt,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:i(()=>[t("div",te,[o[7]||(o[7]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),t("div",ee,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[0]),1),t("div",se,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[1]),1),t("div",oe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[2]),1)]),t("div",ae,[o[8]||(o[8]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),t("div",ie,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",re,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",ne,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)]),t("div",ce,[o[9]||(o[9]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",le,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",de,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",pe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[2]),1)]),t("div",ue,[o[10]||(o[10]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",me,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[0]),1),t("div",ge,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[1]),1),t("div",he,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[2]),1)]),t("div",_e,[o[11]||(o[11]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),t("div",be,a(e.formatNumberTopic(s.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ve=x(jt,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);C.add(U);const ye={name:"CounterCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},Te={class:"row"},we={class:"col text-right text-monospace pl-0"},xe={class:"col text-right text-monospace pl-0"},We={class:"row"},ke={class:"col text-right text-monospace pl-0"},Be={class:"col text-right text-monospace pl-0"},Ce={class:"row"},qe={class:"col"},$e={class:"row"},Ne={class:"col text-right text-monospace pl-0"},Se={class:"col text-right text-monospace pl-0"},Pe={class:"col text-right text-monospace pl-0"},Ae={class:"row"},Ie={class:"col"},Oe={class:"row"},Le={class:"col text-right text-monospace pl-0"},je={class:"col text-right text-monospace pl-0"},De={class:"col text-right text-monospace pl-0"},ze={class:"row"},Ee={class:"col"},Me={class:"row"},Re={class:"col text-right text-monospace pl-0"},Ve={class:"col text-right text-monospace pl-0"},Ge={class:"col text-right text-monospace pl-0"},He={class:"row"},Ke={class:"col"},Fe={class:"row"},Ze={class:"col text-right text-monospace pl-0"},Je={class:"col text-right text-monospace pl-0"},Qe={class:"col text-right text-monospace pl-0"};function Ue(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"danger","component-id":n.counter.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","gauge-high"]}),_(" "+a(n.counter.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),t("div",Te,[t("div",we,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)+" kW"),1),t("div",xe,a(e.formatNumberTopic(s.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Export"),t("div",{class:"col-6 text-right"},"Import")],-1)),t("div",We,[t("div",ke,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),t("div",Be,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Ce,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),t("div",qe,[t("div",$e,[t("div",Ne,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[0]),1),t("div",Se,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[1]),1),t("div",Pe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1)[2]),1)])])]),t("div",Ae,[o[3]||(o[3]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ie,[t("div",Oe,[t("div",Le,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",je,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",De,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])]),t("div",ze,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",Ee,[t("div",Me,[t("div",Re,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",Ve,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",Ge,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001)[2]),1)])])]),t("div",He,[o[5]||(o[5]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",Ke,[t("div",Fe,[t("div",Ze,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[0]),1),t("div",Je,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[1]),1),t("div",Qe,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Xe=x(ye,[["render",Ue],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);C.add(A);const Ye={name:"InverterSumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},ts={class:"row"},es={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"},os={class:"row"},as={class:"col text-right text-monospace"},is={class:"col text-right text-monospace"},rs={class:"col text-right text-monospace"};function ns(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"success",state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","solar-panel"]}),o[0]||(o[0]=_(" Alle Wechselrichter ",-1))]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ts,[t("div",es,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",ss,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",os,[t("div",as,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",is,a(e.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",rs,a(e.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const cs=x(Ye,[["render",ns],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);C.add(A);const ls={name:"InverterCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},ds={class:"row"},ps={class:"col text-right text-monospace"},us={class:"col text-right text-monospace"},ms={class:"row"},gs={class:"col text-right text-monospace"},hs={class:"col text-right text-monospace"},_s={class:"col text-right text-monospace"},bs={class:"row"},fs={class:"col"},vs={class:"row"},ys={class:"col text-right text-monospace pl-0"},Ts={class:"col text-right text-monospace pl-0"},ws={class:"col text-right text-monospace pl-0"};function xs(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"success","component-id":n.inverter.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","solar-panel"]}),_(" "+a(n.inverter.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ds,[t("div",ps,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",us,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",ms,[t("div",gs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",hs,a(e.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",_s,a(e.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",bs,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",fs,[t("div",vs,[t("div",ys,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",Ts,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",ws,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Ws=x(ls,[["render",xs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);C.add(I);const ks={name:"BatterySumCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},Bs={class:"row"},Cs={class:"col text-right text-monospace pl-0"},qs={class:"col text-right text-monospace pl-0"},$s={class:"row"},Ns={class:"col text-right text-monospace"},Ss={class:"col text-right text-monospace"},Ps={class:"row"},As={class:"col text-right text-monospace"},Is={class:"col text-right text-monospace"};function Os(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"warning",state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","car-battery"]}),o[0]||(o[0]=_(" Alle Speicher ",-1))]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Bs,[t("div",Cs,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",qs,a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[4]||(o[4]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",$s,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Ns,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ss,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Ps,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",As,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Is,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const Ls=x(ks,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);C.add(I);const js={name:"BatteryCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ds={class:"row"},zs={class:"col text-right text-monospace pl-0"},Es={class:"col text-right text-monospace pl-0"},Ms={class:"row"},Rs={class:"col text-right text-monospace"},Vs={class:"col text-right text-monospace"},Gs={class:"row"},Hs={class:"col text-right text-monospace"},Ks={class:"col text-right text-monospace"},Fs={class:"row"},Zs={class:"col"},Js={class:"row"},Qs={class:"col text-right text-monospace pl-0"},Us={class:"col text-right text-monospace pl-0"},Xs={class:"col text-right text-monospace pl-0"};function Ys(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"warning","component-id":n.battery.id,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},{"header-left":i(()=>[l(d,{icon:["fas","car-battery"]}),_(" "+a(n.battery.name),1)]),"header-right":i(()=>[_(a(e.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)]),default:i(()=>[l(p,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Ds,[t("div",zs,a(e.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",Es,a(e.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),l(p,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",Ms,[o[1]||(o[1]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Rs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Vs,a(e.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Gs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Hs,a(e.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Ks,a(e.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),l(p,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",Fs,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Zs,[t("div",Js,[t("div",Qs,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[0]),1),t("div",Us,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[1]),1),t("div",Xs,a(e.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const to=x(js,[["render",Ys],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);C.add(X,Y,tt,et,st);const eo={name:"IoDeviceCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],props:{ioDevice:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/io/states/${this.ioDevice.id}/get/+`,"openWB/io/action/+/config","openWB/io/action/+/timestamp"],state:{true:{icon:["fas","square"],title:"Geschlossen",actionTitle:"Aktiv"},false:{icon:["far","square"],title:"Offen",actionTitle:"Inaktiv"}}}},computed:{baseTopic(){return`openWB/io/states/${this.ioDevice.id}`},hasDigitalInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]||{}).length>0},hasDigitalOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]||{}).length>0},hasAnalogInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]||{}).length>0},hasAnalogOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]||{}).length>0},digitalInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]},digitalOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]},analogInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]},analogOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]},ioActionConfigs(){return Object.fromEntries(Object.entries(this.getWildcardTopics("openWB/io/action/+/config")).filter(([,e])=>e.configuration.io_device===this.ioDevice.id))},ioActionState(){return e=>{const o=this.$store.state.mqtt[`openWB/io/action/${e}/timestamp`];return o&&new Date(o*1e3).toLocaleString()}}},methods:{getIcon(e){return this.state[e].icon},getTitle(e){return this.state[e].title},getActionTitle(e){return this.state[e].actionTitle}}},so={class:"col-auto"},oo={class:"col text-right"},ao={class:"row"},io={class:"row"},ro={class:"row"},no={class:"row"};function co(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-alert"),m=c("openwb-base-card"),g=c("status-card");return r(),h(g,{subtype:"secondary",state:e.$store.state.mqtt[`${s.baseTopic}/get/fault_state`],"state-message":e.$store.state.mqtt[`${s.baseTopic}/get/fault_str`],"component-id":n.ioDevice.id},{"header-left":i(()=>[l(d,{icon:["fas","tower-broadcast"]}),_(" "+a(n.ioDevice.name),1)]),default:i(()=>[l(m,{title:"Zugehörige Aktionen",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[Object.keys(s.ioActionConfigs).length===0?(r(),h(p,{key:0,subtype:"info",class:"mb-2"},{default:i(()=>[...o[0]||(o[0]=[_(" Es wurden noch keine Aktionen erstellt, welche dieses IO-Gerät als Signalquelle verwenden. ",-1)])]),_:1})):(r(!0),f(k,{key:1},W(s.ioActionConfigs,(u,y)=>(r(),f("div",{key:y,class:"row"},[t("div",so,[l(d,{title:s.getActionTitle(![void 0,null].includes(s.ioActionState(u.id))),icon:s.getIcon(![void 0,null].includes(s.ioActionState(u.id))),class:"fa-fw"},null,8,["title","icon"]),_(" "+a(u.name),1)]),t("div",oo,a(s.ioActionState(u.id)),1)]))),128))]),_:1}),s.hasDigitalInputs?(r(),h(m,{key:0,title:"Digitale Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",ao,[(r(!0),f(k,null,W(s.digitalInputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},[_(a(y)+": ",1),l(d,{title:s.getTitle(u),icon:s.getIcon(u),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):w("",!0),s.hasDigitalOutputs?(r(),h(m,{key:1,title:"Digitale Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",io,[(r(!0),f(k,null,W(s.digitalOutputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},[_(a(y)+": ",1),l(d,{title:s.getActionTitle(u),icon:s.getIcon(u),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):w("",!0),s.hasAnalogInputs?(r(),h(m,{key:2,title:"Analoge Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",ro,[(r(!0),f(k,null,W(s.analogInputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},a(y)+": "+a(u),1))),128))])]),_:1})):w("",!0),s.hasAnalogOutputs?(r(),h(m,{key:3,title:"Analoge Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[t("div",no,[(r(!0),f(k,null,W(s.analogOutputStates,(u,y)=>(r(),f("div",{key:y,class:"col io-state"},a(y)+": "+a(u),1))),128))])]),_:1})):w("",!0)]),_:1},8,["state","state-message","component-id"])}const lo=x(eo,[["render",co],["__scopeId","data-v-356761d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/IoDeviceCard.vue"]]);C.add(ot);const po={name:"VehicleCard",components:{StatusCard:$,FontAwesomeIcon:q},mixins:[B],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}}}},uo={class:"row"},mo={class:"col text-right text-monospace"},go={class:"col text-right text-monospace"},ho={class:"col text-right text-monospace"};function _o(e,o,n,b,v,s){const d=c("font-awesome-icon"),p=c("openwb-base-card"),m=c("status-card");return r(),h(m,{subtype:"info","component-id":s.vehicleIndex,state:e.$store.state.mqtt[s.baseTopic+"/get/fault_state"],"state-message":e.$store.state.mqtt[s.baseTopic+"/get/fault_str"]},O({"header-left":i(()=>[l(d,{icon:["fas","car"]}),_(" "+a(n.vehicleName),1)]),default:i(()=>[l(p,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col pr-0 text-right"},"Ladestand"),t("div",{class:"col pr-0 text-right"},"Reichweite"),t("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),t("div",uo,[t("div",mo,a(s.soc)+" %",1),t("div",go,a(s.socRange)+" km",1),t("div",ho,a(s.socTimestamp),1)])]),_:1})]),_:2},[s.soc!="-"?{name:"header-right",fn:i(()=>[_(a(s.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const bo=x(po,[["render",_o],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);C.add(at);rt.register(nt,ct,lt,dt,pt,ut,mt,gt,ht);const fo={name:"ElectricityPricingCard",components:{StatusCard:$,FontAwesomeIcon:q,ChartjsLine:_t},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/optional/ep/flexible_tariff/provider","openWB/optional/ep/flexible_tariff/get/fault_state","openWB/optional/ep/flexible_tariff/get/fault_str","openWB/optional/ep/grid_fee/provider","openWB/optional/ep/grid_fee/get/fault_state","openWB/optional/ep/grid_fee/get/fault_str","openWB/optional/ep/get/prices","openWB/optional/ep/flexible_tariff/get/prices","openWB/optional/ep/grid_fee/get/prices"],chartDatasets:{datasets:[{label:"Gesamtpreis",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 149, 0, 0.9)",backgroundColor:"rgba(255, 149, 0, 0.7)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}},{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(139, 0, 0, 0.9)",backgroundColor:"rgba(139, 0, 0, 0.9)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}},{label:"Netzentgelt",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.4)",backgroundColor:"rgba(255, 0, 0, 0.4)",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:!0,position:"top",labels:{filter:function(e,o){return!o.datasets[e.datasetIndex].hidden}}}},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},callback:this.formatTickLabel,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:{electricityPricingConfigured(){const e=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"],o=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"];return e&&e.type||o&&o.type},chartDataRead(){return this.chartDataObject.datasets.some(o=>o.data!==void 0&&!o.hidden)},chartDataObject(){var p,m;const e=JSON.parse(JSON.stringify(this.chartDatasets));if(this.$store.state.mqtt["openWB/optional/ep/get/prices"]){var o=this.$store.state.mqtt["openWB/optional/ep/get/prices"],n=[];for(const[g,u]of Object.entries(o))n.push({timestamp:g*1e3,price:u*1e5});if(n.length>0){const g=n.slice(-1)[0];let u=this.endOfToday;if(n.length>1){const y=n.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}n.push({timestamp:u,price:g.price})}e.datasets[0].data=n}else e.datasets[0].hidden=!0;if((p=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])!=null&&p.type&&this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/prices"]){var b=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/prices"],v=[];for(const[g,u]of Object.entries(b))v.push({timestamp:g*1e3,price:u*1e5});if(v.length>0){const g=v.slice(-1)[0];let u=this.endOfToday;if(v.length>1){const y=v.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}v.push({timestamp:u,price:g.price})}e.datasets[1].data=v}else e.datasets[1].hidden=!0;if((m=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])!=null&&m.type&&this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/prices"],d=[];for(const[g,u]of Object.entries(s))d.push({timestamp:g*1e3,price:u*1e5});if(d.length>0){const g=d.slice(-1)[0];let u=this.endOfToday;if(d.length>1){const y=d.slice(-2,-1)[0];u=g.timestamp+g.timestamp-y.timestamp-1}d.push({timestamp:u,price:g.price})}e.datasets[2].data=d}else e.datasets[2].hidden=!0;return e},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)},endOfToday(){return new Date().setHours(23,59,59,999).valueOf()},baseTopic:{get(){return"openWB/optional/ep/flexible_tariff"}},combinedState(){const e=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_state"]||0,o=this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_state"]||0;return Math.max(e,o)},combinedStateMessage(){var o,n;const e=[];if((o=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])!=null&&o.type){const v=(this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_state"]||0)>0?this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/get/fault_str"]:"Kein Fehler.";e.push(`Stromtarif: ${v}`)}if((n=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])!=null&&n.type){const v=(this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_state"]||0)>0?this.$store.state.mqtt["openWB/optional/ep/grid_fee/get/fault_str"]:"Kein Fehler.";e.push(`Netzentgelt: ${v}`)}return e.length>0?e.join(` `):void 0},tariffProvider(){var e;return((e=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])==null?void 0:e.name)||null},gridFeeProvider(){var e;return((e=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])==null?void 0:e.name)||null},showLegend(){var n,b;const e=(n=this.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"])==null?void 0:n.type,o=(b=this.$store.state.mqtt["openWB/optional/ep/grid_fee/provider"])==null?void 0:b.type;return e&&o},dynamicChartOptions(){const e=JSON.parse(JSON.stringify(this.chartOptions));return e.plugins.legend.display=this.showLegend,e.scales.x.ticks.callback=this.formatTickLabel,e}},methods:{formatTickLabel(e){const o=new Date(e);return`${this.endOfToday[l(d,{icon:["fas","ranking-star"]}),o[0]||(o[0]=_(" Variable Strompreise ",-1))]),"header-right":i(()=>[_(a(s.currentPrice)+" ct/kWh",1)]),default:i(()=>[l(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{header:i(()=>[s.tariffProvider?(r(),f("span",vo,"Stromtarif: "+a(s.tariffProvider),1)):w("",!0),s.tariffProvider&&s.gridFeeProvider?(r(),f("br",yo)):w("",!0),s.gridFeeProvider?(r(),f("span",To,"Netzentgelte: "+a(s.gridFeeProvider),1)):w("",!0)]),default:i(()=>[t("div",wo,[s.chartDataRead?(r(),h(p,{key:0,ref:"myChart",data:s.chartDataObject,options:s.dynamicChartOptions},null,8,["data","options"])):w("",!0)])]),_:1})]),_:1},8,["state","state-message"])):w("",!0)}const Wo=x(fo,[["render",xo],["__scopeId","data-v-6a18833c"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityPricingCard.vue"]]);const ko={name:"OpenwbStatusView",components:{ChargePointSumCard:Lt,ChargePointCard:ve,CounterCard:Xe,InverterSumCard:cs,InverterCard:Ws,BatterySumCard:Ls,BatteryCard:to,IoDeviceCard:lo,VehicleCard:bo,ElectricityPricingCard:Wo},mixins:[B],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/system/io/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let e=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[n,b]of Object.entries(e))(b.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[n]=b);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")}},ioDeviceConfigs:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},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(e,o){return Object.keys(e).filter(n=>e[n].type.includes(o)).reduce((n,b)=>({...n,[b]:e[b]}),{})}}},Bo={class:"status"};function Co(e,o,n,b,v,s){const d=c("charge-point-sum-card"),p=c("charge-point-card"),m=c("counter-card"),g=c("inverter-sum-card"),u=c("inverter-card"),y=c("battery-sum-card"),L=c("battery-card"),j=c("vehicle-card"),D=c("io-device-card"),z=c("electricity-pricing-card");return r(),f("div",Bo,[s.numChargePointsInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),h(d,{key:0})):w("",!0),(r(!0),f(k,null,W(s.installedChargePoints,(T,N)=>(r(),h(p,{key:N,"installed-charge-point":T,"installed-charge-point-key":N},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(r(!0),f(k,null,W(s.counterConfigs,T=>(r(),h(m,{key:T.id,counter:T},null,8,["counter"]))),128)),s.numInvertersInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),h(g,{key:1})):w("",!0),(r(!0),f(k,null,W(s.inverterConfigs,T=>(r(),h(u,{key:T.id,inverter:T},null,8,["inverter"]))),128)),s.numBatteriesInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),h(y,{key:2})):w("",!0),(r(!0),f(k,null,W(s.batteryConfigs,T=>(r(),h(L,{key:T.id,battery:T},null,8,["battery"]))),128)),(r(!0),f(k,null,W(s.vehicleNames,(T,N)=>(r(),h(j,{key:N,"vehicle-key":N,"vehicle-name":T},null,8,["vehicle-key","vehicle-name"]))),128)),(r(!0),f(k,null,W(s.ioDeviceConfigs,T=>(r(),h(D,{key:T.id,"io-device":T},null,8,["io-device"]))),128)),e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),h(z,{key:3})):w("",!0)])}const jo=x(ko,[["render",Co],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{jo as default}; diff --git a/web/settings/assets/Support-4d3979ac.js b/web/settings/assets/Support-2a8dc9a4.js similarity index 96% rename from web/settings/assets/Support-4d3979ac.js rename to web/settings/assets/Support-2a8dc9a4.js index b3f7b1c328..33238ff182 100644 --- a/web/settings/assets/Support-4d3979ac.js +++ b/web/settings/assets/Support-2a8dc9a4.js @@ -1,3 +1,3 @@ -import{l as V,g as W,F}from"./vendor-fortawesome-77ba272b.js";import{C as A}from"./index-25097726.js";import{_ as C,u,l as f,m as w,G as s,E as o,A as l,x as k,D as z,z as v,N as M,B as t,q as x}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";V.add(W);const N={name:"OpenwbSupportView",components:{FontAwesomeIcon:F},mixins:[A],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","openWB/system/current_commit","openWB/system/current_branch_commit"],showDeprecatedFirmwareModal:!1,email:void 0,components:void 0,subject:void 0,ticketNumber:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,subject:this.subject,ticketNumber:this.ticketNumber,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var p,a;if(this.components!==void 0)return this.components;let r="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const n of Object.values(e)){const m=n.id,d=((p=n.info)==null?void 0:p.manufacturer)||"N/A",h=((a=n.info)==null?void 0:a.model)||"N/A";r+=`(${m}) Hersteller: ${d}, Modell: ${h} +import{l as V,g as W,F}from"./vendor-fortawesome-641b8eb6.js";import{C as A}from"./index-bbf7119b.js";import{_ as C,u,l as f,m as w,G as s,E as o,A as l,x as k,D as z,z as v,N as M,B as t,q as x}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";V.add(W);const N={name:"OpenwbSupportView",components:{FontAwesomeIcon:F},mixins:[A],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","openWB/system/current_commit","openWB/system/current_branch_commit"],showDeprecatedFirmwareModal:!1,email:void 0,components:void 0,subject:void 0,ticketNumber:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,subject:this.subject,ticketNumber:this.ticketNumber,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var p,a;if(this.components!==void 0)return this.components;let r="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const n of Object.values(e)){const m=n.id,d=((p=n.info)==null?void 0:p.manufacturer)||"N/A",h=((a=n.info)==null?void 0:a.model)||"N/A";r+=`(${m}) Hersteller: ${d}, Modell: ${h} `}return r.trim()},vehicleInfo(){if(this.vehicles!==void 0)return this.vehicles;let r="";const e=this.getWildcardTopics("openWB/vehicle/+/info");for(const[p,a]of Object.entries(e)){const n=parseInt(p.split("/")[2]);if(n!==0){const m=a.manufacturer||"N/A",d=a.model||"N/A";r+=`(${n}) Hersteller: ${m}, Modell: ${d} `}}return r.trim()},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"]}},beforeMount(){this.sendSystemCommand("systemFetchVersions")},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.debugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}},checkFirmware(){this.updateAvailable?this.showDeprecatedFirmwareModal=!0:this.sendDebugMessage()},verifyModalInput(r){this.showDeprecatedFirmwareModal=!1,r=="confirm"&&this.sendDebugMessage()},sendSystemCommand(r,e={}){this.$emit("sendCommand",{command:r,data:e})}}},q={class:"support"},I={name:"supportForm"},T={key:1},U={key:0},j={class:"row justify-content-center"};function H(r,e,p,a,n,m){const d=u("router-link"),h=u("openwb-base-modal-dialog"),b=u("openwb-base-alert"),y=u("FontAwesomeIcon"),g=u("openwb-base-text-input"),c=u("openwb-base-textarea"),B=u("openwb-base-click-button"),S=u("openwb-base-card"),D=u("font-awesome-icon");return f(),w(M,null,[s(h,{show:n.showDeprecatedFirmwareModal,title:"Achtung: Veraltete Software!",subtype:"danger","prevent-close":!0,buttons:[{text:"Trotzdem versenden",event:"confirm",subtype:"danger"},{text:"Nicht versenden",event:"closeDialog"}],onModalResult:e[0]||(e[0]=i=>m.verifyModalInput(i))},{default:o(()=>[e[9]||(e[9]=t(" Möglicherweise wurde das Problem bereits behoben.",-1)),e[10]||(e[10]=l("br",null,null,-1)),e[11]||(e[11]=t(" Bitte führe vor dem Absenden ein ",-1)),s(d,{to:"/System/SystemConfiguration"},{default:o(()=>[...e[8]||(e[8]=[t(" Update ",-1)])]),_:1}),e[12]||(e[12]=t(" durch.",-1)),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=t(" Falls ein Update nicht möglich ist, kann der Systembericht dennoch versendet werden. Falls kein Update gewünscht ist, bieten wir auch über unseren Partner WB Solution GmbH ",-1)),e[15]||(e[15]=l("a",{href:"https://wb-solution.de/produkt/support-token-aeltere-version/",target:"_blank",rel:"noopener noreferrer"},"Support für ältere Softwareversionen",-1)),e[16]||(e[16]=t(" an. ",-1))]),_:1},8,["show"]),l("div",q,[l("form",I,[r.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(f(),k(b,{key:0,subtype:"danger"},{default:o(()=>[e[18]||(e[18]=t(" Du musst der ",-1)),s(d,{to:"/System/LegalSettings"},{default:o(()=>[...e[17]||(e[17]=[t(" Datenschutzerklärung ",-1)])]),_:1}),e[19]||(e[19]=t(" zustimmen, um einen Systembericht senden zu können. ",-1))]),_:1})):(f(),w("div",T,[s(b,{subtype:"success"},{default:o(()=>[e[21]||(e[21]=t(" Du hast der ",-1)),s(d,{to:"/System/LegalSettings"},{default:o(()=>[...e[20]||(e[20]=[t(" Datenschutzerklärung ",-1)])]),_:1}),e[22]||(e[22]=t(" zugestimmt und kannst Systemberichte senden. ",-1))]),_:1}),s(S,{title:"Systembericht"},z({default:o(()=>[r.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(f(),w("div",U,[s(b,{subtype:"danger"},{default:o(()=>[...e[23]||(e[23]=[t(' Vergewissere Dich, dass mindestens die aktuelle "Release" Version installiert ist. ',-1)])]),_:1}),s(b,{subtype:"info"},{default:o(()=>[l("ul",null,[l("li",null,[e[24]||(e[24]=t(" Lies bitte den Hilfetext, der durch Klick auf das ",-1)),s(y,{icon:["far","question-circle"]}),e[25]||(e[25]=t(" angezeigt wird. Nimm das Wiki zur Hilfe. ",-1))]),e[26]||(e[26]=l("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[27]||(e[27]=l("li",null," Stelle sicher, dass der richtige Lademodus gewählt ist und im Falle von nicht ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1)),e[28]||(e[28]=l("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}),s(g,{modelValue:n.email,"onUpdate:modelValue":e[1]||(e[1]=i=>n.email=i),title:"E-Mail",required:"",subtype:"email"},{help:o(()=>[...e[29]||(e[29]=[t(" Deine E-Mail-Adresse, an die der Support Dir antwortet. ",-1)])]),_:1},8,["modelValue"]),s(g,{modelValue:n.subject,"onUpdate:modelValue":e[2]||(e[2]=i=>n.subject=i),title:"Betreff",required:"",minlength:"15",maxlength:"100"},{help:o(()=>[...e[30]||(e[30]=[t(" Du kannst hier einen kurzen Titel für dein Problem angeben. ",-1)])]),_:1},8,["modelValue"]),s(g,{modelValue:n.ticketNumber,"onUpdate:modelValue":e[3]||(e[3]=i=>n.ticketNumber=i),title:"Bestehende Ticketnummer",maxlength:"8",pattern:"[1-9][0-9]{7}"},{help:o(()=>[...e[31]||(e[31]=[t(" Hier kann eine bereits bestehende Ticketnummer eingegeben werden, damit das Ticket schneller zugeordnet werden kann. ",-1)])]),_:1},8,["modelValue"]),s(g,{title:"openWB Seriennummer",required:"","model-value":r.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[4]||(e[4]=i=>r.updateState("openWB/system/serial_number",i))},{help:o(()=>[...e[32]||(e[32]=[t(" 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!",-1),l("br",null,null,-1),t(" Bei einer gekauften openWB wird die Seriennummer automatisch ermittelt. ",-1)])]),_:1},8,["model-value"]),s(c,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500","model-value":m.installedComponents,"onUpdate:modelValue":e[5]||(e[5]=i=>n.components=i)},{help:o(()=>[e[34]||(e[34]=t(" Gib hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind.",-1)),e[35]||(e[35]=l("br",null,null,-1)),s(d,{to:"/HardwareInstallation"},{default:o(()=>[...e[33]||(e[33]=[t(" Die Angaben können auch direkt in der Konfiguration der Komponenten dauerhaft gespeichert werden. ",-1)])]),_:1})]),_:1},8,["model-value"]),s(c,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500","model-value":m.vehicleInfo,"onUpdate:modelValue":e[6]||(e[6]=i=>n.vehicles=i)},{help:o(()=>[e[37]||(e[37]=t(" Gib hier an, welche Fahrzeuge geladen (Hersteller, Modell, Baujahr).",-1)),e[38]||(e[38]=l("br",null,null,-1)),s(d,{to:"/VehicleConfiguration"},{default:o(()=>[...e[36]||(e[36]=[t(" Die Angaben können auch direkt in der Konfiguration der Fahrzeuge dauerhaft gespeichert werden. ",-1)])]),_:1})]),_:1},8,["model-value"]),s(c,{modelValue:n.message,"onUpdate:modelValue":e[7]||(e[7]=i=>n.message=i),title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500"},null,8,["modelValue"])])):v("",!0)]),_:2},[r.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:o(()=>[l("div",j,[s(B,{class:x(["col-4",n.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!n.enableSendDebugButton,onButtonClicked:m.checkFirmware},{default:o(()=>[...e[39]||(e[39]=[t(" Absenden ",-1)])]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),n.enableSendDebugButton?v("",!0):(f(),k(b,{key:0,subtype:"success"},{default:o(()=>[e[40]||(e[40]=t(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Du kannst diese Seite jetzt verlassen. ",-1)),s(D,{icon:["fas","check"]})]),_:1}))]))])])],64)}const R=C(N,[["render",H],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{R as default}; diff --git a/web/settings/assets/SurplusChargeConfig-36b25e12.js b/web/settings/assets/SurplusChargeConfig-2bd04184.js similarity index 97% rename from web/settings/assets/SurplusChargeConfig-36b25e12.js rename to web/settings/assets/SurplusChargeConfig-2bd04184.js index ff2561d3e9..8b3462767f 100644 --- a/web/settings/assets/SurplusChargeConfig-36b25e12.js +++ b/web/settings/assets/SurplusChargeConfig-2bd04184.js @@ -1 +1 @@ -import{C as b}from"./index-25097726.js";import{l as w,_ as v,a8 as _,a9 as W}from"./vendor-fortawesome-77ba272b.js";import{_ as z,u as g,l as h,m as p,A as i,G as a,E as l,B as t,F as B}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";w.add(v,_,W);const k={name:"OpenwbSurplusChargeConfigView",components:{},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/phase_switch_delay","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/retry_failed_phase_switches","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"],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 d="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?d="export":e[0]===0&&e[1]===230?d="import":e[0]===-115&&e[1]===115?d="balanced":d="individual"),d},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"]}}},watch:{controlMode(n){this.calculatedControlMode=n}}},S={class:"pvChargeConfig"},y={name:"pvChargeConfigForm"},V={key:0},L={key:1};function E(n,e,d,P,U,o){const u=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),s=g("openwb-base-number-input"),c=g("openwb-base-card"),f=g("openwb-base-submit-buttons");return h(),p("div",S,[i("form",y,[a(c,{title:"Regelparameter"},{default:l(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(h(),p("div",V,[a(u,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(h(),p("div",L,[a(m,{modelValue:o.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>o.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:l(()=>[...e[14]||(e[14]=[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. Liegt die Leistung am EVU-Punkt innerhalb des Regelbereichs, wird nicht nachgeregelt.",-1),i("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.",-1),i("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ",-1)])]),_:1},8,["modelValue"]),a(s,{disabled:o.controlMode!=="individual",readonly:o.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:l(()=>[...e[15]||(e[15]=[t(" Untere Grenze des Regelbereichs. ",-1)])]),_:1},8,["disabled","readonly","model-value"]),a(s,{disabled:o.controlMode!=="individual",readonly:o.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:l(()=>[...e[16]||(e[16]=[t(" Obere Grenze des Regelbereichs. ",-1)])]),_:1},8,["disabled","readonly","model-value"]),e[25]||(e[25]=i("hr",null,null,-1)),a(u,{subtype:o.chargingSwitchRange<1400?"danger":"info"},{default:l(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+B((o.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),a(s,{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:l(()=>[...e[17]||(e[17]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet.",-1),i("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ",-1)])]),_:1},8,["model-value"]),a(s,{title:"Wartezeit Ladestart & Phasenzuschaltung",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:l(()=>[...e[18]||(e[18]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird.",-1),i("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),i("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])]),_:1},8,["model-value"]),e[26]||(e[26]=i("hr",null,null,-1)),a(u,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:l(()=>[...e[19]||(e[19]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ",-1)])]),_:1},8,["subtype"]),a(s,{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:l(()=>[...e[20]||(e[20]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschwelle, 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)])]),_:1},8,["model-value"]),a(s,{title:"Wartezeit Ladeende & Phasenreduktion",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:l(()=>[...e[21]||(e[21]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird.",-1),i("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),i("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])]),_:1},8,["model-value"]),e[27]||(e[27]=i("hr",null,null,-1)),a(m,{title:"Phasenumschaltung wiederholt anstoßen",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/retry_failed_phase_switches"],"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/retry_failed_phase_switches",r))},{help:l(()=>[...e[22]||(e[22]=[t(" Phasenumschaltungen werden zum Schutz der EV- und WB-Hardware begrenzt.",-1),i("br",null,null,-1),t(" Wenn diese Option aktiviert ist, werden bis zu zwei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt.",-1),i("br",null,null,-1),t(" Die gezählten Fehlversuche werden beim nächsten Wechsel des Lademodus oder mit dem Abstecken zurückgesetzt. ",-1)])]),_:1},8,["model-value"]),a(s,{title:"Pufferzeit zwischen automat. Phasenumschaltungen",unit:"Min.",min:5,max:180,step:1,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phase_switch_delay"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phase_switch_delay",r))},{help:l(()=>[...e[23]||(e[23]=[t(" 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.",-1),i("br",null,null,-1),t(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ",-1)])]),_:1},8,["model-value"]),e[28]||(e[28]=i("hr",null,null,-1)),a(s,{title:"Regelpunkt Einspeisegrenze",min:-1e3,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[9]||(e[9]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:l(()=>[...e[24]||(e[24]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird.",-1),i("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter in irgendeiner Form abgeregelt wird Weitere Infos dazu im ",-1),i("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:ladeeinstellungen:pv-laden-speicherbeachtung#regelpunkt_einspeisegrenze",target:"_blank",rel:"noopener noreferrer"}," Wiki-Beitrag zur Beachtung der Einspeisegrenze ",-1),t(".",-1),i("br",null,null,-1),t(' Bei Erreichen dieses Werts wird die PV-Ladung nacheinander für jedes Fahrzeug im PV-Modus gestartet, bei welchem "Einspeisegrenze beachten" im Ladeprofil aktiviert ist, dies setzt die Einschaltschwelle außer kraft!',-1),i("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)])]),_:1},8,["model-value"])]))]),_:1}),a(f,{"form-name":"pvChargeConfigForm",onSave:e[10]||(e[10]=r=>n.$emit("save")),onReset:e[11]||(e[11]=r=>n.$emit("reset")),onDefaults:e[12]||(e[12]=r=>n.$emit("defaults"))})])])}const N=z(k,[["render",E],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/SurplusChargeConfig.vue"]]);export{N as default}; +import{C as b}from"./index-bbf7119b.js";import{l as w,_ as v,a8 as _,a9 as W}from"./vendor-fortawesome-641b8eb6.js";import{_ as z,u as g,l as h,m as p,A as i,G as a,E as l,B as t,F as B}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";w.add(v,_,W);const k={name:"OpenwbSurplusChargeConfigView",components:{},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/phase_switch_delay","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/retry_failed_phase_switches","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"],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 d="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?d="export":e[0]===0&&e[1]===230?d="import":e[0]===-115&&e[1]===115?d="balanced":d="individual"),d},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"]}}},watch:{controlMode(n){this.calculatedControlMode=n}}},S={class:"pvChargeConfig"},y={name:"pvChargeConfigForm"},V={key:0},L={key:1};function E(n,e,d,P,U,o){const u=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),s=g("openwb-base-number-input"),c=g("openwb-base-card"),f=g("openwb-base-submit-buttons");return h(),p("div",S,[i("form",y,[a(c,{title:"Regelparameter"},{default:l(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(h(),p("div",V,[a(u,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(h(),p("div",L,[a(m,{modelValue:o.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>o.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:l(()=>[...e[14]||(e[14]=[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. Liegt die Leistung am EVU-Punkt innerhalb des Regelbereichs, wird nicht nachgeregelt.",-1),i("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.",-1),i("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ",-1)])]),_:1},8,["modelValue"]),a(s,{disabled:o.controlMode!=="individual",readonly:o.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:l(()=>[...e[15]||(e[15]=[t(" Untere Grenze des Regelbereichs. ",-1)])]),_:1},8,["disabled","readonly","model-value"]),a(s,{disabled:o.controlMode!=="individual",readonly:o.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:l(()=>[...e[16]||(e[16]=[t(" Obere Grenze des Regelbereichs. ",-1)])]),_:1},8,["disabled","readonly","model-value"]),e[25]||(e[25]=i("hr",null,null,-1)),a(u,{subtype:o.chargingSwitchRange<1400?"danger":"info"},{default:l(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+B((o.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),a(s,{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:l(()=>[...e[17]||(e[17]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet.",-1),i("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ",-1)])]),_:1},8,["model-value"]),a(s,{title:"Wartezeit Ladestart & Phasenzuschaltung",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:l(()=>[...e[18]||(e[18]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird.",-1),i("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),i("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])]),_:1},8,["model-value"]),e[26]||(e[26]=i("hr",null,null,-1)),a(u,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:l(()=>[...e[19]||(e[19]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ",-1)])]),_:1},8,["subtype"]),a(s,{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:l(()=>[...e[20]||(e[20]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschwelle, 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)])]),_:1},8,["model-value"]),a(s,{title:"Wartezeit Ladeende & Phasenreduktion",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:l(()=>[...e[21]||(e[21]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird.",-1),i("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),i("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])]),_:1},8,["model-value"]),e[27]||(e[27]=i("hr",null,null,-1)),a(m,{title:"Phasenumschaltung wiederholt anstoßen",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/retry_failed_phase_switches"],"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/retry_failed_phase_switches",r))},{help:l(()=>[...e[22]||(e[22]=[t(" Phasenumschaltungen werden zum Schutz der EV- und WB-Hardware begrenzt.",-1),i("br",null,null,-1),t(" Wenn diese Option aktiviert ist, werden bis zu zwei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt.",-1),i("br",null,null,-1),t(" Die gezählten Fehlversuche werden beim nächsten Wechsel des Lademodus oder mit dem Abstecken zurückgesetzt. ",-1)])]),_:1},8,["model-value"]),a(s,{title:"Pufferzeit zwischen automat. Phasenumschaltungen",unit:"Min.",min:5,max:180,step:1,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phase_switch_delay"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phase_switch_delay",r))},{help:l(()=>[...e[23]||(e[23]=[t(" 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.",-1),i("br",null,null,-1),t(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ",-1)])]),_:1},8,["model-value"]),e[28]||(e[28]=i("hr",null,null,-1)),a(s,{title:"Regelpunkt Einspeisegrenze",min:-1e3,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[9]||(e[9]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:l(()=>[...e[24]||(e[24]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird.",-1),i("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter in irgendeiner Form abgeregelt wird Weitere Infos dazu im ",-1),i("a",{href:"https://wiki.openwb.de/doku.php?id=openwb:vc:2.1.9:software:einstell-konfig:ladeeinstellungen:pv-laden-speicherbeachtung#regelpunkt_einspeisegrenze",target:"_blank",rel:"noopener noreferrer"}," Wiki-Beitrag zur Beachtung der Einspeisegrenze ",-1),t(".",-1),i("br",null,null,-1),t(' Bei Erreichen dieses Werts wird die PV-Ladung nacheinander für jedes Fahrzeug im PV-Modus gestartet, bei welchem "Einspeisegrenze beachten" im Ladeprofil aktiviert ist, dies setzt die Einschaltschwelle außer kraft!',-1),i("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)])]),_:1},8,["model-value"])]))]),_:1}),a(f,{"form-name":"pvChargeConfigForm",onSave:e[10]||(e[10]=r=>n.$emit("save")),onReset:e[11]||(e[11]=r=>n.$emit("reset")),onDefaults:e[12]||(e[12]=r=>n.$emit("defaults"))})])])}const N=z(k,[["render",E],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/SurplusChargeConfig.vue"]]);export{N as default}; diff --git a/web/settings/assets/System-6cef44b5.js b/web/settings/assets/System-d8a9b563.js similarity index 98% rename from web/settings/assets/System-6cef44b5.js rename to web/settings/assets/System-d8a9b563.js index 9fe084efe3..d6cd0ac4bf 100644 --- a/web/settings/assets/System-6cef44b5.js +++ b/web/settings/assets/System-d8a9b563.js @@ -1 +1 @@ -import{l as z,as as E,u as U,af as x,a3 as L,at as F,F as R}from"./vendor-fortawesome-77ba272b.js";import{C as j}from"./index-25097726.js";import{_ as D,u as y,l as f,m as g,x as B,E as i,z as h,G as r,A as a,q as _,N as V,M as A,F as k,B as d}from"./vendor-1833c026.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";z.add(E,U,x,L,F);const T={name:"OpenwbSystemView",components:{FontAwesomeIcon:R},mixins:[j],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/secondary_auto_update","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","openWB/chargepoint/+/get/version","openWB/chargepoint/+/get/current_branch","openWB/chargepoint/+/config","openWB/general/extern"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{externalChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[l,c]of Object.entries(t))c.type==="external_openwb"&&(e[l]=c);return e}},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},branchGroups(){const t="Release",e="Beta",l="master",c=[t,e],b=(u,p)=>u.value==p.value?0:u.value==t?-1:p.value==t?1:u.value==e?-1:p.value==e?1:u.value==l?-1:p.value==l||u.value>p.value?1:u.value{const m=u=>{const p=u.split("-"),v=p[0].split(".");let w=[];return p.length>1?w=p[1].split("."):w=["release","0"],{semver:v,suffix:w}},o=m(c.value),s=m(b.value);if(o.semver[0]=="*HEAD*")return-1;if(s.semver[0]=="*HEAD*")return 1;if(o.semver[0]>s.semver[0])return-1;if(o.semver[0]s.semver[1])return-1;if(o.semver[1]s.semver[2])return-1;if(o.semver[2]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]t[l].type.includes(e)).reduce((l,c)=>({...l,[c]:t[c]}),{})}}},O={class:"system"},I={key:1},N={name:"versionInfoForm"},P={class:"missing-commits"},Z={class:"row justify-content-center"},G={class:"col-md-4 d-flex py-1 justify-content-center"},H={key:3},M={key:0},J={class:"table table-striped"},K={key:1},Q={key:0,name:"powerForm"},X={class:"row justify-content-center"},Y={class:"col-md-4 d-flex py-1 justify-content-center"},ee={class:"col-md-4 d-flex py-1 justify-content-center"},te={key:1,name:"releaseChangeForm"},se={class:"row justify-content-center"},ne={class:"col-md-4 d-flex py-1 justify-content-center"};function re(t,e,l,c,b,m){const o=y("openwb-base-button-group-input"),s=y("openwb-base-alert"),u=y("openwb-base-text-input"),p=y("openwb-base-card"),v=y("font-awesome-icon"),w=y("openwb-base-click-button"),q=y("openwb-base-heading"),S=y("openwb-base-submit-buttons"),C=y("router-link"),W=y("openwb-base-select-input");return f(),g("div",O,[l.installAssistantActive?h("",!0):(f(),B(s,{key:0,subtype:"danger"},{default:i(()=>[e[17]||(e[17]=a("h2",null,"Achtung!",-1)),e[18]||(e[18]=a("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)),r(o,{modelValue:b.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>b.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})),b.warningAcknowledged||l.installAssistantActive?(f(),g("div",I,[r(p,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:i(()=>[r(u,{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"]),r(u,{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"]),r(u,{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}),r(p,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:i(()=>[a("form",N,[r(u,{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"]),r(u,{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"]),r(u,{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:_(m.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),r(u,{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"]),m.updateAvailable?(f(),B(p,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:i(()=>[a("ul",P,[(f(!0),g(V,null,A(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,$)=>(f(),g("li",{key:$},k(n),1))),128))])]),_:1})):h("",!0),l.installAssistantActive?h("",!0):(f(),B(s,{key:1,subtype:"danger"},{default:i(()=>[...e[19]||(e[19]=[d(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ",-1)])]),_:1})),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"&&!l.installAssistantActive?(f(),B(s,{key:2,subtype:"danger"},{default:i(()=>[...e[20]||(e[20]=[d(' 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.',-1),a("br",null,null,-1),d(" 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)])]),_:1})):h("",!0),a("div",Z,[a("div",G,[r(w,{class:_(m.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!m.updateAvailable,onButtonClicked:e[8]||(e[8]=n=>m.systemUpdate())},{default:i(()=>[e[21]||(e[21]=d(" Update ",-1)),r(v,{icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])]),t.$store.state.mqtt["openWB/general/extern"]!=!0&&!l.installAssistantActive&&Object.keys(m.externalChargePoints).length>0?(f(),g("div",H,[e[26]||(e[26]=a("hr",null,null,-1)),r(q,null,{default:i(()=>[...e[22]||(e[22]=[d("Automatisches Update von Secondary openWBs",-1)])]),_:1}),r(s,{subtype:"info"},{default:i(()=>[...e[23]||(e[23]=[d(' Die automatische Updatefunktion für Secondary openWBs ist nur verfügbar, wenn sich die Primary openWB auf dem Entwicklungszweig "Release" befindet. Das Update wird nur auf Secondary openWBs durchgeführt, welche sich ebenfalls auf dem Entwicklungszweig "Release" befinden. Ist die dort installierte Releaseversion zu alt, muss ein einmaliges Update auf die aktuelle Version manuell auf der betroffenen openWB durchgeführt werden. ',-1)])]),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]=="Release"?(f(),g("div",M,[r(o,{title:"Secondary openWBs automatisch mit der Primary updaten",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/secondary_auto_update"],"onUpdate:modelValue":e[9]||(e[9]=n=>t.updateState("openWB/system/secondary_auto_update",n))},{help:i(()=>[...e[24]||(e[24]=[d(' Diese Option ist nur auf dem Entwicklungszweig "Release" verfügbar. Ist diese Option aktiviert, dann werden Secondary openWBs, welche sich ebenfalls auf dem Entwicklungszweig "Release" befinden gleichzeitig mit der Primary openWB aktualisiert. ',-1)])]),_:1},8,["model-value"])])):h("",!0),a("table",J,[e[25]||(e[25]=a("thead",null,[a("tr",null,[a("th",null,"Secondary"),a("th",null,"Software-Status"),a("th",null,"IP-Adresse")])],-1)),a("tbody",null,[(f(!0),g(V,null,A(m.externalChargePoints,n=>(f(),g("tr",{key:n.id},[a("td",null,k(n.name),1),a("td",null,k(t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]===void 0?"Version zu alt oder openWB ist nicht erreichbar. Bitte manuell updaten bzw. prüfen.":t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]!="Release"?"Secondary ist nicht auf dem Release-Zweig. Bitte manuell updaten.":t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]+" "+t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/version"]),1),a("td",null,k(n.configuration.ip_address),1)]))),128))])]),t.$store.state.mqtt["openWB/system/current_branch"]=="Release"?(f(),g("div",K,[r(S,{"form-name":"versionInfoForm","hide-defaults":!0,onSave:e[10]||(e[10]=n=>t.$emit("save")),onReset:e[11]||(e[11]=n=>t.$emit("reset"))})])):h("",!0)])):h("",!0)])]),_:1},8,["collapsed"]),l.installAssistantActive?h("",!0):(f(),g("form",Q,[r(p,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:i(()=>[a("div",X,[a("div",Y,[r(w,{class:"btn-warning",onButtonClicked:e[12]||(e[12]=n=>m.sendSystemCommand("systemReboot"))},{default:i(()=>[e[33]||(e[33]=d(" Neustart ",-1)),r(v,{icon:["fas","undo"]})]),_:1})]),a("div",ee,[r(w,{class:"btn-danger",onButtonClicked:e[13]||(e[13]=n=>m.sendSystemCommand("systemShutdown"))},{default:i(()=>[e[34]||(e[34]=d(" Ausschalten ",-1)),r(v,{icon:["fas","power-off"]})]),_:1})])])]),default:i(()=>[r(s,{subtype:"danger"},{default:i(()=>[...e[27]||(e[27]=[d(" 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}),r(s,{subtype:"info"},{default:i(()=>[e[29]||(e[29]=d(" Ein Neustart löscht wichtige Protokolle, die bei der Fehlersuche helfen können. ",-1)),e[30]||(e[30]=a("br",null,null,-1)),e[31]||(e[31]=d("Tipp: Erstelle stattdessen zuerst einen ",-1)),r(C,{to:"/System/Support"},{default:i(()=>[...e[28]||(e[28]=[d(" Systembericht ",-1)])]),_:1}),e[32]||(e[32]=d(" – das hilft oft mehr und bewahrt alle relevanten Logs. ",-1))]),_:1})]),_:1})])),l.installAssistantActive?h("",!0):(f(),g("form",te,[r(p,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[a("div",se,[a("div",ne,[r(w,{class:_(m.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!m.releaseChangeValid,onButtonClicked:e[16]||(e[16]=n=>m.switchBranch())},{default:i(()=>[r(v,{icon:["fas","skull-crossbones"]}),e[37]||(e[37]=d(" Branch und Tag wechseln ",-1)),r(v,{icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:i(()=>[r(s,{subtype:"danger"},{default:i(()=>[...e[35]||(e[35]=[d(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ",-1)])]),_:1}),r(s,{subtype:"warning"},{default:i(()=>[...e[36]||(e[36]=[d(" 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.",-1),a("br",null,null,-1),d(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.',-1),a("br",null,null,-1),d(' 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.',-1),a("br",null,null,-1),d(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.',-1),a("br",null,null,-1),d(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ',-1)])]),_:1}),r(W,{title:"Entwicklungszweig",groups:m.branchGroups,"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[14]||(e[14]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),r(W,{modelValue:b.selectedTag,"onUpdate:modelValue":e[15]||(e[15]=n=>b.selectedTag=n),title:"Tag",options:m.branchTagOptions},null,8,["modelValue","options"])]),_:1})]))])):h("",!0)])}const pe=D(T,[["render",re],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{pe as default}; +import{l as z,as as E,u as U,af as x,a3 as L,at as F,F as R}from"./vendor-fortawesome-641b8eb6.js";import{C as j}from"./index-bbf7119b.js";import{_ as D,u as y,l as f,m as g,x as B,E as i,z as h,G as r,A as a,q as _,N as V,M as A,F as k,B as d}from"./vendor-50125810.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";z.add(E,U,x,L,F);const T={name:"OpenwbSystemView",components:{FontAwesomeIcon:R},mixins:[j],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/secondary_auto_update","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","openWB/chargepoint/+/get/version","openWB/chargepoint/+/get/current_branch","openWB/chargepoint/+/config","openWB/general/extern"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{externalChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[l,c]of Object.entries(t))c.type==="external_openwb"&&(e[l]=c);return e}},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},branchGroups(){const t="Release",e="Beta",l="master",c=[t,e],b=(u,p)=>u.value==p.value?0:u.value==t?-1:p.value==t?1:u.value==e?-1:p.value==e?1:u.value==l?-1:p.value==l||u.value>p.value?1:u.value{const m=u=>{const p=u.split("-"),v=p[0].split(".");let w=[];return p.length>1?w=p[1].split("."):w=["release","0"],{semver:v,suffix:w}},o=m(c.value),s=m(b.value);if(o.semver[0]=="*HEAD*")return-1;if(s.semver[0]=="*HEAD*")return 1;if(o.semver[0]>s.semver[0])return-1;if(o.semver[0]s.semver[1])return-1;if(o.semver[1]s.semver[2])return-1;if(o.semver[2]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]s.suffix[1])return-1;if(o.suffix[1]t[l].type.includes(e)).reduce((l,c)=>({...l,[c]:t[c]}),{})}}},O={class:"system"},I={key:1},N={name:"versionInfoForm"},P={class:"missing-commits"},Z={class:"row justify-content-center"},G={class:"col-md-4 d-flex py-1 justify-content-center"},H={key:3},M={key:0},J={class:"table table-striped"},K={key:1},Q={key:0,name:"powerForm"},X={class:"row justify-content-center"},Y={class:"col-md-4 d-flex py-1 justify-content-center"},ee={class:"col-md-4 d-flex py-1 justify-content-center"},te={key:1,name:"releaseChangeForm"},se={class:"row justify-content-center"},ne={class:"col-md-4 d-flex py-1 justify-content-center"};function re(t,e,l,c,b,m){const o=y("openwb-base-button-group-input"),s=y("openwb-base-alert"),u=y("openwb-base-text-input"),p=y("openwb-base-card"),v=y("font-awesome-icon"),w=y("openwb-base-click-button"),q=y("openwb-base-heading"),S=y("openwb-base-submit-buttons"),C=y("router-link"),W=y("openwb-base-select-input");return f(),g("div",O,[l.installAssistantActive?h("",!0):(f(),B(s,{key:0,subtype:"danger"},{default:i(()=>[e[17]||(e[17]=a("h2",null,"Achtung!",-1)),e[18]||(e[18]=a("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)),r(o,{modelValue:b.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>b.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})),b.warningAcknowledged||l.installAssistantActive?(f(),g("div",I,[r(p,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:i(()=>[r(u,{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"]),r(u,{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"]),r(u,{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}),r(p,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:i(()=>[a("form",N,[r(u,{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"]),r(u,{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"]),r(u,{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:_(m.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),r(u,{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"]),m.updateAvailable?(f(),B(p,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:i(()=>[a("ul",P,[(f(!0),g(V,null,A(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,$)=>(f(),g("li",{key:$},k(n),1))),128))])]),_:1})):h("",!0),l.installAssistantActive?h("",!0):(f(),B(s,{key:1,subtype:"danger"},{default:i(()=>[...e[19]||(e[19]=[d(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ",-1)])]),_:1})),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"&&!l.installAssistantActive?(f(),B(s,{key:2,subtype:"danger"},{default:i(()=>[...e[20]||(e[20]=[d(' 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.',-1),a("br",null,null,-1),d(" 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)])]),_:1})):h("",!0),a("div",Z,[a("div",G,[r(w,{class:_(m.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!m.updateAvailable,onButtonClicked:e[8]||(e[8]=n=>m.systemUpdate())},{default:i(()=>[e[21]||(e[21]=d(" Update ",-1)),r(v,{icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])]),t.$store.state.mqtt["openWB/general/extern"]!=!0&&!l.installAssistantActive&&Object.keys(m.externalChargePoints).length>0?(f(),g("div",H,[e[26]||(e[26]=a("hr",null,null,-1)),r(q,null,{default:i(()=>[...e[22]||(e[22]=[d("Automatisches Update von Secondary openWBs",-1)])]),_:1}),r(s,{subtype:"info"},{default:i(()=>[...e[23]||(e[23]=[d(' Die automatische Updatefunktion für Secondary openWBs ist nur verfügbar, wenn sich die Primary openWB auf dem Entwicklungszweig "Release" befindet. Das Update wird nur auf Secondary openWBs durchgeführt, welche sich ebenfalls auf dem Entwicklungszweig "Release" befinden. Ist die dort installierte Releaseversion zu alt, muss ein einmaliges Update auf die aktuelle Version manuell auf der betroffenen openWB durchgeführt werden. ',-1)])]),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]=="Release"?(f(),g("div",M,[r(o,{title:"Secondary openWBs automatisch mit der Primary updaten",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/secondary_auto_update"],"onUpdate:modelValue":e[9]||(e[9]=n=>t.updateState("openWB/system/secondary_auto_update",n))},{help:i(()=>[...e[24]||(e[24]=[d(' Diese Option ist nur auf dem Entwicklungszweig "Release" verfügbar. Ist diese Option aktiviert, dann werden Secondary openWBs, welche sich ebenfalls auf dem Entwicklungszweig "Release" befinden gleichzeitig mit der Primary openWB aktualisiert. ',-1)])]),_:1},8,["model-value"])])):h("",!0),a("table",J,[e[25]||(e[25]=a("thead",null,[a("tr",null,[a("th",null,"Secondary"),a("th",null,"Software-Status"),a("th",null,"IP-Adresse")])],-1)),a("tbody",null,[(f(!0),g(V,null,A(m.externalChargePoints,n=>(f(),g("tr",{key:n.id},[a("td",null,k(n.name),1),a("td",null,k(t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]===void 0?"Version zu alt oder openWB ist nicht erreichbar. Bitte manuell updaten bzw. prüfen.":t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]!="Release"?"Secondary ist nicht auf dem Release-Zweig. Bitte manuell updaten.":t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/current_branch"]+" "+t.$store.state.mqtt["openWB/chargepoint/"+n.id+"/get/version"]),1),a("td",null,k(n.configuration.ip_address),1)]))),128))])]),t.$store.state.mqtt["openWB/system/current_branch"]=="Release"?(f(),g("div",K,[r(S,{"form-name":"versionInfoForm","hide-defaults":!0,onSave:e[10]||(e[10]=n=>t.$emit("save")),onReset:e[11]||(e[11]=n=>t.$emit("reset"))})])):h("",!0)])):h("",!0)])]),_:1},8,["collapsed"]),l.installAssistantActive?h("",!0):(f(),g("form",Q,[r(p,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:i(()=>[a("div",X,[a("div",Y,[r(w,{class:"btn-warning",onButtonClicked:e[12]||(e[12]=n=>m.sendSystemCommand("systemReboot"))},{default:i(()=>[e[33]||(e[33]=d(" Neustart ",-1)),r(v,{icon:["fas","undo"]})]),_:1})]),a("div",ee,[r(w,{class:"btn-danger",onButtonClicked:e[13]||(e[13]=n=>m.sendSystemCommand("systemShutdown"))},{default:i(()=>[e[34]||(e[34]=d(" Ausschalten ",-1)),r(v,{icon:["fas","power-off"]})]),_:1})])])]),default:i(()=>[r(s,{subtype:"danger"},{default:i(()=>[...e[27]||(e[27]=[d(" 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}),r(s,{subtype:"info"},{default:i(()=>[e[29]||(e[29]=d(" Ein Neustart löscht wichtige Protokolle, die bei der Fehlersuche helfen können. ",-1)),e[30]||(e[30]=a("br",null,null,-1)),e[31]||(e[31]=d("Tipp: Erstelle stattdessen zuerst einen ",-1)),r(C,{to:"/System/Support"},{default:i(()=>[...e[28]||(e[28]=[d(" Systembericht ",-1)])]),_:1}),e[32]||(e[32]=d(" – das hilft oft mehr und bewahrt alle relevanten Logs. ",-1))]),_:1})]),_:1})])),l.installAssistantActive?h("",!0):(f(),g("form",te,[r(p,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[a("div",se,[a("div",ne,[r(w,{class:_(m.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!m.releaseChangeValid,onButtonClicked:e[16]||(e[16]=n=>m.switchBranch())},{default:i(()=>[r(v,{icon:["fas","skull-crossbones"]}),e[37]||(e[37]=d(" Branch und Tag wechseln ",-1)),r(v,{icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:i(()=>[r(s,{subtype:"danger"},{default:i(()=>[...e[35]||(e[35]=[d(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ",-1)])]),_:1}),r(s,{subtype:"warning"},{default:i(()=>[...e[36]||(e[36]=[d(" 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.",-1),a("br",null,null,-1),d(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.',-1),a("br",null,null,-1),d(' 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.',-1),a("br",null,null,-1),d(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.',-1),a("br",null,null,-1),d(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ',-1)])]),_:1}),r(W,{title:"Entwicklungszweig",groups:m.branchGroups,"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[14]||(e[14]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),r(W,{modelValue:b.selectedTag,"onUpdate:modelValue":e[15]||(e[15]=n=>b.selectedTag=n),title:"Tag",options:m.branchTagOptions},null,8,["modelValue","options"])]),_:1})]))])):h("",!0)])}const pe=D(T,[["render",re],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{pe as default}; diff --git a/web/settings/assets/TestingStore-aa7d175d.js b/web/settings/assets/TestingStore-7629b365.js similarity index 96% rename from web/settings/assets/TestingStore-aa7d175d.js rename to web/settings/assets/TestingStore-7629b365.js index c788a16338..1c7dad2140 100644 --- a/web/settings/assets/TestingStore-aa7d175d.js +++ b/web/settings/assets/TestingStore-7629b365.js @@ -1 +1 @@ -import{C as B}from"./index-25097726.js";import{S as O}from"./OpenwbSortableList-ca37615e.js";import{_ as T,u,l as D,m as Z,A as s,G as o,E as n,B as a,F as S}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:O},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},G={class:"testingStore"},L={name:"testingStoreForm"};function j(t,e,A,F,J,W){const b=u("OpenwbBaseHeading"),E=u("OpenwbBaseSettingElement"),$=u("openwb-base-button-input"),v=u("openwb-base-button-group-input"),i=u("openwb-base-card"),f=u("openwb-base-color-picker"),p=u("openwb-base-text-input"),r=u("openwb-base-number-input"),x=u("openwb-base-textarea"),g=u("openwb-base-range-input"),m=u("openwb-base-select-input"),w=u("openwb-base-heading"),V=u("openwb-base-checkbox-input"),y=u("openwb-base-array-input"),k=u("openwb-base-copy-to-clipboard"),d=u("openwb-base-alert"),U=u("sortable-list"),z=u("openwb-base-submit-buttons");return D(),Z("div",G,[s("form",L,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(b,null,{default:n(()=>[...e[31]||(e[31]=[a(" Basiselement ",-1)])]),_:1}),o(E,null,{title:n(()=>[...e[32]||(e[32]=[s("span",{style:{"font-style":"italic"}},[a(" Styled "),s("span",{style:{"font-weight":"bold"}},"Title"),a(" Slot ")],-1)])]),help:n(()=>[...e[33]||(e[33]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein ",-1),s("a",{href:"test"},"Link",-1),a(". ",-1)])]),_:1}),o(b,null,{default:n(()=>[...e[34]||(e[34]=[a(" Abgeleitete Elemente ",-1)])]),_:1}),o($,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>[...e[35]||(e[35]=[a(" Einfacher Click-Button für Aktionen. ",-1)])]),_:1}),o(v,{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[36]||(e[36]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. ",-1),s("a",{href:"test"},"Link",-1),a(". ",-1)])]),_: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[2]||(e[2]=l=>t.updateState("text1",l))},{help:n(()=>[...e[37]||(e[37]=[a(" Einfacher Text",-1),s("br",null,null,-1),a(' Diese Komponente hat einen Slot "append" für zusätzliche Elemente, die rechts vom Eingabefeld angezeigt werden sollen. Das ist hier z.B. ein Farbauswahl-Element. Die Farbe kann zurückgesetzt werden, weil eine Standardfarbe gesetzt ist. Das ist hier z.B. rot (#ff0000). ',-1)])]),append:n(()=>[o(f,{class:"p-1","model-value":t.$store.state.examples.color1,"default-color":"#ff0000","onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("color1",l))},null,8,["model-value"])]),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text2",l))},{help:n(()=>[...e[38]||(e[38]=[a(" Eingabefeld für E-Mailadressen ",-1)])]),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text3",l))},{help:n(()=>[...e[39]||(e[39]=[a(" Eingabefeld für Hosts (IP oder Namen) ",-1)])]),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text4",l))},{help:n(()=>[...e[40]||(e[40]=[a(" Eingabefeld für URLs ",-1)])]),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text5",l))},{help:n(()=>[...e[41]||(e[41]=[a(" Eingabefeld für Benutzernamen ",-1)])]),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text6",l))},{help:n(()=>[...e[42]||(e[42]=[a(" Eingabefeld für Zeiten ",-1)])]),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("text7",l))},{help:n(()=>[...e[43]||(e[43]=[a(" Eingabefeld für ein Datum ",-1)])]),_:1},8,["model-value"]),e[49]||(e[49]=s("hr",null,null,-1)),o(r,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number1",l))},{help:n(()=>[...e[44]||(e[44]=[a(" Zahl mit Einheit.",-1),s("br",null,null,-1),a(' Diese Komponente hat einen Slot "append" für zusätzliche Elemente, die rechts vom Eingabefeld angezeigt werden sollen. Das ist hier z.B. ein Farbauswahl-Element. Ohne Standardfarbe kann die Farbe nicht zurückgesetzt werden. ',-1)])]),append:n(()=>[o(f,{class:"p-1","model-value":t.$store.state.examples.color2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("color2",l))},null,8,["model-value"])]),_:1},8,["model-value"]),o(r,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("number2",l))},{help:n(()=>[...e[45]||(e[45]=[a(" Eingabefeld für Zahlen ohne Einheit ",-1)])]),_:1},8,["model-value"]),o(r,{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[12]||(e[12]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>[...e[46]||(e[46]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen",-1),s("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.',-1),s("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)])]),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("password1",l))},{help:n(()=>[...e[47]||(e[47]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ",-1)])]),_:1},8,["model-value"]),e[50]||(e[50]=s("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("textarea1",l))},{help:n(()=>[...e[48]||(e[48]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ",-1)])]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(g,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("range1",l))},{help:n(()=>[...e[51]||(e[51]=[a(" Range ohne spezielle Labels ",-1)])]),_:1},8,["model-value"]),o(g,{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[16]||(e[16]=l=>t.updateState("range2",l))},{help:n(()=>[...e[52]||(e[52]=[a(" Range mit speziellen Labels ",-1)])]),_:1},8,["model-value"]),e[58]||(e[58]=s("hr",null,null,-1)),o(m,{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[17]||(e[17]=l=>t.updateState("select1",l))},{help:n(()=>[...e[53]||(e[53]=[a(" Select mit einfachen Optionen ",-1)])]),_:1},8,["model-value"]),o(m,{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[18]||(e[18]=l=>t.updateState("select2",l)),"onInput:add":e[19]||(e[19]=l=>t.alert("add button pressed"))},{help:n(()=>[...e[54]||(e[54]=[a(" Select mit Gruppen und Add-Button. ",-1)])]),_:1},8,["model-value"]),e[59]||(e[59]=s("hr",null,null,-1)),o(v,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>[...e[55]||(e[55]=[a(" Hilfetext ",-1)])]),_:1},8,["model-value"]),o(w,null,{default:n(()=>[e[56]||(e[56]=a(" Select Element ohne Label: ",-1)),o(m,{class:"mb-1","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("select1",l))},null,8,["model-value"])]),_:1}),e[60]||(e[60]=s("hr",null,null,-1)),o(V,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("checkbox1",l))},{help:n(()=>[...e[57]||(e[57]=[a(" Hilfetext ",-1)])]),_: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[23]||(e[23]=l=>t.updateState("json1",l))},{help:n(()=>[...e[61]||(e[61]=[a(" JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[24]||(e[24]=l=>t.updateState("json1",l,"text"))},{help:n(()=>[...e[62]||(e[62]=[a(" Text im JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(r,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[25]||(e[25]=l=>t.updateState("json1",l,"number"))},{help:n(()=>[...e[63]||(e[63]=[a(" Zahl im JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(y,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[26]||(e[26]=l=>t.updateState("tags",l))},{help:n(()=>[s("pre",null,S(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>[...e[64]||(e[64]=[s("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),s("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])]),default:n(()=>[o(w,null,{help:n(()=>[...e[65]||(e[65]=[a(" Es sind auch Hilfetexte im #help Slot möglich. ",-1),s("a",{href:"test"},"Link",-1)])]),default:n(()=>[e[66]||(e[66]=a(" Das ist eine Überschrift ",-1))]),_:1}),o(d,null,{default:n(()=>[e[68]||(e[68]=a(" Meldung ohne speziellen Subtype. ",-1)),o(k,null,{default:n(()=>[...e[67]||(e[67]=[a("Kopiere mich!",-1)])]),_:1})]),_:1}),o(d,{subtype:"info"},{default:n(()=>[...e[69]||(e[69]=[a(" Infomeldung ",-1)])]),_:1}),o(d,{subtype:"warning"},{default:n(()=>[...e[70]||(e[70]=[a(" Warnmeldung ",-1)])]),_:1}),o(d,{subtype:"danger"},{default:n(()=>[...e[71]||(e[71]=[a(" Fehlermeldung ",-1)])]),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[27]||(e[27]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[s("pre",null,S(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(z,{"form-name":"testingStoreForm",onSave:e[28]||(e[28]=l=>t.$emit("save")),onReset:e[29]||(e[29]=l=>t.$emit("reset")),onDefaults:e[30]||(e[30]=l=>t.$emit("defaults"))})])])}const Q=T(N,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{Q as default}; +import{C as B}from"./index-bbf7119b.js";import{S as O}from"./OpenwbSortableList-f1671b8d.js";import{_ as T,u,l as D,m as Z,A as s,G as o,E as n,B as a,F as S}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:O},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},G={class:"testingStore"},L={name:"testingStoreForm"};function j(t,e,A,F,J,W){const b=u("OpenwbBaseHeading"),E=u("OpenwbBaseSettingElement"),$=u("openwb-base-button-input"),v=u("openwb-base-button-group-input"),i=u("openwb-base-card"),f=u("openwb-base-color-picker"),p=u("openwb-base-text-input"),r=u("openwb-base-number-input"),x=u("openwb-base-textarea"),g=u("openwb-base-range-input"),m=u("openwb-base-select-input"),w=u("openwb-base-heading"),V=u("openwb-base-checkbox-input"),y=u("openwb-base-array-input"),k=u("openwb-base-copy-to-clipboard"),d=u("openwb-base-alert"),U=u("sortable-list"),z=u("openwb-base-submit-buttons");return D(),Z("div",G,[s("form",L,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(b,null,{default:n(()=>[...e[31]||(e[31]=[a(" Basiselement ",-1)])]),_:1}),o(E,null,{title:n(()=>[...e[32]||(e[32]=[s("span",{style:{"font-style":"italic"}},[a(" Styled "),s("span",{style:{"font-weight":"bold"}},"Title"),a(" Slot ")],-1)])]),help:n(()=>[...e[33]||(e[33]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein ",-1),s("a",{href:"test"},"Link",-1),a(". ",-1)])]),_:1}),o(b,null,{default:n(()=>[...e[34]||(e[34]=[a(" Abgeleitete Elemente ",-1)])]),_:1}),o($,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>[...e[35]||(e[35]=[a(" Einfacher Click-Button für Aktionen. ",-1)])]),_:1}),o(v,{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[36]||(e[36]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. ",-1),s("a",{href:"test"},"Link",-1),a(". ",-1)])]),_: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[2]||(e[2]=l=>t.updateState("text1",l))},{help:n(()=>[...e[37]||(e[37]=[a(" Einfacher Text",-1),s("br",null,null,-1),a(' Diese Komponente hat einen Slot "append" für zusätzliche Elemente, die rechts vom Eingabefeld angezeigt werden sollen. Das ist hier z.B. ein Farbauswahl-Element. Die Farbe kann zurückgesetzt werden, weil eine Standardfarbe gesetzt ist. Das ist hier z.B. rot (#ff0000). ',-1)])]),append:n(()=>[o(f,{class:"p-1","model-value":t.$store.state.examples.color1,"default-color":"#ff0000","onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("color1",l))},null,8,["model-value"])]),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text2",l))},{help:n(()=>[...e[38]||(e[38]=[a(" Eingabefeld für E-Mailadressen ",-1)])]),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text3",l))},{help:n(()=>[...e[39]||(e[39]=[a(" Eingabefeld für Hosts (IP oder Namen) ",-1)])]),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text4",l))},{help:n(()=>[...e[40]||(e[40]=[a(" Eingabefeld für URLs ",-1)])]),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text5",l))},{help:n(()=>[...e[41]||(e[41]=[a(" Eingabefeld für Benutzernamen ",-1)])]),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text6",l))},{help:n(()=>[...e[42]||(e[42]=[a(" Eingabefeld für Zeiten ",-1)])]),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("text7",l))},{help:n(()=>[...e[43]||(e[43]=[a(" Eingabefeld für ein Datum ",-1)])]),_:1},8,["model-value"]),e[49]||(e[49]=s("hr",null,null,-1)),o(r,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number1",l))},{help:n(()=>[...e[44]||(e[44]=[a(" Zahl mit Einheit.",-1),s("br",null,null,-1),a(' Diese Komponente hat einen Slot "append" für zusätzliche Elemente, die rechts vom Eingabefeld angezeigt werden sollen. Das ist hier z.B. ein Farbauswahl-Element. Ohne Standardfarbe kann die Farbe nicht zurückgesetzt werden. ',-1)])]),append:n(()=>[o(f,{class:"p-1","model-value":t.$store.state.examples.color2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("color2",l))},null,8,["model-value"])]),_:1},8,["model-value"]),o(r,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("number2",l))},{help:n(()=>[...e[45]||(e[45]=[a(" Eingabefeld für Zahlen ohne Einheit ",-1)])]),_:1},8,["model-value"]),o(r,{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[12]||(e[12]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>[...e[46]||(e[46]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen",-1),s("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.',-1),s("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)])]),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("password1",l))},{help:n(()=>[...e[47]||(e[47]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ",-1)])]),_:1},8,["model-value"]),e[50]||(e[50]=s("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("textarea1",l))},{help:n(()=>[...e[48]||(e[48]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ",-1)])]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(g,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("range1",l))},{help:n(()=>[...e[51]||(e[51]=[a(" Range ohne spezielle Labels ",-1)])]),_:1},8,["model-value"]),o(g,{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[16]||(e[16]=l=>t.updateState("range2",l))},{help:n(()=>[...e[52]||(e[52]=[a(" Range mit speziellen Labels ",-1)])]),_:1},8,["model-value"]),e[58]||(e[58]=s("hr",null,null,-1)),o(m,{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[17]||(e[17]=l=>t.updateState("select1",l))},{help:n(()=>[...e[53]||(e[53]=[a(" Select mit einfachen Optionen ",-1)])]),_:1},8,["model-value"]),o(m,{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[18]||(e[18]=l=>t.updateState("select2",l)),"onInput:add":e[19]||(e[19]=l=>t.alert("add button pressed"))},{help:n(()=>[...e[54]||(e[54]=[a(" Select mit Gruppen und Add-Button. ",-1)])]),_:1},8,["model-value"]),e[59]||(e[59]=s("hr",null,null,-1)),o(v,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>[...e[55]||(e[55]=[a(" Hilfetext ",-1)])]),_:1},8,["model-value"]),o(w,null,{default:n(()=>[e[56]||(e[56]=a(" Select Element ohne Label: ",-1)),o(m,{class:"mb-1","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("select1",l))},null,8,["model-value"])]),_:1}),e[60]||(e[60]=s("hr",null,null,-1)),o(V,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("checkbox1",l))},{help:n(()=>[...e[57]||(e[57]=[a(" Hilfetext ",-1)])]),_: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[23]||(e[23]=l=>t.updateState("json1",l))},{help:n(()=>[...e[61]||(e[61]=[a(" JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[24]||(e[24]=l=>t.updateState("json1",l,"text"))},{help:n(()=>[...e[62]||(e[62]=[a(" Text im JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(r,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[25]||(e[25]=l=>t.updateState("json1",l,"number"))},{help:n(()=>[...e[63]||(e[63]=[a(" Zahl im JSON Objekt ",-1)])]),_:1},8,["model-value"]),o(y,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[26]||(e[26]=l=>t.updateState("tags",l))},{help:n(()=>[s("pre",null,S(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>[...e[64]||(e[64]=[s("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),s("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])]),default:n(()=>[o(w,null,{help:n(()=>[...e[65]||(e[65]=[a(" Es sind auch Hilfetexte im #help Slot möglich. ",-1),s("a",{href:"test"},"Link",-1)])]),default:n(()=>[e[66]||(e[66]=a(" Das ist eine Überschrift ",-1))]),_:1}),o(d,null,{default:n(()=>[e[68]||(e[68]=a(" Meldung ohne speziellen Subtype. ",-1)),o(k,null,{default:n(()=>[...e[67]||(e[67]=[a("Kopiere mich!",-1)])]),_:1})]),_:1}),o(d,{subtype:"info"},{default:n(()=>[...e[69]||(e[69]=[a(" Infomeldung ",-1)])]),_:1}),o(d,{subtype:"warning"},{default:n(()=>[...e[70]||(e[70]=[a(" Warnmeldung ",-1)])]),_:1}),o(d,{subtype:"danger"},{default:n(()=>[...e[71]||(e[71]=[a(" Fehlermeldung ",-1)])]),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[27]||(e[27]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[s("pre",null,S(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(z,{"form-name":"testingStoreForm",onSave:e[28]||(e[28]=l=>t.$emit("save")),onReset:e[29]||(e[29]=l=>t.$emit("reset")),onDefaults:e[30]||(e[30]=l=>t.$emit("defaults"))})])])}const Q=T(N,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{Q as default}; diff --git a/web/settings/assets/VehicleConfig-2de1808b.js b/web/settings/assets/VehicleConfig-2de1808b.js deleted file mode 100644 index 499f6dda91..0000000000 --- a/web/settings/assets/VehicleConfig-2de1808b.js +++ /dev/null @@ -1 +0,0 @@ -import{l as Z,a6 as ae,a7 as ie,F as O,_ as R,S as I,E as H,G as j,ao as J,an as G,aq as re,ar as ue,ah as $,am as Q,ab as X,d as de,a0 as oe,ap as se,R as me,M as ge}from"./vendor-fortawesome-77ba272b.js";import{_ as k,C as Y}from"./index-25097726.js";import{_ as pe}from"./dynamic-import-helper-be004503.js";import{_ as q,u as c,l as o,m as p,x as b,E as a,B as i,F as w,G as l,A as g,a2 as he,a3 as ce,N as W,q as ee,y as B,z as m,M as D,D as x}from"./vendor-1833c026.js";const be={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},fe=q(be,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),ve={name:"VehicleConfigFallback",mixins:[fe]},_e={class:"vehicle-fallback"},Ve={key:1};function ke(n,e,f,A,S,t){const y=c("openwb-base-alert"),h=c("openwb-base-textarea");return o(),p("div",_e,[Object.keys(n.vehicle.configuration).length==0?(o(),b(y,{key:0,subtype:"info"},{default:a(()=>[i(' Der Fahrzeug-Typ "'+w(n.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(o(),p("div",Ve,[l(y,{subtype:"warning"},{default:a(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+w(n.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),l(h,{title:"Konfiguration",subtype:"json","model-value":n.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=z=>n.updateConfiguration(z,"configuration"))},{help:a(()=>[...e[1]||(e[1]=[i(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),l(y,{subtype:"info"},{default:a(()=>[g("pre",null,w(JSON.stringify(n.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const we=q(ve,[["render",ke],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]);Z.add(ae,ie);const ze={name:"OpenwbVehicleProxy",components:{FontAwesomeIcon:O},props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],methods:{getVehicleComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),he({loader:()=>pe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-0fb2ed2f.js"),["assets/vehicle-0fb2ed2f.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-8342abc4.js"),["assets/vehicle-8342abc4.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./cupra/vehicle.vue":()=>k(()=>import("./vehicle-81357ab5.js"),["assets/vehicle-81357ab5.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-e69ea87a.js"),["assets/vehicle-e69ea87a.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-053499ec.js"),["assets/vehicle-053499ec.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./homeassistant/vehicle.vue":()=>k(()=>import("./vehicle-fa4abc83.js"),["assets/vehicle-fa4abc83.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-4cad221d.js"),["assets/vehicle-4cad221d.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-b8118a27.js"),["assets/vehicle-b8118a27.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-dcc40385.js"),["assets/vehicle-dcc40385.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./leaf/vehicle.vue":()=>k(()=>import("./vehicle-3b26f2bc.js"),["assets/vehicle-3b26f2bc.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-a1283af6.js"),["assets/vehicle-a1283af6.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-6fb4edcf.js"),["assets/vehicle-6fb4edcf.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-c2cb190b.js"),["assets/vehicle-c2cb190b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-397ee997.js"),["assets/vehicle-397ee997.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-44f4eaf1.js"),["assets/vehicle-44f4eaf1.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-652455d9.js"),["assets/vehicle-652455d9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-1db68f0e.js"),["assets/vehicle-1db68f0e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./skoda/vehicle.vue":()=>k(()=>import("./vehicle-c4cfc25c.js"),["assets/vehicle-c4cfc25c.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-30e9d66b.js"),["assets/vehicle-30e9d66b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-c78df8ba.js"),["assets/vehicle-c78df8ba.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-axios-8e1a46ae.js","assets/index-25097726.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-99e4628e.js"),["assets/vehicle-99e4628e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-2d2abc3b.js"),["assets/vehicle-2d2abc3b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/index-25097726.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:we})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function Ce(n,e,f,A,S,t){const y=c("font-awesome-icon"),h=c("openwb-base-alert"),z=c("openwb-base-heading");return o(),p(W,null,[f.vehicle.official?(o(),b(h,{key:0,subtype:"info"},{default:a(()=>[l(y,{icon:["fas","certificate"]}),i(' Das ausgewählte Fahrzeug-Modul "'+w(f.vehicle.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(o(),b(h,{key:1,subtype:"info"},{default:a(()=>[l(y,{icon:["fas","people-group"]}),i(' Das ausgewählte Fahrzeug-Modul "'+w(f.vehicle.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),l(z,null,{default:a(()=>[i(' Einstellungen für SoC-Modul "'+w(f.vehicle.name)+'" ',1)]),_:1}),(o(),b(ce(t.getVehicleComponent()),{"vehicle-id":f.vehicleId,vehicle:f.vehicle,"onUpdate:configuration":e[0]||(e[0]=V=>t.updateConfiguration(V))},null,40,["vehicle-id","vehicle"]))],64)}const Se=q(ze,[["render",Ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);Z.add(R,I,H,j,J,G,re,ue,$,Q,X);const ye={name:"VehicleScheduledChargingPlan",components:{FontAwesomeIcon:O},mixins:[Y],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0},dcChargingEnabled:{type:Boolean,default:!1}},emits:["update:modelValue","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/optional/ep/flexible_tariff/provider"],showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:this.templateId,changed_in_theme:!1,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:this.templateId,plan:this.modelValue.id,changed_in_theme:!1}})}}},Ee={key:0},Le={key:1},Ae={key:2},Pe={key:3},Ue={key:4},We={key:5},Fe={key:1},Be={key:1},Me={key:7};function Te(n,e,f,A,S,t){const y=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),z=c("openwb-base-avatar"),V=c("openwb-base-text-input"),C=c("openwb-base-button-group-input"),F=c("openwb-base-range-input"),E=c("openwb-base-number-input"),M=c("openwb-base-alert"),v=c("openwb-base-card");return o(),p(W,null,[l(y,{show:S.showRemoveModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:a(()=>[i(' Willst Du den Zielladen Zeitplan "'+w(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),l(v,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:a(s=>[s.collapsed==!0?(o(),p("span",{key:0,class:ee(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=B(_=>t.plan.active=!t.plan.active,["stop"]))},[t.plan.limit.selected=="soc"?(o(),p("span",Ee,[l(h,{icon:["fas","car-battery"]}),i(" "+w(t.plan.limit.soc_scheduled)+"% ",1),l(h,{icon:["fas",t.plan.bidi_charging_enabled?"right-left":"right-long"]},null,8,["icon"]),i(" "+w(t.plan.limit.soc_limit)+"% ",1)])):m("",!0),t.plan.limit.selected=="amount"?(o(),p("span",Le,[l(h,{icon:["fas","bolt"]}),i(" "+w(t.plan.limit.amount/1e3)+"kWh ",1)])):m("",!0),l(h,{icon:["fas","clock"]}),i(" "+w(t.plan.time)+" ",1),t.plan.frequency.selected=="once"?(o(),p("span",Ae,[l(h,{icon:["fas","calendar-day"]}),i(" "+w(n.formatDate(t.plan.frequency.once)),1)])):m("",!0),t.plan.frequency.selected=="daily"?(o(),p("span",Pe,[l(h,{icon:["fas","calendar-week"]})])):m("",!0),t.plan.frequency.selected=="weekly"?(o(),p("span",Ue,[l(h,{icon:["fas","calendar-alt"]})])):m("",!0),t.plan.et_active?(o(),p("span",We,[l(h,{icon:["fas","coins"]})])):m("",!0)],2)):m("",!0),s.collapsed==!1?(o(),p("span",Fe,[l(z,{class:"bg-success clickable ml-1",title:"Zielladen-Plan duplizieren",onClick:e[1]||(e[1]=B(_=>t.copyPlan(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1}),l(z,{class:"bg-danger clickable ml-1",title:"Zielladen-Plan löschen",onClick:e[2]||(e[2]=B(_=>t.removePlanModal(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1})])):m("",!0)]),default:a(()=>[l(V,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=s=>t.plan.name=s),title:"Bezeichnung"},null,8,["modelValue"]),l(C,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=s=>t.plan.active=s),title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),l(V,{modelValue:t.plan.time,"onUpdate:modelValue":e[5]||(e[5]=s=>t.plan.time=s),title:"Ziel-Termin",subtype:"time"},{help:a(()=>[...e[18]||(e[18]=[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. ",-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[6]||(e[6]=s=>t.plan.frequency.selected=s),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(o(),b(V,{key:0,modelValue:t.plan.frequency.once,"onUpdate:modelValue":e[7]||(e[7]=s=>t.plan.frequency.once=s),title:"Datum",subtype:"date"},null,8,["modelValue"])):m("",!0),t.plan.frequency.selected=="weekly"?(o(),p("div",Be,[(o(!0),p(W,null,D(n.weekdays,(s,_)=>(o(),b(C,{key:_,modelValue:t.plan.frequency.weekly[_],"onUpdate:modelValue":N=>t.plan.frequency.weekly[_]=N,title:s,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):m("",!0),e[30]||(e[30]=g("hr",null,null,-1)),l(F,{modelValue:t.plan.current,"onUpdate:modelValue":e[8]||(e[8]=s=>t.plan.current=s),title:`Ladestrom${f.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A"},{help:a(()=>[...e[19]||(e[19]=[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. ",-1)])]),_:1},8,["modelValue","title"]),f.dcChargingEnabled===!0?(o(),b(E,{key:2,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(t.plan.dc_current),"onUpdate:modelValue":e[9]||(e[9]=s=>t.plan.dc_current=n.dc_power2ac_current(s))},null,8,["model-value"])):m("",!0),l(C,{modelValue:t.plan.phases_to_use,"onUpdate:modelValue":e[10]||(e[10]=s=>t.plan.phases_to_use=s),title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}]},{help:a(()=>[...e[20]||(e[20]=[i(' 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)])]),_:1},8,["modelValue"]),l(C,{modelValue:t.plan.phases_to_use_pv,"onUpdate:modelValue":e[11]||(e[11]=s=>t.plan.phases_to_use_pv=s),title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}]},{help:a(()=>[...e[21]||(e[21]=[i(' 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)])]),_:1},8,["modelValue"]),e[31]||(e[31]=g("hr",null,null,-1)),l(C,{modelValue:t.plan.limit.selected,"onUpdate:modelValue":e[12]||(e[12]=s=>t.plan.limit.selected=s),title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}]},{help:a(()=>[...e[22]||(e[22]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ",-1)])]),_:1},8,["modelValue"]),t.plan.limit.selected=="soc"?(o(),b(F,{key:3,modelValue:t.plan.limit.soc_scheduled,"onUpdate:modelValue":e[13]||(e[13]=s=>t.plan.limit.soc_scheduled=s),title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[23]||(e[23]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ",-1)])]),_:1},8,["modelValue"])):m("",!0),t.plan.limit.selected=="soc"?(o(),b(F,{key:4,modelValue:t.plan.limit.soc_limit,"onUpdate:modelValue":e[14]||(e[14]=s=>t.plan.limit.soc_limit=s),title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[24]||(e[24]=[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! ",-1)])]),_:1},8,["modelValue"])):m("",!0),t.plan.limit.selected=="amount"?(o(),b(E,{key:5,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.plan.limit.amount/1e3,"onUpdate:modelValue":e[15]||(e[15]=s=>t.plan.limit.amount=s*1e3)},{help:a(()=>[...e[25]||(e[25]=[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. ",-1)])]),_:1},8,["model-value"])):m("",!0),e[32]||(e[32]=g("hr",null,null,-1)),l(C,{modelValue:t.plan.et_active,"onUpdate:modelValue":e[16]||(e[16]=s=>t.plan.et_active=s),title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),t.plan.et_active==!0&&(!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]||!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type)?(o(),b(M,{key:6,subtype:"danger"},{default:a(()=>[...e[26]||(e[26]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ",-1)])]),_:1})):m("",!0),t.plan.limit.selected=="soc"?(o(),p("div",Me,[e[29]||(e[29]=g("hr",null,null,-1)),l(C,{modelValue:t.plan.bidi_charging_enabled,"onUpdate:modelValue":e[17]||(e[17]=s=>t.plan.bidi_charging_enabled=s),title:"Bidirektionales Überschussladen bei kompatiblem Ladepunkt&Fahrzeug",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},{help:a(()=>[...e[27]||(e[27]=[i(" Wenn Ladepunkt und Fahrzeug bidirektionales Laden unterstützen, wird bis zum Fahrzug-SoC zum Zielzeitpunkt wie gewohnt mit Zielladen geladen. Ist der eingestellte SoC erreicht, wird eine Nullpunktausregelung gemacht, dh das Auto wird so ge- und entladen, dass möglichst weder Bezug noch Einspeisung entsteht. Der SoC wird dabei immer zwischen Fahrzeug-SoC zum Zielzeitpunkt und Fahrzeug-SoC mit Überschuss gehalten. ",-1),g("br",null,null,-1),i(" Unterstützen das Fahrzeug und/oder der Ladepunkt kein bidirektionales Laden, hat diese Einstellung keine Auswirkung. ",-1)])]),_:1},8,["modelValue"]),t.plan.bidi_charging_enabled===!0?(o(),b(M,{key:0,subtype:"info"},{default:a(()=>[...e[28]||(e[28]=[i(" Die Norm IEC 61851-1 und ISO 15118 benötigen als Parameter eine Stromstärke und die Phasenzahl. Die Norm ISO 15118-20, die das bidirektionale Laden definiert, benötigt als Parameter eine Ladeleistung. Die Phasenzahl legt das Fahrzeug fest. Wenn Fahrzeug und Ladepunkt bidirektionales Laden nach ISO 15118-20 unterstützen, wird die eingestellte Ladeleistung verwendet. Unterstützen das Fahrzeug und/oder der Ladepunkt die Norm nicht, wird der Ladestrom und die vorgegebene Phasenzahl angewendet. ",-1)])]),_:1})):m("",!0)])):m("",!0)]),_:1},8,["title"])],64)}const De=q(ye,[["render",Te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ChargeTemplateScheduledChargingPlan.vue"]]);Z.add(R,I,H,j,J,G,Q,X);const qe={name:"ChargeTemplateTimeChargingPlan",components:{FontAwesomeIcon:O},mixins:[Y],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0},dcChargingEnabled:{type:Boolean,default:!1}},emits:["update:modelValue","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/optional/dc_charging"],showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:this.templateId,changed_in_theme:!1,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:this.templateId,plan:this.modelValue.id,changed_in_theme:!1}})}}},xe={key:0},Ze={key:1},Oe={key:2},Ne={key:3},Re={key:4},Ie={key:1},He={key:2};function je(n,e,f,A,S,t){const y=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),z=c("openwb-base-avatar"),V=c("openwb-base-text-input"),C=c("openwb-base-button-group-input"),F=c("openwb-base-range-input"),E=c("openwb-base-number-input"),M=c("openwb-base-card");return o(),p(W,null,[l(y,{show:S.showRemoveModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:a(()=>[i(' Willst Du den Zeitladen Zeitplan "'+w(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),l(M,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:a(v=>[v.collapsed==!0?(o(),p("span",{key:0,class:ee(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=B(s=>t.plan.active=!t.plan.active,["stop"]))},[t.plan.limit.selected=="soc"?(o(),p("span",xe,[l(h,{icon:["fas","car-battery"]}),i(" "+w(t.plan.limit.soc)+"% ",1)])):m("",!0),t.plan.limit.selected=="amount"?(o(),p("span",Ze,[l(h,{icon:["fas","bolt"]}),i(" "+w(t.plan.limit.amount/1e3)+"kWh ",1)])):m("",!0),l(h,{icon:["fas","clock"]}),i(" "+w(t.plan.time[0])+" - "+w(t.plan.time[1])+" ",1),t.plan.frequency.selected=="once"?(o(),p("span",Oe,[l(h,{icon:["fas","calendar-day"]}),i(" "+w(n.formatDate(t.plan.frequency.once[0])==n.formatDate(t.plan.frequency.once[1])?n.formatDate(t.plan.frequency.once[0]):n.formatDate(t.plan.frequency.once[0])+" - "+n.formatDate(t.plan.frequency.once[1])),1)])):m("",!0),t.plan.frequency.selected=="daily"?(o(),p("span",Ne,[l(h,{icon:["fas","calendar-week"]})])):m("",!0),t.plan.frequency.selected=="weekly"?(o(),p("span",Re,[l(h,{icon:["fas","calendar-alt"]})])):m("",!0)],2)):m("",!0),v.collapsed==!1?(o(),p("span",Ie,[l(z,{class:"bg-success clickable",title:"Zeitladen-Plan duplizieren",onClick:e[1]||(e[1]=B(s=>t.copyPlan(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1}),l(z,{class:"bg-danger clickable ml-1",title:"Zeitladen-Plan löschen",onClick:e[2]||(e[2]=B(s=>t.removePlanModal(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1})])):m("",!0)]),default:a(()=>[l(V,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=v=>t.plan.name=v),title:"Bezeichnung"},null,8,["modelValue"]),l(C,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=v=>t.plan.active=v),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),l(V,{modelValue:t.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=v=>t.plan.time[0]=v),title:"Zeitpunkt des Ladebeginns",subtype:"time"},null,8,["modelValue"]),l(V,{modelValue:t.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=v=>t.plan.time[1]=v),title:"Zeitpunkt des Ladeendes",subtype:"time"},null,8,["modelValue"]),l(C,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=v=>t.plan.frequency.selected=v),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(o(),b(V,{key:0,modelValue:t.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=v=>t.plan.frequency.once[0]=v),title:"Gültig ab",subtype:"date"},null,8,["modelValue"])):m("",!0),t.plan.frequency.selected=="once"?(o(),b(V,{key:1,modelValue:t.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=v=>t.plan.frequency.once[1]=v),title:"Gültig bis",subtype:"date",min:t.plan.frequency.once[0]},null,8,["modelValue","min"])):m("",!0),t.plan.frequency.selected=="weekly"?(o(),p("div",He,[(o(!0),p(W,null,D(n.weekdays,(v,s)=>(o(),b(C,{key:s,modelValue:t.plan.frequency.weekly[s],"onUpdate:modelValue":_=>t.plan.frequency.weekly[s]=_,title:v,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):m("",!0),e[20]||(e[20]=g("hr",null,null,-1)),l(F,{modelValue:t.plan.current,"onUpdate:modelValue":e[10]||(e[10]=v=>t.plan.current=v),title:`Ladestrom${f.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A"},null,8,["modelValue","title"]),f.dcChargingEnabled===!0?(o(),b(E,{key:3,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(t.plan.dc_current),"onUpdate:modelValue":e[11]||(e[11]=v=>t.plan.dc_current=n.dc_power2ac_current(v))},null,8,["model-value"])):m("",!0),l(C,{modelValue:t.plan.phases_to_use,"onUpdate:modelValue":e[12]||(e[12]=v=>t.plan.phases_to_use=v),title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}]},{help:a(()=>[...e[16]||(e[16]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["modelValue"]),e[21]||(e[21]=g("hr",null,null,-1)),l(C,{modelValue:t.plan.limit.selected,"onUpdate:modelValue":e[13]||(e[13]=v=>t.plan.limit.selected=v),title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}]},{help:a(()=>[...e[17]||(e[17]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ",-1)])]),_:1},8,["modelValue"]),l(F,{modelValue:t.plan.limit.soc,"onUpdate:modelValue":e[14]||(e[14]=v=>t.plan.limit.soc=v),title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[18]||(e[18]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ",-1)])]),_:1},8,["modelValue"]),l(E,{title:"Energie-Limit",unit:"kWh",min:1,step:.5,"model-value":t.plan.limit.amount/1e3,"onUpdate:modelValue":e[15]||(e[15]=v=>t.plan.limit.amount=v*1e3)},{help:a(()=>[...e[19]||(e[19]=[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. ",-1)])]),_:1},8,["model-value"])]),_:1},8,["title"])],64)}const Je=q(qe,[["render",je],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ChargeTemplateTimeChargingPlan.vue"]]);Z.add(de,X,j,G,J,H,R,I,oe,se,me,$,Q);const Ge={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:O,FontAwesomeLayers:ge,OpenwbVehicleProxy:Se,ChargeTemplateScheduledChargingPlan:De,ChargeTemplateTimeChargingPlan:Je},mixins:[Y],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/ep/flexible_tariff/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}},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 n=[];return Object.keys(this.evTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)$/g)[0]),A=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+f].name;n.push({value:f,text:A})}),n}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let n=[];return Object.keys(this.chargeTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)$/g)[0]),A=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+f].name;n.push({value:f,text:A})}),n}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},addVehicle(n){n.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(n,e){n.stopPropagation(),this.modalVehicleIndex=e,this.showVehicleModal=!0},removeVehicle(n,e){this.showVehicleModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:e}})},getVehicleName(n){return this.$store.state.mqtt["openWB/vehicle/"+n+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+n+"/name"]:"Fahrzeug "+n},getSocDefaultConfiguration(n){const e=this.socModuleList.find(f=>f.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",n),{})},updateSelectedSocModule(n,e){this.updateState("openWB/vehicle/"+n+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+n+"/soc_module/config",this.getSocDefaultConfiguration(e))},addEvTemplate(n,e){n.stopPropagation();let f={};e&&e.match(/([^/]+)$/)&&(f.copy=parseInt(e.match(/([^/]+)$/)[0])),this.$emit("sendCommand",{command:"addEvTemplate",data:f})},removeEvTemplateModal(n,e){n.stopPropagation(),this.modalEvTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(n,e){this.showEvTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:e}})},getEvTemplateName(n){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+n]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+n].name:"Fahrzeug-Profil "+n},addChargeTemplate(n,e){n.stopPropagation();let f={};e&&e.match(/([^/]+)$/)&&(f.copy=parseInt(e.match(/([^/]+)$/)[0])),this.$emit("sendCommand",{command:"addChargeTemplate",data:f})},removeChargeTemplateModal(n,e){this.modalChargeTemplateIndex=e,this.showChargeTemplateModal=!0},removeChargeTemplate(n,e){this.showChargeTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:e}})},getChargeTemplateName(n){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+n]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+n].name:"Lade-Profil "+n},addChargeTemplateSchedulePlan(n){this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:n,changed_in_theme:!1}})},addChargeTemplateTimeChargingPlan(n){this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:n,changed_in_theme:!1}})},openActiveChargeModeCard(n,e){this.$nextTick(()=>{["instant_charging","pv_charging","eco_charging","scheduled_charging"].forEach(A=>{const S=`card-${n}-${A}`,t=this.$refs[S],y=Array.isArray(t)?t[0]:t;y&&(y.isCollapsed=A!==e)})})}}},Qe={class:"vehicleConfig"},Xe={name:"vehicleConfigForm"},Ye={key:0},Ke={key:1},$e={key:2},en={key:0},nn={key:0},tn={key:1},ln={key:1},an={key:3},rn={key:0},un={key:1},dn={key:0},on={key:1},sn={key:0},mn={key:0},gn={key:3},pn={key:0},hn={key:1},cn={key:0},bn={key:1};function fn(n,e,f,A,S,t){const y=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),z=c("openwb-base-avatar"),V=c("openwb-base-alert"),C=c("openwb-base-text-input"),F=c("openwb-base-select-input"),E=c("openwb-base-heading"),M=c("router-link"),v=c("openwb-base-array-input"),s=c("openwb-base-button-group-input"),_=c("openwb-base-number-input"),N=c("openwb-vehicle-proxy"),P=c("openwb-base-card"),K=c("font-awesome-layers"),U=c("openwb-base-range-input"),ne=c("charge-template-scheduled-charging-plan"),te=c("charge-template-time-charging-plan"),le=c("openwb-base-submit-buttons");return o(),p(W,null,[l(y,{show:S.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>t.removeVehicle(r,S.modalVehicleIndex))},{default:a(()=>[i(' Willst Du das Fahrzeug "'+w(t.getVehicleName(S.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),l(y,{show:S.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=r=>t.removeEvTemplate(r,S.modalEvTemplateIndex))},{default:a(()=>[i(' Willst Du das Fahrzeug-Profil "'+w(t.getEvTemplateName(S.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),l(y,{show:S.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=r=>t.removeChargeTemplate(r,S.modalChargeTemplateIndex))},{default:a(()=>[i(' Willst Du das Lade-Profil "'+w(t.getChargeTemplateName(S.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),g("div",Qe,[g("form",Xe,[l(P,{subtype:"info",collapsible:!0,collapsed:n.$route.params.section!="vehicle"},{header:a(()=>[l(h,{icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(o(),b(z,{key:0,class:"bg-success clickable",title:"Neues Fahrzeug hinzufügen",onClick:t.addVehicle},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),p("div",Ye,[l(V,{subtype:"info"},{default:a(()=>[...e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),p("div",Ke,[(o(!0),p(W,null,D(t.vehicleIndexes,r=>(o(),b(P,{key:r,title:t.getVehicleName(r),collapsible:!0,collapsed:!(n.$route.params.section=="vehicle"&&parseInt(n.$route.params.section_index)==r),subtype:"info"},x({default:a(()=>[l(C,{title:"Bezeichnung","model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/name"],disabled:r===0,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/name",d)},x({_:2},[r===0?{name:"help",fn:a(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),r!==0?(o(),b(C,{key:0,title:"Fahrzeughersteller ","model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/info"].manufacturer,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/info",d,"manufacturer")},{help:a(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),r!==0?(o(),b(C,{key:1,title:"Fahrzeugmodell","model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/info"].model,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/info",d,"model")},{help:a(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht.",-1),g("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(V,{subtype:"info"},{default:a(()=>[...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)])]),_:1}),l(F,{title:"Fahrzeug-Profil",options:t.evTemplateList,"model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/ev_template"],"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/ev_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),l(F,{title:"Lade-Profil",options:t.chargeTemplateList,"model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/charge_template"],"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/charge_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),e[32]||(e[32]=g("hr",null,null,-1)),f.installAssistantActive?m("",!0):(o(),p("div",$e,[l(E,null,{default:a(()=>[...e[14]||(e[14]=[i(" Fahrzeugzuordnung per ID-Tags ",-1)])]),_:1}),n.$store.state.mqtt["openWB/vehicle/"+r+"/tag_id"].length>0?(o(),p("div",en,[l(V,{subtype:"info"},{default:a(()=>[e[16]||(e[16]=i(" Einstellungen zur Fahrzeugzuordnung finden sich unter ",-1)),l(M,{to:"/IdentificationConfig"},{default:a(()=>[...e[15]||(e[15]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[17]||(e[17]=i(". ",-1)),n.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(o(),p("div",nn," Aktuell ist die Identifikation in den Einstellungen deaktiviert. ")):(o(),p("div",tn," Die Identifikation ist aktiv. Das Fahrzeug lässt sich per ID-Tag automatisch einem Ladepunkt zuordnen. "))]),_:1}),l(v,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.",readonly:!0,"model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/tag_id"]},{help:a(()=>[...e[18]||(e[18]=[i(" Hier werden die ID-Tags aufgelistet, welche diesem Fahrzeug zugeordnet sind. Mit diesen ID-Tags kann dieses Fahrzeug an Ladepunkten automatisch zugeordnet werden. ",-1)])]),_:1},8,["model-value"])])):(o(),p("div",ln,[l(V,{subtype:"info"},{default:a(()=>[e[20]||(e[20]=i(" Einstellungen zur Fahrzeugzuordnung finden sich unter ",-1)),l(M,{to:"/IdentificationConfig"},{default:a(()=>[...e[19]||(e[19]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[21]||(e[21]=i(".",-1)),e[22]||(e[22]=g("br",null,null,-1)),e[23]||(e[23]=i(" Dem Fahrzeug sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1})])),e[24]||(e[24]=g("hr",null,null,-1))])),l(F,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:t.socModuleList,"model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/config"].type,"onUpdate:modelValue":d=>t.updateSelectedSocModule(r,d)},{help:a(()=>[...e[25]||(e[25]=[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).",-1),g("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.",-1),g("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.",-1),g("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. ",-1)])]),_:1},8,["options","model-value","onUpdate:modelValue"]),n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/config"].type?(o(),p("div",an,[l(s,{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":n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/soc_module/general_config",d,"use_soc_from_cp")},{help:a(()=>[...e[26]||(e[26]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(E,null,{help:a(()=>[...e[27]||(e[27]=[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. ",-1)])]),default:a(()=>[e[28]||(e[28]=i(" Aktualisierung der Fahrzeugdaten ",-1))]),_:1}),l(_,{title:"Während der Ladung",unit:"Min.",min:1,max:30,required:"","model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/soc_module/general_config",d*60,"request_interval_charging")},{help:a(()=>[...e[29]||(e[29]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Ohne laufende Ladung",unit:"Min.",min:5,required:"","model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/soc_module/general_config",d*60,"request_interval_not_charging")},{help:a(()=>[...e[30]||(e[30]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":d=>n.updateState("openWB/vehicle/"+r+"/soc_module/general_config",d,"request_only_plugged")},{help:a(()=>[...e[31]||(e[31]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(N,{"vehicle-id":r,vehicle:n.$store.state.mqtt["openWB/vehicle/"+r+"/soc_module/config"],"onUpdate:configuration":d=>t.updateConfiguration("openWB/vehicle/"+r+"/soc_module/config",d)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[r!==0?{name:"actions",fn:a(d=>[d.collapsed?m("",!0):(o(),b(z,{key:0,class:"bg-danger clickable",title:"Fahrzeug löschen",onClick:u=>t.removeVehicleModal(u,r)},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[93]||(e[93]=g("hr",{class:"border-secondary"},null,-1)),l(E,null,{default:a(()=>[...e[33]||(e[33]=[i("Profile",-1)])]),_:1}),l(P,{collapsible:!0,collapsed:!0},{header:a(()=>[l(K,{class:"fa-lg"},{default:a(()=>[l(h,{icon:["far","file"]}),l(h,{icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[34]||(e[34]=i(" Fahrzeug-Profile ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(o(),b(z,{key:0,class:"bg-success clickable",title:"Neues Fahrzeug-Profil hinzufügen",onClick:t.addEvTemplate},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),p("div",rn,[l(V,{subtype:"info"},{default:a(()=>[...e[35]||(e[35]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),p("div",un,[l(V,{subtype:"info"},{default:a(()=>[...e[36]||(e[36]=[i(" Ein anderes Fahrzeug-Profil wird erst ",-1),g("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)])]),_:1}),(o(!0),p(W,null,D(t.evTemplates,(r,d)=>(o(),b(P,{key:d,title:r.name?r.name:d,collapsible:!0,collapsed:!0},x({default:a(()=>[l(C,{title:"Bezeichnung","model-value":r.name,disabled:d.endsWith("/0"),"onUpdate:modelValue":u=>n.updateState(d,u,"name")},x({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[e[37]||(e[37]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),l(E,null,{default:a(()=>[...e[38]||(e[38]=[i(" Angaben zur Batterie ",-1)])]),_:1}),l(_,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":r.battery_capacity/1e3,"onUpdate:modelValue":u=>n.updateState(d,u*1e3,"battery_capacity")},{help:a(()=>[...e[39]||(e[39]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),f.installAssistantActive?m("",!0):(o(),p("div",dn,[l(_,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":r.efficiency,"onUpdate:modelValue":u=>n.updateState(d,u,"efficiency")},{help:a(()=>[...e[40]||(e[40]=[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.",-1),g("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: ",-1),g("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren",-1),g("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen",-1),g("br",null,null,-1)])]),_:1},8,["model-value","onUpdate:modelValue"])])),l(_,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":r.average_consump/1e3,"onUpdate:modelValue":u=>n.updateState(d,u*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),l(s,{title:"Bidirektionales Laden",buttons:[{buttonValue:!1,text:"Nicht unterstützt",class:"btn-outline-danger"},{buttonValue:!0,text:"AC nach ISO15118-20",class:"btn-outline-success"}],"model-value":r.bidi,"onUpdate:modelValue":u=>n.updateState(d,u,"bidi")},{help:a(()=>[...e[41]||(e[41]=[i(' Für bidirektionales Laden wird eine openWB Pro benötigt. Die openWB Pro muss auf den Modus "Bidi" gestellt werden.',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(o(),p("div",on,[l(E,null,{default:a(()=>[...e[42]||(e[42]=[i(" Angaben zur Ladeleistung (DC) ",-1)])]),_:1}),l(_,{title:"Mindestleistung",min:0,unit:"kW","model-value":n.ac_current2dc_power(r.dc_min_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),l(_,{title:"Maximalleistung",unit:"kW","model-value":n.ac_current2dc_power(r.dc_max_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),l(E,null,{default:a(()=>[e[43]||(e[43]=i(" Angaben zum Ladestrom ",-1)),t.dcChargingEnabled===!0?(o(),p("span",sn," (AC) ")):m("",!0)]),_:1}),l(U,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":r.min_current,"onUpdate:modelValue":u=>n.updateState(d,u,"min_current")},null,8,["model-value","onUpdate:modelValue"]),l(U,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":r.max_current_single_phase,"onUpdate:modelValue":u=>n.updateState(d,u,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),l(U,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":r.max_current_multi_phases,"onUpdate:modelValue":u=>n.updateState(d,u,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),l(_,{title:"Erlaubte Stromabweichung",step:.1,min:0,max:5,unit:"A","model-value":r.nominal_difference,"onUpdate:modelValue":u=>n.updateState(d,u,"nominal_difference")},{help:a(()=>[...e[44]||(e[44]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(E,null,{default:a(()=>[e[45]||(e[45]=i(" Angaben zur Handhabung von Phasen ",-1)),t.dcChargingEnabled===!0?(o(),p("span",mn," (AC) ")):m("",!0)]),_:1}),l(s,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":r.max_phases,"onUpdate:modelValue":u=>n.updateState(d,u,"max_phases")},{help:a(()=>[...e[46]||(e[46]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) verwendet. Plugin-Hybride nutzen meist nur eine Phase, reine E-Autos meist 3, manche nur 2 Phasen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.control_pilot_interruption,"onUpdate:modelValue":u=>n.updateState(d,u,"control_pilot_interruption")},{help:a(()=>[...e[47]||(e[47]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),r.control_pilot_interruption?(o(),b(_,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":r.control_pilot_interruption_duration,"onUpdate:modelValue":u=>n.updateState(d,u,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.prevent_phase_switch,"onUpdate:modelValue":u=>n.updateState(d,u,"prevent_phase_switch")},{help:a(()=>[...e[48]||(e[48]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.prevent_charge_stop,"onUpdate:modelValue":u=>n.updateState(d,u,"prevent_charge_stop")},{help:a(()=>[...e[49]||(e[49]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),f.installAssistantActive?m("",!0):(o(),p("div",gn,[l(_,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":r.keep_charge_active_duration,"onUpdate:modelValue":u=>n.updateState(d,u,"keep_charge_active_duration")},{help:a(()=>[...e[50]||(e[50]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]))]),_:2},[n.$store.state.mqtt["openWB/general/extern"]===!1?{name:"actions",fn:a(u=>[u.collapsed?m("",!0):(o(),b(z,{key:0,class:"bg-success clickable",title:"Fahrzeug-Profil duplizieren",onClick:L=>t.addEvTemplate(L,d)},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1},8,["onClick"])),!u.collapsed&&!d.endsWith("/0")?(o(),b(z,{key:1,class:"bg-danger clickable ml-1",title:"Fahrzeug-Profil löschen",onClick:L=>t.removeEvTemplateModal(L,d)},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"])):m("",!0)]),key:"0"}:void 0]),1032,["title"]))),128))]))]),_:1}),l(P,{collapsible:!0,collapsed:n.$route.params.section!="charge_template"},{header:a(()=>[l(K,{class:"fa-lg"},{default:a(()=>[l(h,{icon:["far","file"]}),l(h,{icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[51]||(e[51]=i(" Lade-Profile ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(o(),b(z,{key:0,class:"bg-success clickable",title:"Neues Lade-Profil hinzufügen",onClick:t.addChargeTemplate},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),p("div",pn,[l(V,{subtype:"info"},{default:a(()=>[...e[52]||(e[52]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(o(),p("div",hn,[(o(!0),p(W,null,D(t.chargeTemplates,(r,d)=>(o(),b(P,{key:d,title:r.name?r.name:d,collapsible:!0,collapsed:!(n.$route.params.section=="charge_template"&&parseInt(n.$route.params.section_index)==r.id)},{actions:a(u=>[u.collapsed?m("",!0):(o(),b(z,{key:0,class:"bg-success clickable",title:"Lade-Profil duplizieren",onClick:L=>t.addChargeTemplate(L,d)},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1},8,["onClick"])),!u.collapsed&&!d.endsWith("/0")?(o(),b(z,{key:1,class:"bg-danger clickable ml-1",title:"Lade-Profil löschen",onClick:B(L=>t.removeChargeTemplateModal(L,r.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[l(C,{title:"Bezeichnung","model-value":r.name,disabled:d.endsWith("/0"),"onUpdate:modelValue":u=>n.updateState(d,u,"name")},x({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[e[53]||(e[53]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),l(E,null,{default:a(()=>[...e[54]||(e[54]=[i(" Allgemeine Optionen ",-1)])]),_:1}),l(s,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofort",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Ziel",class:"btn-outline-primary"},{buttonValue:"eco_charging",text:"Eco",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":r.chargemode.selected,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.selected"),onButtonClick:u=>t.openActiveChargeModeCard(d,u)},{help:a(()=>[...e[55]||(e[55]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist.",-1),g("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:",-1),g("br",null,null,-1),g("ol",null,[g("li",null,"Ziel (Sofortladen) mit Priorität"),g("li",null,"Ziel (Sofortladen)"),g("li",null,"Zeit mit Priorität"),g("li",null,"Zeit"),g("li",null,"Sofort mit Priorität"),g("li",null,"Sofort"),g("li",null,"Eco (Min-Anteil) mit Priorität"),g("li",null,"Eco (Min-Anteil)"),g("li",null,"PV (Min-Anteil) mit Priorität"),g("li",null,"PV (Min-Anteil)"),g("li",null,"Ziel (PV) mit Priorität"),g("li",null,"Ziel (PV)"),g("li",null,"Eco (PV-Anteil) mit Priorität"),g("li",null,"Eco (PV-Anteil)"),g("li",null,"PV (PV-Anteil) mit Priorität"),g("li",null,"PV (PV-Anteil)"),g("li",null,"Bidi-Entladen ohne Priorität"),g("li",null,"Bidi-Entladen mit Priorität")],-1)])]),_:1},8,["model-value","onUpdate:modelValue","onButtonClick"]),f.installAssistantActive?m("",!0):(o(),p("div",cn,[l(s,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.prio,"onUpdate:modelValue":u=>n.updateState(d,u,"prio")},{help:a(()=>[...e[56]||(e[56]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.load_default,"onUpdate:modelValue":u=>n.updateState(d,u,"load_default")},{help:a(()=>[...e[57]||(e[57]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),e[59]||(e[59]=g("hr",null,null,-1)),l(E,null,{default:a(()=>[...e[58]||(e[58]=[i("Einstellungen der Lademodi",-1)])]),_:1})])),l(P,{ref_for:!0,ref:`card-${d}-instant_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[60]||(e[60]=[i(" Sofort ",-1)])]),default:a(()=>[l(U,{title:`Soll-Ladestrom${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":r.chargemode.instant_charging.current,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(o(),b(_,{key:0,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(r.chargemode.instant_charging.dc_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":r.chargemode.instant_charging.phases_to_use,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.instant_charging.phases_to_use")},{help:a(()=>[...e[61]||(e[61]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":r.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.instant_charging.limit.selected")},{help:a(()=>[...e[62]||(e[62]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":r.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.instant_charging.limit.soc")},{help:a(()=>[...e[63]||(e[63]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":r.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":u=>n.updateState(d,u*1e3,"chargemode.instant_charging.limit.amount")},{help:a(()=>[...e[64]||(e[64]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1536),l(P,{ref_for:!0,ref:`card-${d}-pv_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[65]||(e[65]=[i(" PV ",-1)])]),default:a(()=>[l(U,{title:`Minimaler Dauerstrom${t.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":r.chargemode.pv_charging.min_current,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.min_current")},{help:a(()=>[...e[66]||(e[66]=[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. ',-1)])]),_:1},8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(o(),b(_,{key:0,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(r.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"chargemode.pv_charging.dc_min_current")},{help:a(()=>[...e[67]||(e[67]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":r.chargemode.pv_charging.phases_to_use,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.phases_to_use")},{help:a(()=>[...e[68]||(e[68]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":r.chargemode.pv_charging.limit.selected,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.limit.selected")},{help:a(()=>[...e[69]||(e[69]=[i(" PV 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":r.chargemode.pv_charging.limit.soc,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.limit.soc")},{help:a(()=>[...e[70]||(e[70]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":r.chargemode.pv_charging.limit.amount/1e3,"onUpdate:modelValue":u=>n.updateState(d,u*1e3,"chargemode.pv_charging.limit.amount")},{help:a(()=>[...e[71]||(e[71]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{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":r.chargemode.pv_charging.min_soc,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.min_soc")},{help:a(()=>[...e[72]||(e[72]=[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.',-1),g("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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{title:`Mindest-SoC-Strom${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":r.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.min_soc_current")},{help:a(()=>[...e[73]||(e[73]=[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). ',-1)])]),_:1},8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(o(),b(_,{key:1,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(r.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"chargemode.pv_charging.dc_min_soc_current")},{help:a(()=>[...e[74]||(e[74]=[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). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen Mindest-SoC",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":r.chargemode.pv_charging.phases_to_use_min_soc,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.phases_to_use_min_soc")},{help:a(()=>[...e[75]||(e[75]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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 einer und mehreren Phasen (sog. 1p3p). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.pv_charging.feed_in_limit")},{help:a(()=>[...e[76]||(e[76]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "Überschuss-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1536),l(P,{ref_for:!0,ref:`card-${d}-scheduled_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[77]||(e[77]=[i(" Ziel ",-1)])]),default:a(()=>[l(E,null,{actions:a(()=>[l(z,{class:"bg-success clickable",title:"Neuen Zielladen-Plan hinzufügen",onClick:B(u=>t.addChargeTemplateSchedulePlan(r.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),help:a(()=>[...e[78]||(e[78]=[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.',-1),g("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.',-1),g("br",null,null,-1),i(" Es wird nach den Vorgaben des Zeitplans geladen, dessen Zieltermin am nächsten liegt, bis max 20 Minuten nach dem angegebenen Zieltermin. ",-1)])]),default:a(()=>[e[79]||(e[79]=i(" Zielladepläne ",-1))]),_:2},1024),r.chargemode.scheduled_charging.plans.length==0?(o(),b(V,{key:0,subtype:"info"},{default:a(()=>[...e[80]||(e[80]=[i(" Es wurden noch keine Pläne für das Zielladen angelegt. ",-1)])]),_:1})):m("",!0),(o(!0),p(W,null,D(r.chargemode.scheduled_charging.plans,(u,L)=>(o(),b(ne,{key:L,"model-value":u,"template-id":r.id,"dc-charging-enabled":t.dcChargingEnabled,"onUpdate:modelValue":T=>n.updateState(d,T,`chargemode.scheduled_charging.plans.${L}`),onSendCommand:e[3]||(e[3]=T=>n.$emit("sendCommand",T))},null,8,["model-value","template-id","dc-charging-enabled","onUpdate:modelValue"]))),128))]),_:2},1536),l(P,{ref_for:!0,ref:`card-${d}-eco_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[81]||(e[81]=[i(" Eco ",-1)])]),default:a(()=>[l(E,null,{help:a(()=>[...e[82]||(e[82]=[i(" Im Eco-Modus wird eine Preisgrenze vorgegeben. Wenn der Strompreis unter dieser Grenze liegt, wird mit dem eingestellten Ladestrom geladen und -falls vorhanden- zusätzlich mit dem Überschuss. Wenn die Preisgrenze überschritten wird, wird nur mit Überschuss geladen, wenn dieser vorhanden ist. ",-1)])]),default:a(()=>[e[83]||(e[83]=i("Arbeitsweise von Eco ",-1))]),_:1}),l(U,{title:`Minimaler Dauerstrom unter der Preisgrenze${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":r.chargemode.eco_charging.current,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.eco_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(o(),b(_,{key:0,title:"Minimale Dauerleistung unter der Preisgrenze (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(r.chargemode.eco_charging.dc_current),"onUpdate:modelValue":u=>n.updateState(d,n.dc_power2ac_current(u),"chargemode.eco_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen bei Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":r.chargemode.eco_charging.phases_to_use,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.eco_charging.phases_to_use")},{help:a(()=>[...e[84]||(e[84]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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),g("br",null,null,-1),i(" Wird die eingestellte Preisgrenze unterschritten, wird immer mit der maximalen Anzahl Phasen geladen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":r.chargemode.eco_charging.limit.selected,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.eco_charging.limit.selected")},{help:a(()=>[...e[85]||(e[85]=[i(" Eco 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":r.chargemode.eco_charging.limit.soc,"onUpdate:modelValue":u=>n.updateState(d,u,"chargemode.eco_charging.limit.soc")},{help:a(()=>[...e[86]||(e[86]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":r.chargemode.eco_charging.limit.amount/1e3,"onUpdate:modelValue":u=>n.updateState(d,u*1e3,"chargemode.eco_charging.limit.amount")},{help:a(()=>[...e[87]||(e[87]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]||!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(o(),b(V,{key:1,subtype:"warning"},{default:a(()=>[...e[88]||(e[88]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. Ohne Strompreis-Anbieter wird im Modus Eco nur geladen, wenn Überschuss vorhanden ist. ",-1)])]),_:1})):m("",!0),l(_,{title:"Preisgrenze für strompreisbasiertes Laden",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":r.chargemode.eco_charging.max_price*1e5,"onUpdate:modelValue":u=>n.updateState(d,parseFloat((u/1e5).toFixed(7)),"chargemode.eco_charging.max_price")},null,8,["model-value","onUpdate:modelValue"])]),_:2},1536),f.installAssistantActive?m("",!0):(o(),p("div",bn,[e[92]||(e[92]=g("hr",null,null,-1)),l(s,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.time_charging.active,"onUpdate:modelValue":u=>n.updateState(d,u,"time_charging.active")},{help:a(()=>[...e[89]||(e[89]=[g("p",null,' Der Lademodus Zeit 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. ',-1),g("p",null," 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). ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(P,{ref_for:!0,ref:`card-${d}-scheduled_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[90]||(e[90]=[i(" Zeitladen-Pläne ",-1)])]),actions:a(()=>[l(z,{class:"bg-success clickable",title:"Neuen Zeitladen-Plan hinzufügen",onClick:B(u=>t.addChargeTemplateTimeChargingPlan(r.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[(r.time_charging.plans??[]).length==0?(o(),b(V,{key:0,subtype:"info"},{default:a(()=>[...e[91]||(e[91]=[i(" Es wurden noch keine Pläne für das Zeitladen angelegt. ",-1)])]),_:1})):m("",!0),(o(!0),p(W,null,D(r.time_charging.plans??[],(u,L)=>(o(),b(te,{key:L,"model-value":u,"template-id":r.id,"dc-charging-enabled":t.dcChargingEnabled,"onUpdate:modelValue":T=>n.updateState(d,T,`time_charging.plans.${L}`),onSendCommand:e[4]||(e[4]=T=>n.$emit("sendCommand",T))},null,8,["model-value","template-id","dc-charging-enabled","onUpdate:modelValue"]))),128))]),_:2},1536)]))]),_:2},1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),l(le,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=r=>n.$emit("save")),onReset:e[6]||(e[6]=r=>n.$emit("reset")),onDefaults:e[7]||(e[7]=r=>n.$emit("defaults"))})])])],64)}const vn=q(Ge,[["render",fn],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),zn=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"}));export{fe as V,vn as a,zn as b}; diff --git a/web/settings/assets/VehicleConfig-ab3e40e7.js b/web/settings/assets/VehicleConfig-ab3e40e7.js new file mode 100644 index 0000000000..0e2e8eeece --- /dev/null +++ b/web/settings/assets/VehicleConfig-ab3e40e7.js @@ -0,0 +1 @@ +import{l as O,a6 as de,a7 as oe,F as N,_ as I,S as j,E as H,G as J,ao as G,an as Q,aq as se,ar as me,ah as le,am as X,ab as Y,d as ge,a0 as pe,ap as he,R as ce,M as be}from"./vendor-fortawesome-641b8eb6.js";import{_ as k,C as K}from"./index-bbf7119b.js";import{_ as fe}from"./dynamic-import-helper-be004503.js";import{_ as x,u as c,l as d,m as p,x as b,E as a,B as i,F as z,G as l,A as g,a2 as ve,a3 as _e,N as F,q as ae,y as T,z as m,M as q,D as Z}from"./vendor-50125810.js";const Ve={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ke=x(Ve,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),we={name:"VehicleConfigFallback",mixins:[ke]},ze={class:"vehicle-fallback"},Ce={key:1};function Se(n,e,f,P,y,t){const E=c("openwb-base-alert"),h=c("openwb-base-textarea");return d(),p("div",ze,[Object.keys(n.vehicle.configuration).length==0?(d(),b(E,{key:0,subtype:"info"},{default:a(()=>[i(' Der Fahrzeug-Typ "'+z(n.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),p("div",Ce,[l(E,{subtype:"warning"},{default:a(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+z(n.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),l(h,{title:"Konfiguration",subtype:"json","model-value":n.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=C=>n.updateConfiguration(C,"configuration"))},{help:a(()=>[...e[1]||(e[1]=[i(" Bitte prüfe, ob die Eingaben richtig interpretiert werden. ",-1)])]),_:1},8,["model-value"]),l(E,{subtype:"info"},{default:a(()=>[g("pre",null,z(JSON.stringify(n.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const ye=x(we,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]);O.add(de,oe);const Ee={name:"OpenwbVehicleProxy",components:{FontAwesomeIcon:N},props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],methods:{getVehicleComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),ve({loader:()=>fe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-4ae0aeb7.js"),["assets/vehicle-4ae0aeb7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-31a362e8.js"),["assets/vehicle-31a362e8.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./cupra/vehicle.vue":()=>k(()=>import("./vehicle-14a57b71.js"),["assets/vehicle-14a57b71.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-ca1b285b.js"),["assets/vehicle-ca1b285b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-be0877f5.js"),["assets/vehicle-be0877f5.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./homeassistant/vehicle.vue":()=>k(()=>import("./vehicle-9e046742.js"),["assets/vehicle-9e046742.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-21596240.js"),["assets/vehicle-21596240.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-43fcf505.js"),["assets/vehicle-43fcf505.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-c55de104.js"),["assets/vehicle-c55de104.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./leaf/vehicle.vue":()=>k(()=>import("./vehicle-b11f85e4.js"),["assets/vehicle-b11f85e4.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-825d3aa7.js"),["assets/vehicle-825d3aa7.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-f9fff90a.js"),["assets/vehicle-f9fff90a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-d5bfde74.js"),["assets/vehicle-d5bfde74.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-959a1698.js"),["assets/vehicle-959a1698.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-be62492a.js"),["assets/vehicle-be62492a.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-e8d4427e.js"),["assets/vehicle-e8d4427e.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-bcadc742.js"),["assets/vehicle-bcadc742.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./skoda/vehicle.vue":()=>k(()=>import("./vehicle-6072558b.js"),["assets/vehicle-6072558b.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-aedec57c.js"),["assets/vehicle-aedec57c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-f7fa181c.js"),["assets/vehicle-f7fa181c.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-axios-1a87d4ae.js","assets/index-bbf7119b.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-ade58621.js"),["assets/vehicle-ade58621.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-b50042d3.js"),["assets/vehicle-b50042d3.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/index-bbf7119b.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/index-6ce8f2e9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:ye})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function Le(n,e,f,P,y,t){const E=c("font-awesome-icon"),h=c("openwb-base-alert"),C=c("openwb-base-heading");return d(),p(F,null,[f.vehicle.official?(d(),b(h,{key:0,subtype:"info"},{default:a(()=>[l(E,{icon:["fas","certificate"]}),i(' Das ausgewählte Fahrzeug-Modul "'+z(f.vehicle.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(d(),b(h,{key:1,subtype:"info"},{default:a(()=>[l(E,{icon:["fas","people-group"]}),i(' Das ausgewählte Fahrzeug-Modul "'+z(f.vehicle.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),l(C,null,{default:a(()=>[i(' Einstellungen für SoC-Modul "'+z(f.vehicle.name)+'" ',1)]),_:1}),(d(),b(_e(t.getVehicleComponent()),{"vehicle-id":f.vehicleId,vehicle:f.vehicle,"onUpdate:configuration":e[0]||(e[0]=V=>t.updateConfiguration(V))},null,40,["vehicle-id","vehicle"]))],64)}const Ae=x(Ee,[["render",Le],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);O.add(I,j,H,J,G,Q,se,me,le,X,Y);const Pe={name:"VehicleScheduledChargingPlan",components:{FontAwesomeIcon:N},mixins:[K],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0},dcChargingEnabled:{type:Boolean,default:!1}},emits:["update:modelValue","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/optional/ep/flexible_tariff/provider"],showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:this.templateId,changed_in_theme:!1,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:this.templateId,plan:this.modelValue.id,changed_in_theme:!1}})}}},Ue={key:0},We={key:1},Fe={key:2},Be={key:3},Me={key:4},Te={key:5},De={key:1},qe={key:1},xe={key:7};function Ze(n,e,f,P,y,t){const E=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),C=c("openwb-base-avatar"),V=c("openwb-base-text-input"),S=c("openwb-base-button-group-input"),B=c("openwb-base-range-input"),L=c("openwb-base-number-input"),D=c("openwb-base-alert"),v=c("openwb-base-card");return d(),p(F,null,[l(E,{show:y.showRemoveModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:a(()=>[i(' Willst Du den Zielladen Zeitplan "'+z(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),l(v,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:a(s=>[s.collapsed==!0?(d(),p("span",{key:0,class:ae(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=T(_=>t.plan.active=!t.plan.active,["stop"]))},[t.plan.limit.selected=="soc"?(d(),p("span",Ue,[l(h,{icon:["fas","car-battery"]}),i(" "+z(t.plan.limit.soc_scheduled)+"% ",1),l(h,{icon:["fas",t.plan.bidi_charging_enabled?"right-left":"right-long"]},null,8,["icon"]),i(" "+z(t.plan.limit.soc_limit)+"% ",1)])):m("",!0),t.plan.limit.selected=="amount"?(d(),p("span",We,[l(h,{icon:["fas","bolt"]}),i(" "+z(t.plan.limit.amount/1e3)+"kWh ",1)])):m("",!0),l(h,{icon:["fas","clock"]}),i(" "+z(t.plan.time)+" ",1),t.plan.frequency.selected=="once"?(d(),p("span",Fe,[l(h,{icon:["fas","calendar-day"]}),i(" "+z(n.formatDate(t.plan.frequency.once)),1)])):m("",!0),t.plan.frequency.selected=="daily"?(d(),p("span",Be,[l(h,{icon:["fas","calendar-week"]})])):m("",!0),t.plan.frequency.selected=="weekly"?(d(),p("span",Me,[l(h,{icon:["fas","calendar-alt"]})])):m("",!0),t.plan.et_active?(d(),p("span",Te,[l(h,{icon:["fas","coins"]})])):m("",!0)],2)):m("",!0),s.collapsed==!1?(d(),p("span",De,[l(C,{class:"bg-success clickable ml-1",title:"Zielladen-Plan duplizieren",onClick:e[1]||(e[1]=T(_=>t.copyPlan(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1}),l(C,{class:"bg-danger clickable ml-1",title:"Zielladen-Plan löschen",onClick:e[2]||(e[2]=T(_=>t.removePlanModal(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1})])):m("",!0)]),default:a(()=>[l(V,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=s=>t.plan.name=s),title:"Bezeichnung"},null,8,["modelValue"]),l(S,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=s=>t.plan.active=s),title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),l(V,{modelValue:t.plan.time,"onUpdate:modelValue":e[5]||(e[5]=s=>t.plan.time=s),title:"Ziel-Termin",subtype:"time"},{help:a(()=>[...e[18]||(e[18]=[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. ",-1)])]),_:1},8,["modelValue"]),l(S,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[6]||(e[6]=s=>t.plan.frequency.selected=s),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(d(),b(V,{key:0,modelValue:t.plan.frequency.once,"onUpdate:modelValue":e[7]||(e[7]=s=>t.plan.frequency.once=s),title:"Datum",subtype:"date"},null,8,["modelValue"])):m("",!0),t.plan.frequency.selected=="weekly"?(d(),p("div",qe,[(d(!0),p(F,null,q(n.weekdays,(s,_)=>(d(),b(S,{key:_,modelValue:t.plan.frequency.weekly[_],"onUpdate:modelValue":R=>t.plan.frequency.weekly[_]=R,title:s,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):m("",!0),e[30]||(e[30]=g("hr",null,null,-1)),l(B,{modelValue:t.plan.current,"onUpdate:modelValue":e[8]||(e[8]=s=>t.plan.current=s),title:`Ladestrom${f.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A"},{help:a(()=>[...e[19]||(e[19]=[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. ",-1)])]),_:1},8,["modelValue","title"]),f.dcChargingEnabled===!0?(d(),b(L,{key:2,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(t.plan.dc_current),"onUpdate:modelValue":e[9]||(e[9]=s=>t.plan.dc_current=n.dc_power2ac_current(s))},null,8,["model-value"])):m("",!0),l(S,{modelValue:t.plan.phases_to_use,"onUpdate:modelValue":e[10]||(e[10]=s=>t.plan.phases_to_use=s),title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}]},{help:a(()=>[...e[20]||(e[20]=[i(' 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)])]),_:1},8,["modelValue"]),l(S,{modelValue:t.plan.phases_to_use_pv,"onUpdate:modelValue":e[11]||(e[11]=s=>t.plan.phases_to_use_pv=s),title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}]},{help:a(()=>[...e[21]||(e[21]=[i(' 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)])]),_:1},8,["modelValue"]),e[31]||(e[31]=g("hr",null,null,-1)),l(S,{modelValue:t.plan.limit.selected,"onUpdate:modelValue":e[12]||(e[12]=s=>t.plan.limit.selected=s),title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}]},{help:a(()=>[...e[22]||(e[22]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ",-1)])]),_:1},8,["modelValue"]),t.plan.limit.selected=="soc"?(d(),b(B,{key:3,modelValue:t.plan.limit.soc_scheduled,"onUpdate:modelValue":e[13]||(e[13]=s=>t.plan.limit.soc_scheduled=s),title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[23]||(e[23]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ",-1)])]),_:1},8,["modelValue"])):m("",!0),t.plan.limit.selected=="soc"?(d(),b(B,{key:4,modelValue:t.plan.limit.soc_limit,"onUpdate:modelValue":e[14]||(e[14]=s=>t.plan.limit.soc_limit=s),title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[24]||(e[24]=[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! ",-1)])]),_:1},8,["modelValue"])):m("",!0),t.plan.limit.selected=="amount"?(d(),b(L,{key:5,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.plan.limit.amount/1e3,"onUpdate:modelValue":e[15]||(e[15]=s=>t.plan.limit.amount=s*1e3)},{help:a(()=>[...e[25]||(e[25]=[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. ",-1)])]),_:1},8,["model-value"])):m("",!0),e[32]||(e[32]=g("hr",null,null,-1)),l(S,{modelValue:t.plan.et_active,"onUpdate:modelValue":e[16]||(e[16]=s=>t.plan.et_active=s),title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),t.plan.et_active==!0&&(!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]||!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type)?(d(),b(D,{key:6,subtype:"danger"},{default:a(()=>[...e[26]||(e[26]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ",-1)])]),_:1})):m("",!0),t.plan.limit.selected=="soc"?(d(),p("div",xe,[e[29]||(e[29]=g("hr",null,null,-1)),l(S,{modelValue:t.plan.bidi_charging_enabled,"onUpdate:modelValue":e[17]||(e[17]=s=>t.plan.bidi_charging_enabled=s),title:"Bidirektionales Überschussladen bei kompatiblem Ladepunkt&Fahrzeug",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},{help:a(()=>[...e[27]||(e[27]=[i(" Wenn Ladepunkt und Fahrzeug bidirektionales Laden unterstützen, wird bis zum Fahrzug-SoC zum Zielzeitpunkt wie gewohnt mit Zielladen geladen. Ist der eingestellte SoC erreicht, wird eine Nullpunktausregelung gemacht, dh das Auto wird so ge- und entladen, dass möglichst weder Bezug noch Einspeisung entsteht. Der SoC wird dabei immer zwischen Fahrzeug-SoC zum Zielzeitpunkt und Fahrzeug-SoC mit Überschuss gehalten. ",-1),g("br",null,null,-1),i(" Unterstützen das Fahrzeug und/oder der Ladepunkt kein bidirektionales Laden, hat diese Einstellung keine Auswirkung. ",-1)])]),_:1},8,["modelValue"]),t.plan.bidi_charging_enabled===!0?(d(),b(D,{key:0,subtype:"info"},{default:a(()=>[...e[28]||(e[28]=[i(" Die Norm IEC 61851-1 und ISO 15118 benötigen als Parameter eine Stromstärke und die Phasenzahl. Die Norm ISO 15118-20, die das bidirektionale Laden definiert, benötigt als Parameter eine Ladeleistung. Die Phasenzahl legt das Fahrzeug fest. Wenn Fahrzeug und Ladepunkt bidirektionales Laden nach ISO 15118-20 unterstützen, wird die eingestellte Ladeleistung verwendet. Unterstützen das Fahrzeug und/oder der Ladepunkt die Norm nicht, wird der Ladestrom und die vorgegebene Phasenzahl angewendet. ",-1)])]),_:1})):m("",!0)])):m("",!0)]),_:1},8,["title"])],64)}const Oe=x(Pe,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ChargeTemplateScheduledChargingPlan.vue"]]);O.add(I,j,H,J,G,Q,X,Y);const Ne={name:"ChargeTemplateTimeChargingPlan",components:{FontAwesomeIcon:N},mixins:[K],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0},dcChargingEnabled:{type:Boolean,default:!1}},emits:["update:modelValue","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/optional/dc_charging"],showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:this.templateId,changed_in_theme:!1,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:this.templateId,plan:this.modelValue.id,changed_in_theme:!1}})}}},Re={key:0},Ie={key:1},je={key:2},He={key:3},Je={key:4},Ge={key:1},Qe={key:2};function Xe(n,e,f,P,y,t){const E=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),C=c("openwb-base-avatar"),V=c("openwb-base-text-input"),S=c("openwb-base-button-group-input"),B=c("openwb-base-range-input"),L=c("openwb-base-number-input"),D=c("openwb-base-card");return d(),p(F,null,[l(E,{show:y.showRemoveModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:a(()=>[i(' Willst Du den Zeitladen Zeitplan "'+z(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),l(D,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:a(v=>[v.collapsed==!0?(d(),p("span",{key:0,class:ae(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=T(s=>t.plan.active=!t.plan.active,["stop"]))},[t.plan.limit.selected=="soc"?(d(),p("span",Re,[l(h,{icon:["fas","car-battery"]}),i(" "+z(t.plan.limit.soc)+"% ",1)])):m("",!0),t.plan.limit.selected=="amount"?(d(),p("span",Ie,[l(h,{icon:["fas","bolt"]}),i(" "+z(t.plan.limit.amount/1e3)+"kWh ",1)])):m("",!0),l(h,{icon:["fas","clock"]}),i(" "+z(t.plan.time[0])+" - "+z(t.plan.time[1])+" ",1),t.plan.frequency.selected=="once"?(d(),p("span",je,[l(h,{icon:["fas","calendar-day"]}),i(" "+z(n.formatDate(t.plan.frequency.once[0])==n.formatDate(t.plan.frequency.once[1])?n.formatDate(t.plan.frequency.once[0]):n.formatDate(t.plan.frequency.once[0])+" - "+n.formatDate(t.plan.frequency.once[1])),1)])):m("",!0),t.plan.frequency.selected=="daily"?(d(),p("span",He,[l(h,{icon:["fas","calendar-week"]})])):m("",!0),t.plan.frequency.selected=="weekly"?(d(),p("span",Je,[l(h,{icon:["fas","calendar-alt"]})])):m("",!0)],2)):m("",!0),v.collapsed==!1?(d(),p("span",Ge,[l(C,{class:"bg-success clickable",title:"Zeitladen-Plan duplizieren",onClick:e[1]||(e[1]=T(s=>t.copyPlan(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1}),l(C,{class:"bg-danger clickable ml-1",title:"Zeitladen-Plan löschen",onClick:e[2]||(e[2]=T(s=>t.removePlanModal(),["stop"]))},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1})])):m("",!0)]),default:a(()=>[l(V,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=v=>t.plan.name=v),title:"Bezeichnung"},null,8,["modelValue"]),l(S,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=v=>t.plan.active=v),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),l(V,{modelValue:t.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=v=>t.plan.time[0]=v),title:"Zeitpunkt des Ladebeginns",subtype:"time"},null,8,["modelValue"]),l(V,{modelValue:t.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=v=>t.plan.time[1]=v),title:"Zeitpunkt des Ladeendes",subtype:"time"},null,8,["modelValue"]),l(S,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=v=>t.plan.frequency.selected=v),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(d(),b(V,{key:0,modelValue:t.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=v=>t.plan.frequency.once[0]=v),title:"Gültig ab",subtype:"date"},null,8,["modelValue"])):m("",!0),t.plan.frequency.selected=="once"?(d(),b(V,{key:1,modelValue:t.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=v=>t.plan.frequency.once[1]=v),title:"Gültig bis",subtype:"date",min:t.plan.frequency.once[0]},null,8,["modelValue","min"])):m("",!0),t.plan.frequency.selected=="weekly"?(d(),p("div",Qe,[(d(!0),p(F,null,q(n.weekdays,(v,s)=>(d(),b(S,{key:s,modelValue:t.plan.frequency.weekly[s],"onUpdate:modelValue":_=>t.plan.frequency.weekly[s]=_,title:v,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):m("",!0),e[20]||(e[20]=g("hr",null,null,-1)),l(B,{modelValue:t.plan.current,"onUpdate:modelValue":e[10]||(e[10]=v=>t.plan.current=v),title:`Ladestrom${f.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A"},null,8,["modelValue","title"]),f.dcChargingEnabled===!0?(d(),b(L,{key:3,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(t.plan.dc_current),"onUpdate:modelValue":e[11]||(e[11]=v=>t.plan.dc_current=n.dc_power2ac_current(v))},null,8,["model-value"])):m("",!0),l(S,{modelValue:t.plan.phases_to_use,"onUpdate:modelValue":e[12]||(e[12]=v=>t.plan.phases_to_use=v),title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}]},{help:a(()=>[...e[16]||(e[16]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["modelValue"]),e[21]||(e[21]=g("hr",null,null,-1)),l(S,{modelValue:t.plan.limit.selected,"onUpdate:modelValue":e[13]||(e[13]=v=>t.plan.limit.selected=v),title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}]},{help:a(()=>[...e[17]||(e[17]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ",-1)])]),_:1},8,["modelValue"]),l(B,{modelValue:t.plan.limit.soc,"onUpdate:modelValue":e[14]||(e[14]=v=>t.plan.limit.soc=v),title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%"},{help:a(()=>[...e[18]||(e[18]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ",-1)])]),_:1},8,["modelValue"]),l(L,{title:"Energie-Limit",unit:"kWh",min:1,step:.5,"model-value":t.plan.limit.amount/1e3,"onUpdate:modelValue":e[15]||(e[15]=v=>t.plan.limit.amount=v*1e3)},{help:a(()=>[...e[19]||(e[19]=[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. ",-1)])]),_:1},8,["model-value"])]),_:1},8,["title"])],64)}const Ye=x(Ne,[["render",Xe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ChargeTemplateTimeChargingPlan.vue"]]);O.add(ge,Y,J,Q,G,H,I,j,pe,he,ce,le,X);const Ke={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:N,FontAwesomeLayers:be,OpenwbVehicleProxy:Ae,ChargeTemplateScheduledChargingPlan:Oe,ChargeTemplateTimeChargingPlan:Ye},mixins:[K],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/ep/flexible_tariff/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}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates(){const n=this.getWildcardTopics("openWB/vehicle/template/ev_template/+");return Object.fromEntries(Object.entries(n).filter(([,e])=>e&&typeof e=="object"))},evTemplateList:{get(){let n=[];return Object.keys(this.evTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)$/g)[0]),P=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+f].name;n.push({value:f,text:P})}),n}},chargeTemplates(){const n=this.getWildcardTopics("openWB/vehicle/template/charge_template/+");return Object.fromEntries(Object.entries(n).filter(([,e])=>e&&typeof e=="object"))},chargeTemplateList:{get(){let n=[];return Object.keys(this.chargeTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)$/g)[0]),P=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+f].name;n.push({value:f,text:P})}),n}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},addVehicle(n){n.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(n,e){n.stopPropagation(),this.modalVehicleIndex=e,this.showVehicleModal=!0},removeVehicle(n,e){this.showVehicleModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:e}})},getVehicleName(n){return this.$store.state.mqtt["openWB/vehicle/"+n+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+n+"/name"]:"Fahrzeug "+n},getSocDefaultConfiguration(n){const e=this.socModuleList.find(f=>f.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",n),{})},updateSelectedSocModule(n,e){this.updateState("openWB/vehicle/"+n+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+n+"/soc_module/config",this.getSocDefaultConfiguration(e))},addEvTemplate(n,e){n.stopPropagation();let f={};e&&e.match(/([^/]+)$/)&&(f.copy=parseInt(e.match(/([^/]+)$/)[0])),this.$emit("sendCommand",{command:"addEvTemplate",data:f})},removeEvTemplateModal(n,e){n.stopPropagation(),this.modalEvTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(n,e){this.showEvTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:e}})},getEvTemplateName(n){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+n]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+n].name:"Fahrzeug-Profil "+n},addChargeTemplate(n,e){n.stopPropagation();let f={};e&&e.match(/([^/]+)$/)&&(f.copy=parseInt(e.match(/([^/]+)$/)[0])),this.$emit("sendCommand",{command:"addChargeTemplate",data:f})},removeChargeTemplateModal(n,e){this.modalChargeTemplateIndex=e,this.showChargeTemplateModal=!0},removeChargeTemplate(n,e){this.showChargeTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:e}})},getChargeTemplateName(n){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+n]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+n].name:"Lade-Profil "+n},addChargeTemplateSchedulePlan(n){this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:n,changed_in_theme:!1}})},addChargeTemplateTimeChargingPlan(n){this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:n,changed_in_theme:!1}})},openActiveChargeModeCard(n,e){this.$nextTick(()=>{["instant_charging","pv_charging","eco_charging","scheduled_charging"].forEach(P=>{const y=`card-${n}-${P}`,t=this.$refs[y],E=Array.isArray(t)?t[0]:t;E&&(E.isCollapsed=P!==e)})})}}},$e={class:"vehicleConfig"},en={name:"vehicleConfigForm"},nn={key:0},tn={key:1},ln={key:2},an={key:0},rn={key:0},un={key:1},dn={key:1},on={key:3},sn={key:0},mn={key:1},gn={key:0},pn={key:1},hn={key:0},cn={key:0},bn={key:3},fn={key:0},vn={key:1},_n={key:0},Vn={key:1};function kn(n,e,f,P,y,t){const E=c("openwb-base-modal-dialog"),h=c("font-awesome-icon"),C=c("openwb-base-avatar"),V=c("openwb-base-alert"),S=c("openwb-base-text-input"),B=c("openwb-base-select-input"),L=c("openwb-base-heading"),D=c("router-link"),v=c("openwb-base-array-input"),s=c("openwb-base-button-group-input"),_=c("openwb-base-number-input"),R=c("openwb-vehicle-proxy"),U=c("openwb-base-card"),$=c("font-awesome-layers"),W=c("openwb-base-range-input"),ie=c("charge-template-scheduled-charging-plan"),re=c("charge-template-time-charging-plan"),ue=c("openwb-base-submit-buttons");return d(),p(F,null,[l(E,{show:y.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=u=>t.removeVehicle(u,y.modalVehicleIndex))},{default:a(()=>[i(' Willst Du das Fahrzeug "'+z(t.getVehicleName(y.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),l(E,{show:y.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=u=>t.removeEvTemplate(u,y.modalEvTemplateIndex))},{default:a(()=>[i(' Willst Du das Fahrzeug-Profil "'+z(t.getEvTemplateName(y.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),l(E,{show:y.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=u=>t.removeChargeTemplate(u,y.modalChargeTemplateIndex))},{default:a(()=>[i(' Willst Du das Lade-Profil "'+z(t.getChargeTemplateName(y.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),g("div",$e,[g("form",en,[l(U,{subtype:"info",collapsible:!0,collapsed:n.$route.params.section!="vehicle"},{header:a(()=>[l(h,{icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(d(),b(C,{key:0,class:"bg-success clickable",title:"Neues Fahrzeug hinzufügen",onClick:t.addVehicle},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(d(),p("div",nn,[l(V,{subtype:"info"},{default:a(()=>[...e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(d(),p("div",tn,[(d(!0),p(F,null,q(t.vehicleIndexes,u=>(d(),b(U,{key:u,title:t.getVehicleName(u),collapsible:!0,collapsed:!(n.$route.params.section=="vehicle"&&parseInt(n.$route.params.section_index)==u),subtype:"info"},Z({default:a(()=>{var o,r,A,M,ee,ne,te;return[l(S,{title:"Bezeichnung","model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/name"],disabled:u===0,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/name",w)},Z({_:2},[u===0?{name:"help",fn:a(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u!==0?(d(),b(S,{key:0,title:"Fahrzeughersteller ","model-value":(o=n.$store.state.mqtt["openWB/vehicle/"+u+"/info"])==null?void 0:o.manufacturer,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/info",w,"manufacturer")},{help:a(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),u!==0?(d(),b(S,{key:1,title:"Fahrzeugmodell","model-value":(r=n.$store.state.mqtt["openWB/vehicle/"+u+"/info"])==null?void 0:r.model,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/info",w,"model")},{help:a(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht.",-1),g("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(V,{subtype:"info"},{default:a(()=>[...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)])]),_:1}),l(B,{title:"Fahrzeug-Profil",options:t.evTemplateList,"model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/ev_template"],"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/ev_template",w)},null,8,["options","model-value","onUpdate:modelValue"]),l(B,{title:"Lade-Profil",options:t.chargeTemplateList,"model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/charge_template"],"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/charge_template",w)},null,8,["options","model-value","onUpdate:modelValue"]),e[32]||(e[32]=g("hr",null,null,-1)),f.installAssistantActive?m("",!0):(d(),p("div",ln,[l(L,null,{default:a(()=>[...e[14]||(e[14]=[i(" Fahrzeugzuordnung per ID-Tags ",-1)])]),_:1}),(((A=n.$store.state.mqtt["openWB/vehicle/"+u+"/tag_id"])==null?void 0:A.length)??0)>0?(d(),p("div",an,[l(V,{subtype:"info"},{default:a(()=>[e[16]||(e[16]=i(" Einstellungen zur Fahrzeugzuordnung finden sich unter ",-1)),l(D,{to:"/IdentificationConfig"},{default:a(()=>[...e[15]||(e[15]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[17]||(e[17]=i(". ",-1)),n.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(d(),p("div",rn," Aktuell ist die Identifikation in den Einstellungen deaktiviert. ")):(d(),p("div",un," Die Identifikation ist aktiv. Das Fahrzeug lässt sich per ID-Tag automatisch einem Ladepunkt zuordnen. "))]),_:1}),l(v,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.",readonly:!0,"model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/tag_id"]},{help:a(()=>[...e[18]||(e[18]=[i(" Hier werden die ID-Tags aufgelistet, welche diesem Fahrzeug zugeordnet sind. Mit diesen ID-Tags kann dieses Fahrzeug an Ladepunkten automatisch zugeordnet werden. ",-1)])]),_:1},8,["model-value"])])):(d(),p("div",dn,[l(V,{subtype:"info"},{default:a(()=>[e[20]||(e[20]=i(" Einstellungen zur Fahrzeugzuordnung finden sich unter ",-1)),l(D,{to:"/IdentificationConfig"},{default:a(()=>[...e[19]||(e[19]=[i(" Einstellungen - Identifikation ",-1)])]),_:1}),e[21]||(e[21]=i(".",-1)),e[22]||(e[22]=g("br",null,null,-1)),e[23]||(e[23]=i(" Dem Fahrzeug sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1})])),e[24]||(e[24]=g("hr",null,null,-1))])),l(B,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:t.socModuleList,"model-value":(M=n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/config"])==null?void 0:M.type,"onUpdate:modelValue":w=>t.updateSelectedSocModule(u,w)},{help:a(()=>[...e[25]||(e[25]=[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).",-1),g("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.",-1),g("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.",-1),g("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. ",-1)])]),_:1},8,["options","model-value","onUpdate:modelValue"]),(ee=n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/config"])!=null&&ee.type?(d(),p("div",on,[l(s,{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":(ne=n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/general_config"])==null?void 0:ne.use_soc_from_cp,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/soc_module/general_config",w,"use_soc_from_cp")},{help:a(()=>[...e[26]||(e[26]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(L,null,{help:a(()=>[...e[27]||(e[27]=[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. ",-1)])]),default:a(()=>[e[28]||(e[28]=i(" Aktualisierung der Fahrzeugdaten ",-1))]),_:1}),l(_,{title:"Während der Ladung",unit:"Min.",min:1,max:30,required:"","model-value":((te=n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/general_config"])==null?void 0:te.request_interval_charging)/60,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/soc_module/general_config",w*60,"request_interval_charging")},{help:a(()=>[...e[29]||(e[29]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Ohne laufende Ladung",unit:"Min.",min:5,required:"","model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/soc_module/general_config",w*60,"request_interval_not_charging")},{help:a(()=>[...e[30]||(e[30]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":w=>n.updateState("openWB/vehicle/"+u+"/soc_module/general_config",w,"request_only_plugged")},{help:a(()=>[...e[31]||(e[31]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(R,{"vehicle-id":u,vehicle:n.$store.state.mqtt["openWB/vehicle/"+u+"/soc_module/config"],"onUpdate:configuration":w=>t.updateConfiguration("openWB/vehicle/"+u+"/soc_module/config",w)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]}),_:2},[u!==0?{name:"actions",fn:a(o=>[o.collapsed?m("",!0):(d(),b(C,{key:0,class:"bg-danger clickable",title:"Fahrzeug löschen",onClick:r=>t.removeVehicleModal(r,u)},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[93]||(e[93]=g("hr",{class:"border-secondary"},null,-1)),l(L,null,{default:a(()=>[...e[33]||(e[33]=[i("Profile",-1)])]),_:1}),l(U,{collapsible:!0,collapsed:!0},{header:a(()=>[l($,{class:"fa-lg"},{default:a(()=>[l(h,{icon:["far","file"]}),l(h,{icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[34]||(e[34]=i(" Fahrzeug-Profile ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(d(),b(C,{key:0,class:"bg-success clickable",title:"Neues Fahrzeug-Profil hinzufügen",onClick:t.addEvTemplate},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(d(),p("div",sn,[l(V,{subtype:"info"},{default:a(()=>[...e[35]||(e[35]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(d(),p("div",mn,[l(V,{subtype:"info"},{default:a(()=>[...e[36]||(e[36]=[i(" Ein anderes Fahrzeug-Profil wird erst ",-1),g("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)])]),_:1}),(d(!0),p(F,null,q(t.evTemplates,(u,o)=>(d(),b(U,{key:o,title:u.name?u.name:o,collapsible:!0,collapsed:!0},Z({default:a(()=>[l(S,{title:"Bezeichnung","model-value":u.name,disabled:o.endsWith("/0"),"onUpdate:modelValue":r=>n.updateState(o,r,"name")},Z({_:2},[o.endsWith("/0")?{name:"help",fn:a(()=>[e[37]||(e[37]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),l(L,null,{default:a(()=>[...e[38]||(e[38]=[i(" Angaben zur Batterie ",-1)])]),_:1}),l(_,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":u.battery_capacity/1e3,"onUpdate:modelValue":r=>n.updateState(o,r*1e3,"battery_capacity")},{help:a(()=>[...e[39]||(e[39]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),f.installAssistantActive?m("",!0):(d(),p("div",gn,[l(_,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":u.efficiency,"onUpdate:modelValue":r=>n.updateState(o,r,"efficiency")},{help:a(()=>[...e[40]||(e[40]=[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.",-1),g("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: ",-1),g("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren",-1),g("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen",-1),g("br",null,null,-1)])]),_:1},8,["model-value","onUpdate:modelValue"])])),l(_,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":u.average_consump/1e3,"onUpdate:modelValue":r=>n.updateState(o,r*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),l(s,{title:"Bidirektionales Laden",buttons:[{buttonValue:!1,text:"Nicht unterstützt",class:"btn-outline-danger"},{buttonValue:!0,text:"AC nach ISO15118-20",class:"btn-outline-success"}],"model-value":u.bidi,"onUpdate:modelValue":r=>n.updateState(o,r,"bidi")},{help:a(()=>[...e[41]||(e[41]=[i(' Für bidirektionales Laden wird eine openWB Pro benötigt. Die openWB Pro muss auf den Modus "Bidi" gestellt werden.',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(d(),p("div",pn,[l(L,null,{default:a(()=>[...e[42]||(e[42]=[i(" Angaben zur Ladeleistung (DC) ",-1)])]),_:1}),l(_,{title:"Mindestleistung",min:0,unit:"kW","model-value":n.ac_current2dc_power(u.dc_min_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),l(_,{title:"Maximalleistung",unit:"kW","model-value":n.ac_current2dc_power(u.dc_max_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),l(L,null,{default:a(()=>[e[43]||(e[43]=i(" Angaben zum Ladestrom ",-1)),t.dcChargingEnabled===!0?(d(),p("span",hn," (AC) ")):m("",!0)]),_:1}),l(W,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":u.min_current,"onUpdate:modelValue":r=>n.updateState(o,r,"min_current")},null,8,["model-value","onUpdate:modelValue"]),l(W,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":u.max_current_single_phase,"onUpdate:modelValue":r=>n.updateState(o,r,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),l(W,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":u.max_current_multi_phases,"onUpdate:modelValue":r=>n.updateState(o,r,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),l(_,{title:"Erlaubte Stromabweichung",step:.1,min:0,max:5,unit:"A","model-value":u.nominal_difference,"onUpdate:modelValue":r=>n.updateState(o,r,"nominal_difference")},{help:a(()=>[...e[44]||(e[44]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(L,null,{default:a(()=>[e[45]||(e[45]=i(" Angaben zur Handhabung von Phasen ",-1)),t.dcChargingEnabled===!0?(d(),p("span",cn," (AC) ")):m("",!0)]),_:1}),l(s,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":u.max_phases,"onUpdate:modelValue":r=>n.updateState(o,r,"max_phases")},{help:a(()=>[...e[46]||(e[46]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) verwendet. Plugin-Hybride nutzen meist nur eine Phase, reine E-Autos meist 3, manche nur 2 Phasen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":u.control_pilot_interruption,"onUpdate:modelValue":r=>n.updateState(o,r,"control_pilot_interruption")},{help:a(()=>[...e[47]||(e[47]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),u.control_pilot_interruption?(d(),b(_,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":u.control_pilot_interruption_duration,"onUpdate:modelValue":r=>n.updateState(o,r,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":u.prevent_phase_switch,"onUpdate:modelValue":r=>n.updateState(o,r,"prevent_phase_switch")},{help:a(()=>[...e[48]||(e[48]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":u.prevent_charge_stop,"onUpdate:modelValue":r=>n.updateState(o,r,"prevent_charge_stop")},{help:a(()=>[...e[49]||(e[49]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),f.installAssistantActive?m("",!0):(d(),p("div",bn,[l(_,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":u.keep_charge_active_duration,"onUpdate:modelValue":r=>n.updateState(o,r,"keep_charge_active_duration")},{help:a(()=>[...e[50]||(e[50]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]))]),_:2},[n.$store.state.mqtt["openWB/general/extern"]===!1?{name:"actions",fn:a(r=>[r.collapsed?m("",!0):(d(),b(C,{key:0,class:"bg-success clickable",title:"Fahrzeug-Profil duplizieren",onClick:A=>t.addEvTemplate(A,o)},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1},8,["onClick"])),!r.collapsed&&!o.endsWith("/0")?(d(),b(C,{key:1,class:"bg-danger clickable ml-1",title:"Fahrzeug-Profil löschen",onClick:A=>t.removeEvTemplateModal(A,o)},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"])):m("",!0)]),key:"0"}:void 0]),1032,["title"]))),128))]))]),_:1}),l(U,{collapsible:!0,collapsed:n.$route.params.section!="charge_template"},{header:a(()=>[l($,{class:"fa-lg"},{default:a(()=>[l(h,{icon:["far","file"]}),l(h,{icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[51]||(e[51]=i(" Lade-Profile ",-1))]),actions:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(d(),b(C,{key:0,class:"bg-success clickable",title:"Neues Lade-Profil hinzufügen",onClick:t.addChargeTemplate},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(d(),p("div",fn,[l(V,{subtype:"info"},{default:a(()=>[...e[52]||(e[52]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])]),_:1})])):(d(),p("div",vn,[(d(!0),p(F,null,q(t.chargeTemplates,(u,o)=>(d(),b(U,{key:o,title:u.name?u.name:o,collapsible:!0,collapsed:!(n.$route.params.section=="charge_template"&&parseInt(n.$route.params.section_index)==u.id)},{actions:a(r=>[r.collapsed?m("",!0):(d(),b(C,{key:0,class:"bg-success clickable",title:"Lade-Profil duplizieren",onClick:A=>t.addChargeTemplate(A,o)},{default:a(()=>[l(h,{icon:["fas","copy"]})]),_:1},8,["onClick"])),!r.collapsed&&!o.endsWith("/0")?(d(),b(C,{key:1,class:"bg-danger clickable ml-1",title:"Lade-Profil löschen",onClick:T(A=>t.removeChargeTemplateModal(A,u.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","trash"]})]),_:1},8,["onClick"])):m("",!0)]),default:a(()=>[l(S,{title:"Bezeichnung","model-value":u.name,disabled:o.endsWith("/0"),"onUpdate:modelValue":r=>n.updateState(o,r,"name")},Z({_:2},[o.endsWith("/0")?{name:"help",fn:a(()=>[e[53]||(e[53]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),l(L,null,{default:a(()=>[...e[54]||(e[54]=[i(" Allgemeine Optionen ",-1)])]),_:1}),l(s,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofort",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Ziel",class:"btn-outline-primary"},{buttonValue:"eco_charging",text:"Eco",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":u.chargemode.selected,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.selected"),onButtonClick:r=>t.openActiveChargeModeCard(o,r)},{help:a(()=>[...e[55]||(e[55]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist.",-1),g("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:",-1),g("br",null,null,-1),g("ol",null,[g("li",null,"Ziel (Sofortladen) mit Priorität"),g("li",null,"Ziel (Sofortladen)"),g("li",null,"Zeit mit Priorität"),g("li",null,"Zeit"),g("li",null,"Sofort mit Priorität"),g("li",null,"Sofort"),g("li",null,"Eco (Min-Anteil) mit Priorität"),g("li",null,"Eco (Min-Anteil)"),g("li",null,"PV (Min-Anteil) mit Priorität"),g("li",null,"PV (Min-Anteil)"),g("li",null,"Ziel (PV) mit Priorität"),g("li",null,"Ziel (PV)"),g("li",null,"Eco (PV-Anteil) mit Priorität"),g("li",null,"Eco (PV-Anteil)"),g("li",null,"PV (PV-Anteil) mit Priorität"),g("li",null,"PV (PV-Anteil)"),g("li",null,"Bidi-Entladen ohne Priorität"),g("li",null,"Bidi-Entladen mit Priorität")],-1)])]),_:1},8,["model-value","onUpdate:modelValue","onButtonClick"]),f.installAssistantActive?m("",!0):(d(),p("div",_n,[l(s,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":u.prio,"onUpdate:modelValue":r=>n.updateState(o,r,"prio")},{help:a(()=>[...e[56]||(e[56]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":u.load_default,"onUpdate:modelValue":r=>n.updateState(o,r,"load_default")},{help:a(()=>[...e[57]||(e[57]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),e[59]||(e[59]=g("hr",null,null,-1)),l(L,null,{default:a(()=>[...e[58]||(e[58]=[i("Einstellungen der Lademodi",-1)])]),_:1})])),l(U,{ref_for:!0,ref:`card-${o}-instant_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[60]||(e[60]=[i(" Sofort ",-1)])]),default:a(()=>[l(W,{title:`Soll-Ladestrom${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":u.chargemode.instant_charging.current,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(d(),b(_,{key:0,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(u.chargemode.instant_charging.dc_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":u.chargemode.instant_charging.phases_to_use,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.instant_charging.phases_to_use")},{help:a(()=>[...e[61]||(e[61]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":u.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.instant_charging.limit.selected")},{help:a(()=>[...e[62]||(e[62]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(W,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":u.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.instant_charging.limit.soc")},{help:a(()=>[...e[63]||(e[63]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":u.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":r=>n.updateState(o,r*1e3,"chargemode.instant_charging.limit.amount")},{help:a(()=>[...e[64]||(e[64]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1536),l(U,{ref_for:!0,ref:`card-${o}-pv_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[65]||(e[65]=[i(" PV ",-1)])]),default:a(()=>[l(W,{title:`Minimaler Dauerstrom${t.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":u.chargemode.pv_charging.min_current,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.min_current")},{help:a(()=>[...e[66]||(e[66]=[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. ',-1)])]),_:1},8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(d(),b(_,{key:0,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(u.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"chargemode.pv_charging.dc_min_current")},{help:a(()=>[...e[67]||(e[67]=[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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":u.chargemode.pv_charging.phases_to_use,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.phases_to_use")},{help:a(()=>[...e[68]||(e[68]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":u.chargemode.pv_charging.limit.selected,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.limit.selected")},{help:a(()=>[...e[69]||(e[69]=[i(" PV 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(W,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":u.chargemode.pv_charging.limit.soc,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.limit.soc")},{help:a(()=>[...e[70]||(e[70]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":u.chargemode.pv_charging.limit.amount/1e3,"onUpdate:modelValue":r=>n.updateState(o,r*1e3,"chargemode.pv_charging.limit.amount")},{help:a(()=>[...e[71]||(e[71]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(W,{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":u.chargemode.pv_charging.min_soc,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.min_soc")},{help:a(()=>[...e[72]||(e[72]=[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.',-1),g("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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(W,{title:`Mindest-SoC-Strom${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":u.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.min_soc_current")},{help:a(()=>[...e[73]||(e[73]=[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). ',-1)])]),_:1},8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(d(),b(_,{key:1,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(u.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"chargemode.pv_charging.dc_min_soc_current")},{help:a(()=>[...e[74]||(e[74]=[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). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen Mindest-SoC",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":u.chargemode.pv_charging.phases_to_use_min_soc,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.phases_to_use_min_soc")},{help:a(()=>[...e[75]||(e[75]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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 einer und mehreren Phasen (sog. 1p3p). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":u.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.pv_charging.feed_in_limit")},{help:a(()=>[...e[76]||(e[76]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "Überschuss-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1536),l(U,{ref_for:!0,ref:`card-${o}-scheduled_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[77]||(e[77]=[i(" Ziel ",-1)])]),default:a(()=>[l(L,null,{actions:a(()=>[l(C,{class:"bg-success clickable",title:"Neuen Zielladen-Plan hinzufügen",onClick:T(r=>t.addChargeTemplateSchedulePlan(u.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),help:a(()=>[...e[78]||(e[78]=[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.',-1),g("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.',-1),g("br",null,null,-1),i(" Es wird nach den Vorgaben des Zeitplans geladen, dessen Zieltermin am nächsten liegt, bis max 20 Minuten nach dem angegebenen Zieltermin. ",-1)])]),default:a(()=>[e[79]||(e[79]=i(" Zielladepläne ",-1))]),_:2},1024),u.chargemode.scheduled_charging.plans.length==0?(d(),b(V,{key:0,subtype:"info"},{default:a(()=>[...e[80]||(e[80]=[i(" Es wurden noch keine Pläne für das Zielladen angelegt. ",-1)])]),_:1})):m("",!0),(d(!0),p(F,null,q(u.chargemode.scheduled_charging.plans,(r,A)=>(d(),b(ie,{key:A,"model-value":r,"template-id":u.id,"dc-charging-enabled":t.dcChargingEnabled,"onUpdate:modelValue":M=>n.updateState(o,M,`chargemode.scheduled_charging.plans.${A}`),onSendCommand:e[3]||(e[3]=M=>n.$emit("sendCommand",M))},null,8,["model-value","template-id","dc-charging-enabled","onUpdate:modelValue"]))),128))]),_:2},1536),l(U,{ref_for:!0,ref:`card-${o}-eco_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[81]||(e[81]=[i(" Eco ",-1)])]),default:a(()=>[l(L,null,{help:a(()=>[...e[82]||(e[82]=[i(" Im Eco-Modus wird eine Preisgrenze vorgegeben. Wenn der Strompreis unter dieser Grenze liegt, wird mit dem eingestellten Ladestrom geladen und -falls vorhanden- zusätzlich mit dem Überschuss. Wenn die Preisgrenze überschritten wird, wird nur mit Überschuss geladen, wenn dieser vorhanden ist. ",-1)])]),default:a(()=>[e[83]||(e[83]=i("Arbeitsweise von Eco ",-1))]),_:1}),l(W,{title:`Minimaler Dauerstrom unter der Preisgrenze${t.dcChargingEnabled?" (AC)":""}`,min:6,max:32,step:1,unit:"A","model-value":u.chargemode.eco_charging.current,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.eco_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(d(),b(_,{key:0,title:"Minimale Dauerleistung unter der Preisgrenze (DC)",unit:"kW",min:0,"model-value":n.ac_current2dc_power(u.chargemode.eco_charging.dc_current),"onUpdate:modelValue":r=>n.updateState(o,n.dc_power2ac_current(r),"chargemode.eco_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),l(s,{title:"Anzahl Phasen bei Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":u.chargemode.eco_charging.phases_to_use,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.eco_charging.phases_to_use")},{help:a(()=>[...e[84]||(e[84]=[i(' Hier kann eingestellt werden, ob Ladevorgänge mit 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),g("br",null,null,-1),i(" Wird die eingestellte Preisgrenze unterschritten, wird immer mit der maximalen Anzahl Phasen geladen. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(s,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Keine"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":u.chargemode.eco_charging.limit.selected,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.eco_charging.limit.selected")},{help:a(()=>[...e[85]||(e[85]=[i(" Eco 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. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(W,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":u.chargemode.eco_charging.limit.soc,"onUpdate:modelValue":r=>n.updateState(o,r,"chargemode.eco_charging.limit.soc")},{help:a(()=>[...e[86]||(e[86]=[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"). ',-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(_,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":u.chargemode.eco_charging.limit.amount/1e3,"onUpdate:modelValue":r=>n.updateState(o,r*1e3,"chargemode.eco_charging.limit.amount")},{help:a(()=>[...e[87]||(e[87]=[i(" Die geladene Energiemenge wird nach dem Anstecken neu gezählt. ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"]||!n.$store.state.mqtt["openWB/optional/ep/flexible_tariff/provider"].type?(d(),b(V,{key:1,subtype:"warning"},{default:a(()=>[...e[88]||(e[88]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. Ohne Strompreis-Anbieter wird im Modus Eco nur geladen, wenn Überschuss vorhanden ist. ",-1)])]),_:1})):m("",!0),l(_,{title:"Preisgrenze für strompreisbasiertes Laden",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":u.chargemode.eco_charging.max_price*1e5,"onUpdate:modelValue":r=>n.updateState(o,parseFloat((r/1e5).toFixed(7)),"chargemode.eco_charging.max_price")},null,8,["model-value","onUpdate:modelValue"])]),_:2},1536),f.installAssistantActive?m("",!0):(d(),p("div",Vn,[e[92]||(e[92]=g("hr",null,null,-1)),l(s,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":u.time_charging.active,"onUpdate:modelValue":r=>n.updateState(o,r,"time_charging.active")},{help:a(()=>[...e[89]||(e[89]=[g("p",null,' Der Lademodus Zeit 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. ',-1),g("p",null," 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). ",-1)])]),_:1},8,["model-value","onUpdate:modelValue"]),l(U,{ref_for:!0,ref:`card-${o}-scheduled_charging`,collapsible:!0,collapsed:!0,subtype:"secondary"},{header:a(()=>[...e[90]||(e[90]=[i(" Zeitladen-Pläne ",-1)])]),actions:a(()=>[l(C,{class:"bg-success clickable",title:"Neuen Zeitladen-Plan hinzufügen",onClick:T(r=>t.addChargeTemplateTimeChargingPlan(u.id),["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[(u.time_charging.plans??[]).length==0?(d(),b(V,{key:0,subtype:"info"},{default:a(()=>[...e[91]||(e[91]=[i(" Es wurden noch keine Pläne für das Zeitladen angelegt. ",-1)])]),_:1})):m("",!0),(d(!0),p(F,null,q(u.time_charging.plans??[],(r,A)=>(d(),b(re,{key:A,"model-value":r,"template-id":u.id,"dc-charging-enabled":t.dcChargingEnabled,"onUpdate:modelValue":M=>n.updateState(o,M,`time_charging.plans.${A}`),onSendCommand:e[4]||(e[4]=M=>n.$emit("sendCommand",M))},null,8,["model-value","template-id","dc-charging-enabled","onUpdate:modelValue"]))),128))]),_:2},1536)]))]),_:2},1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),l(ue,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=u=>n.$emit("save")),onReset:e[6]||(e[6]=u=>n.$emit("reset")),onDefaults:e[7]||(e[7]=u=>n.$emit("defaults"))})])])],64)}const wn=x(Ke,[["render",kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),En=Object.freeze(Object.defineProperty({__proto__:null,default:wn},Symbol.toStringTag,{value:"Module"}));export{ke as V,wn as a,En as b}; diff --git a/web/settings/assets/backup_cloud-0f27373c.js b/web/settings/assets/backup_cloud-3f5a509d.js similarity index 76% rename from web/settings/assets/backup_cloud-0f27373c.js rename to web/settings/assets/backup_cloud-3f5a509d.js index 73b3dff5b2..1a67734971 100644 --- a/web/settings/assets/backup_cloud-0f27373c.js +++ b/web/settings/assets/backup_cloud-3f5a509d.js @@ -1 +1 @@ -import{B as a}from"./DataManagement-9f7405c3.js";import{_ as s,u as r,l,m as i,G as n,E as d,B as p}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[a]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const u=r("openwb-base-text-input");return l(),i("div",c,[n(u,{title:"Cloud-URL",subtype:"url",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)])]),_:1},8,["model-value"]),n(u,{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"]),n(u,{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 y=s(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{y as default}; +import{B as a}from"./DataManagement-246ef920.js";import{_ as s,u as r,l,m as i,G as n,E as d,B as p}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[a]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const u=r("openwb-base-text-input");return l(),i("div",c,[n(u,{title:"Cloud-URL",subtype:"url",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)])]),_:1},8,["model-value"]),n(u,{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"]),n(u,{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 y=s(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{y as default}; diff --git a/web/settings/assets/backup_cloud-72e42145.js b/web/settings/assets/backup_cloud-53ebd812.js similarity index 70% rename from web/settings/assets/backup_cloud-72e42145.js rename to web/settings/assets/backup_cloud-53ebd812.js index b31cee55af..4ae8ed6e14 100644 --- a/web/settings/assets/backup_cloud-72e42145.js +++ b/web/settings/assets/backup_cloud-53ebd812.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-9f7405c3.js";import{_ as p,u,l as i,m as l,G as d,E as c,B as o,A as n}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,B){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",-1),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share",-1),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ",-1)])]),_: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-246ef920.js";import{_ as p,u,l as i,m as l,G as d,E as c,B as o,A as n}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,B){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",-1),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share",-1),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ",-1)])]),_: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-7d97c5c9.js b/web/settings/assets/backup_cloud-615bf3a1.js similarity index 89% rename from web/settings/assets/backup_cloud-7d97c5c9.js rename to web/settings/assets/backup_cloud-615bf3a1.js index 0b23d52d9e..213a2bbd94 100644 --- a/web/settings/assets/backup_cloud-7d97c5c9.js +++ b/web/settings/assets/backup_cloud-615bf3a1.js @@ -1 +1 @@ -import{B as c}from"./DataManagement-9f7405c3.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,B as n,A as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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. ",-1),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ",-1)])]),_: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. ",-1),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ",-1)])]),_: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)])]),_: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.",-1),i("br",null,null,-1),n(" Weitere Infos:",-1),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)])]),_: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)])]),_: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-246ef920.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,B as n,A as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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. ",-1),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ",-1)])]),_: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. ",-1),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ",-1)])]),_: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)])]),_: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.",-1),i("br",null,null,-1),n(" Weitere Infos:",-1),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)])]),_: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)])]),_: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-024d8c49.js b/web/settings/assets/backup_cloud-6db8baf5.js similarity index 81% rename from web/settings/assets/backup_cloud-024d8c49.js rename to web/settings/assets/backup_cloud-6db8baf5.js index dcac7d10a6..571bdb48e8 100644 --- a/web/settings/assets/backup_cloud-024d8c49.js +++ b/web/settings/assets/backup_cloud-6db8baf5.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-9f7405c3.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,B as a,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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.",-1),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!',-1),l("br",null,null,-1),a(" Beispiel 1: openwb/ ",-1),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ",-1)])]),_: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-246ef920.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,B as a,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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.",-1),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!',-1),l("br",null,null,-1),a(" Beispiel 1: openwb/ ",-1),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ",-1)])]),_: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-0240d84f.js b/web/settings/assets/bat-0881e58c.js similarity index 63% rename from web/settings/assets/bat-0240d84f.js rename to web/settings/assets/bat-0881e58c.js index be849c4d1d..eb484b63b2 100644 --- a/web/settings/assets/bat-0240d84f.js +++ b/web/settings/assets/bat-0881e58c.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-3cc0de59.js b/web/settings/assets/bat-1fff6c44.js similarity index 63% rename from web/settings/assets/bat-3cc0de59.js rename to web/settings/assets/bat-1fff6c44.js index ea562cff1c..e402624f57 100644 --- a/web/settings/assets/bat-3cc0de59.js +++ b/web/settings/assets/bat-1fff6c44.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-1972018d.js b/web/settings/assets/bat-22f35957.js similarity index 72% rename from web/settings/assets/bat-1972018d.js rename to web/settings/assets/bat-22f35957.js index 450a7cf98e..e52892b64b 100644 --- a/web/settings/assets/bat-1972018d.js +++ b/web/settings/assets/bat-22f35957.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as t,l as u,m,G as i,E as d,B as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as r,u as t,l as u,m,G as i,E as d,B as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-76a61014.js b/web/settings/assets/bat-29ce1276.js similarity index 73% rename from web/settings/assets/bat-76a61014.js rename to web/settings/assets/bat-29ce1276.js index ad873b2c69..52abe7733e 100644 --- a/web/settings/assets/bat-76a61014.js +++ b/web/settings/assets/bat-29ce1276.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as i,u as r,l as s,m as o,G as p,E as l,B as n,A as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceAlphaEssBat",mixins:[a]},m={class:"device-alphaess-bat"};function u(_,e,f,b,g,h){const t=r("openwb-base-alert");return s(),o("div",m,[p(t,{subtype:"info"},{default:l(()=>[...e[0]||(e[0]=[n(" Der AlphaESS Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren.",-1),d("br",null,null,-1),n(' Zur Nutzung müssen über Webinterface oder App einmalig Zeiten für das Netzladen definiert werden. (Einstellungen -> Funktionseinstellungen -> Netzladen/Entladen). Hier einen durchgängigen Zeitraum eintragen (Ladezeit 1: 00:00-23:00, Ladezeit 2 23:00-00:00). Den Schalter "Netzladen" deaktivieren! ',-1)])]),_:1})])}const C=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/bat.vue"]]);export{C as default}; +import{C as a}from"./HardwareInstallation-fcf847f9.js";import{_ as i,u as r,l as s,m as o,G as p,E as l,B as n,A as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceAlphaEssBat",mixins:[a]},m={class:"device-alphaess-bat"};function u(_,e,f,b,g,h){const t=r("openwb-base-alert");return s(),o("div",m,[p(t,{subtype:"info"},{default:l(()=>[...e[0]||(e[0]=[n(" Der AlphaESS Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren.",-1),d("br",null,null,-1),n(' Zur Nutzung müssen über Webinterface oder App einmalig Zeiten für das Netzladen definiert werden. (Einstellungen -> Funktionseinstellungen -> Netzladen/Entladen). Hier einen durchgängigen Zeitraum eintragen (Ladezeit 1: 00:00-23:00, Ladezeit 2 23:00-00:00). Den Schalter "Netzladen" deaktivieren! ',-1)])]),_:1})])}const C=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-b72a400b.js b/web/settings/assets/bat-36e103bf.js similarity index 88% rename from web/settings/assets/bat-b72a400b.js rename to web/settings/assets/bat-36e103bf.js index b3b207c6b6..cf1e216a7b 100644 --- a/web/settings/assets/bat-b72a400b.js +++ b/web/settings/assets/bat-36e103bf.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as s,u as a,l as p,m,G as o,E as l,B as i,A as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function v(t,e,w,j,q,C){const u=a("openwb-base-heading"),r=a("openwb-base-text-input");return p(),m("div",b,[o(u,null,{default:l(()=>[...e[7]||(e[7]=[i(" Einstellungen für JSON Batteriespeicher ",-1)])]),_:1}),o(r,{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:l(()=>[...e[8]||(e[8]=[i(' 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. ',-1),f("br",null,null,-1),i(" 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)])]),_:1},8,["model-value"]),o(r,{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(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":t.component.configuration.jq_current_l1,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_current_l1"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":t.component.configuration.jq_current_l2,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_current_l2"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":t.component.configuration.jq_current_l3,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.jq_current_l3"))},null,8,["model-value"]),o(r,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:l(()=>[...e[9]||(e[9]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:l(()=>[...e[10]||(e[10]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"])])}const E=s(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-fcf847f9.js";import{_ as s,u as a,l as p,m,G as o,E as l,B as i,A as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function v(t,e,w,j,q,C){const u=a("openwb-base-heading"),r=a("openwb-base-text-input");return p(),m("div",b,[o(u,null,{default:l(()=>[...e[7]||(e[7]=[i(" Einstellungen für JSON Batteriespeicher ",-1)])]),_:1}),o(r,{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:l(()=>[...e[8]||(e[8]=[i(' 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. ',-1),f("br",null,null,-1),i(" 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)])]),_:1},8,["model-value"]),o(r,{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(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":t.component.configuration.jq_current_l1,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_current_l1"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":t.component.configuration.jq_current_l2,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_current_l2"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":t.component.configuration.jq_current_l3,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.jq_current_l3"))},null,8,["model-value"]),o(r,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:l(()=>[...e[9]||(e[9]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:l(()=>[...e[10]||(e[10]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"])])}const E=s(g,[["render",v],["__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-19d62677.js b/web/settings/assets/bat-45aedbc7.js similarity index 82% rename from web/settings/assets/bat-19d62677.js rename to web/settings/assets/bat-45aedbc7.js index f9daae1090..964d13802e 100644 --- a/web/settings/assets/bat-19d62677.js +++ b/web/settings/assets/bat-45aedbc7.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as d,G as a,E as b,B as i,A as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmaxBat",mixins:[l]},f={class:"device-solarmax-bat"};function g(o,e,v,w,x,S){const r=n("openwb-base-alert"),s=n("openwb-base-number-input"),u=n("openwb-base-button-group-input");return m(),d("div",f,[a(r,{subtype:"info"},{default:b(()=>[...e[2]||(e[2]=[i(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden.",-1),c("br",null,null,-1),i(' Die aktive Speichersteuerung ist ab Solarmax Software Version 3.4.4 verfügbar. Zur Nutzung muss die Funktion "Connectivity+" durch den Solarmax Support (nicht openWB Support) freigeschaltet werden. ',-1)])]),_:1}),a(s,{title:"Modbus 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"]),a(u,{title:"Speicherleistung steuerbar",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.component.configuration.power_limit_controllable,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.power_limit_controllable"))},null,8,["model-value"])])}const E=p(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{E as default}; +import{C as l}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as d,G as a,E as b,B as i,A as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmaxBat",mixins:[l]},f={class:"device-solarmax-bat"};function g(o,e,v,w,x,S){const r=n("openwb-base-alert"),s=n("openwb-base-number-input"),u=n("openwb-base-button-group-input");return m(),d("div",f,[a(r,{subtype:"info"},{default:b(()=>[...e[2]||(e[2]=[i(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden.",-1),c("br",null,null,-1),i(' Die aktive Speichersteuerung ist ab Solarmax Software Version 3.4.4 verfügbar. Zur Nutzung muss die Funktion "Connectivity+" durch den Solarmax Support (nicht openWB Support) freigeschaltet werden. ',-1)])]),_:1}),a(s,{title:"Modbus 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"]),a(u,{title:"Speicherleistung steuerbar",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.component.configuration.power_limit_controllable,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.power_limit_controllable"))},null,8,["model-value"])])}const E=p(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-0daa1625.js b/web/settings/assets/bat-586deeb3.js similarity index 73% rename from web/settings/assets/bat-0daa1625.js rename to web/settings/assets/bat-586deeb3.js index a3c9b83f49..3bd384ab72 100644 --- a/web/settings/assets/bat-0daa1625.js +++ b/web/settings/assets/bat-586deeb3.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,B){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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,B){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)])]),_: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)])]),_: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-c8af015c.js b/web/settings/assets/bat-5add2389.js similarity index 93% rename from web/settings/assets/bat-c8af015c.js rename to web/settings/assets/bat-5add2389.js index 70a0eeea62..1d10ec0c4e 100644 --- a/web/settings/assets/bat-c8af015c.js +++ b/web/settings/assets/bat-5add2389.js @@ -1 +1 @@ -import{C as b}from"./HardwareInstallation-99f8d83a.js";import{_ as g,u,l as f,m as B,G as l,E as i,B as t,A as n,F as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const k={name:"DeviceMqttBat",mixins:[b]},w={class:"device-mqtt-bat"};function v(o,e,W,z,x,E){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),d=u("openwb-base-alert"),a=u("openwb-base-button-group-input");return f(),B("div",w,[l(p,null,{default:i(()=>[...e[1]||(e[1]=[t(" Einstellungen für MQTT Batteriespeicher ",-1)])]),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[27]||(e[27]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[2]||(e[2]=n("br",null,null,-1)),e[3]||(e[3]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung",-1)),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Beispiel: ",-1)),e[6]||(e[6]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100",-1)),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=t(" Beispiel: ",-1)),e[11]||(e[11]=n("span",{class:"text-info"},"95",-1))])]),e[28]||(e[28]=t(" Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung. ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[12]||(e[12]=n("br",null,null,-1)),e[13]||(e[13]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[14]||(e[14]=n("br",null,null,-1)),e[15]||(e[15]=t(" Beispiel: ",-1)),e[16]||(e[16]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[17]||(e[17]=n("br",null,null,-1)),e[18]||(e[18]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[19]||(e[19]=n("br",null,null,-1)),e[20]||(e[20]=t(" Beispiel: ",-1)),e[21]||(e[21]=n("span",{class:"text-info"},"123.45",-1))])]),e[29]||(e[29]=t(" Ströme je Phase sind optional, jedoch für phasenbasiertes Lastmanagement in Verbindung mit einem virtuellen Zähler unbedingt erforderlich. Ansonsten erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung an diesem Zähler: ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/currents ",1)]),_:1}),e[22]||(e[22]=n("br",null,null,-1)),e[23]||(e[23]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung",-1)),e[24]||(e[24]=n("br",null,null,-1)),e[25]||(e[25]=t(" Beispiel: ",-1)),e[26]||(e[26]=n("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])])]),_:1}),l(p,null,{default:i(()=>[...e[30]||(e[30]=[t(" Optionale Einstellungen ",-1)])]),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[36]||(e[36]=t(' Wenn der Speicher die aktive Steuerung durch openWB unterstützt, kann die Option "Speicherleistung steuerbar" auf "Ja" gesetzt werden. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. Über folgendes Topic wird dem Speicher die Entladeleistung mitgeteilt. ',-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[31]||(e[31]=n("br",null,null,-1)),e[32]||(e[32]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.",-1)),e[33]||(e[33]=n("br",null,null,-1)),e[34]||(e[34]=t(" Beispiel: ",-1)),e[35]||(e[35]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1}),l(a,{title:"Speicherleistung steuerbar",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.component.configuration.power_limit_controllable,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.power_limit_controllable"))},null,8,["model-value"])])}const C=g(k,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{C as default}; +import{C as b}from"./HardwareInstallation-fcf847f9.js";import{_ as g,u,l as f,m as B,G as l,E as i,B as t,A as n,F as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const k={name:"DeviceMqttBat",mixins:[b]},w={class:"device-mqtt-bat"};function v(o,e,W,z,x,E){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),d=u("openwb-base-alert"),a=u("openwb-base-button-group-input");return f(),B("div",w,[l(p,null,{default:i(()=>[...e[1]||(e[1]=[t(" Einstellungen für MQTT Batteriespeicher ",-1)])]),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[27]||(e[27]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[2]||(e[2]=n("br",null,null,-1)),e[3]||(e[3]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung",-1)),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Beispiel: ",-1)),e[6]||(e[6]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100",-1)),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=t(" Beispiel: ",-1)),e[11]||(e[11]=n("span",{class:"text-info"},"95",-1))])]),e[28]||(e[28]=t(" Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung. ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[12]||(e[12]=n("br",null,null,-1)),e[13]||(e[13]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[14]||(e[14]=n("br",null,null,-1)),e[15]||(e[15]=t(" Beispiel: ",-1)),e[16]||(e[16]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[17]||(e[17]=n("br",null,null,-1)),e[18]||(e[18]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[19]||(e[19]=n("br",null,null,-1)),e[20]||(e[20]=t(" Beispiel: ",-1)),e[21]||(e[21]=n("span",{class:"text-info"},"123.45",-1))])]),e[29]||(e[29]=t(" Ströme je Phase sind optional, jedoch für phasenbasiertes Lastmanagement in Verbindung mit einem virtuellen Zähler unbedingt erforderlich. Ansonsten erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung an diesem Zähler: ",-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/get/currents ",1)]),_:1}),e[22]||(e[22]=n("br",null,null,-1)),e[23]||(e[23]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung",-1)),e[24]||(e[24]=n("br",null,null,-1)),e[25]||(e[25]=t(" Beispiel: ",-1)),e[26]||(e[26]=n("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])])]),_:1}),l(p,null,{default:i(()=>[...e[30]||(e[30]=[t(" Optionale Einstellungen ",-1)])]),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[36]||(e[36]=t(' Wenn der Speicher die aktive Steuerung durch openWB unterstützt, kann die Option "Speicherleistung steuerbar" auf "Ja" gesetzt werden. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. Über folgendes Topic wird dem Speicher die Entladeleistung mitgeteilt. ',-1)),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[31]||(e[31]=n("br",null,null,-1)),e[32]||(e[32]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.",-1)),e[33]||(e[33]=n("br",null,null,-1)),e[34]||(e[34]=t(" Beispiel: ",-1)),e[35]||(e[35]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1}),l(a,{title:"Speicherleistung steuerbar",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.component.configuration.power_limit_controllable,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.power_limit_controllable"))},null,8,["model-value"])])}const C=g(k,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-52bffa6b.js b/web/settings/assets/bat-61a66367.js similarity index 62% rename from web/settings/assets/bat-52bffa6b.js rename to web/settings/assets/bat-61a66367.js index 1164ea6954..4a5895321d 100644 --- a/web/settings/assets/bat-52bffa6b.js +++ b/web/settings/assets/bat-61a66367.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as c,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKacoNHBat",mixins:[r]},_={class:"device-kaco-nh-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Kaco NH Batteriespeicher ",-1)])]),_:1}),t(a,{title:"ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/bat.vue"]]);export{D as default}; +import{C as r}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as c,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKacoNHBat",mixins:[r]},_={class:"device-kaco-nh-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Kaco NH Batteriespeicher ",-1)])]),_:1}),t(a,{title:"ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-796419d5.js b/web/settings/assets/bat-796ca5f1.js similarity index 68% rename from web/settings/assets/bat-796419d5.js rename to web/settings/assets/bat-796ca5f1.js index c115887f4c..4e901daf57 100644 --- a/web/settings/assets/bat-796419d5.js +++ b/web/settings/assets/bat-796ca5f1.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l,m as u,G as t,E as i,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceGoodWeBat",mixins:[m]},c={class:"device-goodwe-bat"};function b(o,e,f,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-number-input");return l(),u("div",c,[t(r,null,{default:i(()=>[...e[1]||(e[1]=[a(" Einstellungen für GoodWe Batteriespeicher ",-1)])]),_:1}),t(s,{title:"GoodWe-Batterie-Index","model-value":o.component.configuration.battery_index,min:"1",max:"2","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.battery_index"))},{help:i(()=>[...e[2]||(e[2]=[a(" Wenn eine zweite Batterie am Wechselrichter angeschlossen ist, hier den Index 2 eintagen. Im Normalfall immer 1 eintragen. ",-1)])]),_:1},8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/bat.vue"]]);export{N as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as n,l,m as u,G as t,E as i,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceGoodWeBat",mixins:[m]},c={class:"device-goodwe-bat"};function b(o,e,f,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-number-input");return l(),u("div",c,[t(r,null,{default:i(()=>[...e[1]||(e[1]=[a(" Einstellungen für GoodWe Batteriespeicher ",-1)])]),_:1}),t(s,{title:"GoodWe-Batterie-Index","model-value":o.component.configuration.battery_index,min:"1",max:"2","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.battery_index"))},{help:i(()=>[...e[2]||(e[2]=[a(" Wenn eine zweite Batterie am Wechselrichter angeschlossen ist, hier den Index 2 eintagen. Im Normalfall immer 1 eintragen. ",-1)])]),_:1},8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/bat.vue"]]);export{N as default}; diff --git a/web/settings/assets/bat-94c8e60d.js b/web/settings/assets/bat-7a9691d9.js similarity index 69% rename from web/settings/assets/bat-94c8e60d.js rename to web/settings/assets/bat-7a9691d9.js index b0a136031f..711e6d6ea6 100644 --- a/web/settings/assets/bat-94c8e60d.js +++ b/web/settings/assets/bat-7a9691d9.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as p,l as t,m as u,x as i,E as o,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieBat",mixins:[a]},m={class:"device-sonnenbatterie-bat"};function f(s,e,v,b,l,g){const n=p("openwb-base-alert");return t(),u("div",m,[s.device.configuration.variant===3?(t(),i(n,{key:0,subtype:"info"},{default:o(()=>[...e[0]||(e[0]=[r(" Die Batterie lässt sich aktiv durch openWB steuern, da die JSON-API v2 verwendet wird. Dazu muss zwingend ein gültiges API-Token eingetragen sein. ",-1)])]),_:1})):(t(),i(n,{key:1,subtype:"info"},{default:o(()=>[...e[1]||(e[1]=[r(" Die Batterie kann nicht aktiv durch openWB gesteuert werden, da die konfigurierte Datenverbindung dies nicht unterstützt. Es wird für die aktive Steuerung zwingend die 'JSON-API v2' benötigt. ",-1)])]),_:1}))])}const z=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/bat.vue"]]);export{z as default}; +import{C as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as p,l as t,m as u,x as i,E as o,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieBat",mixins:[a]},m={class:"device-sonnenbatterie-bat"};function f(s,e,v,b,l,g){const n=p("openwb-base-alert");return t(),u("div",m,[s.device.configuration.variant===3?(t(),i(n,{key:0,subtype:"info"},{default:o(()=>[...e[0]||(e[0]=[r(" Die Batterie lässt sich aktiv durch openWB steuern, da die JSON-API v2 verwendet wird. Dazu muss zwingend ein gültiges API-Token eingetragen sein. ",-1)])]),_:1})):(t(),i(n,{key:1,subtype:"info"},{default:o(()=>[...e[1]||(e[1]=[r(" Die Batterie kann nicht aktiv durch openWB gesteuert werden, da die konfigurierte Datenverbindung dies nicht unterstützt. Es wird für die aktive Steuerung zwingend die 'JSON-API v2' benötigt. ",-1)])]),_:1}))])}const z=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/bat.vue"]]);export{z as default}; diff --git a/web/settings/assets/bat-c234f969.js b/web/settings/assets/bat-7c611aaf.js similarity index 65% rename from web/settings/assets/bat-c234f969.js rename to web/settings/assets/bat-7c611aaf.js index 40b9763b54..8dc88dda81 100644 --- a/web/settings/assets/bat-c234f969.js +++ b/web/settings/assets/bat-7c611aaf.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-c36965d1.js b/web/settings/assets/bat-7ee7b298.js similarity index 64% rename from web/settings/assets/bat-c36965d1.js rename to web/settings/assets/bat-7ee7b298.js index 4452563c95..fc3420b24f 100644 --- a/web/settings/assets/bat-c36965d1.js +++ b/web/settings/assets/bat-7ee7b298.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-cb3e8ab1.js b/web/settings/assets/bat-818452e6.js similarity index 64% rename from web/settings/assets/bat-cb3e8ab1.js rename to web/settings/assets/bat-818452e6.js index 1690d902ad..c2d2e2ec84 100644 --- a/web/settings/assets/bat-cb3e8ab1.js +++ b/web/settings/assets/bat-818452e6.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-2ea2e792.js b/web/settings/assets/bat-8be6c2f3.js similarity index 75% rename from web/settings/assets/bat-2ea2e792.js rename to web/settings/assets/bat-8be6c2f3.js index 4d5261bc3f..d3a21fc24f 100644 --- a/web/settings/assets/bat-2ea2e792.js +++ b/web/settings/assets/bat-8be6c2f3.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as r,l,m,G as i,E as a,B as t,A as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVictronBat",mixins:[d]},v={class:"device-victron-bat"};function f(n,e,_,g,V,B){const u=r("openwb-base-heading"),s=r("openwb-base-number-input");return l(),m("div",v,[i(u,null,{default:a(()=>[...e[2]||(e[2]=[t(" Einstellungen für Victron Batteriespeicher ",-1)])]),_:1}),i(s,{title:"Modbus ID Speicher",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Modbus ID VE.Bus",required:"","model-value":n.component.configuration.vebus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.vebus_id"))},{help:a(()=>[...e[3]||(e[3]=[t(" Die Modbus ID des VE.Bus kann je nach Victron Version abweichen. Übliche IDs sind 227, 228, 242 und 246.",-1),b("br",null,null,-1),t(' Die ID kann unter "Settings > Services > Modbus/TCP > Available services" eingesehen werden. ',-1)])]),_:1},8,["model-value"])])}const $=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{$ as default}; +import{C as d}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as r,l,m,G as i,E as a,B as t,A as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVictronBat",mixins:[d]},v={class:"device-victron-bat"};function f(n,e,_,g,V,B){const u=r("openwb-base-heading"),s=r("openwb-base-number-input");return l(),m("div",v,[i(u,null,{default:a(()=>[...e[2]||(e[2]=[t(" Einstellungen für Victron Batteriespeicher ",-1)])]),_:1}),i(s,{title:"Modbus ID Speicher",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Modbus ID VE.Bus",required:"","model-value":n.component.configuration.vebus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.vebus_id"))},{help:a(()=>[...e[3]||(e[3]=[t(" Die Modbus ID des VE.Bus kann je nach Victron Version abweichen. Übliche IDs sind 227, 228, 242 und 246.",-1),b("br",null,null,-1),t(' Die ID kann unter "Settings > Services > Modbus/TCP > Available services" eingesehen werden. ',-1)])]),_:1},8,["model-value"])])}const $=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-474ca619.js b/web/settings/assets/bat-8f7fbab4.js similarity index 64% rename from web/settings/assets/bat-474ca619.js rename to web/settings/assets/bat-8f7fbab4.js index ab20142be9..a2b7c18a54 100644 --- a/web/settings/assets/bat-474ca619.js +++ b/web/settings/assets/bat-8f7fbab4.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVenusCEBat",mixins:[r]},c={class:"device-venus_c_e-bat"};function b(o,e,f,v,g,C){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]=[_(" Einstellungen für Marstek Venus C, E Batteriespeicher ",-1)])]),_: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 D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/marstek/venus_c_e/bat.vue"]]);export{D as default}; +import{C as r}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVenusCEBat",mixins:[r]},c={class:"device-venus_c_e-bat"};function b(o,e,f,v,g,C){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]=[_(" Einstellungen für Marstek Venus C, E Batteriespeicher ",-1)])]),_: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 D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/marstek/venus_c_e/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-13b82cc9.js b/web/settings/assets/bat-99f5afbd.js similarity index 63% rename from web/settings/assets/bat-13b82cc9.js rename to web/settings/assets/bat-99f5afbd.js index ea7ea3977a..669a51fce7 100644 --- a/web/settings/assets/bat-13b82cc9.js +++ b/web/settings/assets/bat-99f5afbd.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-620e6b77.js b/web/settings/assets/bat-9c5a5c0f.js similarity index 94% rename from web/settings/assets/bat-620e6b77.js rename to web/settings/assets/bat-9c5a5c0f.js index 071a73b204..e752a3d811 100644 --- a/web/settings/assets/bat-620e6b77.js +++ b/web/settings/assets/bat-9c5a5c0f.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as d,l as p,m as g,G as l,E as i,B as n,A as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,w,v,k,S){const s=d("openwb-base-heading"),o=d("openwb-base-text-input");return p(),g("div",b,[l(s,null,{default:i(()=>[...e[7]||(e[7]=[n(" Einstellungen für Http Batteriespeicher ",-1)])]),_:1}),l(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:i(()=>[...e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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. ",-1)])]),_:1},8,["model-value"]),l(o,{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]=r=>t.updateConfiguration(r,"configuration.soc_path"))},{help:i(()=>[...e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Ladestand (SoC) in Prozent darstellt. ",-1)])]),_:1},8,["model-value"]),l(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[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:i(()=>[...e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 1. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(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[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:i(()=>[...e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 2. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(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[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:i(()=>[...e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 3. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(o,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:i(()=>[...e[13]||(e[13]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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. ",-1)])]),_:1},8,["model-value"]),l(o,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:i(()=>[...e[14]||(e[14]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"])])}const _=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{_ as default}; +import{C as u}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as d,l as p,m as g,G as l,E as i,B as n,A as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,w,v,k,S){const s=d("openwb-base-heading"),o=d("openwb-base-text-input");return p(),g("div",b,[l(s,null,{default:i(()=>[...e[7]||(e[7]=[n(" Einstellungen für Http Batteriespeicher ",-1)])]),_:1}),l(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:i(()=>[...e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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. ",-1)])]),_:1},8,["model-value"]),l(o,{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]=r=>t.updateConfiguration(r,"configuration.soc_path"))},{help:i(()=>[...e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Ladestand (SoC) in Prozent darstellt. ",-1)])]),_:1},8,["model-value"]),l(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[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:i(()=>[...e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 1. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(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[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:i(()=>[...e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 2. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(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[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:i(()=>[...e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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 Stromstärke der 3. Phase in Ampere darstellt.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"]),l(o,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:i(()=>[...e[13]||(e[13]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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. ",-1)])]),_:1},8,["model-value"]),l(o,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:i(()=>[...e[14]||(e[14]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.',-1),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.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_:1},8,["model-value"])])}const _=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{_ as default}; diff --git a/web/settings/assets/bat-b7b18a90.js b/web/settings/assets/bat-9c77f3ef.js similarity index 64% rename from web/settings/assets/bat-b7b18a90.js rename to web/settings/assets/bat-9c77f3ef.js index 38f88926c2..dacc1c57f6 100644 --- a/web/settings/assets/bat-b7b18a90.js +++ b/web/settings/assets/bat-9c77f3ef.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolakonOneBat",mixins:[r]},c={class:"device-solakon-one-bat"};function b(o,e,f,v,g,k){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",c,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solakon One Batteriespeicher ",-1)])]),_: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(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/bat.vue"]]);export{M as default}; +import{C as r}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolakonOneBat",mixins:[r]},c={class:"device-solakon-one-bat"};function b(o,e,f,v,g,k){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",c,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solakon One Batteriespeicher ",-1)])]),_: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(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-a549d5b4.js b/web/settings/assets/bat-9d1ca2d9.js similarity index 64% rename from web/settings/assets/bat-a549d5b4.js rename to web/settings/assets/bat-9d1ca2d9.js index b1ebf73910..e9c114e30b 100644 --- a/web/settings/assets/bat-a549d5b4.js +++ b/web/settings/assets/bat-9d1ca2d9.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,g,y){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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,g,y){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)])]),_: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-4fa2c4eb.js b/web/settings/assets/bat-9d544eef.js similarity index 74% rename from web/settings/assets/bat-4fa2c4eb.js rename to web/settings/assets/bat-9d544eef.js index e4949ca124..2e8224f650 100644 --- a/web/settings/assets/bat-4fa2c4eb.js +++ b/web/settings/assets/bat-9d544eef.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l,m as g,G as t,E as i,B as o}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSigenergyBat",mixins:[u]},c={class:"device-sigenergy-bat"};function _(r,e,f,v,h,S){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-number-input");return l(),g("div",c,[t(s,null,{default:i(()=>[...e[1]||(e[1]=[o(" Einstellungen für Sigenergy Batteriespeicher ",-1)])]),_:1}),t(a,{subtype:"info"},{default:i(()=>[...e[2]||(e[2]=[o(" Der Sigenergy Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren. Der teilweise Ausgleich durch Übergabe einer Entladeleistung an den Speicher ist nicht möglich. Die aktive Beladung des Speichers ist nicht möglich. ",-1)])]),_:1}),t(p,{title:"Modbus ID",required:"","model-value":r.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>r.updateConfiguration(d,"configuration.modbus_id"))},{help:i(()=>[...e[3]||(e[3]=[o(" Die Standard-Modbus-ID von Sigenergy ist 247 ",-1)])]),_:1},8,["model-value"])])}const M=m(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{M as default}; +import{C as u}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as n,l,m as g,G as t,E as i,B as o}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSigenergyBat",mixins:[u]},c={class:"device-sigenergy-bat"};function _(r,e,f,v,h,S){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-number-input");return l(),g("div",c,[t(s,null,{default:i(()=>[...e[1]||(e[1]=[o(" Einstellungen für Sigenergy Batteriespeicher ",-1)])]),_:1}),t(a,{subtype:"info"},{default:i(()=>[...e[2]||(e[2]=[o(" Der Sigenergy Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren. Der teilweise Ausgleich durch Übergabe einer Entladeleistung an den Speicher ist nicht möglich. Die aktive Beladung des Speichers ist nicht möglich. ",-1)])]),_:1}),t(p,{title:"Modbus ID",required:"","model-value":r.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>r.updateConfiguration(d,"configuration.modbus_id"))},{help:i(()=>[...e[3]||(e[3]=[o(" Die Standard-Modbus-ID von Sigenergy ist 247 ",-1)])]),_:1},8,["model-value"])])}const M=m(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-5a2db664.js b/web/settings/assets/bat-a1c093c1.js similarity index 67% rename from web/settings/assets/bat-5a2db664.js rename to web/settings/assets/bat-a1c093c1.js index 4da35db66e..e3b852f797 100644 --- a/web/settings/assets/bat-5a2db664.js +++ b/web/settings/assets/bat-a1c093c1.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as o,l,m as u,G as n,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as r,u as o,l,m as u,G as n,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-394c1f3a.js b/web/settings/assets/bat-bbc4a125.js similarity index 73% rename from web/settings/assets/bat-394c1f3a.js rename to web/settings/assets/bat-bbc4a125.js index d5b517f7d8..688854a67b 100644 --- a/web/settings/assets/bat-394c1f3a.js +++ b/web/settings/assets/bat-bbc4a125.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as a,l as p,m as u,G as t,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeBat",mixins:[m]},b={class:"device-solaredge-bat"};function f(o,e,_,c,v,x){const l=a("openwb-base-heading"),i=a("openwb-base-number-input");return p(),u("div",b,[t(l,null,{default:r(()=>[...e[2]||(e[2]=[s(" Einstellungen für SolarEdge Batteriespeicher ",-1)])]),_: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]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),t(i,{title:"SolarEdge-Batterie-Index","model-value":o.component.configuration.battery_index,min:"1",max:"2","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.battery_index"))},{help:r(()=>[...e[3]||(e[3]=[s(" Wenn eine zweite Batterie am Wechselrichter angeschlossen ist, hier den Index 2 eintagen. Im Normalfall immer 1 eintragen. ",-1)])]),_:1},8,["model-value"])])}const N=d(g,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{N as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as a,l as p,m as u,G as t,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeBat",mixins:[m]},b={class:"device-solaredge-bat"};function f(o,e,_,c,v,x){const l=a("openwb-base-heading"),i=a("openwb-base-number-input");return p(),u("div",b,[t(l,null,{default:r(()=>[...e[2]||(e[2]=[s(" Einstellungen für SolarEdge Batteriespeicher ",-1)])]),_: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]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),t(i,{title:"SolarEdge-Batterie-Index","model-value":o.component.configuration.battery_index,min:"1",max:"2","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.battery_index"))},{help:r(()=>[...e[3]||(e[3]=[s(" Wenn eine zweite Batterie am Wechselrichter angeschlossen ist, hier den Index 2 eintagen. Im Normalfall immer 1 eintragen. ",-1)])]),_:1},8,["model-value"])])}const N=d(g,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{N as default}; diff --git a/web/settings/assets/bat-0da8962c.js b/web/settings/assets/bat-be043085.js similarity index 63% rename from web/settings/assets/bat-0da8962c.js rename to web/settings/assets/bat-be043085.js index 77ce969090..980c9797f8 100644 --- a/web/settings/assets/bat-0da8962c.js +++ b/web/settings/assets/bat-be043085.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-c69d73a4.js b/web/settings/assets/bat-cf471350.js similarity index 60% rename from web/settings/assets/bat-c69d73a4.js rename to web/settings/assets/bat-cf471350.js index 2945d5ebb9..c232146522 100644 --- a/web/settings/assets/bat-c69d73a4.js +++ b/web/settings/assets/bat-cf471350.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as n,l as s,m as i,G as a,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreBat",mixins:[o]},l={class:"device-kostal-plenticore-bat"};function d(_,e,u,b,f,k){const t=n("openwb-base-alert");return s(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[c(' Für die aktive Batteriesteuerung muss die Funktion "Extern über Protokoll (Modbus TCP)" in der Nutzeroberfläche des Plenticore mit dem Handwerkerzugang aktiviert werden. ',-1)])]),_:1})])}const N=r(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/bat.vue"]]);export{N as default}; +import{C as o}from"./HardwareInstallation-fcf847f9.js";import{_ as r,u as n,l as s,m as i,G as a,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreBat",mixins:[o]},l={class:"device-kostal-plenticore-bat"};function d(_,e,u,b,f,k){const t=n("openwb-base-alert");return s(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[c(' Für die aktive Batteriesteuerung muss die Funktion "Extern über Protokoll (Modbus TCP)" in der Nutzeroberfläche des Plenticore mit dem Handwerkerzugang aktiviert werden. ',-1)])]),_:1})])}const N=r(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/bat.vue"]]);export{N as default}; diff --git a/web/settings/assets/bat-bf504774.js b/web/settings/assets/bat-d27b9ca7.js similarity index 60% rename from web/settings/assets/bat-bf504774.js rename to web/settings/assets/bat-d27b9ca7.js index 735fe1ee88..a7cce0fbf2 100644 --- a/web/settings/assets/bat-bf504774.js +++ b/web/settings/assets/bat-d27b9ca7.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as o,l as i,m as s,G as a,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceBatterXBat",mixins:[r]},l={class:"device-batterx-bat"};function d(u,e,_,b,f,x){const t=o("openwb-base-alert");return i(),s("div",l,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[c(" Der BatterX Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren. Der teilweise Ausgleich durch Übergabe einer Entladeleistung an den Speicher ist nicht möglich. ",-1)])]),_:1})])}const D=n(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/bat.vue"]]);export{D as default}; +import{C as r}from"./HardwareInstallation-fcf847f9.js";import{_ as n,u as o,l as i,m as s,G as a,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceBatterXBat",mixins:[r]},l={class:"device-batterx-bat"};function d(u,e,_,b,f,x){const t=o("openwb-base-alert");return i(),s("div",l,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[c(" Der BatterX Speicher kann die Speicherentladung bei aktiver Speichersteuerung nur komplett sperren. Der teilweise Ausgleich durch Übergabe einer Entladeleistung an den Speicher ist nicht möglich. ",-1)])]),_:1})])}const D=n(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-c4d646a1.js b/web/settings/assets/bat-d96076be.js similarity index 67% rename from web/settings/assets/bat-c4d646a1.js rename to web/settings/assets/bat-d96076be.js index 0d71d172fd..00d7fc04f9 100644 --- a/web/settings/assets/bat-c4d646a1.js +++ b/web/settings/assets/bat-d96076be.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as o,l,m,G as n,E as u,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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,B){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)])]),_: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-fcf847f9.js";import{_ as r,u as o,l,m,G as n,E as u,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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,B){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)])]),_: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-682bf2fb.js b/web/settings/assets/bat-fab6d309.js similarity index 63% rename from web/settings/assets/bat-682bf2fb.js rename to web/settings/assets/bat-fab6d309.js index f6b9f90d88..e2dafa9ef8 100644 --- a/web/settings/assets/bat-682bf2fb.js +++ b/web/settings/assets/bat-fab6d309.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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_smart_energy-f9c0010c.js b/web/settings/assets/bat_smart_energy-ddc36dda.js similarity index 65% rename from web/settings/assets/bat_smart_energy-f9c0010c.js rename to web/settings/assets/bat_smart_energy-ddc36dda.js index 259fb09111..72312444b5 100644 --- a/web/settings/assets/bat_smart_energy-f9c0010c.js +++ b/web/settings/assets/bat_smart_energy-ddc36dda.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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,g,y,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)])]),_: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-fcf847f9.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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,g,y,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)])]),_: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-99e7b333.js b/web/settings/assets/chargePoint-163bba28.js similarity index 72% rename from web/settings/assets/chargePoint-99e7b333.js rename to web/settings/assets/chargePoint-163bba28.js index 9c49fdb24a..713d27bfd8 100644 --- a/web/settings/assets/chargePoint-99e7b333.js +++ b/web/settings/assets/chargePoint-163bba28.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-9dd020bc.js";import{_ as s,u as t,l as u,m,G as i,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-1fc5b922.js";import{_ as s,u as t,l as u,m,G as i,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-f67a5db3.js b/web/settings/assets/chargePoint-2885de97.js similarity index 72% rename from web/settings/assets/chargePoint-f67a5db3.js rename to web/settings/assets/chargePoint-2885de97.js index 971ccf3001..94390832c4 100644 --- a/web/settings/assets/chargePoint-f67a5db3.js +++ b/web/settings/assets/chargePoint-2885de97.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-9dd020bc.js";import{_ as s,u as t,l as u,m,G as i,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-1fc5b922.js";import{_ as s,u as t,l as u,m,G as i,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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/chargePoint-8442dbfc.js b/web/settings/assets/chargePoint-78210a4e.js similarity index 59% rename from web/settings/assets/chargePoint-8442dbfc.js rename to web/settings/assets/chargePoint-78210a4e.js index 65f8573050..338d9042aa 100644 --- a/web/settings/assets/chargePoint-8442dbfc.js +++ b/web/settings/assets/chargePoint-78210a4e.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-9dd020bc.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-1fc5b922.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-49b53f1d.js b/web/settings/assets/chargePoint-84a488de.js similarity index 72% rename from web/settings/assets/chargePoint-49b53f1d.js rename to web/settings/assets/chargePoint-84a488de.js index ed4ea60849..dfe5a091f9 100644 --- a/web/settings/assets/chargePoint-49b53f1d.js +++ b/web/settings/assets/chargePoint-84a488de.js @@ -1 +1 @@ -import{C as s}from"./ChargePointInstallation-9dd020bc.js";import{_ as p,u as n,l as u,m,G as i,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-1fc5b922.js";import{_ as p,u as n,l as u,m,G as i,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-89e931b9.js b/web/settings/assets/chargePoint-89e931b9.js new file mode 100644 index 0000000000..27810bfb21 --- /dev/null +++ b/web/settings/assets/chargePoint-89e931b9.js @@ -0,0 +1 @@ +import{C as u}from"./ChargePointInstallation-1fc5b922.js";import{_ as p,u as t,l as i,m as d,G as m,x as l,E as c,B as g,z as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={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,n,b,v,k,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+"},{value:"se",text:"openWB SE 11kW"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":n[0]||(n[0]=o=>a.updateMode(o))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"||e.chargePoint.configuration.mode=="se"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":n[1]||(n[1]=o=>e.updateConfiguration(o-1,"configuration.duo_num"))},{help:c(()=>[...n[2]||(n[2]=[g(' Bei einer openWB Duo oder openWB SE Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. Bei einer openWB SE mit einem Ladepunkt ist hier eine 1 einzutragen. ',-1)])]),_:1},8,["model-value"])):f("",!0)])}const L=p(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{L as default}; diff --git a/web/settings/assets/chargePoint-59c7868c.js b/web/settings/assets/chargePoint-a9984587.js similarity index 59% rename from web/settings/assets/chargePoint-59c7868c.js rename to web/settings/assets/chargePoint-a9984587.js index c7fd998639..86de4c60a1 100644 --- a/web/settings/assets/chargePoint-59c7868c.js +++ b/web/settings/assets/chargePoint-a9984587.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-9dd020bc.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-1fc5b922.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-e5dd91aa.js b/web/settings/assets/chargePoint-e5dd91aa.js deleted file mode 100644 index dc5c3524ee..0000000000 --- a/web/settings/assets/chargePoint-e5dd91aa.js +++ /dev/null @@ -1 +0,0 @@ -import{C as u}from"./ChargePointInstallation-9dd020bc.js";import{_ as p,u as t,l as i,m as d,G as m,x as l,E as c,B as g,z as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={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,n,b,v,k,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+"},{value:"se",text:"openWB SE (11kW)"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":n[0]||(n[0]=o=>a.updateMode(o))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"||e.chargePoint.configuration.mode=="se"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":n[1]||(n[1]=o=>e.updateConfiguration(o-1,"configuration.duo_num"))},{help:c(()=>[...n[2]||(n[2]=[g(' Bei einer openWB Duo oder openWB SE Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. Bei einer openWB SE mit einem Ladepunkt ist hier eine 1 einzutragen. ',-1)])]),_:1},8,["model-value"])):f("",!0)])}const L=p(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{L as default}; diff --git a/web/settings/assets/chargePoint-990c52e7.js b/web/settings/assets/chargePoint-fc2353ce.js similarity index 96% rename from web/settings/assets/chargePoint-990c52e7.js rename to web/settings/assets/chargePoint-fc2353ce.js index 89bab1e0bd..360c6e63f7 100644 --- a/web/settings/assets/chargePoint-990c52e7.js +++ b/web/settings/assets/chargePoint-fc2353ce.js @@ -1 +1 @@ -import{C as d}from"./ChargePointInstallation-9dd020bc.js";import{_ as g,u as p,l as a,m,G as l,E as i,B as t,A as e,F as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"ChargePointMqtt",mixins:[d]},f={class:"charge-point-mqtt"};function k(o,n,B,w,W,v){const u=p("openwb-base-alert"),r=p("openwb-base-copy-to-clipboard");return a(),m("div",f,[l(u,{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)])]),_:1}),l(u,{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. Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format).",-1)),n[73]||(n[73]=e("br",null,null,-1)),n[74]||(n[74]=t(" Ab Version 2.1.8 wurden die Topics überarbeitet. Die bisherigen Topics openWB/set/chargepoint/id/get/... und openWB/chargepoint/set/... bleiben aus Gründen der Abwärtskompatibilität weiterhin nutzbar. Wir empfehlen, auf die neuen Topics umzusteigen. Dies ermöglicht die Beseitigung von Einschränkungen, wie z. B. die fehlende Verrechnung bei Hybrid-Systemen oder die Berechnung fehlender Werte, wie der Phasen-Leistung aus Spannung und Stromstärken. ",-1)),e("ol",null,[e("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/mqtt/chargepoint/"+s(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=e("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).",-1)),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ",-1)),n[5]||(n[5]=e("span",{class:"text-info"},"12.34",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/mqtt/chargepoint/"+s(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3",-1)),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ",-1)),n[10]||(n[10]=e("span",{class:"text-info"},"1",-1))])])]),e("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=e("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).",-1)),n[14]||(n[14]=e("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ",-1)),n[16]||(n[16]=e("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=e("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).",-1)),n[19]||(n[19]=e("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ",-1)),n[21]||(n[21]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=e("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).",-1)),n[24]||(n[24]=e("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ",-1)),n[26]||(n[26]=e("span",{class:"text-info"},"true",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=e("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).",-1)),n[29]||(n[29]=e("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ",-1)),n[31]||(n[31]=e("span",{class:"text-info"},"true",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=e("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3",-1)),n[34]||(n[34]=e("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ",-1)),n[36]||(n[36]=e("span",{class:"text-info"},"3",-1))])])]),e("li",null,[n[71]||(n[71]=t(" optionale Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv",-1)),n[40]||(n[40]=e("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.",-1)),n[42]||(n[42]=e("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ",-1)),n[44]||(n[44]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=e("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv",-1)),n[47]||(n[47]=e("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.",-1)),n[49]||(n[49]=e("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ",-1)),n[51]||(n[51]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=e("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.",-1)),n[54]||(n[54]=e("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.",-1)),n[56]||(n[56]=e("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ",-1)),n[58]||(n[58]=e("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=e("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.",-1)),n[61]||(n[61]=e("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.",-1)),n[63]||(n[63]=e("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ",-1)),n[65]||(n[65]=e("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/rfid ",1)]),_:1}),n[66]||(n[66]=e("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert. Der Tag darf nur einmalig nach dem Scannen gesendet werden. Nach der Verarbeitung leert openWB das Topic.",-1)),n[68]||(n[68]=e("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ",-1)),n[70]||(n[70]=e("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const S=g(b,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{S as default}; +import{C as d}from"./ChargePointInstallation-1fc5b922.js";import{_ as g,u as p,l as a,m,G as l,E as i,B as t,A as e,F as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"ChargePointMqtt",mixins:[d]},f={class:"charge-point-mqtt"};function k(o,n,B,w,W,v){const u=p("openwb-base-alert"),r=p("openwb-base-copy-to-clipboard");return a(),m("div",f,[l(u,{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)])]),_:1}),l(u,{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. Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format).",-1)),n[73]||(n[73]=e("br",null,null,-1)),n[74]||(n[74]=t(" Ab Version 2.1.8 wurden die Topics überarbeitet. Die bisherigen Topics openWB/set/chargepoint/id/get/... und openWB/chargepoint/set/... bleiben aus Gründen der Abwärtskompatibilität weiterhin nutzbar. Wir empfehlen, auf die neuen Topics umzusteigen. Dies ermöglicht die Beseitigung von Einschränkungen, wie z. B. die fehlende Verrechnung bei Hybrid-Systemen oder die Berechnung fehlender Werte, wie der Phasen-Leistung aus Spannung und Stromstärken. ",-1)),e("ol",null,[e("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/mqtt/chargepoint/"+s(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=e("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).",-1)),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ",-1)),n[5]||(n[5]=e("span",{class:"text-info"},"12.34",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/mqtt/chargepoint/"+s(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3",-1)),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ",-1)),n[10]||(n[10]=e("span",{class:"text-info"},"1",-1))])])]),e("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=e("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).",-1)),n[14]||(n[14]=e("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ",-1)),n[16]||(n[16]=e("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=e("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).",-1)),n[19]||(n[19]=e("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ",-1)),n[21]||(n[21]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=e("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).",-1)),n[24]||(n[24]=e("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ",-1)),n[26]||(n[26]=e("span",{class:"text-info"},"true",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=e("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).",-1)),n[29]||(n[29]=e("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ",-1)),n[31]||(n[31]=e("span",{class:"text-info"},"true",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=e("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3",-1)),n[34]||(n[34]=e("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ",-1)),n[36]||(n[36]=e("span",{class:"text-info"},"3",-1))])])]),e("li",null,[n[71]||(n[71]=t(" optionale Topics ",-1)),e("ul",null,[e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv",-1)),n[40]||(n[40]=e("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.",-1)),n[42]||(n[42]=e("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ",-1)),n[44]||(n[44]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=e("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv",-1)),n[47]||(n[47]=e("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.",-1)),n[49]||(n[49]=e("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ",-1)),n[51]||(n[51]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=e("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.",-1)),n[54]||(n[54]=e("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.",-1)),n[56]||(n[56]=e("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ",-1)),n[58]||(n[58]=e("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=e("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.",-1)),n[61]||(n[61]=e("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.",-1)),n[63]||(n[63]=e("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ",-1)),n[65]||(n[65]=e("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),e("li",null,[l(r,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/mqtt/chargepoint/"+s(o.chargePoint.id)+"/get/rfid ",1)]),_:1}),n[66]||(n[66]=e("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert. Der Tag darf nur einmalig nach dem Scannen gesendet werden. Nach der Verarbeitung leert openWB das Topic.",-1)),n[68]||(n[68]=e("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ",-1)),n[70]||(n[70]=e("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const S=g(b,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{S as default}; diff --git a/web/settings/assets/commands-0b9f0b08.js b/web/settings/assets/commands-6f8fd55f.js similarity index 84% rename from web/settings/assets/commands-0b9f0b08.js rename to web/settings/assets/commands-6f8fd55f.js index f8e7b9b9f5..d57e57f821 100644 --- a/web/settings/assets/commands-0b9f0b08.js +++ b/web/settings/assets/commands-6f8fd55f.js @@ -1 +1 @@ -import{a as d}from"./ChargePointInstallation-9dd020bc.js";import{_ as u,u as c,l,m as g,G as a,E as r,B as p}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 kannst Du die Aktualisierung der openWB Pro anstoßen. Bitte beachte, dass kein Fahrzeug angesteckt ist. ",-1)])]),_: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 kannst Du die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ",-1)])]),_: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-1fc5b922.js";import{_ as u,u as c,l,m as g,G as a,E as r,B as p}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 kannst Du die Aktualisierung der openWB Pro anstoßen. Bitte beachte, dass kein Fahrzeug angesteckt ist. ",-1)])]),_: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 kannst Du die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ",-1)])]),_: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/commands-e17b45d5.js b/web/settings/assets/commands-8c8fccb0.js similarity index 88% rename from web/settings/assets/commands-e17b45d5.js rename to web/settings/assets/commands-8c8fccb0.js index 9fea776e8a..212a62095c 100644 --- a/web/settings/assets/commands-e17b45d5.js +++ b/web/settings/assets/commands-8c8fccb0.js @@ -1 +1 @@ -import{a as g}from"./ChargePointInstallation-9dd020bc.js";import{_ as h,u,l as a,m as c,G as d,E as r,B as i,x as _,F as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 kannst Du die Aktualisierung der openWB Pro anstoßen. Bitte stelle sicher, dass kein Fahrzeug angesteckt ist. ",-1)])]),_: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 kannst Du die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ",-1)])]),_: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 A=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{A as default}; +import{a as g}from"./ChargePointInstallation-1fc5b922.js";import{_ as h,u,l as a,m as c,G as d,E as r,B as i,x as _,F as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 kannst Du die Aktualisierung der openWB Pro anstoßen. Bitte stelle sicher, dass kein Fahrzeug angesteckt ist. ",-1)])]),_: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 kannst Du die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ",-1)])]),_: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 A=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{A as default}; diff --git a/web/settings/assets/consumption_counter-01b6ca08.js b/web/settings/assets/consumption_counter-b42dc10a.js similarity index 79% rename from web/settings/assets/consumption_counter-01b6ca08.js rename to web/settings/assets/consumption_counter-b42dc10a.js index a4fe806d9a..94beb5b626 100644 --- a/web/settings/assets/consumption_counter-01b6ca08.js +++ b/web/settings/assets/consumption_counter-b42dc10a.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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,B,x){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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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,B,x){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)])]),_: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)])]),_: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-7f314f14.js b/web/settings/assets/counter-00dcfba0.js similarity index 63% rename from web/settings/assets/counter-7f314f14.js rename to web/settings/assets/counter-00dcfba0.js index 4b60b20f8c..b0e379892c 100644 --- a/web/settings/assets/counter-7f314f14.js +++ b/web/settings/assets/counter-00dcfba0.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOrnoCounter",mixins:[p]},_={class:"device-orno-counter"};function b(e,o,f,v,g,C){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",_,[t(r,null,{default:d(()=>[...o[1]||(o[1]=[l(" Einstellungen für Orno WE-514 Zähler ",-1)])]),_:1}),t(i,{title:"Modbus ID",required:"","model-value":e.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/orno/orno/counter.vue"]]);export{M as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOrnoCounter",mixins:[p]},_={class:"device-orno-counter"};function b(e,o,f,v,g,C){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",_,[t(r,null,{default:d(()=>[...o[1]||(o[1]=[l(" Einstellungen für Orno WE-514 Zähler ",-1)])]),_:1}),t(i,{title:"Modbus ID",required:"","model-value":e.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/orno/orno/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-b6466a43.js b/web/settings/assets/counter-08ba2696.js similarity index 63% rename from web/settings/assets/counter-b6466a43.js rename to web/settings/assets/counter-08ba2696.js index d72aec0082..b713f3b615 100644 --- a/web/settings/assets/counter-b6466a43.js +++ b/web/settings/assets/counter-08ba2696.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as u,G as t,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceAvmCounter",mixins:[s]},_={class:"device-avm-counter"};function f(o,e,v,b,x,g){const i=n("openwb-base-heading"),r=n("openwb-base-text-input");return m(),u("div",_,[t(i,null,{default:l(()=>[...e[1]||(e[1]=[c(" Einstellungen für AVM Fritz!Box Zähler ",-1)])]),_:1}),t(r,{title:"Gerätename in der Fritz!Box",required:"","model-value":o.component.configuration.name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.name"))},null,8,["model-value"])])}const A=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/avm/avm/counter.vue"]]);export{A as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as u,G as t,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceAvmCounter",mixins:[s]},_={class:"device-avm-counter"};function f(o,e,v,b,x,g){const i=n("openwb-base-heading"),r=n("openwb-base-text-input");return m(),u("div",_,[t(i,null,{default:l(()=>[...e[1]||(e[1]=[c(" Einstellungen für AVM Fritz!Box Zähler ",-1)])]),_:1}),t(r,{title:"Gerätename in der Fritz!Box",required:"","model-value":o.component.configuration.name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.name"))},null,8,["model-value"])])}const A=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/avm/avm/counter.vue"]]);export{A as default}; diff --git a/web/settings/assets/counter-e1627baf.js b/web/settings/assets/counter-0d273f86.js similarity index 72% rename from web/settings/assets/counter-e1627baf.js rename to web/settings/assets/counter-0d273f86.js index 61de76e880..d5617397ab 100644 --- a/web/settings/assets/counter-e1627baf.js +++ b/web/settings/assets/counter-0d273f86.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-bd94bea6.js b/web/settings/assets/counter-1f139201.js similarity index 63% rename from web/settings/assets/counter-bd94bea6.js rename to web/settings/assets/counter-1f139201.js index 03524d3b5c..1778cb3c4d 100644 --- a/web/settings/assets/counter-bd94bea6.js +++ b/web/settings/assets/counter-1f139201.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-ad530283.js b/web/settings/assets/counter-2475ab90.js similarity index 71% rename from web/settings/assets/counter-ad530283.js rename to web/settings/assets/counter-2475ab90.js index 2bdcf7ec06..a66304b404 100644 --- a/web/settings/assets/counter-ad530283.js +++ b/web/settings/assets/counter-2475ab90.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-722802fd.js b/web/settings/assets/counter-26cca10d.js similarity index 67% rename from web/settings/assets/counter-722802fd.js rename to web/settings/assets/counter-26cca10d.js index 0d95a27f92..9c8aa021f5 100644 --- a/web/settings/assets/counter-722802fd.js +++ b/web/settings/assets/counter-26cca10d.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPikoCiCounter",mixins:[m]},c={class:"device-kostal-piko-ci-counter"};function b(e,o,f,k,v,C){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return d(),l("div",c,[t(r,null,{default:i(()=>[...o[1]||(o[1]=[s(" Einstellungen für Kostal Piko CI Zähler ",-1)])]),_:1}),t(a,{title:"Modbus ID",required:"","model-value":e.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=p=>e.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>[...o[2]||(o[2]=[s(" Die Standard-Modbus-ID von Kostal Piko CI ist 75 ",-1)])]),_:1},8,["model-value"])])}const M=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/counter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPikoCiCounter",mixins:[m]},c={class:"device-kostal-piko-ci-counter"};function b(e,o,f,k,v,C){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return d(),l("div",c,[t(r,null,{default:i(()=>[...o[1]||(o[1]=[s(" Einstellungen für Kostal Piko CI Zähler ",-1)])]),_:1}),t(a,{title:"Modbus ID",required:"","model-value":e.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=p=>e.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>[...o[2]||(o[2]=[s(" Die Standard-Modbus-ID von Kostal Piko CI ist 75 ",-1)])]),_:1},8,["model-value"])])}const M=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-2bb63b76.js b/web/settings/assets/counter-2a278f52.js similarity index 70% rename from web/settings/assets/counter-2bb63b76.js rename to web/settings/assets/counter-2a278f52.js index 3e2dedb64f..bf3d994bc6 100644 --- a/web/settings/assets/counter-2bb63b76.js +++ b/web/settings/assets/counter-2a278f52.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,B as o,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 ",-1),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)])]),_: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-fcf847f9.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,B as o,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 ",-1),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)])]),_: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-cd56a0df.js b/web/settings/assets/counter-2b9f9574.js similarity index 63% rename from web/settings/assets/counter-cd56a0df.js rename to web/settings/assets/counter-2b9f9574.js index d031aa1fc8..7baebdbcd5 100644 --- a/web/settings/assets/counter-cd56a0df.js +++ b/web/settings/assets/counter-2b9f9574.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceNibeCounter",mixins:[p]},b={class:"device-nibe-counter"};function _(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>[...e[1]||(e[1]=[l(" Einstellungen für Nibe Zähler ",-1)])]),_: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 D=a(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/nibe/nibe/counter.vue"]]);export{D as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceNibeCounter",mixins:[p]},b={class:"device-nibe-counter"};function _(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>[...e[1]||(e[1]=[l(" Einstellungen für Nibe Zähler ",-1)])]),_: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 D=a(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/nibe/nibe/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-577d71b7.js b/web/settings/assets/counter-312ccbff.js similarity index 57% rename from web/settings/assets/counter-577d71b7.js rename to web/settings/assets/counter-312ccbff.js index 562ccecfd6..106a22db69 100644 --- a/web/settings/assets/counter-577d71b7.js +++ b/web/settings/assets/counter-312ccbff.js @@ -1 +1 @@ -import{C as i}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as s,l as m,m as p,G as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const a={name:"DeviceChintCounter",mixins:[i]},c={class:"device-chint-counter"};function d(e,o,l,_,f,b){const n=s("openwb-base-number-input");return m(),p("div",c,[u(n,{title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=t=>e.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const D=r(a,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/chint/chint/counter.vue"]]);export{D as default}; +import{C as i}from"./HardwareInstallation-fcf847f9.js";import{_ as r,u as s,l as m,m as p,G as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const a={name:"DeviceChintCounter",mixins:[i]},c={class:"device-chint-counter"};function d(e,o,l,_,f,b){const n=s("openwb-base-number-input");return m(),p("div",c,[u(n,{title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[0]||(o[0]=t=>e.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const D=r(a,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/chint/chint/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-c9f6da15.js b/web/settings/assets/counter-3ab011a0.js similarity index 66% rename from web/settings/assets/counter-c9f6da15.js rename to web/settings/assets/counter-3ab011a0.js index dccc10ae35..908c95edbf 100644 --- a/web/settings/assets/counter-c9f6da15.js +++ b/web/settings/assets/counter-3ab011a0.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-d8234e7f.js b/web/settings/assets/counter-4c473e63.js similarity index 81% rename from web/settings/assets/counter-d8234e7f.js rename to web/settings/assets/counter-4c473e63.js index 7da5debe18..02917cdfdf 100644 --- a/web/settings/assets/counter-d8234e7f.js +++ b/web/settings/assets/counter-4c473e63.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,B as n,A as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 ",-1),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 ",-1),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ",-1)])]),_:1},8,["model-value"])])}const V=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{V as default}; +import{C as u}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,B as n,A as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 ",-1),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 ",-1),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ",-1)])]),_:1},8,["model-value"])])}const V=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-1ca65171.js b/web/settings/assets/counter-52fc2051.js similarity index 93% rename from web/settings/assets/counter-1ca65171.js rename to web/settings/assets/counter-52fc2051.js index 714804994d..f17ba655c4 100644 --- a/web/settings/assets/counter-1ca65171.js +++ b/web/settings/assets/counter-52fc2051.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,B as n,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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.',-1),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)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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-fcf847f9.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,B as n,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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.',-1),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)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ",-1)])]),_: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-3848d145.js b/web/settings/assets/counter-5fc350b0.js similarity index 92% rename from web/settings/assets/counter-3848d145.js rename to web/settings/assets/counter-5fc350b0.js index 0e2f2850e3..74442c64e1 100644 --- a/web/settings/assets/counter-3848d145.js +++ b/web/settings/assets/counter-5fc350b0.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u,l as f,m,G as t,E as r,B as a,A as g}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[s]},v={class:"device-json-counter"};function w(o,e,j,q,P,C){const i=u("openwb-base-heading"),l=u("openwb-base-text-input"),d=u("openwb-base-alert");return f(),m("div",v,[t(i,null,{default:r(()=>[...e[15]||(e[15]=[a(" Einstellungen für JSON Zähler ",-1)])]),_:1}),t(l,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":o.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.jq_power"))},{help:r(()=>[...e[16]||(e[16]=[a(' 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. ',-1),g("br",null,null,-1),a(" 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)])]),_:1},8,["model-value"]),t(l,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":o.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.jq_imported"))},{help:r(()=>[...e[17]||(e[17]=[a(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),t(l,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":o.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.jq_exported"))},{help:r(()=>[...e[18]||(e[18]=[a(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:r(()=>[...e[19]||(e[19]=[a(" 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)])]),_:1}),t(l,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.jq_power_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.jq_power_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=n=>o.updateConfiguration(n,"configuration.jq_power_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_power_factor_l1,"onUpdate:modelValue":e[6]||(e[6]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_power_factor_l2,"onUpdate:modelValue":e[7]||(e[7]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_power_factor_l3,"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_current_l1,"onUpdate:modelValue":e[9]||(e[9]=n=>o.updateConfiguration(n,"configuration.jq_current_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_current_l2,"onUpdate:modelValue":e[10]||(e[10]=n=>o.updateConfiguration(n,"configuration.jq_current_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_current_l3,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateConfiguration(n,"configuration.jq_current_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_voltage_l1,"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_voltage_l2,"onUpdate:modelValue":e[13]||(e[13]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_voltage_l3,"onUpdate:modelValue":e[14]||(e[14]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l3"))},null,8,["model-value"])])}const E=p(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{E as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u,l as f,m,G as t,E as r,B as a,A as g}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[s]},v={class:"device-json-counter"};function w(o,e,j,q,P,C){const i=u("openwb-base-heading"),l=u("openwb-base-text-input"),d=u("openwb-base-alert");return f(),m("div",v,[t(i,null,{default:r(()=>[...e[15]||(e[15]=[a(" Einstellungen für JSON Zähler ",-1)])]),_:1}),t(l,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":o.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.jq_power"))},{help:r(()=>[...e[16]||(e[16]=[a(' 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. ',-1),g("br",null,null,-1),a(" 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)])]),_:1},8,["model-value"]),t(l,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":o.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.jq_imported"))},{help:r(()=>[...e[17]||(e[17]=[a(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),t(l,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":o.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.jq_exported"))},{help:r(()=>[...e[18]||(e[18]=[a(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),t(d,{subtype:"info"},{default:r(()=>[...e[19]||(e[19]=[a(" 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)])]),_:1}),t(l,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.jq_power_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.jq_power_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=n=>o.updateConfiguration(n,"configuration.jq_power_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_power_factor_l1,"onUpdate:modelValue":e[6]||(e[6]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_power_factor_l2,"onUpdate:modelValue":e[7]||(e[7]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Leistungsfaktor auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_power_factor_l3,"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateConfiguration(n,"configuration.jq_power_factor_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_current_l1,"onUpdate:modelValue":e[9]||(e[9]=n=>o.updateConfiguration(n,"configuration.jq_current_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_current_l2,"onUpdate:modelValue":e[10]||(e[10]=n=>o.updateConfiguration(n,"configuration.jq_current_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_current_l3,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateConfiguration(n,"configuration.jq_current_l3"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 1",subtype:"text","model-value":o.component.configuration.jq_voltage_l1,"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l1"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 2",subtype:"text","model-value":o.component.configuration.jq_voltage_l2,"onUpdate:modelValue":e[13]||(e[13]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l2"))},null,8,["model-value"]),t(l,{title:"Abfrage für Spannung auf Phase 3",subtype:"text","model-value":o.component.configuration.jq_voltage_l3,"onUpdate:modelValue":e[14]||(e[14]=n=>o.updateConfiguration(n,"configuration.jq_voltage_l3"))},null,8,["model-value"])])}const E=p(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-4b1ec332.js b/web/settings/assets/counter-606a9742.js similarity index 78% rename from web/settings/assets/counter-4b1ec332.js rename to web/settings/assets/counter-606a9742.js index d1ca326e1b..24310d4f4c 100644 --- a/web/settings/assets/counter-4b1ec332.js +++ b/web/settings/assets/counter-606a9742.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-65908aab.js b/web/settings/assets/counter-61fafcd9.js similarity index 76% rename from web/settings/assets/counter-65908aab.js rename to web/settings/assets/counter-61fafcd9.js index 896a1e80a3..50813879e0 100644 --- a/web/settings/assets/counter-65908aab.js +++ b/web/settings/assets/counter-61fafcd9.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-99f8d83a.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,A as e,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 ",-1),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)])]),_: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-fcf847f9.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,A as e,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 ",-1),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)])]),_: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-fda28b8d.js b/web/settings/assets/counter-69226a81.js similarity index 75% rename from web/settings/assets/counter-fda28b8d.js rename to web/settings/assets/counter-69226a81.js index d6a7a10273..a70d23fb26 100644 --- a/web/settings/assets/counter-fda28b8d.js +++ b/web/settings/assets/counter-69226a81.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-d8276998.js b/web/settings/assets/counter-6f036fc5.js similarity index 59% rename from web/settings/assets/counter-d8276998.js rename to web/settings/assets/counter-6f036fc5.js index 333a78d646..76e57fe472 100644 --- a/web/settings/assets/counter-d8276998.js +++ b/web/settings/assets/counter-6f036fc5.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-99f8d83a.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-30afc13d.js b/web/settings/assets/counter-89c66f72.js similarity index 70% rename from web/settings/assets/counter-30afc13d.js rename to web/settings/assets/counter-89c66f72.js index 749383409e..1c868102ea 100644 --- a/web/settings/assets/counter-30afc13d.js +++ b/web/settings/assets/counter-89c66f72.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,B as o,A as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 ",-1),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)])]),_: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-fcf847f9.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,B as o,A as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 ",-1),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)])]),_: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-73099cbd.js b/web/settings/assets/counter-8a0b0c9e.js similarity index 77% rename from web/settings/assets/counter-73099cbd.js rename to web/settings/assets/counter-8a0b0c9e.js index 831e041a0d..33f0cdf37a 100644 --- a/web/settings/assets/counter-73099cbd.js +++ b/web/settings/assets/counter-8a0b0c9e.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,B as o,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 ",-1),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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,B as o,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 ",-1),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)])]),_: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-d2b5ca51.js b/web/settings/assets/counter-8e341262.js similarity index 52% rename from web/settings/assets/counter-d2b5ca51.js rename to web/settings/assets/counter-8e341262.js index ae2879c314..aaf5bcf818 100644 --- a/web/settings/assets/counter-d2b5ca51.js +++ b/web/settings/assets/counter-8e341262.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as r,l as s,m as i,G as a,E as p,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceThermiaCounter",mixins:[o]},_={class:"device-thermia-counter"};function u(d,e,f,l,v,b){const t=r("openwb-base-alert");return s(),i("div",_,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[m(" ModbusTCP muss aktiviert sein. ",-1)])]),_:1})])}const E=n(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/thermia/thermia/counter.vue"]]);export{E as default}; +import{C as o}from"./HardwareInstallation-fcf847f9.js";import{_ as n,u as r,l as s,m as i,G as a,E as p,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceThermiaCounter",mixins:[o]},_={class:"device-thermia-counter"};function u(d,e,f,l,v,b){const t=r("openwb-base-alert");return s(),i("div",_,[a(t,{subtype:"info"},{default:p(()=>[...e[0]||(e[0]=[m(" ModbusTCP muss aktiviert sein. ",-1)])]),_:1})])}const E=n(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/thermia/thermia/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-ac8ad21e.js b/web/settings/assets/counter-9eceb38d.js similarity index 63% rename from web/settings/assets/counter-ac8ad21e.js rename to web/settings/assets/counter-9eceb38d.js index 55a37090c6..101ac19c3b 100644 --- a/web/settings/assets/counter-ac8ad21e.js +++ b/web/settings/assets/counter-9eceb38d.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-001d8da5.js b/web/settings/assets/counter-9ef4a1ac.js similarity index 66% rename from web/settings/assets/counter-001d8da5.js rename to web/settings/assets/counter-9ef4a1ac.js index 73c02089c7..d4c47a1f63 100644 --- a/web/settings/assets/counter-001d8da5.js +++ b/web/settings/assets/counter-9ef4a1ac.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,C){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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,C){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)])]),_: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)])]),_: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-b559f4af.js b/web/settings/assets/counter-a04df7a1.js similarity index 66% rename from web/settings/assets/counter-b559f4af.js rename to web/settings/assets/counter-a04df7a1.js index 632dabadde..ae68c0afbe 100644 --- a/web/settings/assets/counter-b559f4af.js +++ b/web/settings/assets/counter-a04df7a1.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-2eb950ed.js b/web/settings/assets/counter-a60ad81d.js similarity index 93% rename from web/settings/assets/counter-2eb950ed.js rename to web/settings/assets/counter-a60ad81d.js index f37ea3cd5a..b0bb7faf98 100644 --- a/web/settings/assets/counter-2eb950ed.js +++ b/web/settings/assets/counter-a60ad81d.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u,l as f,m as g,G as l,E as o,B as t,A as e,F as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},B={class:"device-mqtt-counter"};function k(i,n,z,x,W,v){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",B,[l(p,null,{default:o(()=>[...n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ",-1)])]),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ",-1)),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))])]),n[42]||(n[42]=t(" Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung. ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ",-1)),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/mqtt/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",-1)),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ",-1)),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[43]||(n[43]=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: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ",-1)),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[44]||(n[44]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ",-1)),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/mqtt/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)",-1)),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ",-1)),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/mqtt/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)",-1)),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ",-1)),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/mqtt/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",-1)),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ",-1)),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const A=a(b,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{A as default}; +import{C as d}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u,l as f,m as g,G as l,E as o,B as t,A as e,F as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},B={class:"device-mqtt-counter"};function k(i,n,z,x,W,v){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",B,[l(p,null,{default:o(()=>[...n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ",-1)])]),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ",-1)),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))])]),n[42]||(n[42]=t(" Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung. ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ",-1)),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/mqtt/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",-1)),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ",-1)),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[43]||(n[43]=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: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ",-1)),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[44]||(n[44]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ",-1)),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/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",-1)),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ",-1)),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/mqtt/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)",-1)),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ",-1)),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/mqtt/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)",-1)),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ",-1)),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/mqtt/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",-1)),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ",-1)),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const A=a(b,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{A as default}; diff --git a/web/settings/assets/counter-4e056ef8.js b/web/settings/assets/counter-a8afcd33.js similarity index 62% rename from web/settings/assets/counter-4e056ef8.js rename to web/settings/assets/counter-a8afcd33.js index 5d99f81548..43eba0d9b5 100644 --- a/web/settings/assets/counter-4e056ef8.js +++ b/web/settings/assets/counter-a8afcd33.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-87b36ff1.js b/web/settings/assets/counter-bcc0c9cd.js similarity index 64% rename from web/settings/assets/counter-87b36ff1.js rename to web/settings/assets/counter-bcc0c9cd.js index 8970c31526..3ab423a53e 100644 --- a/web/settings/assets/counter-87b36ff1.js +++ b/web/settings/assets/counter-bcc0c9cd.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as a,m,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,g,y){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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as a,m,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,g,y){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)])]),_: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-d67a9b8d.js b/web/settings/assets/counter-c021172e.js similarity index 69% rename from web/settings/assets/counter-d67a9b8d.js rename to web/settings/assets/counter-c021172e.js index 81f80f6698..fcf4d4c9c6 100644 --- a/web/settings/assets/counter-d67a9b8d.js +++ b/web/settings/assets/counter-c021172e.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l,m as c,G as o,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKacoNHCounter",mixins:[u]},b={class:"device-kaco-nh-counter"};function f(t,e,g,v,w,k){const a=n("openwb-base-heading"),r=n("openwb-base-alert"),p=n("openwb-base-number-input");return l(),c("div",b,[o(a,null,{default:i(()=>[...e[1]||(e[1]=[s(" Einstellungen für Kaco NH SmartMeter ",-1)])]),_:1}),o(r,{subtype:"info"},{default:i(()=>[...e[2]||(e[2]=[s(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ",-1)])]),_:1}),o(p,{title:"ID",required:"",min:"0",max:"65535","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=m=>t.updateConfiguration(m,"configuration.id"))},null,8,["model-value"])])}const D=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/counter.vue"]]);export{D as default}; +import{C as u}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as n,l,m as c,G as o,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKacoNHCounter",mixins:[u]},b={class:"device-kaco-nh-counter"};function f(t,e,g,v,w,k){const a=n("openwb-base-heading"),r=n("openwb-base-alert"),p=n("openwb-base-number-input");return l(),c("div",b,[o(a,null,{default:i(()=>[...e[1]||(e[1]=[s(" Einstellungen für Kaco NH SmartMeter ",-1)])]),_:1}),o(r,{subtype:"info"},{default:i(()=>[...e[2]||(e[2]=[s(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ",-1)])]),_:1}),o(p,{title:"ID",required:"",min:"0",max:"65535","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=m=>t.updateConfiguration(m,"configuration.id"))},null,8,["model-value"])])}const D=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-b82c8a40.js b/web/settings/assets/counter-c1d85299.js similarity index 54% rename from web/settings/assets/counter-b82c8a40.js rename to web/settings/assets/counter-c1d85299.js index b6c9d38cbe..fd7e109048 100644 --- a/web/settings/assets/counter-b82c8a40.js +++ b/web/settings/assets/counter-c1d85299.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1})])}const G=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{G as default}; +import{C as t}from"./HardwareInstallation-fcf847f9.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1})])}const G=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-126e7a77.js b/web/settings/assets/counter-c7b74fbc.js similarity index 58% rename from web/settings/assets/counter-126e7a77.js rename to web/settings/assets/counter-c7b74fbc.js index 8f1982c86e..1c8f325a39 100644 --- a/web/settings/assets/counter-126e7a77.js +++ b/web/settings/assets/counter-c7b74fbc.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-99f8d83a.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,B as p}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1})])}const E=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{E as default}; +import{C as n}from"./HardwareInstallation-fcf847f9.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,B as p}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1})])}const E=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-8efc1d41.js b/web/settings/assets/counter-c9668a6b.js similarity index 65% rename from web/settings/assets/counter-8efc1d41.js rename to web/settings/assets/counter-c9668a6b.js index 8716e210b0..dc77efd68d 100644 --- a/web/settings/assets/counter-8efc1d41.js +++ b/web/settings/assets/counter-c9668a6b.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-366528a1.js b/web/settings/assets/counter-d2496225.js similarity index 78% rename from web/settings/assets/counter-366528a1.js rename to web/settings/assets/counter-d2496225.js index ac1765e6f0..b0a8581510 100644 --- a/web/settings/assets/counter-366528a1.js +++ b/web/settings/assets/counter-d2496225.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-6b48393d.js b/web/settings/assets/counter-d41d7f12.js similarity index 55% rename from web/settings/assets/counter-6b48393d.js rename to web/settings/assets/counter-d41d7f12.js index 38764f40d9..b12c2c26cf 100644 --- a/web/settings/assets/counter-6b48393d.js +++ b/web/settings/assets/counter-d41d7f12.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1})])}const D=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{D as default}; +import{C as o}from"./HardwareInstallation-fcf847f9.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1})])}const D=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-582e4619.js b/web/settings/assets/counter-dc44d158.js similarity index 72% rename from web/settings/assets/counter-582e4619.js rename to web/settings/assets/counter-dc44d158.js index 1dd28fe765..2bd55ec11a 100644 --- a/web/settings/assets/counter-582e4619.js +++ b/web/settings/assets/counter-dc44d158.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,B as l,A as n,F as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,g,y,v,w){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 ",-1)),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)])]),_: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-fcf847f9.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,B as l,A as n,F as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,g,y,v,w){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 ",-1)),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)])]),_: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-5bc42f7a.js b/web/settings/assets/counter-e72b064a.js similarity index 58% rename from web/settings/assets/counter-5bc42f7a.js rename to web/settings/assets/counter-e72b064a.js index 1543a97136..72e136127e 100644 --- a/web/settings/assets/counter-5bc42f7a.js +++ b/web/settings/assets/counter-e72b064a.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-99f8d83a.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1})])}const E=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{E as default}; +import{C as t}from"./HardwareInstallation-fcf847f9.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1})])}const E=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-ba1592b3.js b/web/settings/assets/counter-e81958df.js similarity index 69% rename from web/settings/assets/counter-ba1592b3.js rename to web/settings/assets/counter-e81958df.js index 72788e6ea1..3938c83466 100644 --- a/web/settings/assets/counter-ba1592b3.js +++ b/web/settings/assets/counter-e81958df.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l,m as d,G as r,E as i,B as n,A as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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.",-1),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ",-1)])]),_:1},8,["model-value"])])}const A=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{A as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as t,l,m as d,G as r,E as i,B as n,A as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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.",-1),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ",-1)])]),_:1},8,["model-value"])])}const A=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{A as default}; diff --git a/web/settings/assets/counter-7562b5d0.js b/web/settings/assets/counter-eb85db81.js similarity index 65% rename from web/settings/assets/counter-7562b5d0.js rename to web/settings/assets/counter-eb85db81.js index 641512482b..98b5cec24f 100644 --- a/web/settings/assets/counter-7562b5d0.js +++ b/web/settings/assets/counter-eb85db81.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{k as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-a3a4100a.js b/web/settings/assets/counter-eb8f59f0.js similarity index 68% rename from web/settings/assets/counter-a3a4100a.js rename to web/settings/assets/counter-eb8f59f0.js index 715393881b..b6b654c20a 100644 --- a/web/settings/assets/counter-a3a4100a.js +++ b/web/settings/assets/counter-eb8f59f0.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l,m as u,G as n,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l,m as u,G as n,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-4b0c4685.js b/web/settings/assets/counter-f5ebd6db.js similarity index 63% rename from web/settings/assets/counter-4b0c4685.js rename to web/settings/assets/counter-f5ebd6db.js index 1376f45ccc..77ba233b52 100644 --- a/web/settings/assets/counter-4b0c4685.js +++ b/web/settings/assets/counter-f5ebd6db.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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_consumption-0fd566db.js b/web/settings/assets/counter_consumption-de587348.js similarity index 71% rename from web/settings/assets/counter_consumption-0fd566db.js rename to web/settings/assets/counter_consumption-de587348.js index b1c5385698..93dce1857f 100644 --- a/web/settings/assets/counter_consumption-0fd566db.js +++ b/web/settings/assets/counter_consumption-de587348.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as p,l as u,m as d,G as t,E as o,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSonnenbatterieCounterConsumption",mixins:[s]},m={class:"device-sonnenbatterie-counter-consumption"};function c(i,e,f,_,b,v){const n=p("openwb-base-alert");return u(),d("div",m,[t(n,{subtype:"info"},{default:o(()=>[...e[0]||(e[0]=[r(" Diese Komponente liest die Daten des Verbrauchszählers der Sonnenbatterie aus, nicht die EVU-Daten! Es ist ggf. ein virtueller Zähler als EVU-Zähler zu konfigurieren, falls kein anderer Zähler vorhanden ist und ausgelesen werden kann. ",-1)])]),_:1}),t(n,{subtype:i.device.configuration.variant!==3?"danger":"info"},{default:o(()=>[...e[1]||(e[1]=[r(" Diese Komponente kann nur in Verbindung mit der JSON-API v2 verwendet werden, da die anderen Schnittstellen die Daten nicht zur Verfügung stellen. ",-1)])]),_:1},8,["subtype"])])}const B=a(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter_consumption.vue"]]);export{B as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u as p,l as u,m as d,G as t,E as o,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSonnenbatterieCounterConsumption",mixins:[s]},m={class:"device-sonnenbatterie-counter-consumption"};function c(i,e,f,_,b,v){const n=p("openwb-base-alert");return u(),d("div",m,[t(n,{subtype:"info"},{default:o(()=>[...e[0]||(e[0]=[r(" Diese Komponente liest die Daten des Verbrauchszählers der Sonnenbatterie aus, nicht die EVU-Daten! Es ist ggf. ein virtueller Zähler als EVU-Zähler zu konfigurieren, falls kein anderer Zähler vorhanden ist und ausgelesen werden kann. ",-1)])]),_:1}),t(n,{subtype:i.device.configuration.variant!==3?"danger":"info"},{default:o(()=>[...e[1]||(e[1]=[r(" Diese Komponente kann nur in Verbindung mit der JSON-API v2 verwendet werden, da die anderen Schnittstellen die Daten nicht zur Verfügung stellen. ",-1)])]),_:1},8,["subtype"])])}const B=a(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter_consumption.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter_maxstorage-680be685.js b/web/settings/assets/counter_maxstorage-06b858bb.js similarity index 72% rename from web/settings/assets/counter_maxstorage-680be685.js rename to web/settings/assets/counter_maxstorage-06b858bb.js index 58975e6996..4b6a81bd3f 100644 --- a/web/settings/assets/counter_maxstorage-680be685.js +++ b/web/settings/assets/counter_maxstorage-06b858bb.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as o,l as d,m as _,G as n,E as a,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxMsCounter",mixins:[p]},b={class:"device-solarmax-counter-maxstorage"};function f(t,e,g,x,v,w){const r=o("openwb-base-heading"),i=o("openwb-base-alert"),m=o("openwb-base-number-input");return d(),_("div",b,[n(r,null,{default:a(()=>[...e[1]||(e[1]=[s(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Zähler ",-1)])]),_:1}),n(i,{subtype:"info"},{default:a(()=>[...e[2]||(e[2]=[s(" Bei Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Zählern lassen sich die Ströme einzelner Phasen nicht auslesen. Eine Regelung ist daher nur anhand der Gesamtleistung möglich. ",-1)])]),_:1}),n(m,{title:"Modbus ID",required:"","model-value":t.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.modbus_id"))},null,8,["model-value"])])}const T=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/counter_maxstorage.vue"]]);export{T as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as o,l as d,m as _,G as n,E as a,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxMsCounter",mixins:[p]},b={class:"device-solarmax-counter-maxstorage"};function f(t,e,g,x,v,w){const r=o("openwb-base-heading"),i=o("openwb-base-alert"),m=o("openwb-base-number-input");return d(),_("div",b,[n(r,null,{default:a(()=>[...e[1]||(e[1]=[s(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Zähler ",-1)])]),_:1}),n(i,{subtype:"info"},{default:a(()=>[...e[2]||(e[2]=[s(" Bei Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Zählern lassen sich die Ströme einzelner Phasen nicht auslesen. Eine Regelung ist daher nur anhand der Gesamtleistung möglich. ",-1)])]),_:1}),n(m,{title:"Modbus ID",required:"","model-value":t.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.modbus_id"))},null,8,["model-value"])])}const T=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/counter_maxstorage.vue"]]);export{T as default}; diff --git a/web/settings/assets/counter_sm-8aaf794b.js b/web/settings/assets/counter_sm-6394512b.js similarity index 87% rename from web/settings/assets/counter_sm-8aaf794b.js rename to web/settings/assets/counter_sm-6394512b.js index a1b33db06b..0226122ccc 100644 --- a/web/settings/assets/counter_sm-8aaf794b.js +++ b/web/settings/assets/counter_sm-6394512b.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,B as t,A as l,F as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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. ",-1)),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))]),_:1},8,["model-value"])])}const U=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{U as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,B as t,A as l,F as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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. ",-1)),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))]),_:1},8,["model-value"])])}const U=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-862c8961.js b/web/settings/assets/device-021e8627.js similarity index 73% rename from web/settings/assets/device-862c8961.js rename to web/settings/assets/device-021e8627.js index af55482661..22177789c5 100644 --- a/web/settings/assets/device-862c8961.js +++ b/web/settings/assets/device-021e8627.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-3a0e48e9.js b/web/settings/assets/device-030bc086.js similarity index 62% rename from web/settings/assets/device-3a0e48e9.js rename to web/settings/assets/device-030bc086.js index 430f76e7a9..cf84a4dad4 100644 --- a/web/settings/assets/device-3a0e48e9.js +++ b/web/settings/assets/device-030bc086.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as o,l as d,m,G as n,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as o,l as d,m,G as n,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-e626ab4a.js b/web/settings/assets/device-06f745a0.js similarity index 78% rename from web/settings/assets/device-e626ab4a.js rename to web/settings/assets/device-06f745a0.js index ea191625eb..5e80e76183 100644 --- a/web/settings/assets/device-e626ab4a.js +++ b/web/settings/assets/device-06f745a0.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-07e7718c.js b/web/settings/assets/device-07cbcb9f.js similarity index 75% rename from web/settings/assets/device-07e7718c.js rename to web/settings/assets/device-07cbcb9f.js index 237a69f3dc..56e144b12d 100644 --- a/web/settings/assets/device-07e7718c.js +++ b/web/settings/assets/device-07cbcb9f.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,g,y,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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,g,y,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)])]),_: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)])]),_: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-dd9e2207.js b/web/settings/assets/device-0d4f2219.js similarity index 86% rename from web/settings/assets/device-dd9e2207.js rename to web/settings/assets/device-0d4f2219.js index 16d7c0ea00..45650fa36e 100644 --- a/web/settings/assets/device-dd9e2207.js +++ b/web/settings/assets/device-0d4f2219.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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)])]),_: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-a8d0e4af.js b/web/settings/assets/device-136ba995.js similarity index 87% rename from web/settings/assets/device-a8d0e4af.js rename to web/settings/assets/device-136ba995.js index a22cb6d98a..6764d69bd7 100644 --- a/web/settings/assets/device-a8d0e4af.js +++ b/web/settings/assets/device-136ba995.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as s,l as f,m as g,G as t,E as a,B as r,A as o}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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.",-1),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)])]),_: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 y=m(w,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{y as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as s,l as f,m as g,G as t,E as a,B as r,A as o}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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.",-1),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)])]),_: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 y=m(w,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-b492bc9e.js b/web/settings/assets/device-16305651.js similarity index 63% rename from web/settings/assets/device-b492bc9e.js rename to web/settings/assets/device-16305651.js index 021ab2f92a..6d5aa30e3d 100644 --- a/web/settings/assets/device-b492bc9e.js +++ b/web/settings/assets/device-16305651.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l,m as d,G as n,E as m,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 L=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{L as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as t,l,m as d,G as n,E as m,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 L=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{L as default}; diff --git a/web/settings/assets/device-dd98b374.js b/web/settings/assets/device-182aa355.js similarity index 68% rename from web/settings/assets/device-dd98b374.js rename to web/settings/assets/device-182aa355.js index 22d9a0b3c3..816a446893 100644 --- a/web/settings/assets/device-dd98b374.js +++ b/web/settings/assets/device-182aa355.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-877c7142.js b/web/settings/assets/device-19f0c95a.js similarity index 74% rename from web/settings/assets/device-877c7142.js rename to web/settings/assets/device-19f0c95a.js index d2a6e61f93..d6f766683f 100644 --- a/web/settings/assets/device-877c7142.js +++ b/web/settings/assets/device-19f0c95a.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l,m as p,G as i,E as m,B as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as u,u as t,l,m as p,G as i,E as m,B as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-56df3604.js b/web/settings/assets/device-1fae1c88.js similarity index 62% rename from web/settings/assets/device-56df3604.js rename to web/settings/assets/device-1fae1c88.js index acaabda0d2..1b06de87d8 100644 --- a/web/settings/assets/device-56df3604.js +++ b/web/settings/assets/device-1fae1c88.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as m,m as d,G as n,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceMystrom",mixins:[p]},_={class:"device-mystrom"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return m(),d("div",_,[n(s,null,{default:l(()=>[...e[1]||(e[1]=[u("Einstellungen für mystrom",-1)])]),_:1}),n(i,{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(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mystrom/mystrom/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u as t,l as m,m as d,G as n,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceMystrom",mixins:[p]},_={class:"device-mystrom"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return m(),d("div",_,[n(s,null,{default:l(()=>[...e[1]||(e[1]=[u("Einstellungen für mystrom",-1)])]),_:1}),n(i,{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(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mystrom/mystrom/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-7ee118be.js b/web/settings/assets/device-20a492db.js similarity index 69% rename from web/settings/assets/device-7ee118be.js rename to web/settings/assets/device-20a492db.js index 4471e2dcc1..a4981f81ef 100644 --- a/web/settings/assets/device-7ee118be.js +++ b/web/settings/assets/device-20a492db.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as o,l as u,m,G as i,E as r,B as t,A as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,w,x){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)])]),_: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.",-1),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ",-1)])]),_: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-fcf847f9.js";import{_ as l,u as o,l as u,m,G as i,E as r,B as t,A as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,w,x){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)])]),_: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.",-1),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ",-1)])]),_: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-4e91369f.js b/web/settings/assets/device-20e3d435.js similarity index 73% rename from web/settings/assets/device-4e91369f.js rename to web/settings/assets/device-20e3d435.js index 32b57042aa..ddb522f2d7 100644 --- a/web/settings/assets/device-4e91369f.js +++ b/web/settings/assets/device-20e3d435.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 I=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{I as default}; +import{D as s}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 I=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-c10e0f6f.js b/web/settings/assets/device-23415915.js similarity index 69% rename from web/settings/assets/device-c10e0f6f.js rename to web/settings/assets/device-23415915.js index 259a502990..f98a130c8b 100644 --- a/web/settings/assets/device-c10e0f6f.js +++ b/web/settings/assets/device-23415915.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceNibe",mixins:[a]},_={class:"device-nibe"};function f(o,e,v,g,w,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(s,null,{default:l(()=>[...e[2]||(e[2]=[b("Einstellungen für Nibe",-1)])]),_: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 P=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/nibe/nibe/device.vue"]]);export{P as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceNibe",mixins:[a]},_={class:"device-nibe"};function f(o,e,v,g,w,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(s,null,{default:l(()=>[...e[2]||(e[2]=[b("Einstellungen für Nibe",-1)])]),_: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 P=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/nibe/nibe/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-c81df8f1.js b/web/settings/assets/device-23b1a217.js similarity index 82% rename from web/settings/assets/device-c81df8f1.js rename to web/settings/assets/device-23b1a217.js index 14691497d4..3afbb42fd6 100644 --- a/web/settings/assets/device-c81df8f1.js +++ b/web/settings/assets/device-23b1a217.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as b,u as t,l as f,m as v,G as i,E as s,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[m]},c={class:"device-shelly"};function g(n,e,h,w,y,V){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-select-input"),u=t("openwb-base-number-input");return f(),v("div",c,[i(a,null,{default:s(()=>[...e[3]||(e[3]=[l(" Einstellungen für Shelly ",-1)])]),_:1}),i(r,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[l(" 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)])]),_:1}),i(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"]),i(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":n.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.factor"))},{help:s(()=>[...e[5]||(e[5]=[l(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ",-1)])]),_:1},8,["model-value"]),i(u,{title:"Phase",required:"",min:1,max:3,"model-value":n.device.configuration.phase,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.phase"))},{help:s(()=>[...e[6]||(e[6]=[l(" Gibt an an welcher Phase des Hausanschlusses die (erste) Phase des Shelly angeschlossen ist. ",-1)])]),_:1},8,["model-value"])])}const U=b(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{U as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as b,u as t,l as f,m as v,G as i,E as s,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[m]},c={class:"device-shelly"};function g(n,e,h,w,y,V){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-select-input"),u=t("openwb-base-number-input");return f(),v("div",c,[i(a,null,{default:s(()=>[...e[3]||(e[3]=[l(" Einstellungen für Shelly ",-1)])]),_:1}),i(r,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[l(" 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)])]),_:1}),i(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"]),i(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":n.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.factor"))},{help:s(()=>[...e[5]||(e[5]=[l(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ",-1)])]),_:1},8,["model-value"]),i(u,{title:"Phase",required:"",min:1,max:3,"model-value":n.device.configuration.phase,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.phase"))},{help:s(()=>[...e[6]||(e[6]=[l(" Gibt an an welcher Phase des Hausanschlusses die (erste) Phase des Shelly angeschlossen ist. ",-1)])]),_:1},8,["model-value"])])}const U=b(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-4f375efb.js b/web/settings/assets/device-25bb8777.js similarity index 73% rename from web/settings/assets/device-4f375efb.js rename to web/settings/assets/device-25bb8777.js index c033662fc8..436d910884 100644 --- a/web/settings/assets/device-4f375efb.js +++ b/web/settings/assets/device-25bb8777.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 I=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{I as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 I=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-47bc9e35.js b/web/settings/assets/device-2e561cc8.js similarity index 78% rename from web/settings/assets/device-47bc9e35.js rename to web/settings/assets/device-2e561cc8.js index d3c4d87cda..0d626d2646 100644 --- a/web/settings/assets/device-47bc9e35.js +++ b/web/settings/assets/device-2e561cc8.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l,m,G as t,E as v,B as b}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceUPower",mixins:[p]},c={class:"device-upower"};function _(o,e,g,w,C,U){const r=i("openwb-base-heading"),a=i("openwb-base-text-input"),u=i("openwb-base-number-input"),s=i("openwb-base-select-input");return l(),m("div",c,[t(r,null,{default:v(()=>[...e[4]||(e[4]=[b("Einstellungen für UPower",-1)])]),_: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(u,{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(u,{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"]),t(s,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"1",text:"Gen 1"},{value:"2",text:"Gen 2"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const k=d(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/upower/upower/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as i,l,m,G as t,E as v,B as b}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceUPower",mixins:[p]},c={class:"device-upower"};function _(o,e,g,w,C,U){const r=i("openwb-base-heading"),a=i("openwb-base-text-input"),u=i("openwb-base-number-input"),s=i("openwb-base-select-input");return l(),m("div",c,[t(r,null,{default:v(()=>[...e[4]||(e[4]=[b("Einstellungen für UPower",-1)])]),_: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(u,{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(u,{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"]),t(s,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"1",text:"Gen 1"},{value:"2",text:"Gen 2"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const k=d(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/upower/upower/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-afdb3f35.js b/web/settings/assets/device-2fc61817.js similarity index 74% rename from web/settings/assets/device-afdb3f35.js rename to web/settings/assets/device-2fc61817.js index cdc3de4bb3..9d56b8f677 100644 --- a/web/settings/assets/device-afdb3f35.js +++ b/web/settings/assets/device-2fc61817.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-91119790.js b/web/settings/assets/device-314cbbc9.js similarity index 75% rename from web/settings/assets/device-91119790.js rename to web/settings/assets/device-314cbbc9.js index caf80b9aef..d0db9313c0 100644 --- a/web/settings/assets/device-91119790.js +++ b/web/settings/assets/device-314cbbc9.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,B as o,A as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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.",-1),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ",-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-fcf847f9.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,B as o,A as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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.",-1),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ",-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-b11427c3.js b/web/settings/assets/device-31f32fa8.js similarity index 76% rename from web/settings/assets/device-b11427c3.js rename to web/settings/assets/device-31f32fa8.js index 71fc25b1f7..95e979437e 100644 --- a/web/settings/assets/device-b11427c3.js +++ b/web/settings/assets/device-31f32fa8.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l as d,m,G as i,E as c,B as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as u,u as t,l as d,m,G as i,E as c,B as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-472ed466.js b/web/settings/assets/device-3a1efddd.js similarity index 63% rename from web/settings/assets/device-472ed466.js rename to web/settings/assets/device-3a1efddd.js index 5668b76cae..0971c1682a 100644 --- a/web/settings/assets/device-472ed466.js +++ b/web/settings/assets/device-3a1efddd.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-72088506.js b/web/settings/assets/device-3e145bf0.js similarity index 74% rename from web/settings/assets/device-72088506.js rename to web/settings/assets/device-3e145bf0.js index 255e2bfad2..fe6b20b393 100644 --- a/web/settings/assets/device-72088506.js +++ b/web/settings/assets/device-3e145bf0.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 I=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{I as default}; +import{D as r}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 I=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-a54b5d7b.js b/web/settings/assets/device-417400d0.js similarity index 76% rename from web/settings/assets/device-a54b5d7b.js rename to web/settings/assets/device-417400d0.js index 4210ef428b..5c54d05cff 100644 --- a/web/settings/assets/device-a54b5d7b.js +++ b/web/settings/assets/device-417400d0.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1}),t(p,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ",-1)])]),_: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 U=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{U as default}; +import{D as l}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1}),t(p,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ",-1)])]),_: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 U=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-44d4f1e8.js b/web/settings/assets/device-46e6962f.js similarity index 69% rename from web/settings/assets/device-44d4f1e8.js rename to web/settings/assets/device-46e6962f.js index 1eb05fe95b..a530712bd4 100644 --- a/web/settings/assets/device-44d4f1e8.js +++ b/web/settings/assets/device-46e6962f.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l as u,m,G as i,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 P=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{P as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as n,l as u,m,G as i,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 P=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-82ce5fbf.js b/web/settings/assets/device-47ed11f1.js similarity index 90% rename from web/settings/assets/device-82ce5fbf.js rename to web/settings/assets/device-47ed11f1.js index 9ec352042e..ad84cf0671 100644 --- a/web/settings/assets/device-82ce5fbf.js +++ b/web/settings/assets/device-47ed11f1.js @@ -1 +1 @@ -import{D as f}from"./HardwareInstallation-99f8d83a.js";import{_ as g,u as d,l as r,m as b,G as l,E as a,B as i,x as s,z as u,A as p}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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"),t=d("openwb-base-text-input"),v=d("openwb-base-select-input");return r(),b("div",y,[l(m,null,{default:a(()=>[...e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ",-1)])]),_:1}),l(t,{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 gib die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info findest Du in Deinem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ',-1)])]),_: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ähle 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)])]),_:1},8,["model-value"]),n.device.configuration.version>1?(r(),s(t,{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?(r(),s(t,{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?(r(),s(t,{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?(r(),s(t,{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.",-1),p("br",null,null,-1),i(" Wenn Du ein Token manuell erstellen möchtest, kannst Du dies auf der ",-1),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ",-1)])]),_:1},8,["model-value"])):u("",!0)])}const W=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{W as default}; +import{D as f}from"./HardwareInstallation-fcf847f9.js";import{_ as g,u as d,l as r,m as b,G as l,E as a,B as i,x as s,z as u,A as p}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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"),t=d("openwb-base-text-input"),v=d("openwb-base-select-input");return r(),b("div",y,[l(m,null,{default:a(()=>[...e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ",-1)])]),_:1}),l(t,{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 gib die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info findest Du in Deinem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ',-1)])]),_: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ähle 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)])]),_:1},8,["model-value"]),n.device.configuration.version>1?(r(),s(t,{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?(r(),s(t,{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?(r(),s(t,{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?(r(),s(t,{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.",-1),p("br",null,null,-1),i(" Wenn Du ein Token manuell erstellen möchtest, kannst Du dies auf der ",-1),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ",-1)])]),_:1},8,["model-value"])):u("",!0)])}const W=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{W as default}; diff --git a/web/settings/assets/device-f58c5e2f.js b/web/settings/assets/device-48df2895.js similarity index 74% rename from web/settings/assets/device-f58c5e2f.js rename to web/settings/assets/device-48df2895.js index b9dbb4bab3..70f45011dd 100644 --- a/web/settings/assets/device-f58c5e2f.js +++ b/web/settings/assets/device-48df2895.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-270dfbfb.js b/web/settings/assets/device-4a131e61.js similarity index 64% rename from web/settings/assets/device-270dfbfb.js rename to web/settings/assets/device-4a131e61.js index e5d28d37f9..6fd1c7ade1 100644 --- a/web/settings/assets/device-270dfbfb.js +++ b/web/settings/assets/device-4a131e61.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-77f8dada.js b/web/settings/assets/device-4c44c40d.js similarity index 78% rename from web/settings/assets/device-77f8dada.js rename to web/settings/assets/device-4c44c40d.js index 01a82a0604..6659f0d6a8 100644 --- a/web/settings/assets/device-77f8dada.js +++ b/web/settings/assets/device-4c44c40d.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,B as c,A as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,B as c,A as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-117443e8.js b/web/settings/assets/device-4c4ad49a.js similarity index 76% rename from web/settings/assets/device-117443e8.js rename to web/settings/assets/device-4c4ad49a.js index fd65c74f2e..e03b07d582 100644 --- a/web/settings/assets/device-117443e8.js +++ b/web/settings/assets/device-4c4ad49a.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as i,l as b,m as f,G as t,E as a,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceIDM",mixins:[m]},v={class:"device-idm"};function c(o,e,g,w,C,D){const r=i("openwb-base-heading"),u=i("openwb-base-alert"),p=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(r,null,{default:a(()=>[...e[3]||(e[3]=[d(" Einstellungen für IDM ",-1)])]),_:1}),t(u,{subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[d(" ModbusTCP muss in der Fachmannebene aktiviert sein. ",-1)])]),_: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(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 P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/idm/idm/device.vue"]]);export{P as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as i,l as b,m as f,G as t,E as a,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceIDM",mixins:[m]},v={class:"device-idm"};function c(o,e,g,w,C,D){const r=i("openwb-base-heading"),u=i("openwb-base-alert"),p=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(r,null,{default:a(()=>[...e[3]||(e[3]=[d(" Einstellungen für IDM ",-1)])]),_:1}),t(u,{subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[d(" ModbusTCP muss in der Fachmannebene aktiviert sein. ",-1)])]),_: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(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 P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/idm/idm/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-cf95042a.js b/web/settings/assets/device-51c65c8f.js similarity index 77% rename from web/settings/assets/device-cf95042a.js rename to web/settings/assets/device-51c65c8f.js index 5835f95c5e..08d935374f 100644 --- a/web/settings/assets/device-cf95042a.js +++ b/web/settings/assets/device-51c65c8f.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-7a34ec3c.js b/web/settings/assets/device-5446b50e.js similarity index 69% rename from web/settings/assets/device-7a34ec3c.js rename to web/settings/assets/device-5446b50e.js index 462297cccb..0f02aba776 100644 --- a/web/settings/assets/device-7a34ec3c.js +++ b/web/settings/assets/device-5446b50e.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as g}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,x){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)])]),_: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-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as g}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,x){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)])]),_: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-94044d0a.js b/web/settings/assets/device-54d56c7d.js similarity index 77% rename from web/settings/assets/device-94044d0a.js rename to web/settings/assets/device-54d56c7d.js index 492b025ac6..b6ee103bd9 100644 --- a/web/settings/assets/device-94044d0a.js +++ b/web/settings/assets/device-54d56c7d.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as b,m as f,G as t,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceAlgodue",mixins:[p]},_={class:"device-algodue"};function g(o,e,c,w,C,D){const a=i("openwb-base-heading"),d=i("openwb-base-alert"),l=i("openwb-base-text-input"),u=i("openwb-base-number-input");return b(),f("div",_,[t(a,null,{default:r(()=>[...e[3]||(e[3]=[s(" Einstellungen für Algodue",-1)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[s(" ModbusTCP muss aktiviert sein. Der Zähler ist auf Modbus-ID 1 und Port 502 vorkonfiguriert. ",-1)])]),_:1}),t(l,{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(u,{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(u,{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 I=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/algodue/algodue/device.vue"]]);export{I as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as i,l as b,m as f,G as t,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceAlgodue",mixins:[p]},_={class:"device-algodue"};function g(o,e,c,w,C,D){const a=i("openwb-base-heading"),d=i("openwb-base-alert"),l=i("openwb-base-text-input"),u=i("openwb-base-number-input");return b(),f("div",_,[t(a,null,{default:r(()=>[...e[3]||(e[3]=[s(" Einstellungen für Algodue",-1)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[s(" ModbusTCP muss aktiviert sein. Der Zähler ist auf Modbus-ID 1 und Port 502 vorkonfiguriert. ",-1)])]),_:1}),t(l,{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(u,{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(u,{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 I=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/algodue/algodue/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-63cc2a7d.js b/web/settings/assets/device-5521efb9.js similarity index 89% rename from web/settings/assets/device-63cc2a7d.js rename to web/settings/assets/device-5521efb9.js index 458c507a88..3f72d28061 100644 --- a/web/settings/assets/device-63cc2a7d.js +++ b/web/settings/assets/device-5521efb9.js @@ -1 +1 @@ -import{D as w}from"./HardwareInstallation-99f8d83a.js";import{_ as c,u as t,l as s,m as f,G as r,E as a,B as o,x as d,z as l,A as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHuawei",mixins:[w]},_={class:"device-huawei"};function k(n,e,D,H,C,B){const p=t("openwb-base-heading"),m=t("openwb-base-alert"),g=t("openwb-base-text-input"),u=t("openwb-base-number-input"),b=t("openwb-base-select-input");return s(),f("div",_,[r(p,null,{default:a(()=>[...e[4]||(e[4]=[o(" Einstellungen für Huawei ",-1)])]),_:1}),r(m,{subtype:"info"},{default:a(()=>[...e[5]||(e[5]=[o(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. Mit unserem Huawei-Kit können Huawei Wechselrichter auch in normaler Regelgeschwindigkeit abgefragt werden. ',-1)])]),_:1}),n.device.configuration.type!="huawei_kit"?(s(),d(g,{key:0,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"])):l("",!0),n.device.configuration.type!="huawei_kit"?(s(),d(u,{key:1,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"])):l("",!0),r(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:a(()=>[...e[6]||(e[6]=[o(' 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.',-1),v("br",null,null,-1),o(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ",-1)])]),_:1},8,["model-value"]),r(b,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"huawei_kit",text:"Huawei Kit"},{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:a(()=>[...e[7]||(e[7]=[o(' 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)])]),_:1},8,["model-value"])])}const S=c(h,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{S as default}; +import{D as w}from"./HardwareInstallation-fcf847f9.js";import{_ as c,u as t,l as s,m as f,G as r,E as a,B as o,x as d,z as l,A as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHuawei",mixins:[w]},_={class:"device-huawei"};function k(n,e,D,H,C,B){const p=t("openwb-base-heading"),m=t("openwb-base-alert"),g=t("openwb-base-text-input"),u=t("openwb-base-number-input"),b=t("openwb-base-select-input");return s(),f("div",_,[r(p,null,{default:a(()=>[...e[4]||(e[4]=[o(" Einstellungen für Huawei ",-1)])]),_:1}),r(m,{subtype:"info"},{default:a(()=>[...e[5]||(e[5]=[o(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. Mit unserem Huawei-Kit können Huawei Wechselrichter auch in normaler Regelgeschwindigkeit abgefragt werden. ',-1)])]),_:1}),n.device.configuration.type!="huawei_kit"?(s(),d(g,{key:0,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"])):l("",!0),n.device.configuration.type!="huawei_kit"?(s(),d(u,{key:1,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"])):l("",!0),r(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:a(()=>[...e[6]||(e[6]=[o(' 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.',-1),v("br",null,null,-1),o(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ",-1)])]),_:1},8,["model-value"]),r(b,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"huawei_kit",text:"Huawei Kit"},{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:a(()=>[...e[7]||(e[7]=[o(' 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)])]),_:1},8,["model-value"])])}const S=c(h,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{S as default}; diff --git a/web/settings/assets/device-4f3ad63d.js b/web/settings/assets/device-56bb2517.js similarity index 71% rename from web/settings/assets/device-4f3ad63d.js rename to web/settings/assets/device-56bb2517.js index bf158802e8..e947263458 100644 --- a/web/settings/assets/device-4f3ad63d.js +++ b/web/settings/assets/device-56bb2517.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-9b5125e8.js b/web/settings/assets/device-57b7f13e.js similarity index 63% rename from web/settings/assets/device-9b5125e8.js rename to web/settings/assets/device-57b7f13e.js index be990a1a50..a6ffdd7942 100644 --- a/web/settings/assets/device-9b5125e8.js +++ b/web/settings/assets/device-57b7f13e.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-9968b9d2.js b/web/settings/assets/device-59ff51fe.js similarity index 71% rename from web/settings/assets/device-9968b9d2.js rename to web/settings/assets/device-59ff51fe.js index ef697c3af6..8a8d4baffe 100644 --- a/web/settings/assets/device-9968b9d2.js +++ b/web/settings/assets/device-59ff51fe.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l as c,m,G as o,E as s,B as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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 y=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as t,l as c,m,G as o,E as s,B as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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 y=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-a5436d32.js b/web/settings/assets/device-5bdeb51a.js similarity index 75% rename from web/settings/assets/device-a5436d32.js rename to web/settings/assets/device-5bdeb51a.js index 377b25e6b4..4d5671b87f 100644 --- a/web/settings/assets/device-a5436d32.js +++ b/web/settings/assets/device-5bdeb51a.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-55e8a676.js b/web/settings/assets/device-5e8be58e.js similarity index 76% rename from web/settings/assets/device-55e8a676.js rename to web/settings/assets/device-5e8be58e.js index 5714aa350a..e3b2627745 100644 --- a/web/settings/assets/device-55e8a676.js +++ b/web/settings/assets/device-5e8be58e.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as r,l as d,m,G as i,E as s,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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 x=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{x as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as r,l as d,m,G as i,E as s,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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 x=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{x as default}; diff --git a/web/settings/assets/device-309ab2e8.js b/web/settings/assets/device-62449aeb.js similarity index 76% rename from web/settings/assets/device-309ab2e8.js rename to web/settings/assets/device-62449aeb.js index 696d95b577..785b99aca1 100644 --- a/web/settings/assets/device-309ab2e8.js +++ b/web/settings/assets/device-62449aeb.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ",-1)])]),_: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 k=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{k as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ",-1)])]),_: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 k=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-49e4a733.js b/web/settings/assets/device-6345b955.js similarity index 69% rename from web/settings/assets/device-49e4a733.js rename to web/settings/assets/device-6345b955.js index b826d006f0..585e8396a6 100644 --- a/web/settings/assets/device-49e4a733.js +++ b/web/settings/assets/device-6345b955.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as t,l as d,m as u,G as i,E as m,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolakonOne",mixins:[p]},f={class:"device-solakon-one"};function b(o,e,v,g,w,k){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return d(),u("div",f,[i(s,null,{default:m(()=>[...e[2]||(e[2]=[_("Einstellungen für Solakon One",-1)])]),_:1}),i(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"]),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 O=l(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/device.vue"]]);export{O as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as t,l as d,m as u,G as i,E as m,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolakonOne",mixins:[p]},f={class:"device-solakon-one"};function b(o,e,v,g,w,k){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return d(),u("div",f,[i(s,null,{default:m(()=>[...e[2]||(e[2]=[_("Einstellungen für Solakon One",-1)])]),_:1}),i(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"]),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 O=l(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/device.vue"]]);export{O as default}; diff --git a/web/settings/assets/device-f415cae3.js b/web/settings/assets/device-6b95742b.js similarity index 73% rename from web/settings/assets/device-f415cae3.js rename to web/settings/assets/device-6b95742b.js index e6b152cdef..f3223d7084 100644 --- a/web/settings/assets/device-f415cae3.js +++ b/web/settings/assets/device-6b95742b.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as a,l as d,m as p,G as t,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceAvm",mixins:[r]},f={class:"device-avm"};function c(o,e,g,b,_,w){const s=a("openwb-base-heading"),i=a("openwb-base-text-input");return d(),p("div",f,[t(s,null,{default:l(()=>[...e[3]||(e[3]=[m("Einstellungen für AVM Fritz!Box",-1)])]),_: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.username,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.username"))},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=u(v,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/avm/avm/device.vue"]]);export{U as default}; +import{D as r}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as a,l as d,m as p,G as t,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceAvm",mixins:[r]},f={class:"device-avm"};function c(o,e,g,b,_,w){const s=a("openwb-base-heading"),i=a("openwb-base-text-input");return d(),p("div",f,[t(s,null,{default:l(()=>[...e[3]||(e[3]=[m("Einstellungen für AVM Fritz!Box",-1)])]),_: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.username,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.username"))},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=u(v,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/avm/avm/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-dc300472.js b/web/settings/assets/device-6dc72a0e.js similarity index 62% rename from web/settings/assets/device-dc300472.js rename to web/settings/assets/device-6dc72a0e.js index f510f7fe94..c813cef9ee 100644 --- a/web/settings/assets/device-dc300472.js +++ b/web/settings/assets/device-6dc72a0e.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-c3803fae.js b/web/settings/assets/device-7204b6c4.js similarity index 73% rename from web/settings/assets/device-c3803fae.js rename to web/settings/assets/device-7204b6c4.js index 7f9fadf648..84a4c59e0a 100644 --- a/web/settings/assets/device-c3803fae.js +++ b/web/settings/assets/device-7204b6c4.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as _,m as b,G as n,E as s,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceKostalPikoCi",mixins:[d]},f={class:"device-kostal-piko-ci"};function v(o,e,g,k,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-alert"),l=t("openwb-base-text-input"),u=t("openwb-base-number-input");return _(),b("div",f,[n(p,null,{default:s(()=>[...e[2]||(e[2]=[a("Einstellungen für Kostal Piko CI",-1)])]),_:1}),n(r,{subtype:"info"},{default:s(()=>[...e[3]||(e[3]=[a(" Die Kommunikation erfolgt via Modbus/TCP. ",-1)])]),_:1}),n(l,{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"]),n(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 y=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as t,l as _,m as b,G as n,E as s,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceKostalPikoCi",mixins:[d]},f={class:"device-kostal-piko-ci"};function v(o,e,g,k,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-alert"),l=t("openwb-base-text-input"),u=t("openwb-base-number-input");return _(),b("div",f,[n(p,null,{default:s(()=>[...e[2]||(e[2]=[a("Einstellungen für Kostal Piko CI",-1)])]),_:1}),n(r,{subtype:"info"},{default:s(()=>[...e[3]||(e[3]=[a(" Die Kommunikation erfolgt via Modbus/TCP. ",-1)])]),_:1}),n(l,{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"]),n(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 y=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-245ff896.js b/web/settings/assets/device-75384b14.js similarity index 73% rename from web/settings/assets/device-245ff896.js rename to web/settings/assets/device-75384b14.js index b250dadb0b..199886360f 100644 --- a/web/settings/assets/device-245ff896.js +++ b/web/settings/assets/device-75384b14.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l as u,m,G as t,E as l,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as d,u as i,l as u,m,G as t,E as l,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-91fa8405.js b/web/settings/assets/device-7b25bfcf.js similarity index 68% rename from web/settings/assets/device-91fa8405.js rename to web/settings/assets/device-7b25bfcf.js index 4d30dce828..fff425dc48 100644 --- a/web/settings/assets/device-91fa8405.js +++ b/web/settings/assets/device-7b25bfcf.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 y=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 y=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-90a65ab9.js b/web/settings/assets/device-81efc975.js similarity index 62% rename from web/settings/assets/device-90a65ab9.js rename to web/settings/assets/device-81efc975.js index d8155a5fea..9b14779558 100644 --- a/web/settings/assets/device-90a65ab9.js +++ b/web/settings/assets/device-81efc975.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{N as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-32f2da7b.js b/web/settings/assets/device-8304af38.js similarity index 76% rename from web/settings/assets/device-32f2da7b.js rename to web/settings/assets/device-8304af38.js index 63676e0124..a52f2cc387 100644 --- a/web/settings/assets/device-32f2da7b.js +++ b/web/settings/assets/device-8304af38.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l,m as b,G as i,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHuaweiEmma",mixins:[m]},v={class:"device-huawei-emma"};function _(o,e,g,w,c,C){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),b("div",v,[i(r,null,{default:u(()=>[...e[3]||(e[3]=[d(" Einstellungen für Huawei EMMA ",-1)])]),_: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:"0",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:u(()=>[...e[4]||(e[4]=[d(" Huawei Emma nutzt entgegen der Modbus-Spezifikation standardmäßig die Modbus ID 0. ",-1)])]),_:1},8,["model-value"])])}const q=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_emma/device.vue"]]);export{q as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as t,l,m as b,G as i,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHuaweiEmma",mixins:[m]},v={class:"device-huawei-emma"};function _(o,e,g,w,c,C){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),b("div",v,[i(r,null,{default:u(()=>[...e[3]||(e[3]=[d(" Einstellungen für Huawei EMMA ",-1)])]),_: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:"0",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:u(()=>[...e[4]||(e[4]=[d(" Huawei Emma nutzt entgegen der Modbus-Spezifikation standardmäßig die Modbus ID 0. ",-1)])]),_:1},8,["model-value"])])}const q=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_emma/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-e80904c7.js b/web/settings/assets/device-8a61cbb7.js similarity index 69% rename from web/settings/assets/device-e80904c7.js rename to web/settings/assets/device-8a61cbb7.js index 10fe201a04..68e2f4cea3 100644 --- a/web/settings/assets/device-e80904c7.js +++ b/web/settings/assets/device-8a61cbb7.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 P=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{P as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 P=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-55304ad5.js b/web/settings/assets/device-8d16f2ec.js similarity index 73% rename from web/settings/assets/device-55304ad5.js rename to web/settings/assets/device-8d16f2ec.js index b99b7cf501..d7a1048a29 100644 --- a/web/settings/assets/device-55304ad5.js +++ b/web/settings/assets/device-8d16f2ec.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,B as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{N as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,B as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-252da138.js b/web/settings/assets/device-8e359d3e.js similarity index 63% rename from web/settings/assets/device-252da138.js rename to web/settings/assets/device-8e359d3e.js index 674a29e208..28570db4a5 100644 --- a/web/settings/assets/device-252da138.js +++ b/web/settings/assets/device-8e359d3e.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as r,u as t,l as d,m,G as n,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as r,u as t,l as d,m,G as n,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-1c0043b7.js b/web/settings/assets/device-92fda5a4.js similarity index 74% rename from web/settings/assets/device-1c0043b7.js rename to web/settings/assets/device-92fda5a4.js index a087529cd0..39ccbebe46 100644 --- a/web/settings/assets/device-1c0043b7.js +++ b/web/settings/assets/device-92fda5a4.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 I=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{I as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 I=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-47b72eba.js b/web/settings/assets/device-95b81141.js similarity index 83% rename from web/settings/assets/device-47b72eba.js rename to web/settings/assets/device-95b81141.js index c01bb1d99f..197832d0ff 100644 --- a/web/settings/assets/device-47b72eba.js +++ b/web/settings/assets/device-95b81141.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,G){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),a=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]=[s(" Einstellungen für Solax ",-1)])]),_: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(a,{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]=[s(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ",-1)])]),_:1},8,["model-value"]),t(a,{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]=[s(" 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)])]),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3 & Gen4"},{value:"g4",text:"Gen 4 Boost & Gen 4 Mini"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const P=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{P as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,G){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),a=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]=[s(" Einstellungen für Solax ",-1)])]),_: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(a,{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]=[s(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ",-1)])]),_:1},8,["model-value"]),t(a,{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]=[s(" 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)])]),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3 & Gen4"},{value:"g4",text:"Gen 4 Boost & Gen 4 Mini"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const P=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-e8b9da08.js b/web/settings/assets/device-a2d93396.js similarity index 74% rename from web/settings/assets/device-e8b9da08.js rename to web/settings/assets/device-a2d93396.js index c0c8bc5269..3ca61d27ef 100644 --- a/web/settings/assets/device-e8b9da08.js +++ b/web/settings/assets/device-a2d93396.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as n,l as _,m as b,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVenusCE",mixins:[m]},f={class:"device-venus_c_e"};function v(o,e,g,w,C,x){const p=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return _(),b("div",f,[t(p,null,{default:i(()=>[...e[2]||(e[2]=[r(" Einstellungen für Marstek Venus C, E ",-1)])]),_:1}),t(a,{subtype:"info"},{default:i(()=>[...e[3]||(e[3]=[r(" Es muss ein Modbus-TCP-Adapter eingesetzt werden, um den RS485-Modbus-Port des Speichers mit dem Netzwerk zu verbinden. ",-1)])]),_:1}),t(d,{title:"IP oder Hostname des Adapters",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port des Adapters",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=s=>o.updateConfiguration(s,"configuration.port"))},null,8,["model-value"])])}const D=l(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/marstek/venus_c_e/device.vue"]]);export{D as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as n,l as _,m as b,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVenusCE",mixins:[m]},f={class:"device-venus_c_e"};function v(o,e,g,w,C,x){const p=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return _(),b("div",f,[t(p,null,{default:i(()=>[...e[2]||(e[2]=[r(" Einstellungen für Marstek Venus C, E ",-1)])]),_:1}),t(a,{subtype:"info"},{default:i(()=>[...e[3]||(e[3]=[r(" Es muss ein Modbus-TCP-Adapter eingesetzt werden, um den RS485-Modbus-Port des Speichers mit dem Netzwerk zu verbinden. ",-1)])]),_:1}),t(d,{title:"IP oder Hostname des Adapters",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port des Adapters",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=s=>o.updateConfiguration(s,"configuration.port"))},null,8,["model-value"])])}const D=l(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/marstek/venus_c_e/device.vue"]]);export{D as default}; diff --git a/web/settings/assets/device-f57321f1.js b/web/settings/assets/device-a7625ee9.js similarity index 77% rename from web/settings/assets/device-f57321f1.js rename to web/settings/assets/device-a7625ee9.js index 6d4cf892df..546487f495 100644 --- a/web/settings/assets/device-f57321f1.js +++ b/web/settings/assets/device-a7625ee9.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_:1},8,["model-value"])])}const h=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{h as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_:1},8,["model-value"])])}const h=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-b5f49999.js b/web/settings/assets/device-a8d662d4.js similarity index 69% rename from web/settings/assets/device-b5f49999.js rename to web/settings/assets/device-a8d662d4.js index 0eb6f3ad02..9a38708518 100644 --- a/web/settings/assets/device-b5f49999.js +++ b/web/settings/assets/device-a8d662d4.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-fcb6f2ea.js b/web/settings/assets/device-b7b8ef73.js similarity index 91% rename from web/settings/assets/device-fcb6f2ea.js rename to web/settings/assets/device-b7b8ef73.js index a0542900e9..de42dd935e 100644 --- a/web/settings/assets/device-fcb6f2ea.js +++ b/web/settings/assets/device-b7b8ef73.js @@ -1 +1 @@ -import{D as g}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as s,l as p,m as k,G as l,E as u,B as t,A as n,F as a,x as A,z as w}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSonnenbatterie",mixins:[g],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"}}},B={class:"device-sonnenbatterie"},I=["href"],S=["href"],P=["href"],J=["href"];function z(i,e,R,C,D,r){const v=s("openwb-base-heading"),f=s("openwb-base-alert"),d=s("openwb-base-text-input"),b=s("openwb-base-select-input");return p(),k("div",B,[l(v,null,{default:u(()=>[...e[3]||(e[3]=[t(" Einstellungen für SonnenBatterie ",-1)])]),_:1}),l(f,{subtype:"info"},{default:u(()=>[...e[4]||(e[4]=[t(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung.',-1),n("br",null,null,-1),t(" Die aktive Steuerung des Speichers durch openWB ist nur mit der JSON-API v2 möglich. ",-1)])]),_:1}),l(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),l(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":i.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.variant"))},{help:u(()=>[e[5]||(e[5]=t(" 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:",-1)),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Rest-API 1: ",-1)),n("a",{href:r.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},a(r.linkRestApi1),9,I),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Rest-API 2: ",-1)),n("a",{href:r.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},a(r.linkRestApi2),9,S),e[10]||(e[10]=n("br",null,null,-1)),e[11]||(e[11]=t(" JSON-API v1: ",-1)),n("a",{href:r.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},a(r.linkJsonApi1),9,P),e[12]||(e[12]=n("br",null,null,-1)),e[13]||(e[13]=t(" JSON-API v2: ",-1)),n("a",{href:r.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},a(r.linkJsonApi2),9,J),e[14]||(e[14]=n("br",null,null,-1))]),_:1},8,["model-value"]),i.device.configuration.variant===3?(p(),A(d,{key:0,title:"API-Token",subtype:"password",required:"","model-value":i.device.configuration.api_v2_token,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.api_v2_token"))},{help:u(()=>[...e[15]||(e[15]=[t(' API-Token für JSON-API v2. Dieses Token wird benötigt, um detaillierte Daten auszulesen und den Speicher aktiv zu steuern (optional). Es kann in der Weboberfläche der SonnenBatterie unter "Software-Integration" erstellt werden.',-1),n("br",null,null,-1),t(' Für die aktive Steuerung durch openWB ist ebenfalls die "Write API" zu aktivieren! ',-1)])]),_:1},8,["model-value"])):w("",!0)])}const T=m(_,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{T as default}; +import{D as g}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as s,l as p,m as k,G as l,E as u,B as t,A as n,F as a,x as A,z as w}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSonnenbatterie",mixins:[g],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"}}},B={class:"device-sonnenbatterie"},I=["href"],S=["href"],P=["href"],J=["href"];function z(i,e,R,C,D,r){const v=s("openwb-base-heading"),f=s("openwb-base-alert"),d=s("openwb-base-text-input"),b=s("openwb-base-select-input");return p(),k("div",B,[l(v,null,{default:u(()=>[...e[3]||(e[3]=[t(" Einstellungen für SonnenBatterie ",-1)])]),_:1}),l(f,{subtype:"info"},{default:u(()=>[...e[4]||(e[4]=[t(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung.',-1),n("br",null,null,-1),t(" Die aktive Steuerung des Speichers durch openWB ist nur mit der JSON-API v2 möglich. ",-1)])]),_:1}),l(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),l(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":i.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.variant"))},{help:u(()=>[e[5]||(e[5]=t(" 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:",-1)),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Rest-API 1: ",-1)),n("a",{href:r.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},a(r.linkRestApi1),9,I),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Rest-API 2: ",-1)),n("a",{href:r.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},a(r.linkRestApi2),9,S),e[10]||(e[10]=n("br",null,null,-1)),e[11]||(e[11]=t(" JSON-API v1: ",-1)),n("a",{href:r.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},a(r.linkJsonApi1),9,P),e[12]||(e[12]=n("br",null,null,-1)),e[13]||(e[13]=t(" JSON-API v2: ",-1)),n("a",{href:r.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},a(r.linkJsonApi2),9,J),e[14]||(e[14]=n("br",null,null,-1))]),_:1},8,["model-value"]),i.device.configuration.variant===3?(p(),A(d,{key:0,title:"API-Token",subtype:"password",required:"","model-value":i.device.configuration.api_v2_token,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.api_v2_token"))},{help:u(()=>[...e[15]||(e[15]=[t(' API-Token für JSON-API v2. Dieses Token wird benötigt, um detaillierte Daten auszulesen und den Speicher aktiv zu steuern (optional). Es kann in der Weboberfläche der SonnenBatterie unter "Software-Integration" erstellt werden.',-1),n("br",null,null,-1),t(' Für die aktive Steuerung durch openWB ist ebenfalls die "Write API" zu aktivieren! ',-1)])]),_:1},8,["model-value"])):w("",!0)])}const T=m(_,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-21a47734.js b/web/settings/assets/device-b83d1492.js similarity index 77% rename from web/settings/assets/device-21a47734.js rename to web/settings/assets/device-b83d1492.js index e56921f405..a00e6e34c2 100644 --- a/web/settings/assets/device-21a47734.js +++ b/web/settings/assets/device-b83d1492.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l,m as p,G as i,E as s,B as n,A as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceMqtt",mixins:[a]},c={class:"device-mqtt"};function b(g,e,_,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),p("div",c,[i(r,null,{default:s(()=>[...e[0]||(e[0]=[n("Einstellungen für MQTT",-1)])]),_: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. Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ",-1),m("br",null,null,-1),n(" Ab Version 2.1.8 wurden die Topics überarbeitet. Die bisherigen Topics openWB/set/bat/id/get/..., openWB/set/counter/id/get/... und openWB/set/pv/id/get/... bleiben aus Gründen der Abwärtskompatibilität weiterhin nutzbar. Wir empfehlen, auf die neuen Topics umzusteigen. Dies ermöglicht die Beseitigung von Einschränkungen, wie z. B. die fehlende Verrechnung bei Hybrid-Systemen oder die Berechnung fehlender Werte, wie der Phasen-Leistung aus Spannung und Stromstärken. ",-1)])]),_:1})])}const M=d(u,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{M as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l,m as p,G as i,E as s,B as n,A as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceMqtt",mixins:[a]},c={class:"device-mqtt"};function b(g,e,_,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),p("div",c,[i(r,null,{default:s(()=>[...e[0]||(e[0]=[n("Einstellungen für MQTT",-1)])]),_: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. Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ",-1),m("br",null,null,-1),n(" Ab Version 2.1.8 wurden die Topics überarbeitet. Die bisherigen Topics openWB/set/bat/id/get/..., openWB/set/counter/id/get/... und openWB/set/pv/id/get/... bleiben aus Gründen der Abwärtskompatibilität weiterhin nutzbar. Wir empfehlen, auf die neuen Topics umzusteigen. Dies ermöglicht die Beseitigung von Einschränkungen, wie z. B. die fehlende Verrechnung bei Hybrid-Systemen oder die Berechnung fehlender Werte, wie der Phasen-Leistung aus Spannung und Stromstärken. ",-1)])]),_:1})])}const M=d(u,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-02ddf86e.js b/web/settings/assets/device-bcc7ec5d.js similarity index 73% rename from web/settings/assets/device-02ddf86e.js rename to web/settings/assets/device-bcc7ec5d.js index 09e927bba2..67533eba41 100644 --- a/web/settings/assets/device-02ddf86e.js +++ b/web/settings/assets/device-bcc7ec5d.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 I=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{I as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,B as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 I=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-97b87908.js b/web/settings/assets/device-c0755185.js similarity index 86% rename from web/settings/assets/device-97b87908.js rename to web/settings/assets/device-c0755185.js index 4badde6eb1..cbde9c49ae 100644 --- a/web/settings/assets/device-97b87908.js +++ b/web/settings/assets/device-c0755185.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,B as b,x as u,z as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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"),s=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)])]),_:1}),a(s,{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"])):r("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",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"])):r("",!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"])):r("",!0),a(s,{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 x=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{x as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,B as b,x as u,z as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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"),s=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)])]),_:1}),a(s,{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"])):r("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",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"])):r("",!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"])):r("",!0),a(s,{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 x=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{x as default}; diff --git a/web/settings/assets/device-91e6a5f4.js b/web/settings/assets/device-c1feb2e7.js similarity index 69% rename from web/settings/assets/device-91e6a5f4.js rename to web/settings/assets/device-c1feb2e7.js index e86c0ca9b1..6cd45aaeb3 100644 --- a/web/settings/assets/device-91e6a5f4.js +++ b/web/settings/assets/device-c1feb2e7.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceChint",mixins:[a]},f={class:"device-chint"};function b(o,e,v,g,w,C){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]=[c(" Einstellungen für Chint ",-1)])]),_: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 N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/chint/chint/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceChint",mixins:[a]},f={class:"device-chint"};function b(o,e,v,g,w,C){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]=[c(" Einstellungen für Chint ",-1)])]),_: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 N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/chint/chint/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-ae596298.js b/web/settings/assets/device-ce62bcc9.js similarity index 70% rename from web/settings/assets/device-ae596298.js rename to web/settings/assets/device-ce62bcc9.js index f57f8d2a67..cd5a6fd556 100644 --- a/web/settings/assets/device-ae596298.js +++ b/web/settings/assets/device-ce62bcc9.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-0b90d2b2.js b/web/settings/assets/device-d02fab9a.js similarity index 62% rename from web/settings/assets/device-0b90d2b2.js rename to web/settings/assets/device-d02fab9a.js index e08285029b..3ad83d9293 100644 --- a/web/settings/assets/device-0b90d2b2.js +++ b/web/settings/assets/device-d02fab9a.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-bfc02b41.js b/web/settings/assets/device-d252b279.js similarity index 76% rename from web/settings/assets/device-bfc02b41.js rename to web/settings/assets/device-d252b279.js index 02a7f270f7..c52ec50725 100644 --- a/web/settings/assets/device-bfc02b41.js +++ b/web/settings/assets/device-d252b279.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceElgris",mixins:[p]},g={class:"device-elgris"};function v(o,e,c,w,C,D){const u=i("openwb-base-heading"),d=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",g,[t(u,null,{default:s(()=>[...e[3]||(e[3]=[a(" Einstellungen für Elgris",-1)])]),_:1}),t(d,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[a(" Der Zähler ist auf Modbus-ID 1 und Port 502 vorkonfiguriert. ",-1)])]),_:1}),t(l,{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 P=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/elgris/elgris/device.vue"]]);export{P as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceElgris",mixins:[p]},g={class:"device-elgris"};function v(o,e,c,w,C,D){const u=i("openwb-base-heading"),d=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",g,[t(u,null,{default:s(()=>[...e[3]||(e[3]=[a(" Einstellungen für Elgris",-1)])]),_:1}),t(d,{subtype:"info"},{default:s(()=>[...e[4]||(e[4]=[a(" Der Zähler ist auf Modbus-ID 1 und Port 502 vorkonfiguriert. ",-1)])]),_:1}),t(l,{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 P=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/elgris/elgris/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-0a8cfdb1.js b/web/settings/assets/device-d32b014e.js similarity index 73% rename from web/settings/assets/device-0a8cfdb1.js rename to web/settings/assets/device-d32b014e.js index 447e6ccf89..ea9cc42d44 100644 --- a/web/settings/assets/device-0a8cfdb1.js +++ b/web/settings/assets/device-d32b014e.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l,m as u,G as n,E as a,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as i,l,m as u,G as n,E as a,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-caf2a024.js b/web/settings/assets/device-d7081ea9.js similarity index 74% rename from web/settings/assets/device-caf2a024.js rename to web/settings/assets/device-d7081ea9.js index 3d0baac467..6b7ebeee5e 100644 --- a/web/settings/assets/device-caf2a024.js +++ b/web/settings/assets/device-d7081ea9.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS3P",mixins:[u]},f={class:"device-azzurro_zcs_3p"};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)])]),_: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 U=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs_3p/device.vue"]]);export{U as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS3P",mixins:[u]},f={class:"device-azzurro_zcs_3p"};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)])]),_: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 U=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs_3p/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-ded4778a.js b/web/settings/assets/device-d7caa67c.js similarity index 80% rename from web/settings/assets/device-ded4778a.js rename to web/settings/assets/device-d7caa67c.js index 19e3d9c0ee..57fddc27b0 100644 --- a/web/settings/assets/device-ded4778a.js +++ b/web/settings/assets/device-d7caa67c.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-c2205c17.js b/web/settings/assets/device-d87a5565.js similarity index 73% rename from web/settings/assets/device-c2205c17.js rename to web/settings/assets/device-d87a5565.js index d9c999b638..33d6402470 100644 --- a/web/settings/assets/device-c2205c17.js +++ b/web/settings/assets/device-d87a5565.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as t,l as p,m,G as i,E as l,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceThermia",mixins:[d]},v={class:"device-thermia"};function _(o,e,c,g,w,C){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return p(),m("div",v,[i(r,null,{default:l(()=>[...e[3]||(e[3]=[f(" Einstellungen für Thermia ",-1)])]),_: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(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/thermia/thermia/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as t,l as p,m,G as i,E as l,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceThermia",mixins:[d]},v={class:"device-thermia"};function _(o,e,c,g,w,C){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return p(),m("div",v,[i(r,null,{default:l(()=>[...e[3]||(e[3]=[f(" Einstellungen für Thermia ",-1)])]),_: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(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/thermia/thermia/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-f7828376.js b/web/settings/assets/device-dbf8c1b7.js similarity index 74% rename from web/settings/assets/device-f7828376.js rename to web/settings/assets/device-dbf8c1b7.js index 9025e5ff55..9e6aa9692e 100644 --- a/web/settings/assets/device-f7828376.js +++ b/web/settings/assets/device-dbf8c1b7.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as i,l,m as p,G as t,E as m,B as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as i,l,m as p,G as t,E as m,B as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-65c4cc4d.js b/web/settings/assets/device-e1a0c047.js similarity index 71% rename from web/settings/assets/device-65c4cc4d.js rename to web/settings/assets/device-e1a0c047.js index 1cc7a1760b..e73a779232 100644 --- a/web/settings/assets/device-65c4cc4d.js +++ b/web/settings/assets/device-e1a0c047.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l,m as c,G as i,E as a,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKaco",mixins:[u]},f={class:"device-kaco"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",f,[i(s,null,{default:a(()=>[...e[2]||(e[2]=[r(" Einstellungen für Kaco ",-1)])]),_:1}),i(p,{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(d,{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"))},{help:a(()=>[...e[3]||(e[3]=[r(" Der Standardport für Kaco ist 502. ",-1)])]),_:1},8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_tx/device.vue"]]);export{N as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as n,l,m as c,G as i,E as a,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKaco",mixins:[u]},f={class:"device-kaco"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",f,[i(s,null,{default:a(()=>[...e[2]||(e[2]=[r(" Einstellungen für Kaco ",-1)])]),_:1}),i(p,{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(d,{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"))},{help:a(()=>[...e[3]||(e[3]=[r(" Der Standardport für Kaco ist 502. ",-1)])]),_:1},8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_tx/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-671c53f0.js b/web/settings/assets/device-e27c51bb.js similarity index 69% rename from web/settings/assets/device-671c53f0.js rename to web/settings/assets/device-e27c51bb.js index 3b62e1a863..88a3026510 100644 --- a/web/settings/assets/device-671c53f0.js +++ b/web/settings/assets/device-e27c51bb.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-ad0193a2.js b/web/settings/assets/device-e81fa756.js similarity index 69% rename from web/settings/assets/device-ad0193a2.js rename to web/settings/assets/device-e81fa756.js index 8c10ee8a8e..cf5b55dc8e 100644 --- a/web/settings/assets/device-ad0193a2.js +++ b/web/settings/assets/device-e81fa756.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOrno",mixins:[a]},f={class:"device-orno"};function b(o,e,v,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",f,[i(r,null,{default:l(()=>[...e[2]||(e[2]=[c("Einstellungen für Orno WE-514",-1)])]),_: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 O=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/orno/orno/device.vue"]]);export{O as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOrno",mixins:[a]},f={class:"device-orno"};function b(o,e,v,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",f,[i(r,null,{default:l(()=>[...e[2]||(e[2]=[c("Einstellungen für Orno WE-514",-1)])]),_: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 O=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/orno/orno/device.vue"]]);export{O as default}; diff --git a/web/settings/assets/device-9e5eb764.js b/web/settings/assets/device-e97f2969.js similarity index 73% rename from web/settings/assets/device-9e5eb764.js rename to web/settings/assets/device-e97f2969.js index 51b441321d..989e7bb440 100644 --- a/web/settings/assets/device-9e5eb764.js +++ b/web/settings/assets/device-e97f2969.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as i,l as d,m as l,G as t,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKacoNH",mixins:[u]},v={class:"device-kaco-nh"};function _(o,e,b,g,w,C){const r=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return d(),l("div",v,[t(r,null,{default:m(()=>[...e[3]||(e[3]=[c(" Einstellungen für Kaco NH ",-1)])]),_: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(a,{title:"Seriennummer",required:"","model-value":o.device.configuration.serial_number,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.serial_number"))},null,8,["model-value"])])}const H=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/device.vue"]]);export{H as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as i,l as d,m as l,G as t,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKacoNH",mixins:[u]},v={class:"device-kaco-nh"};function _(o,e,b,g,w,C){const r=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return d(),l("div",v,[t(r,null,{default:m(()=>[...e[3]||(e[3]=[c(" Einstellungen für Kaco NH ",-1)])]),_: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(a,{title:"Seriennummer",required:"","model-value":o.device.configuration.serial_number,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.serial_number"))},null,8,["model-value"])])}const H=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/device.vue"]]);export{H as default}; diff --git a/web/settings/assets/device-86698f91.js b/web/settings/assets/device-eb286beb.js similarity index 66% rename from web/settings/assets/device-86698f91.js rename to web/settings/assets/device-eb286beb.js index c0594525d7..3d7b51a6fa 100644 --- a/web/settings/assets/device-86698f91.js +++ b/web/settings/assets/device-eb286beb.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l,m as u,G as n,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1}),n(p,{title:"IP oder Hostname",subtype:"url",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)])]),_: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-fcf847f9.js";import{_ as m,u as t,l,m as u,G as n,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1}),n(p,{title:"IP oder Hostname",subtype:"url",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)])]),_: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-ef322f8c.js b/web/settings/assets/device-ec604e00.js similarity index 84% rename from web/settings/assets/device-ef322f8c.js rename to web/settings/assets/device-ec604e00.js index 445e68d748..e6460011a4 100644 --- a/web/settings/assets/device-ef322f8c.js +++ b/web/settings/assets/device-ec604e00.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-99f8d83a.js";import{_ as b,u as i,l as g,m as v,G as t,E as r,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSungrow",mixins:[m]},w={class:"device-sungrow"};function _(n,e,c,S,D,N){const s=i("openwb-base-heading"),d=i("openwb-base-alert"),a=i("openwb-base-text-input"),l=i("openwb-base-number-input"),p=i("openwb-base-select-input");return g(),v("div",w,[t(s,null,{default:r(()=>[...e[4]||(e[4]=[u(" Einstellungen für Sungrow ",-1)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[5]||(e[5]=[u(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ",-1)])]),_:1}),t(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"]),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(p,{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:r(()=>[...e[6]||(e[6]=[u(" 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)])]),_:1},8,["model-value"])])}const h=b(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{h as default}; +import{D as m}from"./HardwareInstallation-fcf847f9.js";import{_ as b,u as i,l as g,m as v,G as t,E as r,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSungrow",mixins:[m]},w={class:"device-sungrow"};function _(n,e,c,S,D,N){const s=i("openwb-base-heading"),d=i("openwb-base-alert"),a=i("openwb-base-text-input"),l=i("openwb-base-number-input"),p=i("openwb-base-select-input");return g(),v("div",w,[t(s,null,{default:r(()=>[...e[4]||(e[4]=[u(" Einstellungen für Sungrow ",-1)])]),_:1}),t(d,{subtype:"info"},{default:r(()=>[...e[5]||(e[5]=[u(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ",-1)])]),_:1}),t(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"]),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(p,{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:r(()=>[...e[6]||(e[6]=[u(" 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)])]),_:1},8,["model-value"])])}const h=b(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-fd65581f.js b/web/settings/assets/device-ece6afde.js similarity index 80% rename from web/settings/assets/device-fd65581f.js rename to web/settings/assets/device-ece6afde.js index e7604387e5..dfef92af95 100644 --- a/web/settings/assets/device-fd65581f.js +++ b/web/settings/assets/device-ece6afde.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,B as o,A as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,S){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)])]),_:1}),t(a,{subtype:"info"},{default:r(()=>[...e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein.",-1),_("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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,B as o,A as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,S){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)])]),_:1}),t(a,{subtype:"info"},{default:r(()=>[...e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein.",-1),_("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)])]),_: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-1aafa728.js b/web/settings/assets/device-f047f80b.js similarity index 69% rename from web/settings/assets/device-1aafa728.js rename to web/settings/assets/device-f047f80b.js index 46a4718364..7df7cf6d90 100644 --- a/web/settings/assets/device-1aafa728.js +++ b/web/settings/assets/device-f047f80b.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l as u,m,G as i,E as l,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-e46719e4.js b/web/settings/assets/device-f1d1a336.js similarity index 62% rename from web/settings/assets/device-e46719e4.js rename to web/settings/assets/device-f1d1a336.js index 2350397448..edec718f52 100644 --- a/web/settings/assets/device-e46719e4.js +++ b/web/settings/assets/device-f1d1a336.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-200aaa7e.js b/web/settings/assets/device-f732d82b.js similarity index 69% rename from web/settings/assets/device-200aaa7e.js rename to web/settings/assets/device-f732d82b.js index 6825597817..423b101d36 100644 --- a/web/settings/assets/device-200aaa7e.js +++ b/web/settings/assets/device-f732d82b.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l,m as u,G as i,E as m,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 N=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l,m as u,G as i,E as m,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 N=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-fd812491.js b/web/settings/assets/device-f78dd169.js similarity index 70% rename from web/settings/assets/device-fd812491.js rename to web/settings/assets/device-f78dd169.js index 5ea9c164f0..cd33d92f74 100644 --- a/web/settings/assets/device-fd812491.js +++ b/web/settings/assets/device-f78dd169.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,B as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,B as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-f8e64d3f.js b/web/settings/assets/device-f9bae821.js similarity index 83% rename from web/settings/assets/device-f8e64d3f.js rename to web/settings/assets/device-f9bae821.js index 17ecb61006..93f868c27a 100644 --- a/web/settings/assets/device-f8e64d3f.js +++ b/web/settings/assets/device-f9bae821.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,B as r,A as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,W){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)])]),_: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.",-1),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Du 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)])]),_: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)])]),_:1},8,["model-value"])])}const N=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{N as default}; +import{D as u}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,B as r,A as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,W){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)])]),_: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.",-1),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Du 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)])]),_: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)])]),_:1},8,["model-value"])])}const N=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-b39b5a98.js b/web/settings/assets/device-faf65afe.js similarity index 69% rename from web/settings/assets/device-b39b5a98.js rename to web/settings/assets/device-faf65afe.js index 3bf03a5158..29641aa453 100644 --- a/web/settings/assets/device-b39b5a98.js +++ b/web/settings/assets/device-faf65afe.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l,m as d,G as i,E as u,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 P=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{P as default}; +import{D as p}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as t,l,m as d,G as i,E as u,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 P=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-7091e1e5.js b/web/settings/assets/device-ffe6b46a.js similarity index 69% rename from web/settings/assets/device-7091e1e5.js rename to web/settings/assets/device-ffe6b46a.js index 9bc328bd78..1cf76a9516 100644 --- a/web/settings/assets/device-7091e1e5.js +++ b/web/settings/assets/device-ffe6b46a.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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/displayTheme-4cdeaa5e.js b/web/settings/assets/displayTheme-1bd129c0.js similarity index 95% rename from web/settings/assets/displayTheme-4cdeaa5e.js rename to web/settings/assets/displayTheme-1bd129c0.js index e788e4935c..fe4d82066a 100644 --- a/web/settings/assets/displayTheme-4cdeaa5e.js +++ b/web/settings/assets/displayTheme-1bd129c0.js @@ -1 +1 @@ -import{D as v}from"./OptionalComponents-53748c6f.js";import{_,u as s,l as r,m as c,G as a,E as o,B as u,x as b,z as p}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const h=[{value:"dashboard",text:"Übersicht"},{value:"energy-flow",text:"Energiefluss"},{value:"charge-points",text:"Ladepunkte"},{value:"status",text:"Status"}],V={name:"DisplayThemeCards",mixins:[v],computed:{enabledViews(){return h.filter(t=>this.displayTheme.configuration[`enable_${t.value.replace("-","_")}_view`])}},methods:{toggleView(t){this.displayTheme.configuration.default_view===t&&this.updateConfiguration(void 0,"configuration.default_view"),this.updateConfiguration(!this.displayTheme.configuration[`enable_${t}_view`],`configuration.enable_${t}_view`)}}},w={class:"display-theme-cards"};function y(t,e,A,T,z,i){const d=s("openwb-base-heading"),l=s("openwb-base-button-group-input"),g=s("openwb-base-text-input"),m=s("openwb-base-select-input"),f=s("openwb-base-range-input");return r(),c("div",w,[a(d,null,{default:o(()=>[...e[15]||(e[15]=[u("Bediensperre",-1)])]),_:1}),a(l,{title:"Bedienung sperren","model-value":t.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]=n=>t.updateConfiguration(n,"configuration.lock_changes"))},{help:o(()=>[...e[16]||(e[16]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ',-1)])]),_:1},8,["model-value"]),t.displayTheme.configuration.lock_changes?(r(),b(g,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":t.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.lock_changes_code"))},{help:o(()=>[...e[17]||(e[17]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ",-1)])]),_:1},8,["model-value"])):p("",!0),a(d,null,{default:o(()=>[...e[18]||(e[18]=[u("Ansichten",-1)])]),_:1}),a(l,{title:"Übersicht anzeigen","model-value":t.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]=n=>i.toggleView("dashboard"))},null,8,["model-value"]),a(l,{title:"Energiefluss anzeigen","model-value":t.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]=n=>i.toggleView("energy_flow"))},null,8,["model-value"]),a(l,{title:"Ladepunkte anzeigen","model-value":t.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]=n=>i.toggleView("charge_points"))},null,8,["model-value"]),t.displayTheme.configuration.enable_charge_points_view==!0?(r(),b(l,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":t.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]=n=>t.updateConfiguration(n,"configuration.simple_charge_point_view"))},null,8,["model-value"])):p("",!0),a(l,{title:"Status anzeigen","model-value":t.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]=n=>i.toggleView("status"))},null,8,["model-value"]),a(m,{title:"Standardansicht","not-selected":"Bitte auswählen",required:"","model-value":t.displayTheme.configuration.default_view,options:i.enabledViews,"onUpdate:modelValue":e[7]||(e[7]=n=>t.updateConfiguration(n,"configuration.default_view"))},{help:o(()=>[...e[19]||(e[19]=[u(" Die Standardansicht wird beim Start sowie nach einiger Zeit ohne Bedienung angezeigt. ",-1)])]),_:1},8,["model-value","options"]),a(f,{title:"Wechsel zur Standardansicht",min:0,max:6,step:1,"model-value":t.displayTheme.configuration.default_view_timeout,labels:[{value:0,label:"Aus"},{value:60,label:"1 Min"},{value:300,label:"5 Min"},{value:600,label:"10 Min"},{value:900,label:"15 Min"},{value:1800,label:"30 Min"},{value:3600,label:"60 Min"}],"onUpdate:modelValue":e[8]||(e[8]=n=>t.updateConfiguration(n,"configuration.default_view_timeout"))},{help:o(()=>[...e[20]||(e[20]=[u(" Nach dieser Zeit ohne Bedienung wird die Standardansicht angezeigt. ",-1)])]),_:1},8,["model-value"]),a(d,null,{help:o(()=>[...e[21]||(e[21]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ',-1)])]),default:o(()=>[e[22]||(e[22]=u(" Datenauswahl ",-1))]),_:1}),a(l,{title:"EVU anzeigen","model-value":t.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[9]||(e[9]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(l,{title:"Hausverbrauch anzeigen","model-value":t.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[10]||(e[10]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(l,{title:"PV anzeigen","model-value":t.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[11]||(e[11]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(l,{title:"Batteriespeicher anzeigen","model-value":t.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[12]||(e[12]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(l,{title:"Ladepunkte anzeigen","model-value":t.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[13]||(e[13]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(l,{title:"Fahrzeuge anzeigen","model-value":t.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[14]||(e[14]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const N=_(V,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{N as default}; +import{D as v}from"./OptionalComponents-846e7387.js";import{_,u as s,l as r,m as c,G as a,E as o,B as u,x as b,z as p}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const h=[{value:"dashboard",text:"Übersicht"},{value:"energy-flow",text:"Energiefluss"},{value:"charge-points",text:"Ladepunkte"},{value:"status",text:"Status"}],V={name:"DisplayThemeCards",mixins:[v],computed:{enabledViews(){return h.filter(t=>this.displayTheme.configuration[`enable_${t.value.replace("-","_")}_view`])}},methods:{toggleView(t){this.displayTheme.configuration.default_view===t&&this.updateConfiguration(void 0,"configuration.default_view"),this.updateConfiguration(!this.displayTheme.configuration[`enable_${t}_view`],`configuration.enable_${t}_view`)}}},w={class:"display-theme-cards"};function y(t,e,A,T,z,i){const d=s("openwb-base-heading"),l=s("openwb-base-button-group-input"),g=s("openwb-base-text-input"),m=s("openwb-base-select-input"),f=s("openwb-base-range-input");return r(),c("div",w,[a(d,null,{default:o(()=>[...e[15]||(e[15]=[u("Bediensperre",-1)])]),_:1}),a(l,{title:"Bedienung sperren","model-value":t.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]=n=>t.updateConfiguration(n,"configuration.lock_changes"))},{help:o(()=>[...e[16]||(e[16]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ',-1)])]),_:1},8,["model-value"]),t.displayTheme.configuration.lock_changes?(r(),b(g,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":t.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.lock_changes_code"))},{help:o(()=>[...e[17]||(e[17]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ",-1)])]),_:1},8,["model-value"])):p("",!0),a(d,null,{default:o(()=>[...e[18]||(e[18]=[u("Ansichten",-1)])]),_:1}),a(l,{title:"Übersicht anzeigen","model-value":t.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]=n=>i.toggleView("dashboard"))},null,8,["model-value"]),a(l,{title:"Energiefluss anzeigen","model-value":t.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]=n=>i.toggleView("energy_flow"))},null,8,["model-value"]),a(l,{title:"Ladepunkte anzeigen","model-value":t.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]=n=>i.toggleView("charge_points"))},null,8,["model-value"]),t.displayTheme.configuration.enable_charge_points_view==!0?(r(),b(l,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":t.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]=n=>t.updateConfiguration(n,"configuration.simple_charge_point_view"))},null,8,["model-value"])):p("",!0),a(l,{title:"Status anzeigen","model-value":t.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]=n=>i.toggleView("status"))},null,8,["model-value"]),a(m,{title:"Standardansicht","not-selected":"Bitte auswählen",required:"","model-value":t.displayTheme.configuration.default_view,options:i.enabledViews,"onUpdate:modelValue":e[7]||(e[7]=n=>t.updateConfiguration(n,"configuration.default_view"))},{help:o(()=>[...e[19]||(e[19]=[u(" Die Standardansicht wird beim Start sowie nach einiger Zeit ohne Bedienung angezeigt. ",-1)])]),_:1},8,["model-value","options"]),a(f,{title:"Wechsel zur Standardansicht",min:0,max:6,step:1,"model-value":t.displayTheme.configuration.default_view_timeout,labels:[{value:0,label:"Aus"},{value:60,label:"1 Min"},{value:300,label:"5 Min"},{value:600,label:"10 Min"},{value:900,label:"15 Min"},{value:1800,label:"30 Min"},{value:3600,label:"60 Min"}],"onUpdate:modelValue":e[8]||(e[8]=n=>t.updateConfiguration(n,"configuration.default_view_timeout"))},{help:o(()=>[...e[20]||(e[20]=[u(" Nach dieser Zeit ohne Bedienung wird die Standardansicht angezeigt. ",-1)])]),_:1},8,["model-value"]),a(d,null,{help:o(()=>[...e[21]||(e[21]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ',-1)])]),default:o(()=>[e[22]||(e[22]=u(" Datenauswahl ",-1))]),_:1}),a(l,{title:"EVU anzeigen","model-value":t.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[9]||(e[9]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(l,{title:"Hausverbrauch anzeigen","model-value":t.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[10]||(e[10]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(l,{title:"PV anzeigen","model-value":t.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[11]||(e[11]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(l,{title:"Batteriespeicher anzeigen","model-value":t.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[12]||(e[12]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(l,{title:"Ladepunkte anzeigen","model-value":t.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[13]||(e[13]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(l,{title:"Fahrzeuge anzeigen","model-value":t.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[14]||(e[14]=n=>t.updateConfiguration(n,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const N=_(V,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{N as default}; diff --git a/web/settings/assets/displayTheme-fbc88025.js b/web/settings/assets/displayTheme-33900b62.js similarity index 81% rename from web/settings/assets/displayTheme-fbc88025.js rename to web/settings/assets/displayTheme-33900b62.js index fd3cce2ae8..b1293c4df1 100644 --- a/web/settings/assets/displayTheme-fbc88025.js +++ b/web/settings/assets/displayTheme-33900b62.js @@ -1 +1 @@ -import{D as d}from"./OptionalComponents-53748c6f.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,B as a,x as b,z as g}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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-846e7387.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,B as a,x as b,z as g}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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/external_inverter-d9ebdad6.js b/web/settings/assets/external_inverter-2a74f14e.js similarity index 82% rename from web/settings/assets/external_inverter-d9ebdad6.js rename to web/settings/assets/external_inverter-2a74f14e.js index d1ba6f2c83..0ecb7dc450 100644 --- a/web/settings/assets/external_inverter-d9ebdad6.js +++ b/web/settings/assets/external_inverter-2a74f14e.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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/flexible_tariff-e2811fbd.js b/web/settings/assets/flexible_tariff-20cf9e98.js similarity index 82% rename from web/settings/assets/flexible_tariff-e2811fbd.js rename to web/settings/assets/flexible_tariff-20cf9e98.js index f701a99462..8a589a9019 100644 --- a/web/settings/assets/flexible_tariff-e2811fbd.js +++ b/web/settings/assets/flexible_tariff-20cf9e98.js @@ -1 +1 @@ -import{F as f}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as p,u as r,l as d,m,G as i,E as o,B as s,A as c}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"FlexibleTariffEnergyCharts",mixins:[f]},b={class:"flexible-tariff-energy-charts"};function h(n,e,_,w,x,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),m("div",b,[i(a,{subtype:"info"},{default:o(()=>[...e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)",-1),c("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)])]),_: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":n.flexibleTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"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":n.flexibleTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(parseFloat(t.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)])]),_:1},8,["model-value"])])}const A=p(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/energycharts/flexible_tariff.vue"]]);export{A as default}; +import{F as f}from"./GeneralChargeConfig-d99f183c.js";import{_ as p,u as r,l as d,m,G as i,E as o,B as s,A as c}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"FlexibleTariffEnergyCharts",mixins:[f]},b={class:"flexible-tariff-energy-charts"};function h(n,e,_,w,x,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),m("div",b,[i(a,{subtype:"info"},{default:o(()=>[...e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)",-1),c("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)])]),_: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":n.flexibleTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"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":n.flexibleTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(parseFloat(t.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)])]),_:1},8,["model-value"])])}const A=p(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/energycharts/flexible_tariff.vue"]]);export{A as default}; diff --git a/web/settings/assets/flexible_tariff-dc17dca7.js b/web/settings/assets/flexible_tariff-4a082b2b.js similarity index 72% rename from web/settings/assets/flexible_tariff-dc17dca7.js rename to web/settings/assets/flexible_tariff-4a082b2b.js index 69df16b809..9b69539d8d 100644 --- a/web/settings/assets/flexible_tariff-dc17dca7.js +++ b/web/settings/assets/flexible_tariff-4a082b2b.js @@ -1 +1 @@ -import{F as r}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as l,u as a,l as u,m as s,G as n}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"FlexibleTariffOctopusEnergy",mixins:[r]},p={class:"flexible-tariff-octopusenergy"};function m(e,o,d,b,c,g){const t=a("openwb-base-text-input");return u(),s("div",p,[n(t,{title:"Benutzername",subtype:"user",required:"","model-value":e.flexibleTariff.configuration.email,"onUpdate:modelValue":o[0]||(o[0]=i=>e.updateConfiguration(i,"configuration.email"))},null,8,["model-value"]),n(t,{title:"Passwort",subtype:"password",required:"","model-value":e.flexibleTariff.configuration.password,"onUpdate:modelValue":o[1]||(o[1]=i=>e.updateConfiguration(i,"configuration.password"))},null,8,["model-value"]),n(t,{title:"Vertragsnummer (beginnt mit A-)",required:"","model-value":e.flexibleTariff.configuration.accountId,"onUpdate:modelValue":o[2]||(o[2]=i=>e.updateConfiguration(i,"configuration.accountId"))},null,8,["model-value"])])}const $=l(f,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/octopusenergy/flexible_tariff.vue"]]);export{$ as default}; +import{F as r}from"./GeneralChargeConfig-d99f183c.js";import{_ as l,u as a,l as u,m as s,G as n}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"FlexibleTariffOctopusEnergy",mixins:[r]},p={class:"flexible-tariff-octopusenergy"};function m(e,o,d,b,c,g){const t=a("openwb-base-text-input");return u(),s("div",p,[n(t,{title:"Benutzername",subtype:"user",required:"","model-value":e.flexibleTariff.configuration.email,"onUpdate:modelValue":o[0]||(o[0]=i=>e.updateConfiguration(i,"configuration.email"))},null,8,["model-value"]),n(t,{title:"Passwort",subtype:"password",required:"","model-value":e.flexibleTariff.configuration.password,"onUpdate:modelValue":o[1]||(o[1]=i=>e.updateConfiguration(i,"configuration.password"))},null,8,["model-value"]),n(t,{title:"Vertragsnummer (beginnt mit A-)",required:"","model-value":e.flexibleTariff.configuration.accountId,"onUpdate:modelValue":o[2]||(o[2]=i=>e.updateConfiguration(i,"configuration.accountId"))},null,8,["model-value"])])}const $=l(f,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/octopusenergy/flexible_tariff.vue"]]);export{$ as default}; diff --git a/web/settings/assets/flexible_tariff-8b1a79b5.js b/web/settings/assets/flexible_tariff-5f23f4ec.js similarity index 92% rename from web/settings/assets/flexible_tariff-8b1a79b5.js rename to web/settings/assets/flexible_tariff-5f23f4ec.js index f0359b374a..9c85c09abc 100644 --- a/web/settings/assets/flexible_tariff-8b1a79b5.js +++ b/web/settings/assets/flexible_tariff-5f23f4ec.js @@ -1 +1 @@ -import{a as d}from"./vendor-axios-8e1a46ae.js";import{F as c}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as h,u,l as w,m as _,G as i,E as o,B as a}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const x={name:"FlexibleTariffRabot",mixins:[c],data(){return{contractNumbers:[]}},computed:{contractOptions(){const t=this.contractNumbers.map(e=>({value:e,text:e}));return t.length===0&&this.flexibleTariff.configuration.contract_number&&t.push({value:this.flexibleTariff.configuration.contract_number,text:this.flexibleTariff.configuration.contract_number}),t}},methods:{rabot_login_window(){const t=window.open("about:blank","RabotLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus(),this.createAuthUrl().then(e=>{t.location.href=e.authorizationUrl}).catch(e=>{var n,r;t.close(),console.error("Fehler beim Erstellen des Rabot-Links:",e),this.$root.postClientMessage("Fehler beim Erstellen der Rabot-Authentifizierung: "+(((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message),"danger")})},async createAuthUrl(){const t=await d.post("https://rabot.openwb.de/rabot-auth.php",{headers:{"Content-Type":"application/json"}});if(!t.data.success)throw new Error("Server-Fehler beim Erstellen der Rabot-Authentifizierung");return t.data},async fetch_contract_number(){var t,e;if(!this.flexibleTariff.configuration.customer_number){this.$root.postClientMessage("Bitte gib zuerst eine Kundennummer ein.","warning");return}try{const n=await d.get(`https://rabot.openwb.de/rabot-proxy.php/customers/${this.flexibleTariff.configuration.customer_number}/contracts`,{headers:{"Content-Type":"application/json"}});if(n.data&&n.data.contractNumbers&&n.data.contractNumbers.length>0){const r=n.data.contractNumbers;this.contractNumbers=r;const s=r[0];this.updateConfiguration(s,"configuration.contract_number"),r.length>1?this.$root.postClientMessage(`${r.length} Verträge gefunden. Erster Vertrag ausgewählt: ${s}. Du kannst einen anderen Vertrag aus der Liste wählen.`,"success"):this.$root.postClientMessage("Vertragsnummer erfolgreich abgerufen: "+s,"success")}else this.$root.postClientMessage("Keine Verträge für diese Kundennummer gefunden.","warning")}catch(n){console.error("Fehler beim Abrufen der Vertragsnummer:",n),this.$root.postClientMessage("Fehler beim Abrufen der Vertragsnummer: "+(((e=(t=n.response)==null?void 0:t.data)==null?void 0:e.message)||n.message),"danger")}}}},C={class:"flexible-tariff-rabot"};function V(t,e,n,r,s,l){const b=u("openwb-base-alert"),f=u("openwb-base-button-input"),g=u("openwb-base-text-input"),p=u("openwb-base-select-input");return w(),_("div",C,[i(b,{subtype:"info"},{default:o(()=>[...e[3]||(e[3]=[a(" Über die Rabot-Authentifizierung kannst Du Deine Stromtarif-Daten für die Ladeplanung nutzen. Nach der Anmeldung bei Rabot wird eine Kundennummer in der Adresszeile angezeigt, die Du hier einfügen musst. ",-1)])]),_:1}),i(b,{subtype:"warning"},{default:o(()=>[...e[4]||(e[4]=[a(" Die Rabot-Authentifizierung kann nur über einen Computer oder die openWB-Cloud (remote.openwb.de) durchgeführt werden. Das Eintragen von Kunden- und Vertragsnummer ist nicht ausreichend, da nach der Anmeldung bei Rabot noch die Zustimmung erteilt werden muss. ",-1)])]),_:1}),i(f,{title:"1. Bei Rabot anmelden","button-text":"Bei Rabot Anmelden",subtype:"success",onButtonClicked:e[0]||(e[0]=()=>l.rabot_login_window())},{help:o(()=>[...e[5]||(e[5]=[a(" Es wird ein neues Browserfenster geöffnet, in dem Du Dich bei Rabot mit Deinen Zugangsdaten anmelden kannst. ",-1)])]),_:1}),i(g,{title:"2. Kundennummer kopieren und einfügen",required:"","model-value":t.flexibleTariff.configuration.customer_number,"onUpdate:modelValue":e[1]||(e[1]=m=>t.updateConfiguration(m,"configuration.customer_number"))},{help:o(()=>[...e[6]||(e[6]=[a(" Nachdem die Rabot-Authentifizierung abgeschlossen wurde, wird im geöffneten Browserfenster eine Kundennummer angezeigt. Diese kopieren und hier einfügen. Diese wird benötigt, um auf Ihre Tarif-Daten zugreifen zu können. ",-1)])]),_:1},8,["model-value"]),i(f,{title:"3. Vertragsnummer abrufen","button-text":"Vertrag laden",subtype:"info",disabled:!t.flexibleTariff.configuration.customer_number,onButtonClicked:l.fetch_contract_number},{help:o(()=>[...e[7]||(e[7]=[a(" Mit der Kundennummer wird automatisch die zugehörige Vertragsnummer von Rabot abgerufen. ",-1)])]),_:1},8,["disabled","onButtonClicked"]),i(p,{title:"Vertragsnummer",options:l.contractOptions,"model-value":t.flexibleTariff.configuration.contract_number,"onUpdate:modelValue":e[2]||(e[2]=m=>t.updateConfiguration(m,"configuration.contract_number"))},{help:o(()=>[...e[8]||(e[8]=[a(" Wähle eine der verfügbaren Vertragsnummern aus. Diese wird für den Zugriff auf die Tarif-Daten benötigt. ",-1)])]),_:1},8,["options","model-value"])])}const N=h(x,[["render",V],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/rabot/flexible_tariff.vue"]]);export{N as default}; +import{a as d}from"./vendor-axios-1a87d4ae.js";import{F as c}from"./GeneralChargeConfig-d99f183c.js";import{_ as h,u,l as w,m as _,G as i,E as o,B as a}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const x={name:"FlexibleTariffRabot",mixins:[c],data(){return{contractNumbers:[]}},computed:{contractOptions(){const t=this.contractNumbers.map(e=>({value:e,text:e}));return t.length===0&&this.flexibleTariff.configuration.contract_number&&t.push({value:this.flexibleTariff.configuration.contract_number,text:this.flexibleTariff.configuration.contract_number}),t}},methods:{rabot_login_window(){const t=window.open("about:blank","RabotLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus(),this.createAuthUrl().then(e=>{t.location.href=e.authorizationUrl}).catch(e=>{var n,r;t.close(),console.error("Fehler beim Erstellen des Rabot-Links:",e),this.$root.postClientMessage("Fehler beim Erstellen der Rabot-Authentifizierung: "+(((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message),"danger")})},async createAuthUrl(){const t=await d.post("https://rabot.openwb.de/rabot-auth.php",{headers:{"Content-Type":"application/json"}});if(!t.data.success)throw new Error("Server-Fehler beim Erstellen der Rabot-Authentifizierung");return t.data},async fetch_contract_number(){var t,e;if(!this.flexibleTariff.configuration.customer_number){this.$root.postClientMessage("Bitte gib zuerst eine Kundennummer ein.","warning");return}try{const n=await d.get(`https://rabot.openwb.de/rabot-proxy.php/customers/${this.flexibleTariff.configuration.customer_number}/contracts`,{headers:{"Content-Type":"application/json"}});if(n.data&&n.data.contractNumbers&&n.data.contractNumbers.length>0){const r=n.data.contractNumbers;this.contractNumbers=r;const s=r[0];this.updateConfiguration(s,"configuration.contract_number"),r.length>1?this.$root.postClientMessage(`${r.length} Verträge gefunden. Erster Vertrag ausgewählt: ${s}. Du kannst einen anderen Vertrag aus der Liste wählen.`,"success"):this.$root.postClientMessage("Vertragsnummer erfolgreich abgerufen: "+s,"success")}else this.$root.postClientMessage("Keine Verträge für diese Kundennummer gefunden.","warning")}catch(n){console.error("Fehler beim Abrufen der Vertragsnummer:",n),this.$root.postClientMessage("Fehler beim Abrufen der Vertragsnummer: "+(((e=(t=n.response)==null?void 0:t.data)==null?void 0:e.message)||n.message),"danger")}}}},C={class:"flexible-tariff-rabot"};function V(t,e,n,r,s,l){const b=u("openwb-base-alert"),f=u("openwb-base-button-input"),g=u("openwb-base-text-input"),p=u("openwb-base-select-input");return w(),_("div",C,[i(b,{subtype:"info"},{default:o(()=>[...e[3]||(e[3]=[a(" Über die Rabot-Authentifizierung kannst Du Deine Stromtarif-Daten für die Ladeplanung nutzen. Nach der Anmeldung bei Rabot wird eine Kundennummer in der Adresszeile angezeigt, die Du hier einfügen musst. ",-1)])]),_:1}),i(b,{subtype:"warning"},{default:o(()=>[...e[4]||(e[4]=[a(" Die Rabot-Authentifizierung kann nur über einen Computer oder die openWB-Cloud (remote.openwb.de) durchgeführt werden. Das Eintragen von Kunden- und Vertragsnummer ist nicht ausreichend, da nach der Anmeldung bei Rabot noch die Zustimmung erteilt werden muss. ",-1)])]),_:1}),i(f,{title:"1. Bei Rabot anmelden","button-text":"Bei Rabot Anmelden",subtype:"success",onButtonClicked:e[0]||(e[0]=()=>l.rabot_login_window())},{help:o(()=>[...e[5]||(e[5]=[a(" Es wird ein neues Browserfenster geöffnet, in dem Du Dich bei Rabot mit Deinen Zugangsdaten anmelden kannst. ",-1)])]),_:1}),i(g,{title:"2. Kundennummer kopieren und einfügen",required:"","model-value":t.flexibleTariff.configuration.customer_number,"onUpdate:modelValue":e[1]||(e[1]=m=>t.updateConfiguration(m,"configuration.customer_number"))},{help:o(()=>[...e[6]||(e[6]=[a(" Nachdem die Rabot-Authentifizierung abgeschlossen wurde, wird im geöffneten Browserfenster eine Kundennummer angezeigt. Diese kopieren und hier einfügen. Diese wird benötigt, um auf Ihre Tarif-Daten zugreifen zu können. ",-1)])]),_:1},8,["model-value"]),i(f,{title:"3. Vertragsnummer abrufen","button-text":"Vertrag laden",subtype:"info",disabled:!t.flexibleTariff.configuration.customer_number,onButtonClicked:l.fetch_contract_number},{help:o(()=>[...e[7]||(e[7]=[a(" Mit der Kundennummer wird automatisch die zugehörige Vertragsnummer von Rabot abgerufen. ",-1)])]),_:1},8,["disabled","onButtonClicked"]),i(p,{title:"Vertragsnummer",options:l.contractOptions,"model-value":t.flexibleTariff.configuration.contract_number,"onUpdate:modelValue":e[2]||(e[2]=m=>t.updateConfiguration(m,"configuration.contract_number"))},{help:o(()=>[...e[8]||(e[8]=[a(" Wähle eine der verfügbaren Vertragsnummern aus. Diese wird für den Zugriff auf die Tarif-Daten benötigt. ",-1)])]),_:1},8,["options","model-value"])])}const N=h(x,[["render",V],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/rabot/flexible_tariff.vue"]]);export{N as default}; diff --git a/web/settings/assets/flexible_tariff-ba0b0f8d.js b/web/settings/assets/flexible_tariff-60131f3a.js similarity index 56% rename from web/settings/assets/flexible_tariff-ba0b0f8d.js rename to web/settings/assets/flexible_tariff-60131f3a.js index f4133014cf..7a9209bc90 100644 --- a/web/settings/assets/flexible_tariff-ba0b0f8d.js +++ b/web/settings/assets/flexible_tariff-60131f3a.js @@ -1 +1 @@ -import{F as I}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as S,l as s,m as f,A as u,p as k,u as o,x as w,D as N,E as a,B as p,F as V,G as l,y as F,z as C,N as y,M as $,I as z,S as E}from"./vendor-1833c026.js";import{l as T,d as B,ab as O,F as U}from"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},M={class:"col-6"},P={class:"col-2 text-right"};function K(t,e,c,v,g,n){return s(),f("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[k(t.$slots,"start")]),u("div",M,[k(t.$slots,"end")])])]),u("div",P,[k(t.$slots,"action")])])])}const R=S(H,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/TimeRow.vue"]]);T.add(B);T.add(O);const L={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:R},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const c=[],v=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=v;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;c.push({value:d,text:d})}return c},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const v=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(v,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},j={key:0,class:"w-100 alert alert-danger"},G=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,c,v,g,n){const m=o("font-awesome-icon"),d=o("openwb-base-avatar"),h=o("time-row"),x=o("openwb-base-setting-element");return s(),w(x,null,N({title:a(()=>[k(t.$slots,"title",{},()=>[p(V(c.title),1)])]),default:a(()=>[l(h,null,{start:a(()=>[...e[0]||(e[0]=[p(" Beginn ",-1)])]),end:a(()=>[...e[1]||(e[1]=[p(" Ende ",-1)])]),action:a(()=>[l(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:F(n.addTime,["stop"])},{default:a(()=>[l(m,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(s(),f("div",j," Keine Zeitbereiche definiert! ")):C("",!0),(s(!0),f(y,null,$(n.value,(_,b)=>(s(),w(h,{key:b},{start:a(()=>[z(u("select",{"onUpdate:modelValue":i=>_[0]=i,class:"form-control",required:"",onChange:i=>n.updateEndOptions(b)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(s(!0),f(y,null,$(n.generateTimeOptions("00:00","23:00"),i=>(s(),f("option",{key:i.value,value:i.value},V(i.text),9,J))),128))],40,G),[[E,_[0]]])]),end:a(()=>[z(u("select",{"onUpdate:modelValue":i=>_[1]=i,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(s(!0),f(y,null,$(g.endOptions[b],i=>(s(),f("option",{key:i.value,value:i.value},V(i.text),9,Y))),128))],8,X),[[E,_[1]]])]),action:a(()=>[n.value.length>1?(s(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:F(i=>n.removeTime(b),["stop"])},{default:a(()=>[l(m,{icon:["fas","trash"]})]),_:1},8,["onClick"])):C("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[k(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(L,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/TimeTable.vue"]]);T.add(B);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,c,v,g,n){const m=o("font-awesome-icon"),d=o("openwb-base-avatar"),h=o("openwb-base-text-input"),x=o("openwb-base-number-input"),_=o("openwb-base-select-input"),b=o("time-table"),i=o("openwb-base-card");return s(),w(i,{subtype:"info",collapsible:!0,collapsed:!0},{header:a(()=>[p(V(n.tariff.name),1)]),actions:a(()=>[l(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=r=>t.$emit("delete"))},{default:a(()=>[l(m,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[l(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=r=>n.tariff.name=r),title:"Tarifname"},null,8,["modelValue"]),l(x,{title:"Preis",min:0,step:.001,precision:1,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=r=>n.tariff.price=parseFloat((r/100).toFixed(3)))},null,8,["model-value"]),l(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=r=>n.dates=r),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),l(b,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=r=>n.tariff.active_times.times=r),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const ie=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/FixedTariff.vue"]]);T.add(B);T.add(O);const oe={name:"FlexibleTariffFixedHours",components:{FontAwesomeIcon:U,FixedTariff:ie},mixins:[I],computed:{value:{get(){return this.flexibleTariff},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},se={class:"flexible-tariff-fixed-hours"};function le(t,e,c,v,g,n){const m=o("openwb-base-alert"),d=o("openwb-base-number-input"),h=o("font-awesome-icon"),x=o("openwb-base-avatar"),_=o("openwb-base-heading"),b=o("fixed-tariff");return s(),f("div",se,[l(m,{subtype:"info"},{default:a(()=>[...e[1]||(e[1]=[p(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])]),_:1}),l(d,{title:"Standardpreis",min:0,step:.001,precision:1,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=i=>n.value.configuration.default_price=parseFloat((i/100).toFixed(3)))},{help:a(()=>[...e[2]||(e[2]=[p(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])]),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),l(_,null,{actions:a(()=>[l(x,{class:"bg-success clickable",onClick:F(n.addTariff,["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=p(" Tarife ",-1))]),_:1}),n.value.configuration.tariffs.length===0?(s(),w(m,{key:0,subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[p(" Es wurde noch kein Tarif konfiguriert. Klicke auf das Plus-Symbol, um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),p(" Tarife ermöglichen es, Preise für unterschiedliche Zeiten zu definieren. ",-1)])]),_:1})):C("",!0),(s(!0),f(y,null,$(n.value.configuration.tariffs,(i,r)=>(s(),w(b,{key:r,"model-value":i,"onUpdate:modelValue":q=>n.value.configuration.tariffs[r]=q,onDelete:q=>n.removeTariff(r)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const ve=S(oe,[["render",le],["__scopeId","data-v-dd67c8e4"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/flexible_tariff.vue"]]);export{ve as default}; +import{F as I}from"./GeneralChargeConfig-d99f183c.js";import{_ as S,l as s,m as f,A as u,p as k,u as o,x as w,D as N,E as a,B as p,F as V,G as l,y as F,z as C,N as y,M as $,I as z,S as E}from"./vendor-50125810.js";import{l as T,d as B,ab as O,F as U}from"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},M={class:"col-6"},P={class:"col-2 text-right"};function K(t,e,c,v,g,n){return s(),f("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[k(t.$slots,"start")]),u("div",M,[k(t.$slots,"end")])])]),u("div",P,[k(t.$slots,"action")])])])}const R=S(H,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/TimeRow.vue"]]);T.add(B);T.add(O);const L={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:R},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const c=[],v=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=v;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;c.push({value:d,text:d})}return c},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const v=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(v,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},j={key:0,class:"w-100 alert alert-danger"},G=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,c,v,g,n){const m=o("font-awesome-icon"),d=o("openwb-base-avatar"),h=o("time-row"),x=o("openwb-base-setting-element");return s(),w(x,null,N({title:a(()=>[k(t.$slots,"title",{},()=>[p(V(c.title),1)])]),default:a(()=>[l(h,null,{start:a(()=>[...e[0]||(e[0]=[p(" Beginn ",-1)])]),end:a(()=>[...e[1]||(e[1]=[p(" Ende ",-1)])]),action:a(()=>[l(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:F(n.addTime,["stop"])},{default:a(()=>[l(m,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(s(),f("div",j," Keine Zeitbereiche definiert! ")):C("",!0),(s(!0),f(y,null,$(n.value,(_,b)=>(s(),w(h,{key:b},{start:a(()=>[z(u("select",{"onUpdate:modelValue":i=>_[0]=i,class:"form-control",required:"",onChange:i=>n.updateEndOptions(b)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(s(!0),f(y,null,$(n.generateTimeOptions("00:00","23:00"),i=>(s(),f("option",{key:i.value,value:i.value},V(i.text),9,J))),128))],40,G),[[E,_[0]]])]),end:a(()=>[z(u("select",{"onUpdate:modelValue":i=>_[1]=i,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(s(!0),f(y,null,$(g.endOptions[b],i=>(s(),f("option",{key:i.value,value:i.value},V(i.text),9,Y))),128))],8,X),[[E,_[1]]])]),action:a(()=>[n.value.length>1?(s(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:F(i=>n.removeTime(b),["stop"])},{default:a(()=>[l(m,{icon:["fas","trash"]})]),_:1},8,["onClick"])):C("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[k(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(L,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/TimeTable.vue"]]);T.add(B);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,c,v,g,n){const m=o("font-awesome-icon"),d=o("openwb-base-avatar"),h=o("openwb-base-text-input"),x=o("openwb-base-number-input"),_=o("openwb-base-select-input"),b=o("time-table"),i=o("openwb-base-card");return s(),w(i,{subtype:"info",collapsible:!0,collapsed:!0},{header:a(()=>[p(V(n.tariff.name),1)]),actions:a(()=>[l(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=r=>t.$emit("delete"))},{default:a(()=>[l(m,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[l(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=r=>n.tariff.name=r),title:"Tarifname"},null,8,["modelValue"]),l(x,{title:"Preis",step:.001,precision:3,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=r=>n.tariff.price=parseFloat((r/100).toFixed(5)))},null,8,["model-value"]),l(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=r=>n.dates=r),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),l(b,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=r=>n.tariff.active_times.times=r),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const ie=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/FixedTariff.vue"]]);T.add(B);T.add(O);const oe={name:"FlexibleTariffFixedHours",components:{FontAwesomeIcon:U,FixedTariff:ie},mixins:[I],computed:{value:{get(){return this.flexibleTariff},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},se={class:"flexible-tariff-fixed-hours"};function le(t,e,c,v,g,n){const m=o("openwb-base-alert"),d=o("openwb-base-number-input"),h=o("font-awesome-icon"),x=o("openwb-base-avatar"),_=o("openwb-base-heading"),b=o("fixed-tariff");return s(),f("div",se,[l(m,{subtype:"info"},{default:a(()=>[...e[1]||(e[1]=[p(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])]),_:1}),l(d,{title:"Standardpreis",step:.001,precision:3,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=i=>n.value.configuration.default_price=parseFloat((i/100).toFixed(5)))},{help:a(()=>[...e[2]||(e[2]=[p(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])]),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),l(_,null,{actions:a(()=>[l(x,{class:"bg-success clickable",onClick:F(n.addTariff,["stop"])},{default:a(()=>[l(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=p(" Tarife ",-1))]),_:1}),n.value.configuration.tariffs.length===0?(s(),w(m,{key:0,subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[p(" Es wurde noch kein Tarif konfiguriert. Klicke auf das Plus-Symbol, um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),p(" Tarife ermöglichen es, Preise für unterschiedliche Zeiten zu definieren. ",-1)])]),_:1})):C("",!0),(s(!0),f(y,null,$(n.value.configuration.tariffs,(i,r)=>(s(),w(b,{key:r,"model-value":i,"onUpdate:modelValue":q=>n.value.configuration.tariffs[r]=q,onDelete:q=>n.removeTariff(r)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const ve=S(oe,[["render",le],["__scopeId","data-v-dd67c8e4"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/fixed_hours/flexible_tariff.vue"]]);export{ve as default}; diff --git a/web/settings/assets/flexible_tariff-d2faf311.js b/web/settings/assets/flexible_tariff-81101acf.js similarity index 84% rename from web/settings/assets/flexible_tariff-d2faf311.js rename to web/settings/assets/flexible_tariff-81101acf.js index 0bd70ade5c..738de365b6 100644 --- a/web/settings/assets/flexible_tariff-d2faf311.js +++ b/web/settings/assets/flexible_tariff-81101acf.js @@ -1 +1 @@ -import{F as p}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as u,u as l,l as f,m as d,G as o,E as a,B as n,A as m}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"FlexibleTariffOstrom",mixins:[p]},c={class:"flexible-tariff-ostrom"};function g(t,e,_,v,w,x){const s=l("openwb-base-alert"),r=l("openwb-base-text-input");return f(),d("div",c,[o(s,{subtype:"info"},{default:a(()=>[...e[3]||(e[3]=[n(" Deine persönlichen Zugangsdaten (Client-ID und Client-Secret) erhältst Du über das ",-1),m("a",{href:"https://developer.ostrom-api.io/",target:"_blank",rel:"noopener noreferrer"}," Ostrom Developer Portal ",-1),n(" . Behandle diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem ostrom-Account abfragen lassen! ",-1)])]),_:1}),o(r,{title:"Client-ID",subtype:"user",required:"","model-value":t.flexibleTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(r,{title:"Client-Secret",subtype:"password",required:"","model-value":t.flexibleTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"]),o(r,{title:"Postleitzahl","model-value":t.flexibleTariff.configuration.zip,"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateConfiguration(i,"configuration.zip"))},{help:a(()=>[...e[4]||(e[4]=[n(" Die Postleitzahl wird zur Ermittlung der Abgaben und Umlagen benötigt. Ohne Angabe der Postleitzahl wird durch die ostrom API lediglich der Börsenstrompreis einschließlich Mehrwertsteuer geliefert. ",-1)])]),_:1},8,["model-value"])])}const y=u(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/ostrom/flexible_tariff.vue"]]);export{y as default}; +import{F as p}from"./GeneralChargeConfig-d99f183c.js";import{_ as u,u as l,l as f,m as d,G as o,E as a,B as n,A as m}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"FlexibleTariffOstrom",mixins:[p]},c={class:"flexible-tariff-ostrom"};function g(t,e,_,v,w,x){const s=l("openwb-base-alert"),r=l("openwb-base-text-input");return f(),d("div",c,[o(s,{subtype:"info"},{default:a(()=>[...e[3]||(e[3]=[n(" Deine persönlichen Zugangsdaten (Client-ID und Client-Secret) erhältst Du über das ",-1),m("a",{href:"https://developer.ostrom-api.io/",target:"_blank",rel:"noopener noreferrer"}," Ostrom Developer Portal ",-1),n(" . Behandle diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem ostrom-Account abfragen lassen! ",-1)])]),_:1}),o(r,{title:"Client-ID",subtype:"user",required:"","model-value":t.flexibleTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(r,{title:"Client-Secret",subtype:"password",required:"","model-value":t.flexibleTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"]),o(r,{title:"Postleitzahl","model-value":t.flexibleTariff.configuration.zip,"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateConfiguration(i,"configuration.zip"))},{help:a(()=>[...e[4]||(e[4]=[n(" Die Postleitzahl wird zur Ermittlung der Abgaben und Umlagen benötigt. Ohne Angabe der Postleitzahl wird durch die ostrom API lediglich der Börsenstrompreis einschließlich Mehrwertsteuer geliefert. ",-1)])]),_:1},8,["model-value"])])}const y=u(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/ostrom/flexible_tariff.vue"]]);export{y as default}; diff --git a/web/settings/assets/flexible_tariff-afa485fa.js b/web/settings/assets/flexible_tariff-949410f1.js similarity index 91% rename from web/settings/assets/flexible_tariff-afa485fa.js rename to web/settings/assets/flexible_tariff-949410f1.js index 00cda279f8..370269ad74 100644 --- a/web/settings/assets/flexible_tariff-afa485fa.js +++ b/web/settings/assets/flexible_tariff-949410f1.js @@ -1 +1 @@ -import{F as x}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as v,u,l as d,m as b,G as l,E as a,B as i,A as o,F as r,z as T}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const w={name:"FlexibleTariffAwattar",mixins:[x]},B={class:"flexible-tariff-awattar"},C={key:0,class:"mt-3"},F={class:"alert alert-info mb-3"},V={class:"row"},A={class:"col-md-4"},k={class:"col-md-4"},P={class:"col-md-4"};function S(t,e,y,E,U,W){var f,p;const m=u("openwb-base-select-input"),g=u("openwb-base-button-group-input"),s=u("openwb-base-number-input");return d(),b("div",B,[l(m,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.flexibleTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},{help:a(()=>[...e[5]||(e[5]=[i(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ",-1)])]),_:1},8,["model-value"]),l(g,{title:"Preisart",buttons:[{buttonValue:!0,text:"Netto"},{buttonValue:!1,text:"Brutto"}],"model-value":t.flexibleTariff.configuration.net??!0,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.net"))},{help:a(()=>[...e[6]||(e[6]=[i(" Netto: Reine Börsenpreise ohne Aufschläge",-1),o("br",null,null,-1),i(" Brutto: Börsenpreise mit konfigurierbaren Aufschlägen und MwSt. ",-1)])]),_:1},8,["model-value"]),t.flexibleTariff.configuration.net?T("",!0):(d(),b("div",C,[e[15]||(e[15]=o("h5",{class:"mb-3"},"Preisberechnung",-1)),o("div",F,[e[7]||(e[7]=o("strong",null,"Formel:",-1)),e[8]||(e[8]=o("br",null,null,-1)),i(" Stündliche Preise EPEX Spot® "+r(((f=t.flexibleTariff.configuration.country)==null?void 0:f.toUpperCase())||"AT"),1),e[9]||(e[9]=o("br",null,null,-1)),i(" + | Stündliche Preise EPEX Spot® "+r(((p=t.flexibleTariff.configuration.country)==null?void 0:p.toUpperCase())||"AT")+" | × "+r((t.flexibleTariff.configuration.proportional/100||0).toFixed(2))+" ("+r((t.flexibleTariff.configuration.proportional||0).toFixed(0))+"%)",1),e[10]||(e[10]=o("br",null,null,-1)),i(" + "+r((t.flexibleTariff.configuration.fix*1e5||0).toFixed(3))+" Cent/kWh",1),e[11]||(e[11]=o("br",null,null,-1)),i(" + "+r((t.flexibleTariff.configuration.tax||0).toFixed(0))+"% MwSt. ",1)]),o("div",V,[o("div",A,[l(s,{title:"Proportionaler Aufschlag",unit:"%",min:0,max:100,step:.01,"model-value":t.flexibleTariff.configuration.proportional||0,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.proportional"))},{help:a(()=>[...e[12]||(e[12]=[i(" Prozentuale Gebühr auf den Börsenpreis (z.B. 3% = 0.03) ",-1)])]),_:1},8,["model-value"])]),o("div",k,[l(s,{title:"Fester Aufschlag",unit:"Cent/kWh",min:0,step:.001,"model-value":t.flexibleTariff.configuration.fix*1e5||0,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n/1e5,"configuration.fix"))},{help:a(()=>[...e[13]||(e[13]=[i(" Feste Gebühr pro kWh (z.B. 1,500 Cent/kWh) ",-1)])]),_:1},8,["model-value"])]),o("div",P,[l(s,{title:"Mehrwertsteuer",unit:"%",min:0,max:50,step:.01,"model-value":t.flexibleTariff.configuration.tax||0,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.tax"))},{help:a(()=>[...e[14]||(e[14]=[i(" Mehrwertsteuer in Prozent (z.B. 20%) ",-1)])]),_:1},8,["model-value"])])])]))])}const R=v(w,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/awattar/flexible_tariff.vue"]]);export{R as default}; +import{F as x}from"./GeneralChargeConfig-d99f183c.js";import{_ as v,u,l as d,m as b,G as l,E as a,B as i,A as o,F as r,z as T}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const w={name:"FlexibleTariffAwattar",mixins:[x]},B={class:"flexible-tariff-awattar"},C={key:0,class:"mt-3"},F={class:"alert alert-info mb-3"},V={class:"row"},A={class:"col-md-4"},k={class:"col-md-4"},P={class:"col-md-4"};function S(t,e,y,E,U,W){var f,p;const m=u("openwb-base-select-input"),g=u("openwb-base-button-group-input"),s=u("openwb-base-number-input");return d(),b("div",B,[l(m,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.flexibleTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},{help:a(()=>[...e[5]||(e[5]=[i(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ",-1)])]),_:1},8,["model-value"]),l(g,{title:"Preisart",buttons:[{buttonValue:!0,text:"Netto"},{buttonValue:!1,text:"Brutto"}],"model-value":t.flexibleTariff.configuration.net??!0,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.net"))},{help:a(()=>[...e[6]||(e[6]=[i(" Netto: Reine Börsenpreise ohne Aufschläge",-1),o("br",null,null,-1),i(" Brutto: Börsenpreise mit konfigurierbaren Aufschlägen und MwSt. ",-1)])]),_:1},8,["model-value"]),t.flexibleTariff.configuration.net?T("",!0):(d(),b("div",C,[e[15]||(e[15]=o("h5",{class:"mb-3"},"Preisberechnung",-1)),o("div",F,[e[7]||(e[7]=o("strong",null,"Formel:",-1)),e[8]||(e[8]=o("br",null,null,-1)),i(" Stündliche Preise EPEX Spot® "+r(((f=t.flexibleTariff.configuration.country)==null?void 0:f.toUpperCase())||"AT"),1),e[9]||(e[9]=o("br",null,null,-1)),i(" + | Stündliche Preise EPEX Spot® "+r(((p=t.flexibleTariff.configuration.country)==null?void 0:p.toUpperCase())||"AT")+" | × "+r((t.flexibleTariff.configuration.proportional/100||0).toFixed(2))+" ("+r((t.flexibleTariff.configuration.proportional||0).toFixed(0))+"%)",1),e[10]||(e[10]=o("br",null,null,-1)),i(" + "+r((t.flexibleTariff.configuration.fix*1e5||0).toFixed(3))+" Cent/kWh",1),e[11]||(e[11]=o("br",null,null,-1)),i(" + "+r((t.flexibleTariff.configuration.tax||0).toFixed(0))+"% MwSt. ",1)]),o("div",V,[o("div",A,[l(s,{title:"Proportionaler Aufschlag",unit:"%",min:0,max:100,step:.01,"model-value":t.flexibleTariff.configuration.proportional||0,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.proportional"))},{help:a(()=>[...e[12]||(e[12]=[i(" Prozentuale Gebühr auf den Börsenpreis (z.B. 3% = 0.03) ",-1)])]),_:1},8,["model-value"])]),o("div",k,[l(s,{title:"Fester Aufschlag",unit:"Cent/kWh",min:0,step:.001,"model-value":t.flexibleTariff.configuration.fix*1e5||0,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n/1e5,"configuration.fix"))},{help:a(()=>[...e[13]||(e[13]=[i(" Feste Gebühr pro kWh (z.B. 1,500 Cent/kWh) ",-1)])]),_:1},8,["model-value"])]),o("div",P,[l(s,{title:"Mehrwertsteuer",unit:"%",min:0,max:50,step:.01,"model-value":t.flexibleTariff.configuration.tax||0,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.tax"))},{help:a(()=>[...e[14]||(e[14]=[i(" Mehrwertsteuer in Prozent (z.B. 20%) ",-1)])]),_:1},8,["model-value"])])])]))])}const R=v(w,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/awattar/flexible_tariff.vue"]]);export{R as default}; diff --git a/web/settings/assets/flexible_tariff-5f92f999.js b/web/settings/assets/flexible_tariff-ac4f844d.js similarity index 75% rename from web/settings/assets/flexible_tariff-5f92f999.js rename to web/settings/assets/flexible_tariff-ac4f844d.js index bde2b50591..6e1c4fce41 100644 --- a/web/settings/assets/flexible_tariff-5f92f999.js +++ b/web/settings/assets/flexible_tariff-ac4f844d.js @@ -1 +1 @@ -import{F as r}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as a,u as l,l as s,m as f,G as n,E as u,B as p}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const d={name:"FlexibleTariffWestfalenWind",mixins:[r]},m={class:"flexible-tariff-westfalen-wind"};function b(i,e,g,w,c,x){const o=l("openwb-base-text-input");return s(),f("div",m,[n(o,{title:"Benutzername",subtype:"user",required:"","model-value":i.flexibleTariff.configuration.username,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.username"))},null,8,["model-value"]),n(o,{title:"Passwort",subtype:"password",required:"","model-value":i.flexibleTariff.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),n(o,{title:"Vertrags-Nummer (optional)","model-value":i.flexibleTariff.configuration.contract_id,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.contract_id"))},{help:u(()=>[...e[3]||(e[3]=[p(" Bei mehreren Verträgen kann zusätzlich die Vertrags-Nummer angegeben werden, um die Preise dieses Vertrags abzurufen. ",-1)])]),_:1},8,["model-value"])])}const k=a(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/westfalen_wind/flexible_tariff.vue"]]);export{k as default}; +import{F as r}from"./GeneralChargeConfig-d99f183c.js";import{_ as a,u as l,l as s,m as f,G as n,E as u,B as p}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const d={name:"FlexibleTariffWestfalenWind",mixins:[r]},m={class:"flexible-tariff-westfalen-wind"};function b(i,e,g,w,c,x){const o=l("openwb-base-text-input");return s(),f("div",m,[n(o,{title:"Benutzername",subtype:"user",required:"","model-value":i.flexibleTariff.configuration.username,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.username"))},null,8,["model-value"]),n(o,{title:"Passwort",subtype:"password",required:"","model-value":i.flexibleTariff.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),n(o,{title:"Vertrags-Nummer (optional)","model-value":i.flexibleTariff.configuration.contract_id,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.contract_id"))},{help:u(()=>[...e[3]||(e[3]=[p(" Bei mehreren Verträgen kann zusätzlich die Vertrags-Nummer angegeben werden, um die Preise dieses Vertrags abzurufen. ",-1)])]),_:1},8,["model-value"])])}const k=a(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/westfalen_wind/flexible_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/flexible_tariff-ef5e756a.js b/web/settings/assets/flexible_tariff-b5a6cbc7.js similarity index 90% rename from web/settings/assets/flexible_tariff-ef5e756a.js rename to web/settings/assets/flexible_tariff-b5a6cbc7.js index 404a659f2f..ad9d46320e 100644 --- a/web/settings/assets/flexible_tariff-ef5e756a.js +++ b/web/settings/assets/flexible_tariff-b5a6cbc7.js @@ -1 +1 @@ -import{F as c}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as g,u as s,l as _,m as h,G as r,E as T,B as d,A as x}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const k={name:"FlexibleTariffTibber",mixins:[c],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.flexibleTariff.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.flexibleTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let n=t.address.address1;return t.address.address2&&(n=n+", "+t.address.address2),t.address.address3&&(n=n+", "+t.address.address3),n=n+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:n}}),this.flexibleTariff.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:"flexible-tariff-tibber"};function w(i,e,t,n,b,u){var l;const f=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),m=s("openwb-base-select-input");return _(),h("div",v,[r(f,{subtype:"info"},{default:T(()=>[...e[3]||(e[3]=[d(" Deinen persönlichen Tibber-Token erhältst Du über die ",-1),x("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),d(" . Behandle Deinen Token wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem Tibber-Account abfragen lassen! Die Home-ID kannst Du (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Deines 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)])]),_:1}),r(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.flexibleTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),r(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((l=i.flexibleTariff.configuration.token)!=null&&l.length),onButtonClicked:u.getTibberHomeList},null,8,["disabled","onButtonClicked"]),r(m,{title:"Verfügbare Home-IDs",options:b.tibberHomeList,"model-value":i.flexibleTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),r(a,{title:"Home-ID",required:"","model-value":i.flexibleTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const L=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/tibber/flexible_tariff.vue"]]);export{L as default}; +import{F as c}from"./GeneralChargeConfig-d99f183c.js";import{_ as g,u as s,l as _,m as h,G as r,E as T,B as d,A as x}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const k={name:"FlexibleTariffTibber",mixins:[c],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.flexibleTariff.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.flexibleTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let n=t.address.address1;return t.address.address2&&(n=n+", "+t.address.address2),t.address.address3&&(n=n+", "+t.address.address3),n=n+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:n}}),this.flexibleTariff.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:"flexible-tariff-tibber"};function w(i,e,t,n,b,u){var l;const f=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),m=s("openwb-base-select-input");return _(),h("div",v,[r(f,{subtype:"info"},{default:T(()=>[...e[3]||(e[3]=[d(" Deinen persönlichen Tibber-Token erhältst Du über die ",-1),x("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),d(" . Behandle Deinen Token wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem Tibber-Account abfragen lassen! Die Home-ID kannst Du (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Deines 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)])]),_:1}),r(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.flexibleTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),r(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((l=i.flexibleTariff.configuration.token)!=null&&l.length),onButtonClicked:u.getTibberHomeList},null,8,["disabled","onButtonClicked"]),r(m,{title:"Verfügbare Home-IDs",options:b.tibberHomeList,"model-value":i.flexibleTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),r(a,{title:"Home-ID",required:"","model-value":i.flexibleTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const L=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/tibber/flexible_tariff.vue"]]);export{L as default}; diff --git a/web/settings/assets/flexible_tariff-0956bfb8.js b/web/settings/assets/flexible_tariff-c2eab59f.js similarity index 74% rename from web/settings/assets/flexible_tariff-0956bfb8.js rename to web/settings/assets/flexible_tariff-c2eab59f.js index b87cd49a22..d9292f264e 100644 --- a/web/settings/assets/flexible_tariff-0956bfb8.js +++ b/web/settings/assets/flexible_tariff-c2eab59f.js @@ -1 +1 @@ -import{F as a}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as s,u as l,l as f,m as p,G as o,E as u,B as d}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"FlexibleTariffVoltego",mixins:[a]},m={class:"flexible-tariff-voltego"};function b(t,e,_,g,x,v){const r=l("openwb-base-alert"),n=l("openwb-base-text-input");return f(),p("div",m,[o(r,{subtype:"info"},{default:u(()=>[...e[2]||(e[2]=[d(" Deine persönlichen Zugangsdaten (Client-ID und Client-Secret) erhältst Du direkt von Voltego. Behandle diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem Voltego-Account abfragen lassen! ",-1)])]),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.flexibleTariff.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.flexibleTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const k=s(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/voltego/flexible_tariff.vue"]]);export{k as default}; +import{F as a}from"./GeneralChargeConfig-d99f183c.js";import{_ as s,u as l,l as f,m as p,G as o,E as u,B as d}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"FlexibleTariffVoltego",mixins:[a]},m={class:"flexible-tariff-voltego"};function b(t,e,_,g,x,v){const r=l("openwb-base-alert"),n=l("openwb-base-text-input");return f(),p("div",m,[o(r,{subtype:"info"},{default:u(()=>[...e[2]||(e[2]=[d(" Deine persönlichen Zugangsdaten (Client-ID und Client-Secret) erhältst Du direkt von Voltego. Behandle diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Deinem Voltego-Account abfragen lassen! ",-1)])]),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.flexibleTariff.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.flexibleTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const k=s(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/voltego/flexible_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/flexible_tariff-c2ebec8f.js b/web/settings/assets/flexible_tariff-d7c10ad8.js similarity index 72% rename from web/settings/assets/flexible_tariff-c2ebec8f.js rename to web/settings/assets/flexible_tariff-d7c10ad8.js index 50f9fab557..9e54f49e58 100644 --- a/web/settings/assets/flexible_tariff-c2ebec8f.js +++ b/web/settings/assets/flexible_tariff-d7c10ad8.js @@ -1 +1 @@ -import{F as o}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as a,u as n,l as s,m as l,G as p,E as f,B as e,A as t}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const u={name:"FlexibleTariffGroupeE",mixins:[o]},c={class:"flexible-tariff-groupe-e"};function m(_,r,d,b,x,g){const i=n("openwb-base-alert");return s(),l("div",c,[p(i,{subtype:"info"},{default:f(()=>[...r[0]||(r[0]=[e(" Tarif Vario der Groupe E (Westschweiz) - www.groupe-e.ch/de/strom/vario ",-1),t("br",null,null,-1),e(" Der Tarif passt sich alle 15 Minuten an, abhängig von der aktuellen Netzauslastung und dem Marktpreis. ",-1),t("br",null,null,-1),e(" Die Preise für den nächsten Tag werden jeweils am Vortag um 18 Uhr publiziert. ",-1)])]),_:1})])}const $=a(u,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/groupe_e/flexible_tariff.vue"]]);export{$ as default}; +import{F as o}from"./GeneralChargeConfig-d99f183c.js";import{_ as a,u as n,l as s,m as l,G as p,E as f,B as e,A as t}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const u={name:"FlexibleTariffGroupeE",mixins:[o]},c={class:"flexible-tariff-groupe-e"};function m(_,r,d,b,x,g){const i=n("openwb-base-alert");return s(),l("div",c,[p(i,{subtype:"info"},{default:f(()=>[...r[0]||(r[0]=[e(" Tarif Vario der Groupe E (Westschweiz) - www.groupe-e.ch/de/strom/vario ",-1),t("br",null,null,-1),e(" Der Tarif passt sich alle 15 Minuten an, abhängig von der aktuellen Netzauslastung und dem Marktpreis. ",-1),t("br",null,null,-1),e(" Die Preise für den nächsten Tag werden jeweils am Vortag um 18 Uhr publiziert. ",-1)])]),_:1})])}const $=a(u,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/groupe_e/flexible_tariff.vue"]]);export{$ as default}; diff --git a/web/settings/assets/flexible_tariff-e6eb4229.js b/web/settings/assets/flexible_tariff-e8dae122.js similarity index 68% rename from web/settings/assets/flexible_tariff-e6eb4229.js rename to web/settings/assets/flexible_tariff-e8dae122.js index cf2ed7e5a0..5edc57ea2a 100644 --- a/web/settings/assets/flexible_tariff-e6eb4229.js +++ b/web/settings/assets/flexible_tariff-e8dae122.js @@ -1 +1 @@ -import{F as n}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as a,u as s,l,m as o,G as f,E as p,B as e,A as t}from"./vendor-1833c026.js";import"./index-25097726.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"FlexibleTariffEkz",mixins:[n]},m={class:"flexible-tariff-ekz"};function u(d,r,_,b,x,h){const i=s("openwb-base-alert");return l(),o("div",m,[f(i,{subtype:"info"},{default:p(()=>[...r[0]||(r[0]=[e(" Dynamischer Tarif der Elektrizitätswerke des Kantons Zürich (EKZ) - www.ekz.ch/de/privatkunden/strom/tarife/dynamischer-wahltarif.html ",-1),t("br",null,null,-1),e(" Der Tarif passt sich alle 15 Minuten an, abhängig von der aktuellen Netzauslastung und dem Marktpreis. ",-1),t("br",null,null,-1),e(" Die Preise für den nächsten Tag werden jeweils am Vortag um 18 Uhr publiziert. ",-1),t("br",null,null,-1)])]),_:1})])}const N=a(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/ekz/flexible_tariff.vue"]]);export{N as default}; +import{F as n}from"./GeneralChargeConfig-d99f183c.js";import{_ as a,u as s,l,m as o,G as f,E as p,B as e,A as t}from"./vendor-50125810.js";import"./index-bbf7119b.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"FlexibleTariffEkz",mixins:[n]},m={class:"flexible-tariff-ekz"};function u(d,r,_,b,x,h){const i=s("openwb-base-alert");return l(),o("div",m,[f(i,{subtype:"info"},{default:p(()=>[...r[0]||(r[0]=[e(" Dynamischer Tarif der Elektrizitätswerke des Kantons Zürich (EKZ) - www.ekz.ch/de/privatkunden/strom/tarife/dynamischer-wahltarif.html ",-1),t("br",null,null,-1),e(" Der Tarif passt sich alle 15 Minuten an, abhängig von der aktuellen Netzauslastung und dem Marktpreis. ",-1),t("br",null,null,-1),e(" Die Preise für den nächsten Tag werden jeweils am Vortag um 18 Uhr publiziert. ",-1),t("br",null,null,-1)])]),_:1})])}const N=a(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/flexible_tariffs/ekz/flexible_tariff.vue"]]);export{N as default}; diff --git a/web/settings/assets/grid_fee-a59274da.js b/web/settings/assets/grid_fee-08bca713.js similarity index 56% rename from web/settings/assets/grid_fee-a59274da.js rename to web/settings/assets/grid_fee-08bca713.js index d8d10e879c..2cbc1b6af6 100644 --- a/web/settings/assets/grid_fee-a59274da.js +++ b/web/settings/assets/grid_fee-08bca713.js @@ -1 +1 @@ -import{G as I}from"./GeneralChargeConfig-eb4e97fc.js";import{_ as S,l as i,m as p,A as u,p as V,u as s,x as w,D as N,E as a,B as c,F as y,G as r,y as F,z as C,N as x,M as $,I as z,S as E}from"./vendor-1833c026.js";import{l as T,d as B,ab as O,F as U}from"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},G={class:"col-6"},M={class:"col-2 text-right"};function P(t,e,m,v,g,n){return i(),p("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[V(t.$slots,"start")]),u("div",G,[V(t.$slots,"end")])])]),u("div",M,[V(t.$slots,"action")])])])}const K=S(H,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/TimeRow.vue"]]);T.add(B);T.add(O);const R={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:K},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const m=[],v=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=v;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;m.push({value:d,text:d})}return m},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const v=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(v,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},L={key:0,class:"w-100 alert alert-danger"},j=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,m,v,g,n){const f=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("time-row"),k=s("openwb-base-setting-element");return i(),w(k,null,N({title:a(()=>[V(t.$slots,"title",{},()=>[c(y(m.title),1)])]),default:a(()=>[r(h,null,{start:a(()=>[...e[0]||(e[0]=[c(" Beginn ",-1)])]),end:a(()=>[...e[1]||(e[1]=[c(" Ende ",-1)])]),action:a(()=>[r(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:F(n.addTime,["stop"])},{default:a(()=>[r(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(i(),p("div",L," Keine Zeitbereiche definiert! ")):C("",!0),(i(!0),p(x,null,$(n.value,(_,b)=>(i(),w(h,{key:b},{start:a(()=>[z(u("select",{"onUpdate:modelValue":o=>_[0]=o,class:"form-control",required:"",onChange:o=>n.updateEndOptions(b)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(i(!0),p(x,null,$(n.generateTimeOptions("00:00","23:00"),o=>(i(),p("option",{key:o.value,value:o.value},y(o.text),9,J))),128))],40,j),[[E,_[0]]])]),end:a(()=>[z(u("select",{"onUpdate:modelValue":o=>_[1]=o,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(i(!0),p(x,null,$(g.endOptions[b],o=>(i(),p("option",{key:o.value,value:o.value},y(o.text),9,Y))),128))],8,X),[[E,_[1]]])]),action:a(()=>[n.value.length>1?(i(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:F(o=>n.removeTime(b),["stop"])},{default:a(()=>[r(f,{icon:["fas","trash"]})]),_:1},8,["onClick"])):C("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[V(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(R,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/TimeTable.vue"]]);T.add(B);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,m,v,g,n){const f=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("openwb-base-text-input"),k=s("openwb-base-number-input"),_=s("openwb-base-select-input"),b=s("time-table"),o=s("openwb-base-card");return i(),w(o,{subtype:"info",collapsible:!0,collapsed:!0},{header:a(()=>[c(y(n.tariff.name),1)]),actions:a(()=>[r(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=l=>t.$emit("delete"))},{default:a(()=>[r(f,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[r(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=l=>n.tariff.name=l),title:"Tarifname"},null,8,["modelValue"]),r(k,{title:"Preis",min:0,step:.001,precision:1,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=l=>n.tariff.price=parseFloat((l/100).toFixed(3)))},null,8,["model-value"]),r(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=l=>n.dates=l),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),r(b,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=l=>n.tariff.active_times.times=l),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const oe=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/FixedTariff.vue"]]);T.add(B);T.add(O);const se={name:"GridFeeFixedHours",components:{FontAwesomeIcon:U,FixedTariff:oe},mixins:[I],computed:{value:{get(){return this.gridFee},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},ie={class:"grid-fee-fixed-hours"};function re(t,e,m,v,g,n){const f=s("openwb-base-alert"),d=s("openwb-base-number-input"),h=s("font-awesome-icon"),k=s("openwb-base-avatar"),_=s("openwb-base-heading"),b=s("fixed-tariff");return i(),p("div",ie,[r(f,{subtype:"info"},{default:a(()=>[...e[1]||(e[1]=[c(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])]),_:1}),r(d,{title:"Standardpreis",min:0,step:.001,precision:1,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=o=>n.value.configuration.default_price=parseFloat((o/100).toFixed(3)))},{help:a(()=>[...e[2]||(e[2]=[c(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])]),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),r(_,null,{actions:a(()=>[r(k,{class:"bg-success clickable",onClick:F(n.addTariff,["stop"])},{default:a(()=>[r(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=c(" Tarife ",-1))]),_:1}),n.value.configuration.tariffs.length===0?(i(),w(f,{key:0,subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[c(" Es wurde noch kein Tarif konfiguriert. Klicke auf das Plus-Symbol, um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),c(" Tarife ermöglichen es, Preise für unterschiedliche Zeiten zu definieren. ",-1)])]),_:1})):C("",!0),(i(!0),p(x,null,$(n.value.configuration.tariffs,(o,l)=>(i(),w(b,{key:l,"model-value":o,"onUpdate:modelValue":q=>n.value.configuration.tariffs[l]=q,onDelete:q=>n.removeTariff(l)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const ve=S(se,[["render",re],["__scopeId","data-v-5ed1a321"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/grid_fee.vue"]]);export{ve as default}; +import{G as I}from"./GeneralChargeConfig-d99f183c.js";import{_ as S,l as i,m as p,A as u,p as V,u as s,x as w,D as N,E as a,B as c,F as y,G as r,y as F,z as C,N as x,M as $,I as z,S as E}from"./vendor-50125810.js";import{l as T,d as B,ab as O,F as U}from"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},G={class:"col-6"},M={class:"col-2 text-right"};function P(t,e,m,v,g,n){return i(),p("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[V(t.$slots,"start")]),u("div",G,[V(t.$slots,"end")])])]),u("div",M,[V(t.$slots,"action")])])])}const K=S(H,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/TimeRow.vue"]]);T.add(B);T.add(O);const R={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:K},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const m=[],v=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=v;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;m.push({value:d,text:d})}return m},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const v=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(v,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},L={key:0,class:"w-100 alert alert-danger"},j=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,m,v,g,n){const f=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("time-row"),k=s("openwb-base-setting-element");return i(),w(k,null,N({title:a(()=>[V(t.$slots,"title",{},()=>[c(y(m.title),1)])]),default:a(()=>[r(h,null,{start:a(()=>[...e[0]||(e[0]=[c(" Beginn ",-1)])]),end:a(()=>[...e[1]||(e[1]=[c(" Ende ",-1)])]),action:a(()=>[r(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:F(n.addTime,["stop"])},{default:a(()=>[r(f,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(i(),p("div",L," Keine Zeitbereiche definiert! ")):C("",!0),(i(!0),p(x,null,$(n.value,(_,b)=>(i(),w(h,{key:b},{start:a(()=>[z(u("select",{"onUpdate:modelValue":o=>_[0]=o,class:"form-control",required:"",onChange:o=>n.updateEndOptions(b)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(i(!0),p(x,null,$(n.generateTimeOptions("00:00","23:00"),o=>(i(),p("option",{key:o.value,value:o.value},y(o.text),9,J))),128))],40,j),[[E,_[0]]])]),end:a(()=>[z(u("select",{"onUpdate:modelValue":o=>_[1]=o,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(i(!0),p(x,null,$(g.endOptions[b],o=>(i(),p("option",{key:o.value,value:o.value},y(o.text),9,Y))),128))],8,X),[[E,_[1]]])]),action:a(()=>[n.value.length>1?(i(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:F(o=>n.removeTime(b),["stop"])},{default:a(()=>[r(f,{icon:["fas","trash"]})]),_:1},8,["onClick"])):C("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[V(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(R,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/TimeTable.vue"]]);T.add(B);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,m,v,g,n){const f=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("openwb-base-text-input"),k=s("openwb-base-number-input"),_=s("openwb-base-select-input"),b=s("time-table"),o=s("openwb-base-card");return i(),w(o,{subtype:"info",collapsible:!0,collapsed:!0},{header:a(()=>[c(y(n.tariff.name),1)]),actions:a(()=>[r(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=l=>t.$emit("delete"))},{default:a(()=>[r(f,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[r(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=l=>n.tariff.name=l),title:"Tarifname"},null,8,["modelValue"]),r(k,{title:"Preis",step:.001,precision:3,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=l=>n.tariff.price=parseFloat((l/100).toFixed(5)))},null,8,["model-value"]),r(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=l=>n.dates=l),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),r(b,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=l=>n.tariff.active_times.times=l),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const oe=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/FixedTariff.vue"]]);T.add(B);T.add(O);const se={name:"GridFeeFixedHours",components:{FontAwesomeIcon:U,FixedTariff:oe},mixins:[I],computed:{value:{get(){return this.gridFee},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},ie={class:"grid-fee-fixed-hours"};function re(t,e,m,v,g,n){const f=s("openwb-base-alert"),d=s("openwb-base-number-input"),h=s("font-awesome-icon"),k=s("openwb-base-avatar"),_=s("openwb-base-heading"),b=s("fixed-tariff");return i(),p("div",ie,[r(f,{subtype:"info"},{default:a(()=>[...e[1]||(e[1]=[c(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])]),_:1}),r(d,{title:"Standardpreis",step:.001,precision:3,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=o=>n.value.configuration.default_price=parseFloat((o/100).toFixed(5)))},{help:a(()=>[...e[2]||(e[2]=[c(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])]),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),r(_,null,{actions:a(()=>[r(k,{class:"bg-success clickable",onClick:F(n.addTariff,["stop"])},{default:a(()=>[r(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=c(" Tarife ",-1))]),_:1}),n.value.configuration.tariffs.length===0?(i(),w(f,{key:0,subtype:"info"},{default:a(()=>[...e[4]||(e[4]=[c(" Es wurde noch kein Tarif konfiguriert. Klicke auf das Plus-Symbol, um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),c(" Tarife ermöglichen es, Preise für unterschiedliche Zeiten zu definieren. ",-1)])]),_:1})):C("",!0),(i(!0),p(x,null,$(n.value.configuration.tariffs,(o,l)=>(i(),w(b,{key:l,"model-value":o,"onUpdate:modelValue":q=>n.value.configuration.tariffs[l]=q,onDelete:q=>n.removeTariff(l)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const ve=S(se,[["render",re],["__scopeId","data-v-5ed1a321"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_pricing/grid_fees/fixed_hours/grid_fee.vue"]]);export{ve as default}; diff --git a/web/settings/assets/index-25097726.js b/web/settings/assets/index-bbf7119b.js similarity index 89% rename from web/settings/assets/index-25097726.js rename to web/settings/assets/index-bbf7119b.js index d4a60550e4..08e7e36706 100644 --- a/web/settings/assets/index-25097726.js +++ b/web/settings/assets/index-bbf7119b.js @@ -1 +1 @@ -import{_ as y,l as a,m as u,p as b,q as $,u as g,x as h,y as E,z as m,A as i,B as f,D as A,E as c,F as v,G as _,I as O,J as V,K as S,L as se,M,N as T,O as oe,P as ae,Q as ie,R as le,T as H,S as re,U as z,V as de,W as ue,X as ce,Y as pe,Z as me,$ as fe,a0 as _e}from"./vendor-1833c026.js";import{l as C,f as G,a as J,F as I,b as be,c as ge,d as K,e as he,g as j,h as ve,i as ye,j as we,k as ke,m as Se,n as $e,o as Be,p as Oe,q as Ce,r as Ie,s as Te,t as Ve,u as Ae,v as Me,w as Z,x as Pe,y as qe,z as xe,A as De,B as Q,C as Ee,D as Le,E as We,G as je,H as Re,I as Ne,J as ze,K as Fe,L as Ue,M as He,N as Ge}from"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import{p as Je,a as Ke}from"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./vendor-jquery-1765c81b.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))d(l);new MutationObserver(l=>{for(const s of l)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(l){const s={};return l.integrity&&(s.integrity=l.integrity),l.referrerPolicy&&(s.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?s.credentials="include":l.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}})();const Ze={name:"OpenwbAlert",props:{subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}}};function Qe(e,t,n,d,l,s){return a(),u("div",{class:$(["card-text alert","alert-"+n.subtype])},[b(e.$slots,"default",{},void 0,!0)],2)}const Ye=y(Ze,[["render",Qe],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:Ye},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const et={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:I},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},tt={key:0,class:"col-md-4 col-form-label"},nt={class:"form-row"},st={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function ot(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",{class:$(["form-row",e.$slots.title?"mb-1":"mx-0"])},[e.$slots.title?(a(),u("div",tt,[b(e.$slots,"title",{},void 0,!0),e.$slots.help?(a(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:$(["clickable ml-1",l.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):m("",!0)])):m("",!0),i("div",{class:$(e.$slots.title?"col-md-8":"col px-0")},[i("div",{class:$({"form-row":e.$slots.title})},[b(e.$slots,"default",{},()=>[t[0]||(t[0]=f("*ELEMENT MISSING*",-1))],!0)],2),i("div",nt,[l.showHelp?(a(),u("span",st,[b(e.$slots,"help",{},void 0,!0)])):m("",!0)])],2)],2)}const P=y(et,[["render",ot],["__scopeId","data-v-33864f66"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),at=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"})),it={name:"BaseSettingComponents",data(){return{uid:Math.random().toString(36).substring(2,15)}}},q=y(it,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/BaseSettingComponents.vue"]]);C.add(be,ge,K,he);const lt={name:"OpenwbArrayInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."},readonly:{type:Boolean,default:()=>!1}},emits:["update:modelValue"],data(){return{newTag:""}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},newTagValid:{get(){var e;return this.newTag.length>0&&!this.value.includes(this.newTag)&&((e=this.$refs.tagInput)==null?void 0:e.checkValidity())}}},methods:{addTag(){if(this.newTagValid){const e=[...this.value,this.newTag].sort();this.value=e,this.newTag=""}this.$refs.tagInput.focus()},removeTag(e){let t=[...this.value];t.splice(e,1),this.value=t}}},rt={key:0,class:"w-100"},dt={class:"input-group"},ut={class:"input-group-prepend"},ct={class:"input-group-text"},pt=["id"],mt={class:"input-group-append"},ft={class:"tagList mt-1 w-100"},_t={key:0,class:"noTag"};function bt(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[n.readonly?m("",!0):(a(),u("div",rt,[i("div",dt,[i("div",ut,[i("div",ct,[b(e.$slots,"input-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0)])]),O(i("input",S({id:`${e.uid}-tag-input`,ref:"tagInput","onUpdate:modelValue":t[0]||(t[0]=r=>l.newTag=r),type:"text",class:"form-control"},e.$attrs,{onKeyup:t[1]||(t[1]=se((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16,pt),[[V,l.newTag]]),i("div",mt,[i("div",{class:$(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:t[2]||(t[2]=(...r)=>s.addTag&&s.addTag(...r))},[b(e.$slots,"input-add",{},()=>[_(o,{icon:["fas","plus"]})],!0)],2)])])])),i("div",ft,[s.value.length==0?(a(),u("span",_t,[_(o,{icon:["fas","info-circle"]}),f(" "+v(n.noElementsMessage),1)])):m("",!0),(a(!0),u(T,null,M(s.value,(r,w)=>(a(),u("span",{key:w,class:"tag"},[b(e.$slots,"element-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0),f(" "+v(r)+" ",1),n.readonly?m("",!0):(a(),h(o,{key:0,class:"clickable remove-element",icon:["fas","times-circle"],onClick:B=>s.removeTag(w)},null,8,["onClick"]))]))),128))])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const gt=y(lt,[["render",bt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ht=Object.freeze(Object.defineProperty({__proto__:null,default:gt},Symbol.toStringTag,{value:"Module"}));const vt={name:"OpenwbAvatar"},yt={class:"avatar"};function wt(e,t,n,d,l,s){return a(),u("div",yt,[b(e.$slots,"default",{},()=>[t[0]||(t[0]=f("?",-1))],!0)])}const kt=y(vt,[["render",wt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),St=Object.freeze(Object.defineProperty({__proto__:null,default:kt},Symbol.toStringTag,{value:"Module"}));C.add(j);const $t={name:"OpenwbButtonRow",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{buttons:{type:Array,required:!0},modelValue:{type:[String,Number,Boolean],default:null},disabled:{type:Boolean,default:!1},uid:{type:String,required:!0}},emits:["update:modelValue","button-click"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},Bt={class:"btn-group btn-block btn-group-toggle"},Ot=["for"],Ct=["id","value","disabled","onClick"];function It(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",Bt,[(a(!0),u(T,null,M(n.buttons,p=>(a(),u("label",{key:p.buttonValue,class:$(["btn btn-same-size btn-centered",[{active:n.modelValue===p.buttonValue},{disabled:n.disabled},p.class?p.class:"btn-outline-info"]]),for:`${n.uid}-${p.buttonValue}`},[i("span",null,[O(i("input",S({id:`${n.uid}-${p.buttonValue}`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"radio",value:p.buttonValue},{ref_for:!0},e.$attrs,{disabled:n.disabled,onClick:r=>e.$emit("button-click",p.buttonValue)}),null,16,Ct),[[oe,s.value]]),b(e.$slots,"label-"+p.buttonValue,{},()=>[f(v(p.text),1)],!0),t[1]||(t[1]=i("span",null," ",-1)),_(o,{icon:["fas","check"],style:ae([s.value==p.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])])],10,Ot))),128))])}const Y=y($t,[["render",It],["__scopeId","data-v-4bd221b6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonRow.vue"]]),Tt=Object.freeze(Object.defineProperty({__proto__:null,default:Y},Symbol.toStringTag,{value:"Module"}));const Vt={name:"OpenwbButtonGroupInput",components:{OpenwbBaseSettingElement:P,OpenwbBaseButtonRow:Y},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0},disabled:{type:Boolean,required:!1,default:!1},maxButtonsPerRow:{type:Number,default:Number.POSITIVE_INFINITY}},emits:["update:modelValue","button-click"],data(){return{containerWidth:0}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},maxButtonsPerRowAuto(){return this.containerWidth<=200?1:this.containerWidth<=360?2:this.containerWidth<=550?3:1/0},buttonRows(){const e=[];for(let t=0;t[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",At,[(a(!0),u(T,null,M(s.buttonRows,(r,w)=>(a(),h(o,S({key:w,buttons:r,uid:e.uid,"model-value":s.value,disabled:n.disabled},{ref_for:!0},e.$attrs,{"onUpdate:modelValue":t[0]||(t[0]=B=>s.value=B),onButtonClick:t[1]||(t[1]=B=>e.$emit("button-click",B))}),A({_:2},[M(r,B=>({name:`label-${B.buttonValue}`,fn:c(x=>[b(e.$slots,`label-${B.buttonValue}`,S({ref_for:!0},x),void 0,!0)])}))]),1040,["buttons","uid","model-value","disabled"]))),128))],512)]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Pt=y(Vt,[["render",Mt],["__scopeId","data-v-31e583df"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),qt=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"}));const xt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""},tooltip:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(e){this.$emit("buttonClicked",e)}}},Dt=["title"];function Et(e,t,n,d,l,s){return a(),u("button",{type:"button",class:"btn btn-block",title:n.tooltip,onClick:t[0]||(t[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[b(e.$slots,"default",{},()=>[f(v(n.title),1)],!0)],8,Dt)}const X=y(xt,[["render",Et],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"})),Wt={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:P,OpenwbBaseClickButton:X},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(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(e){this.$emit("buttonClicked",e)}}};function jt(e,t,n,d,l,s){const o=g("openwb-base-click-button"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[_(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},e.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[f(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const Rt=y(Wt,[["render",jt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),Nt=Object.freeze(Object.defineProperty({__proto__:null,default:Rt},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const zt={name:"OpenwbCard",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"secondary"},bodyBg:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},emits:["collapsed","expanded"],data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed,this.$emit(this.isCollapsed?"collapsed":"expanded"))}}},Ft={class:"form-group mb-0"},Ut={class:"form-row vaRow mb-0 py-2"},Ht={class:"col"},Gt={class:"card-actions ml-4"},Jt={key:0,class:"card-actions mr-2"},Kt={key:2,class:"card-footer"};function Zt(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",{class:$(["card","border-"+n.subtype])},[n.title!==void 0||e.$slots.header?(a(),u("div",{key:0,class:$(["card-header py-1","bg-"+n.subtype]),onClick:t[0]||(t[0]=(...p)=>s.toggleBody&&s.toggleBody(...p))},[i("div",Ft,[i("div",Ut,[i("div",Ht,[b(e.$slots,"header",{collapsed:l.isCollapsed},()=>[f(v(n.title),1)],!0)])])]),i("div",Gt,[e.$slots.actions?(a(),u("div",Jt,[b(e.$slots,"actions",{collapsed:l.isCollapsed},void 0,!0)])):m("",!0),n.collapsible?(a(),h(o,{key:1,icon:l.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):m("",!0)])],2)):m("",!0),l.isCollapsed===!1?(a(),u("div",S({key:1,class:["card-body",[n.title==null&&!e.$slots.header?"border-radius-top-inherit":"",e.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},e.$attrs),[b(e.$slots,"default",{},void 0,!0)],16)):m("",!0),e.$slots.footer&&l.isCollapsed===!1?(a(),u("div",Kt,[b(e.$slots,"footer",{},void 0,!0)])):m("",!0)],2)}const Qt=y(zt,[["render",Zt],["__scopeId","data-v-9833c353"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Yt=Object.freeze(Object.defineProperty({__proto__:null,default:Qt},Symbol.toStringTag,{value:"Module"})),Xt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},en={class:"col-md-8"},tn=["id"];function nn(e,t,n,d,l,s){const o=g("openwb-base-setting-element");return a(),h(o,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[i("div",en,[O(i("input",S({id:`${e.uid}-checkbox-input`,"onUpdate:modelValue":t[0]||(t[0]=p=>s.value=p),class:"form-control",type:"checkbox"},e.$attrs),null,16,tn),[[ie,s.value]])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const sn=y(Xt,[["render",nn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),on=Object.freeze(Object.defineProperty({__proto__:null,default:sn},Symbol.toStringTag,{value:"Module"}));C.add(we);const an={name:"OpenwbColorPicker",components:{FontAwesomeIcon:I},mixins:[q],props:{defaultColor:{type:String,required:!1,default:void 0,validator:e=>/^#[0-9A-F]{6}$/i.test(e)},modelValue:{type:String,required:!1,default:"#000000",validator:e=>/^#[0-9A-F]{6}$/i.test(e)}},emits:["update:model-value"],methods:{changed(e){this.$emit("update:model-value",e)}}},ln={class:"wrapper"},rn=["id","value","title"];function dn(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",ln,[i("input",{id:`${e.uid}-color-input`,type:"color",class:"custom-color-picker",value:n.modelValue,title:`Farbe: ${n.modelValue}`,onInput:t[0]||(t[0]=p=>s.changed(p.target.value))},null,40,rn),n.defaultColor?(a(),h(o,{key:0,class:"ml-1 clickable",icon:["fas","rotate-left"],title:`Zurücksetzen auf Standardfarbe (${n.defaultColor})`,onClick:t[1]||(t[1]=p=>s.changed(n.defaultColor))},null,8,["title"])):m("",!0)])}const un=y(an,[["render",dn],["__scopeId","data-v-1378b599"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseColorPicker.vue"]]),cn=Object.freeze(Object.defineProperty({__proto__:null,default:un},Symbol.toStringTag,{value:"Module"}));const{text:F,copy:pn,copied:mn,isSupported:fn}=le({copiedDuring:3e3,legacy:!0});C.add(ke,Se);const _n={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:I},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{}},computed:{contentText(){return this.$refs.content?this.$refs.content.innerText.trim():""},isCopied(){return mn.value&&F.value===this.contentText},copySupported(){return fn.value}},methods:{click(){this.copySupported&&pn(this.contentText).then(()=>{console.debug("Text copied to clipboard:",F.value)}).catch(e=>{console.error("Failed to copy text to clipboard:",e)})}}},bn=["title"],gn={ref:"content"};function hn(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("span",{title:s.copySupported&&!s.isCopied?n.tooltip:"",class:$({"copy-me":s.copySupported&&!s.isCopied}),onClick:t[0]||(t[0]=E((...p)=>s.click&&s.click(...p),["stop"]))},[i("span",gn,[b(e.$slots,"default",{},void 0,!0)],512),s.copySupported?(a(),h(o,{key:0,class:"ml-1",icon:s.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])):m("",!0)],10,bn)}const vn=y(_n,[["render",hn],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),yn=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"}));C.add(G,J,j);const wn={name:"OpenwbHeading",components:{FontAwesomeIcon:I},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},kn={class:"heading-text"},Sn={key:0,class:"actions"},$n={class:""},Bn={key:0,class:"form-row alert alert-info small flex-fill"};function On(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u(T,null,[i("div",S({class:"card-text card-text-heading"},e.$attrs),[i("div",kn,[b(e.$slots,"default",{},void 0,!0),e.$slots.help?(a(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:$(["clickable",l.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):m("",!0)]),e.$slots.actions?(a(),u("span",Sn,[b(e.$slots,"actions",{},void 0,!0)])):m("",!0)],16),i("div",$n,[l.showHelp?(a(),u("span",Bn,[b(e.$slots,"help",{},void 0,!0)])):m("",!0)])],64)}const Cn=y(wn,[["render",On],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),In=Object.freeze(Object.defineProperty({__proto__:null,default:Cn},Symbol.toStringTag,{value:"Module"}));C.add($e,Be,Oe,Ce);const L={null:{value:null,icon:["fas","question"],iconClass:"text-secondary",title:"Nicht relevant",nextValue:!0},true:{value:!0,icon:["fas","square"],iconClass:"",title:"Geschlossen",nextValue:!1},false:{value:!1,icon:["far","square"],iconClass:"",title:"Offen",nextValue:null}},Tn={name:"OpenwbIoPattern",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:()=>[]}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{getIcon(e){return L[e].icon},getIconClass(e){return L[e].iconClass},getTitle(e){return L[e].title},toggleInput(e,t){this.value[e]=L[t].nextValue}}};function Vn(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[(a(!0),u(T,null,M(s.value,(r,w)=>(a(),u("span",{key:w},[_(o,{title:s.getTitle(r),icon:s.getIcon(r),class:$([s.getIconClass(r),"fa-fw clickable"]),size:"2x",transform:r=="undefined"?"shrink-6":null,mask:r=="undefined"?["fas","square"]:null,onClick:E(B=>s.toggleInput(w,r),["stop","prevent"]),onMousedown:t[0]||(t[0]=E(()=>{},["stop","prevent"])),onMouseup:t[1]||(t[1]=E(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128))]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const An=y(Tn,[["render",Vn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseIoPattern.vue"]]),Mn=Object.freeze(Object.defineProperty({__proto__:null,default:An},Symbol.toStringTag,{value:"Module"})),Pn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(e){return["around","between","center","end","start"].indexOf(e)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var e=[];return this.buttons!==void 0&&(e=this.buttons),this.preventClose||e.push({text:"Schließen",event:"close"}),e}},methods:{handleClick(e){e.stopPropagation();let t=e.target.getAttribute("data-event");t===null&&(t="close"),(t!="close"||!this.preventClose)&&this.$emit("modal-result",t)}}},qn={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},xn={class:"modal-content"},Dn={class:"modal-title"},En={class:"modal-body"},Ln=["data-event"];function Wn(e,t,n,d,l,s){return n.show?(a(),h(H,{key:0,to:"body"},[t[4]||(t[4]=i("div",{class:"modal-backdrop fade show"},null,-1)),i("div",{class:"modal fade d-block show",role:"dialog",onClick:t[2]||(t[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[i("div",qn,[i("div",xn,[i("div",{class:$(["modal-header","bg-"+n.subtype])},[i("h4",Dn,v(n.title),1),n.preventClose?m("",!0):(a(),u("button",{key:0,type:"button",class:"close",onClick:t[0]||(t[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),i("div",En,[b(e.$slots,"default",{},()=>[t[3]||(t[3]=f("# Body #",-1))])]),s.myButtons.length>0?(a(),u("div",{key:0,class:$(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(a(!0),u(T,null,M(s.myButtons,o=>(a(),u("button",{key:o.text,type:"button",class:$(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:t[1]||(t[1]=(...p)=>s.handleClick&&s.handleClick(...p))},v(o.text),11,Ln))),128))],2)):m("",!0)])])])])):m("",!0)}const jn=y(Pn,[["render",Wn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),Rn=Object.freeze(Object.defineProperty({__proto__:null,default:jn},Symbol.toStringTag,{value:"Module"}));C.add(Ie);const Nn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],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(e){(isNaN(e)||typeof e!="number")&&(e=this.emptyValue),this.$emit("update:modelValue",e)}}}},zn={class:"input-group"},Fn={class:"input-group-prepend"},Un={class:"input-group-text"},Hn=["id"],Gn={key:0,class:"input-group-append"},Jn={class:"input-group-text"},Kn={key:1,class:"input-group-append"},Zn={class:"input-group-text p-0"};function Qn(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",zn,[i("div",Fn,[i("div",Un,[_(o,{icon:["fas","calculator"]})])]),O(i("input",S({id:`${e.uid}-number-input`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"number",class:"form-control"},e.$attrs),null,16,Hn),[[V,s.value,void 0,{number:!0}]]),n.unit?(a(),u("div",Gn,[i("div",Jn,v(n.unit),1)])):m("",!0),e.$slots.append?(a(),u("div",Kn,[i("div",Zn,[b(e.$slots,"append",{},void 0,!0)])])):m("",!0)])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Yn=y(Nn,[["render",Qn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),Xn=Object.freeze(Object.defineProperty({__proto__:null,default:Yn},Symbol.toStringTag,{value:"Module"}));C.add(Te,Ve);const es={name:"OpenwbRangeInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],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 e;return this.labels&&this.sliderValue!=null?this.sliderValue[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",ts,[i("div",ns,[s.label?(a(),u("label",{key:0,class:"col-2 pl-0 col-form-label valueLabel",for:`${e.uid}-button`},v(s.label),9,ss)):m("",!0),i("button",{id:`${e.uid}-button`,class:"col-1 btn btn-block btn-info",type:"button",onClick:t[0]||(t[0]=(...r)=>s.decrement&&s.decrement(...r))},[_(o,{icon:["fas","step-backward"]})],8,os),i("div",as,[O(i("input",S({"onUpdate:modelValue":t[1]||(t[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},e.$attrs),null,16,is),[[V,s.sliderValue,void 0,{number:!0}]])]),i("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[2]||(t[2]=(...r)=>s.increment&&s.increment(...r))},[_(o,{icon:["fas","step-forward"]})])])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const rs=y(es,[["render",ls],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),ds=Object.freeze(Object.defineProperty({__proto__:null,default:rs},Symbol.toStringTag,{value:"Module"}));C.add(K);const us={name:"OpenwbSelectInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:void 0},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},emptyValue:{type:[String,Number,Array],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(e){this.$emit("update:modelValue",e)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},cs={class:"w-100"},ps={class:"input-group"},ms={key:0,class:"input-group-prepend"},fs={class:"input-group-text"},_s=["id"],bs=["value"],gs=["value"],hs=["label"],vs=["value"],ys={key:1,class:"input-group-append"};function ws(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({default:c(()=>[i("div",cs,[i("div",ps,[e.$slots.prefix?(a(),u("div",ms,[i("div",fs,[b(e.$slots,"prefix")])])):m("",!0),O(i("select",S({id:`${e.uid}-select`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),class:"col form-control"},e.$attrs),[n.notSelected!==void 0?(a(),u("option",{key:0,value:n.emptyValue,disabled:""}," -- "+v(n.notSelected)+" -- ",9,bs)):m("",!0),(a(!0),u(T,null,M(n.options,r=>(a(),u("option",{key:r.value,value:r.value},v(r.text),9,gs))),128)),(a(!0),u(T,null,M(n.groups,r=>(a(),u("optgroup",{key:r.label,label:r.label},[(a(!0),u(T,null,M(r.options,w=>(a(),u("option",{key:w.value,value:w.value},v(w.text),9,vs))),128))],8,hs))),128))],16,_s),[[re,s.value]]),n.addButton?(a(),u("div",ys,[i("div",{class:$(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:t[1]||(t[1]=r=>s.addClicked())},[b(e.$slots,"inputAdd",{},()=>[_(o,{icon:["fas","plus"]})])],2)])):m("",!0)])])]),_:2},[e.$slots.title||n.title?{name:"title",fn:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),key:"0"}:void 0,e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"1"}:void 0]),1024)}const ks=y(us,[["render",ws],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));C.add(j,Ae,Me);const $s={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:I},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(e){this.showModalReset=!1,e=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(e){this.showModalDefaults=!1,e=="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")}}},Bs={class:"row justify-content-center mb-1"},Os={class:"col-md-4 d-flex py-1 justify-content-center"},Cs={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Is={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Ts(e,t,n,d,l,s){const o=g("openwb-base-modal-dialog"),p=g("font-awesome-icon");return a(),u(T,null,[_(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>[...t[3]||(t[3]=[f(" Einstellungen werden gespeichert... ",-1)])]),_:1},8,["show"]),_(o,{show:l.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>[...t[4]||(t[4]=[f(" Willst Du die nicht gespeicherten Änderungen wirklich verwerfen? ",-1)])]),_:1},8,["show","onModalResult"]),_(o,{show:l.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>[...t[5]||(t[5]=[f(" Willst Du wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ",-1)])]),_:1},8,["show","onModalResult"]),i("div",Bs,[i("div",Os,[i("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:t[0]||(t[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[t[6]||(t[6]=f(" Speichern ",-1)),_(p,{icon:["fas","check"]})])]),n.hideReset?m("",!0):(a(),u("div",Cs,[i("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:t[1]||(t[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[t[7]||(t[7]=f(" Änderungen verwerfen ",-1)),_(p,{icon:["fas","undo"]})])])),n.hideDefaults?m("",!0):(a(),u("div",Is,[i("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:t[2]||(t[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[t[8]||(t[8]=f(" Werkseinstellungen ",-1)),_(p,{icon:["fas","times"]})])]))])],64)}const Vs=y($s,[["render",Ts],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),As=Object.freeze(Object.defineProperty({__proto__:null,default:Vs},Symbol.toStringTag,{value:"Module"}));C.add(Z,Pe,qe,xe,De,Q,Ee,Le,We,je,Re,Ne);const Ms={name:"OpenwbTextInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(e){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(e)!==-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(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch(t){console.error("parsing JSON failed: "+e,t),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else e==""&&(e=this.emptyValue),this.$emit("update:modelValue",e)}},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},hostPattern(){return"(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)|(^(?=.*[a-zA-Z].*$)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])$)|(^((?=[^.]*[a-zA-Z][^.]*\\.)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]\\.))+((?=[^.]*[a-zA-Z].*$)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]))$)"}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(e){var t,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+e),t=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}t>this.inputRef.max||t[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",Ps,[i("div",qs,[i("div",xs,[i("div",Ds,[n.subtype=="text"?(a(),h(o,{key:0,icon:["fas","keyboard"]})):m("",!0),n.subtype=="email"?(a(),h(o,{key:1,icon:["fas","envelope"]})):m("",!0),n.subtype=="host"?(a(),h(o,{key:2,icon:["fas","network-wired"]})):m("",!0),n.subtype=="url"?(a(),h(o,{key:3,icon:["fas","globe"]})):m("",!0),n.subtype=="user"?(a(),h(o,{key:4,icon:["fas","user"]})):m("",!0),n.subtype=="json"?(a(),h(o,{key:5,icon:["fas","code"]})):m("",!0),n.subtype=="password"?(a(),h(o,{key:6,icon:l.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):m("",!0),n.subtype=="time"?(a(),h(o,{key:7,icon:["fas","clock"]})):m("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(a(),h(o,{key:8,icon:["fas","calendar-day"]})):m("",!0)])]),["text","user"].includes(n.subtype)?O((a(),u("input",S({key:0,id:`${e.uid}-text-input`,ref:"textInput","onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:l.inputInvalid}]},e.$attrs,{pattern:n.pattern}),null,16,Es)),[[V,s.value]]):m("",!0),n.subtype=="json"?O((a(),u("input",S({key:1,id:`${e.uid}-json-input`,ref:"jsonInput","onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),type:"text",class:"form-control"},e.$attrs,{pattern:n.pattern}),null,16,Ls)),[[V,s.value]]):m("",!0),n.subtype=="password"?O((a(),u("input",S({key:2,id:`${e.uid}-password-input`,ref:"passwordInput","onUpdate:modelValue":t[2]||(t[2]=r=>s.value=r),type:l.showPassword?"text":"password",class:"form-control"},e.$attrs,{pattern:n.pattern}),null,16,Ws)),[[z,s.value]]):m("",!0),n.subtype=="host"?O((a(),u("input",S({key:3,id:`${e.uid}-host-input`,ref:"hostInput","onUpdate:modelValue":t[3]||(t[3]=r=>s.value=r),type:"text",class:"form-control"},e.$attrs,{pattern:s.hostPattern}),null,16,js)),[[V,s.value]]):m("",!0),["email","url"].includes(n.subtype)?O((a(),u("input",S({key:4,id:`${e.uid}-url-input`,"onUpdate:modelValue":t[4]||(t[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},e.$attrs),null,16,Rs)),[[z,s.value]]):m("",!0),n.subtype=="time"?O((a(),u("input",S({key:5,id:`${e.uid}-time-input`,ref:"timeInput","onUpdate:modelValue":t[5]||(t[5]=r=>s.value=r),type:"time",class:"form-control"},e.$attrs),null,16,Ns)),[[V,s.value]]):m("",!0),n.subtype=="date"?O((a(),u("input",S({key:6,id:`${e.uid}-date-input`,ref:"dateInput","onUpdate:modelValue":t[6]||(t[6]=r=>s.value=r),type:"date",class:"form-control"},e.$attrs),null,16,zs)),[[V,s.value]]):m("",!0),n.subtype=="month"?O((a(),u("input",S({key:7,id:`${e.uid}-month-input`,ref:"monthInput","onUpdate:modelValue":t[7]||(t[7]=r=>s.value=r),type:"month",class:"form-control"},e.$attrs),null,16,Fs)),[[V,s.value]]):m("",!0),n.subtype=="year"?O((a(),u("input",S({key:8,id:`${e.uid}-year-input`,ref:"yearInput","onUpdate:modelValue":t[8]||(t[8]=r=>s.value=r),type:"number",class:"form-control"},e.$attrs),null,16,Us)),[[V,s.value]]):m("",!0),n.unit?(a(),u("div",Hs,[i("div",Gs,v(n.unit),1)])):m("",!0),n.subtype=="password"?(a(),u("div",{key:10,class:"input-group-append clickable",onClick:t[9]||(t[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[i("div",Js,[_(o,{icon:l.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):m("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(a(),u("div",{key:11,class:"input-group-append clickable",onClick:t[10]||(t[10]=r=>s.modify(-1))},[...t[12]||(t[12]=[i("div",{class:"input-group-text"},"-",-1)])])):m("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(a(),u("div",{key:12,class:"input-group-append clickable",onClick:t[11]||(t[11]=r=>s.modify(1))},[...t[13]||(t[13]=[i("div",{class:"input-group-text"},"+",-1)])])):m("",!0),e.$slots.append?(a(),u("div",Ks,[i("div",Zs,[b(e.$slots,"append",{},void 0,!0)])])):m("",!0)])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Ys=y(Ms,[["render",Qs],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),Xs=Object.freeze(Object.defineProperty({__proto__:null,default:Ys},Symbol.toStringTag,{value:"Module"}));C.add(Z,Q);const eo={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:P,FontAwesomeIcon:I},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(e){return["text","json"].indexOf(e)!==-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(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch(t){console.warn("parsing JSON failed: "+e,t),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else this.$emit("update:modelValue",e)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},to={class:"w-100"},no={class:"input-group"},so={class:"input-group-prepend"},oo={class:"input-group-text"},ao=["id"],io=["id"],lo={key:2,class:"input-group-append"},ro={class:"input-group-text"},uo={class:"form-text text-muted text-right"};function co(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",to,[i("div",no,[i("div",so,[i("div",oo,[n.subtype=="text"?(a(),h(o,{key:0,icon:["fas","keyboard"]})):m("",!0),n.subtype=="json"?(a(),h(o,{key:1,icon:["fas","code"]})):m("",!0)])]),n.subtype==="json"?O((a(),u("textarea",S({key:0,id:`${e.uid}-textarea`,ref:"jsonInput","onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),class:"form-control"},e.$attrs),null,16,ao)),[[V,s.value,void 0,{lazy:!0}]]):O((a(),u("textarea",S({key:1,id:`${e.uid}-textarea`,"onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),class:"form-control"},e.$attrs),null,16,io)),[[V,s.value]]),e.$attrs.maxlength?(a(),u("div",lo,[i("div",ro,[i("small",uo,v(s.length)+" / "+v(e.$attrs.maxlength),1)])])):m("",!0)])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const po=y(eo,[["render",co],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),mo=Object.freeze(Object.defineProperty({__proto__:null,default:po},Symbol.toStringTag,{value:"Module"}));const fo={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(e){return["system","client","command"].indexOf(e)!==-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 e={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var t=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var l in e)if(Math.abs(d)>e[l]){this.relativeTime=t.format(Math.round(-d/e[l]),l);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},_o={key:0,class:"time-diff"},bo={class:"toast-body"};function go(e,t,n,d,l,s){return a(),u("div",{class:$(["toast","border-"+n.subtype]),role:"alert"},[i("div",{class:$(["toast-header","bg-"+n.subtype])},[t[2]||(t[2]=i("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(a(),u("small",_o,v(l.relativeTime),1)):m("",!0),i("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:t[0]||(t[0]=(...o)=>s.dismiss&&s.dismiss(...o))},[...t[1]||(t[1]=[i("span",{"aria-hidden":"true"},"×",-1)])])],2),i("div",bo,[b(e.$slots,"default",{},void 0,!0)])],2)}const ho=y(fo,[["render",go],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),vo=Object.freeze(Object.defineProperty({__proto__:null,default:ho},Symbol.toStringTag,{value:"Module"}));C.add(ze);const yo={name:"OpenwbNavBar",components:{FontAwesomeIcon:I},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)}}},wo={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},ko={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},So={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},$o={class:"navbar-nav"},Bo={class:"nav-item"},Oo={class:"nav-item dropdown nav-separator-after"},Co={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Io={class:"nav-item dropdown"},To={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Vo={class:"nav-item dropdown"},Ao={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Mo={class:"nav-item dropdown"},Po={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},qo={class:"nav-item dropdown"},xo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Do={class:"nav-item nav-separator-before"},Eo={class:"nav-link",href:"https://wiki.openwb.de/",target:"_blank"};function Lo(e,t,n,d,l,s){const o=g("router-link"),p=g("font-awesome-icon");return a(),u("nav",wo,[t[31]||(t[31]=i("a",{class:"navbar-brand",href:"/openWB/web/"},[i("span",null,"openWB")],-1)),i("button",ko,[...t[0]||(t[0]=[i("span",{class:"navbar-toggler-icon"},null,-1)])],512),i("div",So,[i("ul",$o,[i("li",Bo,[_(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>[...t[1]||(t[1]=[f(" Status ",-1)])]),_:1})]),i("li",Oo,[t[4]||(t[4]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),i("div",Co,[_(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[2]||(t[2]=[f(" Ladeprotokoll ",-1)])]),_:1}),_(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[3]||(t[3]=[f(" Diagramme ",-1)])]),_:1})])]),i("li",Io,[t[8]||(t[8]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),i("div",To,[_(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[5]||(t[5]=[f(" Allgemein ",-1)])]),_:1}),_(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[6]||(t[6]=[f(" Display ",-1)])]),_:1}),_(o,{to:"/IdentificationConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[7]||(t[7]=[f(" Identifikation ",-1)])]),_:1})])]),i("li",Vo,[t[12]||(t[12]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),i("div",Ao,[_(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[9]||(t[9]=[f(" Übergreifendes ",-1)])]),_:1}),_(o,{to:"/SurplusChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[10]||(t[10]=[f(" Überschuss-Laden ",-1)])]),_:1}),_(o,{to:"/ActiveBatControl",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[11]||(t[11]=[f(" Speichersteuerung ",-1)])]),_:1})])]),i("li",Mo,[t[20]||(t[20]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),i("div",Po,[_(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[13]||(t[13]=[f(" Geräte und Komponenten ",-1)])]),_:1}),_(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[14]||(t[14]=[f(" Lastmanagement ",-1)])]),_:1}),_(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[15]||(t[15]=[f(" Ladepunkte ",-1)])]),_:1}),_(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[16]||(t[16]=[f(" Fahrzeuge ",-1)])]),_:1}),_(o,{to:"/IoConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[17]||(t[17]=[f(" Ein-/Ausgänge ",-1)])]),_:1}),t[18]||(t[18]=i("div",{class:"dropdown-divider"},null,-1)),t[19]||(t[19]=i("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),i("li",qo,[t[29]||(t[29]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),i("div",xo,[_(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[21]||(t[21]=[f(" Einrichtungsassistent ",-1)])]),_:1}),_(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[22]||(t[22]=[f(" openWB Cloud ",-1)])]),_:1}),_(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[23]||(t[23]=[f(" MQTT-Brücken ",-1)])]),_:1}),_(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[24]||(t[24]=[f(" Fehlersuche ",-1)])]),_:1}),_(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[25]||(t[25]=[f(" Support ",-1)])]),_:1}),_(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[26]||(t[26]=[f(" Datenverwaltung ",-1)])]),_:1}),_(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[27]||(t[27]=[f(" System ",-1)])]),_:1}),_(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[28]||(t[28]=[f(" Rechtliches ",-1)])]),_:1})])]),i("li",Do,[i("a",Eo,[t[30]||(t[30]=f(" Wiki ",-1)),_(p,{icon:["fas","external-link-alt"]})])])])],512)])}const Wo=y(yo,[["render",Lo],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const jo={name:"OpenwbPageFooter"},Ro={id:"footer",class:"footer bg-dark text-light font-small"},No={class:"container text-center"};function zo(e,t,n,d,l,s){return a(),u("footer",Ro,[i("div",No,[i("small",null," Du befindest dich hier: Einstellungen / "+v(e.$route.meta.heading),1)])])}const Fo=y(jo,[["render",zo],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]),Uo={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","eco_charging","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(e,t,n=void 0){console.debug("updateState:",e,t,n),this.$store.commit({type:"updateTopic",topic:e,objectPath:n,payload:t})},ac_current2dc_power(e){return parseFloat((e*3*230/1e3).toFixed(0))},dc_power2ac_current(e){return parseFloat((e*1e3/230/3).toFixed(2))},getWildcardIndexList(e,t=!1){let n=e;t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(l=>l.match(n));return d.forEach((l,s,o)=>{o[s]=parseInt(l.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,l)=>({...d,[l]:this.$store.state.mqtt[l]}),{})},formatDate(e,t={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(e).toLocaleDateString(void 0,t)},formatNumber(e,t=0,n=t,d=1){if(!(e==null||isNaN(e)))return e=e*d,e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:n})},formatNumberTopic(e,t=0,n=t,d=1){return this.$store.state.mqtt[e]?this.formatNumber(this.$store.state.mqtt[e],t,n,d):"-"},formatPhaseArrayNumberTopic(e,t=0,n=t,d=1){return this.$store.state.mqtt[e]?this.$store.state.mqtt[e].map(l=>this.formatNumber(l,t,n,d)):["-","-","-"]},translateChargeMode(e){switch(e){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"eco_charging":return"Eco";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",e),e}},getFaultStateSubtype(e){const t=this.$store.state.mqtt[e+"/get/fault_state"];if(t===void 0)return"warning";switch(t){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},ee=y(Uo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(Fe,Ue);const Ho={name:"OpenwbPageMessages",components:{FontAwesomeIcon:I,FontAwesomeLayers:He,FontAwesomeLayersText:Ge},mixins:[ee],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((t,n)=>((t=="light"&&["info","success","warning","danger"].includes(n.type)||t=="info"&&["success","warning","danger"].includes(n.type)||t=="success"&&["warning","danger"].includes(n.type)||t=="warning"&&n.type=="danger")&&(t=n.type),t),"light")},messages(){const e=[];return this.systemMessages.forEach(t=>{e.push(t)}),this.clientMessages.forEach(t=>{e.push(t)}),e.sort(this.compareMessagesByTimestamp),e},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(e=>!this.hiddenMessages.includes(e.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let e=this.getWildcardTopics("openWB/system/messages/+");var t=[];for(const[n,d]of Object.entries(e))t.push({topic:n,...d});return t},clientMessages(){let e=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var t=[];for(const[n,d]of Object.entries(e))t.push({topic:n,...d});return t}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(e,t){return t.timestamp-e.timestamp},clearTopic(e){this.$root.doPublish(e,void 0)},dismissMessage(e){this.clearTopic(e.topic);var t=this.hiddenMessages.indexOf(e.topic);t>-1&&this.hiddenMessages.splice(t,1)},dismissAllMessages(){this.messages.forEach(e=>{this.clearTopic(e.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(e){this.hiddenMessages.includes(e.topic)||this.hiddenMessages.push(e.topic)}}},Go=["innerHTML"];function Jo(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("font-awesome-layers-text"),r=g("font-awesome-layers"),w=g("openwb-base-alert"),B=g("openwb-base-click-button"),x=g("openwb-base-toast");return a(),u(T,null,[(a(),h(H,{to:"body"},[i("div",{id:"message-indicator",class:$(["text-light mt-1 p-2 mr-1 clickable",l.showAllMessages?"active":""]),onClick:t[0]||(t[0]=(...D)=>s.toggleAllMessages&&s.toggleAllMessages(...D))},[_(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[_(o,{icon:l.showAllMessages?["fas","bell"]:["far","bell"],class:$(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(a(),h(p,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):m("",!0)]),_:1})],2)])),s.recentMessages.length>0||l.showAllMessages?(a(),u("div",{key:0,class:$(["openwb-toast-container",l.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(a(),h(w,{key:0,subtype:"info"},{default:c(()=>[...t[1]||(t[1]=[f(" Keine Nachrichten vorhanden. ",-1)])]),_:1})):l.showAllMessages?(a(),h(B,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>[...t[2]||(t[2]=[f(" Alle Nachrichten löschen ",-1)])]),_:1},8,["onButtonClicked"])):m("",!0),(a(!0),u(T,null,M(s.recentMessages,D=>(a(),h(x,{key:D.topic,topic:D.topic,source:D.source,subtype:D.type,timestamp:D.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[i("span",{innerHTML:D.message},null,8,Go)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):m("",!0)],64)}const Ko=y(Ho,[["render",Jo],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),Zo={name:"OpenwbPageBlocker",mixins:[ee],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(e){e=="reload"?location.reload():console.warn("unknown event",e)}}},Qo={class:"openwb-blocker"},Yo={key:0},Xo={key:1},ea={key:2},ta={key:3};function na(e,t,n,d,l,s){const o=g("openwb-base-modal-dialog");return a(),u("div",Qo,[_(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:t[0]||(t[0]=p=>s.handleModalResult(p))},{default:c(()=>[s.bootInProgress?(a(),u("p",Yo,"Der Systemstart ist noch nicht abgeschlossen.")):m("",!0),s.updateInProgress?(a(),u("p",Xo,"Es wird eine Systemaktualisierung ausgeführt.")):m("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(a(),u("p",ea,"Bitte die Seite neu laden.")):(a(),u("p",ta,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const sa=y(Zo,[["render",na],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const oa={name:"OpenwbSettingsApp",components:{NavBar:Wo,PageFooter:Fo,Messages:Ko,Blocker:sa},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(e){console.error("mqttClientId error",e);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(e=void 0){function t(d){return new Promise(l=>setTimeout(l,d))}this.$store.state.local.savingData=!0;let n={};e===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(e)?e.forEach(d=>{console.debug("adding topic to save:",d),n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof e);for(const[d,l]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,l),this.doPublish(s,l),await t(100)}this.$store.state.local.savingData=!1},resetValues(e=this.topicList){console.debug("resetting values..."),console.debug("topics: ",e),this.doUnsubscribe(e),this.doSubscribe(e)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(e){console.debug("sendCommand:",e),this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},createConnection(){const{protocol:e,host:t,port:n,endpoint:d,...l}=this.connection,s=`${e}://${t}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=de.connect(s,l)}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,p)=>{if(p.toString().length>0){let r;try{r=JSON.parse(p.toString())}catch(w){console.debug("Json parsing failed, fallback to string: ",o,w),r=p.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(e){e.forEach(t=>{this.$store.commit("addSubscription",t),this.$store.getters.subscriptionCount(t)==1?(t.includes("#")||t.includes("+")?console.debug("skipping init of wildcard topic:",t):this.$store.commit("addTopic",{topic:t,payload:void 0}),this.client.subscribe(t,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",t)})},doUnsubscribe(e){e.forEach(t=>{this.$store.commit("removeSubscription",t),this.$store.getters.subscriptionCount(t)==0?(this.client.unsubscribe(t,n=>{n&&console.error("Unsubscribe error",n)}),t.includes("#")||t.includes("+")?(console.debug("expanding wildcard topic:",t),Object.keys(this.getWildcardTopics(t)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",t),this.$store.commit("removeTopic",t))):console.debug("Still subscribed to topic: ",t)})},doPublish(e,t,n=!0,d=2){let l={qos:d,retain:n};this.client.publish(e,JSON.stringify(t),l,s=>{s&&console.error("Publish error",s)})},postClientMessage(e,t="secondary"){console.debug("postMessage:",e,t);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:e,type:t,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,l)=>({...d,[l]:this.$store.state.mqtt[l]}),{})}}},aa={role:"main",class:"container"},ia={id:"content"};function la(e,t,n,d,l,s){const o=g("nav-bar"),p=g("router-view"),r=g("page-footer"),w=g("messages"),B=g("blocker");return a(),u(T,null,[i("header",null,[_(o)]),i("div",aa,[i("div",ia,[i("h1",null,v(e.$route.meta.heading),1),_(p,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])])]),_(r),_(w),_(B)],64)}const ra=y(oa,[["render",la],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),da="modulepreload",ua=function(e){return"/openWB/web/settings/"+e},U={},k=function(t,n,d){if(!n||n.length===0)return t();const l=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=ua(s),s in U)return;U[s]=!0;const o=s.endsWith(".css"),p=o?'[rel="stylesheet"]':"";if(!!d)for(let B=l.length-1;B>=0;B--){const x=l[B];if(x.href===s&&(!o||x.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${p}`))return;const w=document.createElement("link");if(w.rel=o?"stylesheet":da,o||(w.as="script",w.crossOrigin=""),w.href=s,document.head.appendChild(w),o)return new Promise((B,x)=>{w.addEventListener("load",B),w.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},ca={namespaced:!0,state:()=>({hiddenDatasets:[]}),mutations:{toggleDataset(e,t){e.hiddenDatasets.includes(t)?e.hiddenDatasets=e.hiddenDatasets.filter(n=>n!==t):e.hiddenDatasets.push(t)},setHiddenDatasets(e,t){e.hiddenDatasets=t}}};let te={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1}};te.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",color1:"#ff0000",color2:"#0000ff",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"],ioConfig:{active:!1,pattern:[null,!1,!0],action:{value:"stop_all",options:null}}};const W=ue({state:te,mutations:{storeLocal(e,t){e.local[t.name]=t.value},addTopic(e,t){Object.keys(e.mqtt).includes(t.topic)?console.warn("topic already exists: ",t.topic):e.mqtt[t.topic]=t.payload},removeTopic(e,t){delete e.mqtt[t]},updateTopic(e,t){const n=(d,l,s)=>l.split(".").reduce((o,p,r)=>o[p]=l.split(".").length===++r?s:o[p]||{},d);t.topic in e.mqtt||!(t.topic in e.examples)?t.objectPath!=null?n(e.mqtt[t.topic],t.objectPath,t.payload):e.mqtt[t.topic]=t.payload:(console.debug("topic not found in state.mqtt: ",t.topic),t.topic in e.examples?t.objectPath!=null?n(e.examples[t.topic],t.objectPath,t.payload):e.examples[t.topic]=t.payload:console.warn("topic not found in state: ",t.topic," giving up"))},addSubscription(e,t){t in e.mqttSubscriptions?e.mqttSubscriptions[t]+=1:e.mqttSubscriptions[t]=1,console.debug("subscription count: ",t,e.mqttSubscriptions[t])},removeSubscription(e,t){t in e.mqttSubscriptions&&(e.mqttSubscriptions[t]-=1,e.mqttSubscriptions[t]<=0&&delete e.mqttSubscriptions[t])}},actions:{},modules:{chartLegend:ca},getters:{usageTermsAcknowledged(e){return new Promise(t=>{if(e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)t(e.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),t(!1)},5e3),d=setInterval(()=>{e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),t(e.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(e){return new Promise(t=>{if(e.mqtt["openWB/system/installAssistantDone"]!==void 0)t(e.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),t(!1)},5e3),d=setInterval(()=>{e.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),t(e.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:e=>t=>e.mqttSubscriptions[t]||0}}),ne=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>k(()=>import("./Status-cc2ce464.js"),["assets/Status-cc2ce464.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-93e80b58.js","assets/vendor-luxon-cc86f6dc.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/Status-de4dd900.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>k(()=>import("./ChargeLog-12d972c5.js"),["assets/ChargeLog-12d972c5.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>k(()=>import("./Chart-ccf0c887.js"),["assets/Chart-ccf0c887.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-93e80b58.js","assets/vendor-luxon-cc86f6dc.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/Chart-053df185.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>k(()=>import("./GeneralConfig-8c10c8b4.js").then(e=>e.a),["assets/GeneralConfig-8c10c8b4.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/IdentificationConfig",name:"IdentificationConfig",meta:{heading:"Einstellungen - Identifikation"},component:()=>k(()=>import("./IdentificationConfig-77eaeeb9.js"),["assets/IdentificationConfig-77eaeeb9.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Display"},component:()=>k(()=>import("./OptionalComponents-53748c6f.js").then(e=>e.O),["assets/OptionalComponents-53748c6f.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>k(()=>import("./GeneralChargeConfig-eb4e97fc.js").then(e=>e.a),["assets/GeneralChargeConfig-eb4e97fc.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css"])},{path:"/SurplusChargeConfig",name:"SurplusChargeConfig",meta:{heading:"Ladeeinstellungen - Überschuss-Laden"},component:()=>k(()=>import("./SurplusChargeConfig-36b25e12.js"),["assets/SurplusChargeConfig-36b25e12.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/ActiveBatControl",name:"ActiveBatControl",meta:{heading:"Ladeeinstellungen - Speichersteuerung"},component:()=>k(()=>import("./ActiveBatControl-c0d57ac2.js"),["assets/ActiveBatControl-c0d57ac2.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>k(()=>import("./HardwareInstallation-99f8d83a.js").then(e=>e.a),["assets/HardwareInstallation-99f8d83a.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>k(()=>import("./LoadManagementConfig-d3c3da5c.js"),["assets/LoadManagementConfig-d3c3da5c.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/OpenwbSortableList-ca37615e.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>k(()=>import("./ChargePointInstallation-9dd020bc.js").then(e=>e.c),["assets/ChargePointInstallation-9dd020bc.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.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:()=>k(()=>import("./VehicleConfig-2de1808b.js").then(e=>e.b),["assets/VehicleConfig-2de1808b.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/IoConfiguration",name:"IoConfiguration",meta:{heading:"Konfiguration - Ein- und Ausgänge"},component:()=>k(()=>import("./IoConfig-fbc082e3.js").then(e=>e.b),["assets/IoConfig-fbc082e3.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>k(()=>import("./CloudConfig-9f394e87.js"),["assets/CloudConfig-9f394e87.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>k(()=>import("./MqttBridgeConfig-f6b9cf62.js"),["assets/MqttBridgeConfig-f6b9cf62.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>k(()=>import("./DebugConfig-a8acdcbf.js"),["assets/DebugConfig-a8acdcbf.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-axios-8e1a46ae.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>k(()=>import("./Support-4d3979ac.js"),["assets/Support-4d3979ac.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>k(()=>import("./LegalSettings-bf67a315.js"),["assets/LegalSettings-bf67a315.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>k(()=>import("./System-6cef44b5.js"),["assets/System-6cef44b5.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js","assets/System-f301c290.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>k(()=>import("./DataManagement-9f7405c3.js").then(e=>e.a),["assets/DataManagement-9f7405c3.js","assets/vendor-fortawesome-77ba272b.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>k(()=>import("./InstallAssistant-7f2c7ca1.js"),["assets/InstallAssistant-7f2c7ca1.js","assets/dynamic-import-helper-be004503.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])}];ne.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>k(()=>import("./TestingStore-aa7d175d.js"),["assets/TestingStore-aa7d175d.js","assets/OpenwbSortableList-ca37615e.js","assets/vendor-1833c026.js","assets/vendor-sortablejs-5493eb90.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-77ba272b.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-4e7ebeee.js","assets/vendor-jquery-1765c81b.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-8e1a46ae.js"])});const R=ce({history:pe(),routes:ne});R.beforeEach(async e=>{if(await W.getters.usageTermsAcknowledged){if(!await W.getters.installAssistantDone&&e.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(e.name!=="LegalSettings")return{name:"LegalSettings"}});R.afterEach(e=>{e.meta.heading?document.title="openWB | "+e.meta.heading:document.title="openWB"});const N=me(ra);N.use(W).use(R).use(Je,Ke);const pa=Object.assign({"./components/OpenwbBaseAlert.vue":Xe,"./components/OpenwbBaseArrayInput.vue":ht,"./components/OpenwbBaseAvatar.vue":St,"./components/OpenwbBaseButtonGroupInput.vue":qt,"./components/OpenwbBaseButtonInput.vue":Nt,"./components/OpenwbBaseButtonRow.vue":Tt,"./components/OpenwbBaseCard.vue":Yt,"./components/OpenwbBaseCheckboxInput.vue":on,"./components/OpenwbBaseClickButton.vue":Lt,"./components/OpenwbBaseColorPicker.vue":cn,"./components/OpenwbBaseCopyToClipboard.vue":yn,"./components/OpenwbBaseHeading.vue":In,"./components/OpenwbBaseIoPattern.vue":Mn,"./components/OpenwbBaseModalDialog.vue":Rn,"./components/OpenwbBaseNumberInput.vue":Xn,"./components/OpenwbBaseRangeInput.vue":ds,"./components/OpenwbBaseSelectInput.vue":Ss,"./components/OpenwbBaseSettingElement.vue":at,"./components/OpenwbBaseSubmitButtons.vue":As,"./components/OpenwbBaseTextInput.vue":Xs,"./components/OpenwbBaseTextarea.vue":mo,"./components/OpenwbBaseToast.vue":vo});Object.entries(pa).forEach(([e,t])=>{const n=fe(_e(e.split("/").pop().replace(/\.\w+$/,"")));N.component(n,t.default)});N.mount("#app");export{ee as C,P as O,k as _}; +import{_ as y,l as a,m as u,p as b,q as $,u as g,x as h,y as E,z as m,A as i,B as f,D as A,E as c,F as v,G as _,I as O,J as V,K as S,L as se,M,N as T,O as oe,P as ae,Q as ie,R as le,T as H,S as re,U as z,V as de,W as ue,X as ce,Y as pe,Z as me,$ as fe,a0 as _e}from"./vendor-50125810.js";import{l as C,f as G,a as J,F as I,b as be,c as ge,d as K,e as he,g as j,h as ve,i as ye,j as we,k as ke,m as Se,n as $e,o as Be,p as Oe,q as Ce,r as Ie,s as Te,t as Ve,u as Ae,v as Me,w as Z,x as Pe,y as qe,z as xe,A as De,B as Q,C as Ee,D as Le,E as We,G as je,H as Re,I as Ne,J as ze,K as Fe,L as Ue,M as He,N as Ge}from"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import{p as Je,a as Ke}from"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./vendor-jquery-a46fe321.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))d(l);new MutationObserver(l=>{for(const s of l)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(l){const s={};return l.integrity&&(s.integrity=l.integrity),l.referrerPolicy&&(s.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?s.credentials="include":l.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}})();const Ze={name:"OpenwbAlert",props:{subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}}};function Qe(e,t,n,d,l,s){return a(),u("div",{class:$(["card-text alert","alert-"+n.subtype])},[b(e.$slots,"default",{},void 0,!0)],2)}const Ye=y(Ze,[["render",Qe],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:Ye},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const et={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:I},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},tt={key:0,class:"col-md-4 col-form-label"},nt={class:"form-row"},st={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function ot(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",{class:$(["form-row",e.$slots.title?"mb-1":"mx-0"])},[e.$slots.title?(a(),u("div",tt,[b(e.$slots,"title",{},void 0,!0),e.$slots.help?(a(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:$(["clickable ml-1",l.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):m("",!0)])):m("",!0),i("div",{class:$(e.$slots.title?"col-md-8":"col px-0")},[i("div",{class:$({"form-row":e.$slots.title})},[b(e.$slots,"default",{},()=>[t[0]||(t[0]=f("*ELEMENT MISSING*",-1))],!0)],2),i("div",nt,[l.showHelp?(a(),u("span",st,[b(e.$slots,"help",{},void 0,!0)])):m("",!0)])],2)],2)}const P=y(et,[["render",ot],["__scopeId","data-v-33864f66"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),at=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"})),it={name:"BaseSettingComponents",data(){return{uid:Math.random().toString(36).substring(2,15)}}},q=y(it,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/BaseSettingComponents.vue"]]);C.add(be,ge,K,he);const lt={name:"OpenwbArrayInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."},readonly:{type:Boolean,default:()=>!1}},emits:["update:modelValue"],data(){return{newTag:""}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},newTagValid:{get(){var e;return this.newTag.length>0&&!this.value.includes(this.newTag)&&((e=this.$refs.tagInput)==null?void 0:e.checkValidity())}}},methods:{addTag(){if(this.newTagValid){const e=[...this.value,this.newTag].sort();this.value=e,this.newTag=""}this.$refs.tagInput.focus()},removeTag(e){let t=[...this.value];t.splice(e,1),this.value=t}}},rt={key:0,class:"w-100"},dt={class:"input-group"},ut={class:"input-group-prepend"},ct={class:"input-group-text"},pt=["id"],mt={class:"input-group-append"},ft={class:"tagList mt-1 w-100"},_t={key:0,class:"noTag"};function bt(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[n.readonly?m("",!0):(a(),u("div",rt,[i("div",dt,[i("div",ut,[i("div",ct,[b(e.$slots,"input-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0)])]),O(i("input",S({id:`${e.uid}-tag-input`,ref:"tagInput","onUpdate:modelValue":t[0]||(t[0]=r=>l.newTag=r),type:"text",class:"form-control"},e.$attrs,{onKeyup:t[1]||(t[1]=se((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16,pt),[[V,l.newTag]]),i("div",mt,[i("div",{class:$(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:t[2]||(t[2]=(...r)=>s.addTag&&s.addTag(...r))},[b(e.$slots,"input-add",{},()=>[_(o,{icon:["fas","plus"]})],!0)],2)])])])),i("div",ft,[s.value.length==0?(a(),u("span",_t,[_(o,{icon:["fas","info-circle"]}),f(" "+v(n.noElementsMessage),1)])):m("",!0),(a(!0),u(T,null,M(s.value,(r,w)=>(a(),u("span",{key:w,class:"tag"},[b(e.$slots,"element-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0),f(" "+v(r)+" ",1),n.readonly?m("",!0):(a(),h(o,{key:0,class:"clickable remove-element",icon:["fas","times-circle"],onClick:B=>s.removeTag(w)},null,8,["onClick"]))]))),128))])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const gt=y(lt,[["render",bt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ht=Object.freeze(Object.defineProperty({__proto__:null,default:gt},Symbol.toStringTag,{value:"Module"}));const vt={name:"OpenwbAvatar"},yt={class:"avatar"};function wt(e,t,n,d,l,s){return a(),u("div",yt,[b(e.$slots,"default",{},()=>[t[0]||(t[0]=f("?",-1))],!0)])}const kt=y(vt,[["render",wt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),St=Object.freeze(Object.defineProperty({__proto__:null,default:kt},Symbol.toStringTag,{value:"Module"}));C.add(j);const $t={name:"OpenwbButtonRow",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{buttons:{type:Array,required:!0},modelValue:{type:[String,Number,Boolean],default:null},disabled:{type:Boolean,default:!1},uid:{type:String,required:!0}},emits:["update:modelValue","button-click"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},Bt={class:"btn-group btn-block btn-group-toggle"},Ot=["for"],Ct=["id","value","disabled","onClick"];function It(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",Bt,[(a(!0),u(T,null,M(n.buttons,p=>(a(),u("label",{key:p.buttonValue,class:$(["btn btn-same-size btn-centered",[{active:n.modelValue===p.buttonValue},{disabled:n.disabled},p.class?p.class:"btn-outline-info"]]),for:`${n.uid}-${p.buttonValue}`},[i("span",null,[O(i("input",S({id:`${n.uid}-${p.buttonValue}`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"radio",value:p.buttonValue},{ref_for:!0},e.$attrs,{disabled:n.disabled,onClick:r=>e.$emit("button-click",p.buttonValue)}),null,16,Ct),[[oe,s.value]]),b(e.$slots,"label-"+p.buttonValue,{},()=>[f(v(p.text),1)],!0),t[1]||(t[1]=i("span",null," ",-1)),_(o,{icon:["fas","check"],style:ae([s.value==p.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])])],10,Ot))),128))])}const Y=y($t,[["render",It],["__scopeId","data-v-4bd221b6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonRow.vue"]]),Tt=Object.freeze(Object.defineProperty({__proto__:null,default:Y},Symbol.toStringTag,{value:"Module"}));const Vt={name:"OpenwbButtonGroupInput",components:{OpenwbBaseSettingElement:P,OpenwbBaseButtonRow:Y},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0},disabled:{type:Boolean,required:!1,default:!1},maxButtonsPerRow:{type:Number,default:Number.POSITIVE_INFINITY}},emits:["update:modelValue","button-click"],data(){return{containerWidth:0}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},maxButtonsPerRowAuto(){return this.containerWidth<=200?1:this.containerWidth<=360?2:this.containerWidth<=550?3:1/0},buttonRows(){const e=[];for(let t=0;t[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",At,[(a(!0),u(T,null,M(s.buttonRows,(r,w)=>(a(),h(o,S({key:w,buttons:r,uid:e.uid,"model-value":s.value,disabled:n.disabled},{ref_for:!0},e.$attrs,{"onUpdate:modelValue":t[0]||(t[0]=B=>s.value=B),onButtonClick:t[1]||(t[1]=B=>e.$emit("button-click",B))}),A({_:2},[M(r,B=>({name:`label-${B.buttonValue}`,fn:c(x=>[b(e.$slots,`label-${B.buttonValue}`,S({ref_for:!0},x),void 0,!0)])}))]),1040,["buttons","uid","model-value","disabled"]))),128))],512)]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Pt=y(Vt,[["render",Mt],["__scopeId","data-v-31e583df"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),qt=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"}));const xt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""},tooltip:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(e){this.$emit("buttonClicked",e)}}},Dt=["title"];function Et(e,t,n,d,l,s){return a(),u("button",{type:"button",class:"btn btn-block",title:n.tooltip,onClick:t[0]||(t[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[b(e.$slots,"default",{},()=>[f(v(n.title),1)],!0)],8,Dt)}const X=y(xt,[["render",Et],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"})),Wt={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:P,OpenwbBaseClickButton:X},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(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(e){this.$emit("buttonClicked",e)}}};function jt(e,t,n,d,l,s){const o=g("openwb-base-click-button"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[_(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},e.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[f(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const Rt=y(Wt,[["render",jt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),Nt=Object.freeze(Object.defineProperty({__proto__:null,default:Rt},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const zt={name:"OpenwbCard",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"secondary"},bodyBg:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},emits:["collapsed","expanded"],data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed,this.$emit(this.isCollapsed?"collapsed":"expanded"))}}},Ft={class:"form-group mb-0"},Ut={class:"form-row vaRow mb-0 py-2"},Ht={class:"col"},Gt={class:"card-actions ml-4"},Jt={key:0,class:"card-actions mr-2"},Kt={key:2,class:"card-footer"};function Zt(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",{class:$(["card","border-"+n.subtype])},[n.title!==void 0||e.$slots.header?(a(),u("div",{key:0,class:$(["card-header py-1","bg-"+n.subtype]),onClick:t[0]||(t[0]=(...p)=>s.toggleBody&&s.toggleBody(...p))},[i("div",Ft,[i("div",Ut,[i("div",Ht,[b(e.$slots,"header",{collapsed:l.isCollapsed},()=>[f(v(n.title),1)],!0)])])]),i("div",Gt,[e.$slots.actions?(a(),u("div",Jt,[b(e.$slots,"actions",{collapsed:l.isCollapsed},void 0,!0)])):m("",!0),n.collapsible?(a(),h(o,{key:1,icon:l.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):m("",!0)])],2)):m("",!0),l.isCollapsed===!1?(a(),u("div",S({key:1,class:["card-body",[n.title==null&&!e.$slots.header?"border-radius-top-inherit":"",e.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},e.$attrs),[b(e.$slots,"default",{},void 0,!0)],16)):m("",!0),e.$slots.footer&&l.isCollapsed===!1?(a(),u("div",Kt,[b(e.$slots,"footer",{},void 0,!0)])):m("",!0)],2)}const Qt=y(zt,[["render",Zt],["__scopeId","data-v-9833c353"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Yt=Object.freeze(Object.defineProperty({__proto__:null,default:Qt},Symbol.toStringTag,{value:"Module"})),Xt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},en={class:"col-md-8"},tn=["id"];function nn(e,t,n,d,l,s){const o=g("openwb-base-setting-element");return a(),h(o,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[i("div",en,[O(i("input",S({id:`${e.uid}-checkbox-input`,"onUpdate:modelValue":t[0]||(t[0]=p=>s.value=p),class:"form-control",type:"checkbox"},e.$attrs),null,16,tn),[[ie,s.value]])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const sn=y(Xt,[["render",nn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),on=Object.freeze(Object.defineProperty({__proto__:null,default:sn},Symbol.toStringTag,{value:"Module"}));C.add(we);const an={name:"OpenwbColorPicker",components:{FontAwesomeIcon:I},mixins:[q],props:{defaultColor:{type:String,required:!1,default:void 0,validator:e=>/^#[0-9A-F]{6}$/i.test(e)},modelValue:{type:String,required:!1,default:"#000000",validator:e=>/^#[0-9A-F]{6}$/i.test(e)}},emits:["update:model-value"],methods:{changed(e){this.$emit("update:model-value",e)}}},ln={class:"wrapper"},rn=["id","value","title"];function dn(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("div",ln,[i("input",{id:`${e.uid}-color-input`,type:"color",class:"custom-color-picker",value:n.modelValue,title:`Farbe: ${n.modelValue}`,onInput:t[0]||(t[0]=p=>s.changed(p.target.value))},null,40,rn),n.defaultColor?(a(),h(o,{key:0,class:"ml-1 clickable",icon:["fas","rotate-left"],title:`Zurücksetzen auf Standardfarbe (${n.defaultColor})`,onClick:t[1]||(t[1]=p=>s.changed(n.defaultColor))},null,8,["title"])):m("",!0)])}const un=y(an,[["render",dn],["__scopeId","data-v-1378b599"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseColorPicker.vue"]]),cn=Object.freeze(Object.defineProperty({__proto__:null,default:un},Symbol.toStringTag,{value:"Module"}));const{text:F,copy:pn,copied:mn,isSupported:fn}=le({copiedDuring:3e3,legacy:!0});C.add(ke,Se);const _n={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:I},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{}},computed:{contentText(){return this.$refs.content?this.$refs.content.innerText.trim():""},isCopied(){return mn.value&&F.value===this.contentText},copySupported(){return fn.value}},methods:{click(){this.copySupported&&pn(this.contentText).then(()=>{console.debug("Text copied to clipboard:",F.value)}).catch(e=>{console.error("Failed to copy text to clipboard:",e)})}}},bn=["title"],gn={ref:"content"};function hn(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u("span",{title:s.copySupported&&!s.isCopied?n.tooltip:"",class:$({"copy-me":s.copySupported&&!s.isCopied}),onClick:t[0]||(t[0]=E((...p)=>s.click&&s.click(...p),["stop"]))},[i("span",gn,[b(e.$slots,"default",{},void 0,!0)],512),s.copySupported?(a(),h(o,{key:0,class:"ml-1",icon:s.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])):m("",!0)],10,bn)}const vn=y(_n,[["render",hn],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),yn=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"}));C.add(G,J,j);const wn={name:"OpenwbHeading",components:{FontAwesomeIcon:I},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},kn={class:"heading-text"},Sn={key:0,class:"actions"},$n={class:""},Bn={key:0,class:"form-row alert alert-info small flex-fill"};function On(e,t,n,d,l,s){const o=g("font-awesome-icon");return a(),u(T,null,[i("div",S({class:"card-text card-text-heading"},e.$attrs),[i("div",kn,[b(e.$slots,"default",{},void 0,!0),e.$slots.help?(a(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:$(["clickable",l.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):m("",!0)]),e.$slots.actions?(a(),u("span",Sn,[b(e.$slots,"actions",{},void 0,!0)])):m("",!0)],16),i("div",$n,[l.showHelp?(a(),u("span",Bn,[b(e.$slots,"help",{},void 0,!0)])):m("",!0)])],64)}const Cn=y(wn,[["render",On],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),In=Object.freeze(Object.defineProperty({__proto__:null,default:Cn},Symbol.toStringTag,{value:"Module"}));C.add($e,Be,Oe,Ce);const L={null:{value:null,icon:["fas","question"],iconClass:"text-secondary",title:"Nicht relevant",nextValue:!0},true:{value:!0,icon:["fas","square"],iconClass:"",title:"Geschlossen",nextValue:!1},false:{value:!1,icon:["far","square"],iconClass:"",title:"Offen",nextValue:null}},Tn={name:"OpenwbIoPattern",components:{FontAwesomeIcon:I},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:()=>[]}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{getIcon(e){return L[e].icon},getIconClass(e){return L[e].iconClass},getTitle(e){return L[e].title},toggleInput(e,t){this.value[e]=L[t].nextValue}}};function Vn(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[(a(!0),u(T,null,M(s.value,(r,w)=>(a(),u("span",{key:w},[_(o,{title:s.getTitle(r),icon:s.getIcon(r),class:$([s.getIconClass(r),"fa-fw clickable"]),size:"2x",transform:r=="undefined"?"shrink-6":null,mask:r=="undefined"?["fas","square"]:null,onClick:E(B=>s.toggleInput(w,r),["stop","prevent"]),onMousedown:t[0]||(t[0]=E(()=>{},["stop","prevent"])),onMouseup:t[1]||(t[1]=E(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128))]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const An=y(Tn,[["render",Vn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseIoPattern.vue"]]),Mn=Object.freeze(Object.defineProperty({__proto__:null,default:An},Symbol.toStringTag,{value:"Module"})),Pn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(e){return["around","between","center","end","start"].indexOf(e)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var e=[];return this.buttons!==void 0&&(e=this.buttons),this.preventClose||e.push({text:"Schließen",event:"close"}),e}},methods:{handleClick(e){e.stopPropagation();let t=e.target.getAttribute("data-event");t===null&&(t="close"),(t!="close"||!this.preventClose)&&this.$emit("modal-result",t)}}},qn={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},xn={class:"modal-content"},Dn={class:"modal-title"},En={class:"modal-body"},Ln=["data-event"];function Wn(e,t,n,d,l,s){return n.show?(a(),h(H,{key:0,to:"body"},[t[4]||(t[4]=i("div",{class:"modal-backdrop fade show"},null,-1)),i("div",{class:"modal fade d-block show",role:"dialog",onClick:t[2]||(t[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[i("div",qn,[i("div",xn,[i("div",{class:$(["modal-header","bg-"+n.subtype])},[i("h4",Dn,v(n.title),1),n.preventClose?m("",!0):(a(),u("button",{key:0,type:"button",class:"close",onClick:t[0]||(t[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),i("div",En,[b(e.$slots,"default",{},()=>[t[3]||(t[3]=f("# Body #",-1))])]),s.myButtons.length>0?(a(),u("div",{key:0,class:$(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(a(!0),u(T,null,M(s.myButtons,o=>(a(),u("button",{key:o.text,type:"button",class:$(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:t[1]||(t[1]=(...p)=>s.handleClick&&s.handleClick(...p))},v(o.text),11,Ln))),128))],2)):m("",!0)])])])])):m("",!0)}const jn=y(Pn,[["render",Wn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),Rn=Object.freeze(Object.defineProperty({__proto__:null,default:jn},Symbol.toStringTag,{value:"Module"}));C.add(Ie);const Nn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],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(e){(isNaN(e)||typeof e!="number")&&(e=this.emptyValue),this.$emit("update:modelValue",e)}}}},zn={class:"input-group"},Fn={class:"input-group-prepend"},Un={class:"input-group-text"},Hn=["id"],Gn={key:0,class:"input-group-append"},Jn={class:"input-group-text"},Kn={key:1,class:"input-group-append"},Zn={class:"input-group-text p-0"};function Qn(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",zn,[i("div",Fn,[i("div",Un,[_(o,{icon:["fas","calculator"]})])]),O(i("input",S({id:`${e.uid}-number-input`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"number",class:"form-control"},e.$attrs),null,16,Hn),[[V,s.value,void 0,{number:!0}]]),n.unit?(a(),u("div",Gn,[i("div",Jn,v(n.unit),1)])):m("",!0),e.$slots.append?(a(),u("div",Kn,[i("div",Zn,[b(e.$slots,"append",{},void 0,!0)])])):m("",!0)])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Yn=y(Nn,[["render",Qn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),Xn=Object.freeze(Object.defineProperty({__proto__:null,default:Yn},Symbol.toStringTag,{value:"Module"}));C.add(Te,Ve);const es={name:"OpenwbRangeInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],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 e;return this.labels&&this.sliderValue!=null?this.sliderValue[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",ts,[i("div",ns,[s.label?(a(),u("label",{key:0,class:"col-2 pl-0 col-form-label valueLabel",for:`${e.uid}-button`},v(s.label),9,ss)):m("",!0),i("button",{id:`${e.uid}-button`,class:"col-1 btn btn-block btn-info",type:"button",onClick:t[0]||(t[0]=(...r)=>s.decrement&&s.decrement(...r))},[_(o,{icon:["fas","step-backward"]})],8,os),i("div",as,[O(i("input",S({"onUpdate:modelValue":t[1]||(t[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},e.$attrs),null,16,is),[[V,s.sliderValue,void 0,{number:!0}]])]),i("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[2]||(t[2]=(...r)=>s.increment&&s.increment(...r))},[_(o,{icon:["fas","step-forward"]})])])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const rs=y(es,[["render",ls],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),ds=Object.freeze(Object.defineProperty({__proto__:null,default:rs},Symbol.toStringTag,{value:"Module"}));C.add(K);const us={name:"OpenwbSelectInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:void 0},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},emptyValue:{type:[String,Number,Array],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(e){this.$emit("update:modelValue",e)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},cs={class:"w-100"},ps={class:"input-group"},ms={key:0,class:"input-group-prepend"},fs={class:"input-group-text"},_s=["id"],bs=["value"],gs=["value"],hs=["label"],vs=["value"],ys={key:1,class:"input-group-append"};function ws(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({default:c(()=>[i("div",cs,[i("div",ps,[e.$slots.prefix?(a(),u("div",ms,[i("div",fs,[b(e.$slots,"prefix")])])):m("",!0),O(i("select",S({id:`${e.uid}-select`,"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),class:"col form-control"},e.$attrs),[n.notSelected!==void 0?(a(),u("option",{key:0,value:n.emptyValue,disabled:""}," -- "+v(n.notSelected)+" -- ",9,bs)):m("",!0),(a(!0),u(T,null,M(n.options,r=>(a(),u("option",{key:r.value,value:r.value},v(r.text),9,gs))),128)),(a(!0),u(T,null,M(n.groups,r=>(a(),u("optgroup",{key:r.label,label:r.label},[(a(!0),u(T,null,M(r.options,w=>(a(),u("option",{key:w.value,value:w.value},v(w.text),9,vs))),128))],8,hs))),128))],16,_s),[[re,s.value]]),n.addButton?(a(),u("div",ys,[i("div",{class:$(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:t[1]||(t[1]=r=>s.addClicked())},[b(e.$slots,"inputAdd",{},()=>[_(o,{icon:["fas","plus"]})])],2)])):m("",!0)])])]),_:2},[e.$slots.title||n.title?{name:"title",fn:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)])]),key:"0"}:void 0,e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help")]),key:"1"}:void 0]),1024)}const ks=y(us,[["render",ws],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));C.add(j,Ae,Me);const $s={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:I},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(e){this.showModalReset=!1,e=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(e){this.showModalDefaults=!1,e=="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")}}},Bs={class:"row justify-content-center mb-1"},Os={class:"col-md-4 d-flex py-1 justify-content-center"},Cs={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Is={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Ts(e,t,n,d,l,s){const o=g("openwb-base-modal-dialog"),p=g("font-awesome-icon");return a(),u(T,null,[_(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>[...t[3]||(t[3]=[f(" Einstellungen werden gespeichert... ",-1)])]),_:1},8,["show"]),_(o,{show:l.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>[...t[4]||(t[4]=[f(" Willst Du die nicht gespeicherten Änderungen wirklich verwerfen? ",-1)])]),_:1},8,["show","onModalResult"]),_(o,{show:l.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>[...t[5]||(t[5]=[f(" Willst Du wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ",-1)])]),_:1},8,["show","onModalResult"]),i("div",Bs,[i("div",Os,[i("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:t[0]||(t[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[t[6]||(t[6]=f(" Speichern ",-1)),_(p,{icon:["fas","check"]})])]),n.hideReset?m("",!0):(a(),u("div",Cs,[i("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:t[1]||(t[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[t[7]||(t[7]=f(" Änderungen verwerfen ",-1)),_(p,{icon:["fas","undo"]})])])),n.hideDefaults?m("",!0):(a(),u("div",Is,[i("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:t[2]||(t[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[t[8]||(t[8]=f(" Werkseinstellungen ",-1)),_(p,{icon:["fas","times"]})])]))])],64)}const Vs=y($s,[["render",Ts],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),As=Object.freeze(Object.defineProperty({__proto__:null,default:Vs},Symbol.toStringTag,{value:"Module"}));C.add(Z,Pe,qe,xe,De,Q,Ee,Le,We,je,Re,Ne);const Ms={name:"OpenwbTextInput",components:{FontAwesomeIcon:I,OpenwbBaseSettingElement:P},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(e){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(e)!==-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(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch(t){console.error("parsing JSON failed: "+e,t),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else e==""&&(e=this.emptyValue),this.$emit("update:modelValue",e)}},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},hostPattern(){return"(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)|(^(?=.*[a-zA-Z].*$)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])$)|(^((?=[^.]*[a-zA-Z][^.]*\\.)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]\\.))+((?=[^.]*[a-zA-Z].*$)([a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]))$)"}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(e){var t,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+e),t=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}t>this.inputRef.max||t[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",Ps,[i("div",qs,[i("div",xs,[i("div",Ds,[n.subtype=="text"?(a(),h(o,{key:0,icon:["fas","keyboard"]})):m("",!0),n.subtype=="email"?(a(),h(o,{key:1,icon:["fas","envelope"]})):m("",!0),n.subtype=="host"?(a(),h(o,{key:2,icon:["fas","network-wired"]})):m("",!0),n.subtype=="url"?(a(),h(o,{key:3,icon:["fas","globe"]})):m("",!0),n.subtype=="user"?(a(),h(o,{key:4,icon:["fas","user"]})):m("",!0),n.subtype=="json"?(a(),h(o,{key:5,icon:["fas","code"]})):m("",!0),n.subtype=="password"?(a(),h(o,{key:6,icon:l.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):m("",!0),n.subtype=="time"?(a(),h(o,{key:7,icon:["fas","clock"]})):m("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(a(),h(o,{key:8,icon:["fas","calendar-day"]})):m("",!0)])]),["text","user"].includes(n.subtype)?O((a(),u("input",S({key:0,id:`${e.uid}-text-input`,ref:"textInput","onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:l.inputInvalid}]},e.$attrs,{pattern:n.pattern}),null,16,Es)),[[V,s.value]]):m("",!0),n.subtype=="json"?O((a(),u("input",S({key:1,id:`${e.uid}-json-input`,ref:"jsonInput","onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),type:"text",class:"form-control"},e.$attrs,{pattern:n.pattern}),null,16,Ls)),[[V,s.value]]):m("",!0),n.subtype=="password"?O((a(),u("input",S({key:2,id:`${e.uid}-password-input`,ref:"passwordInput","onUpdate:modelValue":t[2]||(t[2]=r=>s.value=r),type:l.showPassword?"text":"password",class:"form-control"},e.$attrs,{pattern:n.pattern}),null,16,Ws)),[[z,s.value]]):m("",!0),n.subtype=="host"?O((a(),u("input",S({key:3,id:`${e.uid}-host-input`,ref:"hostInput","onUpdate:modelValue":t[3]||(t[3]=r=>s.value=r),type:"text",class:"form-control"},e.$attrs,{pattern:s.hostPattern}),null,16,js)),[[V,s.value]]):m("",!0),["email","url"].includes(n.subtype)?O((a(),u("input",S({key:4,id:`${e.uid}-url-input`,"onUpdate:modelValue":t[4]||(t[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},e.$attrs),null,16,Rs)),[[z,s.value]]):m("",!0),n.subtype=="time"?O((a(),u("input",S({key:5,id:`${e.uid}-time-input`,ref:"timeInput","onUpdate:modelValue":t[5]||(t[5]=r=>s.value=r),type:"time",class:"form-control"},e.$attrs),null,16,Ns)),[[V,s.value]]):m("",!0),n.subtype=="date"?O((a(),u("input",S({key:6,id:`${e.uid}-date-input`,ref:"dateInput","onUpdate:modelValue":t[6]||(t[6]=r=>s.value=r),type:"date",class:"form-control"},e.$attrs),null,16,zs)),[[V,s.value]]):m("",!0),n.subtype=="month"?O((a(),u("input",S({key:7,id:`${e.uid}-month-input`,ref:"monthInput","onUpdate:modelValue":t[7]||(t[7]=r=>s.value=r),type:"month",class:"form-control"},e.$attrs),null,16,Fs)),[[V,s.value]]):m("",!0),n.subtype=="year"?O((a(),u("input",S({key:8,id:`${e.uid}-year-input`,ref:"yearInput","onUpdate:modelValue":t[8]||(t[8]=r=>s.value=r),type:"number",class:"form-control"},e.$attrs),null,16,Us)),[[V,s.value]]):m("",!0),n.unit?(a(),u("div",Hs,[i("div",Gs,v(n.unit),1)])):m("",!0),n.subtype=="password"?(a(),u("div",{key:10,class:"input-group-append clickable",onClick:t[9]||(t[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[i("div",Js,[_(o,{icon:l.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):m("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(a(),u("div",{key:11,class:"input-group-append clickable",onClick:t[10]||(t[10]=r=>s.modify(-1))},[...t[12]||(t[12]=[i("div",{class:"input-group-text"},"-",-1)])])):m("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(a(),u("div",{key:12,class:"input-group-append clickable",onClick:t[11]||(t[11]=r=>s.modify(1))},[...t[13]||(t[13]=[i("div",{class:"input-group-text"},"+",-1)])])):m("",!0),e.$slots.append?(a(),u("div",Ks,[i("div",Zs,[b(e.$slots,"append",{},void 0,!0)])])):m("",!0)])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Ys=y(Ms,[["render",Qs],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),Xs=Object.freeze(Object.defineProperty({__proto__:null,default:Ys},Symbol.toStringTag,{value:"Module"}));C.add(Z,Q);const eo={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:P,FontAwesomeIcon:I},mixins:[q],inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(e){return["text","json"].indexOf(e)!==-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(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch(t){console.warn("parsing JSON failed: "+e,t),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else this.$emit("update:modelValue",e)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},to={class:"w-100"},no={class:"input-group"},so={class:"input-group-prepend"},oo={class:"input-group-text"},ao=["id"],io=["id"],lo={key:2,class:"input-group-append"},ro={class:"input-group-text"},uo={class:"form-text text-muted text-right"};function co(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("openwb-base-setting-element");return a(),h(p,null,A({title:c(()=>[b(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[i("div",to,[i("div",no,[i("div",so,[i("div",oo,[n.subtype=="text"?(a(),h(o,{key:0,icon:["fas","keyboard"]})):m("",!0),n.subtype=="json"?(a(),h(o,{key:1,icon:["fas","code"]})):m("",!0)])]),n.subtype==="json"?O((a(),u("textarea",S({key:0,id:`${e.uid}-textarea`,ref:"jsonInput","onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),class:"form-control"},e.$attrs),null,16,ao)),[[V,s.value,void 0,{lazy:!0}]]):O((a(),u("textarea",S({key:1,id:`${e.uid}-textarea`,"onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),class:"form-control"},e.$attrs),null,16,io)),[[V,s.value]]),e.$attrs.maxlength?(a(),u("div",lo,[i("div",ro,[i("small",uo,v(s.length)+" / "+v(e.$attrs.maxlength),1)])])):m("",!0)])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[b(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const po=y(eo,[["render",co],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),mo=Object.freeze(Object.defineProperty({__proto__:null,default:po},Symbol.toStringTag,{value:"Module"}));const fo={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(e){return["system","client","command"].indexOf(e)!==-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 e={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var t=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var l in e)if(Math.abs(d)>e[l]){this.relativeTime=t.format(Math.round(-d/e[l]),l);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},_o={key:0,class:"time-diff"},bo={class:"toast-body"};function go(e,t,n,d,l,s){return a(),u("div",{class:$(["toast","border-"+n.subtype]),role:"alert"},[i("div",{class:$(["toast-header","bg-"+n.subtype])},[t[2]||(t[2]=i("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(a(),u("small",_o,v(l.relativeTime),1)):m("",!0),i("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:t[0]||(t[0]=(...o)=>s.dismiss&&s.dismiss(...o))},[...t[1]||(t[1]=[i("span",{"aria-hidden":"true"},"×",-1)])])],2),i("div",bo,[b(e.$slots,"default",{},void 0,!0)])],2)}const ho=y(fo,[["render",go],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),vo=Object.freeze(Object.defineProperty({__proto__:null,default:ho},Symbol.toStringTag,{value:"Module"}));C.add(ze);const yo={name:"OpenwbNavBar",components:{FontAwesomeIcon:I},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)}}},wo={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},ko={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},So={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},$o={class:"navbar-nav"},Bo={class:"nav-item"},Oo={class:"nav-item dropdown nav-separator-after"},Co={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Io={class:"nav-item dropdown"},To={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Vo={class:"nav-item dropdown"},Ao={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Mo={class:"nav-item dropdown"},Po={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},qo={class:"nav-item dropdown"},xo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Do={class:"nav-item nav-separator-before"},Eo={class:"nav-link",href:"https://wiki.openwb.de/",target:"_blank"};function Lo(e,t,n,d,l,s){const o=g("router-link"),p=g("font-awesome-icon");return a(),u("nav",wo,[t[31]||(t[31]=i("a",{class:"navbar-brand",href:"/openWB/web/"},[i("span",null,"openWB")],-1)),i("button",ko,[...t[0]||(t[0]=[i("span",{class:"navbar-toggler-icon"},null,-1)])],512),i("div",So,[i("ul",$o,[i("li",Bo,[_(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>[...t[1]||(t[1]=[f(" Status ",-1)])]),_:1})]),i("li",Oo,[t[4]||(t[4]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),i("div",Co,[_(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[2]||(t[2]=[f(" Ladeprotokoll ",-1)])]),_:1}),_(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[3]||(t[3]=[f(" Diagramme ",-1)])]),_:1})])]),i("li",Io,[t[8]||(t[8]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),i("div",To,[_(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[5]||(t[5]=[f(" Allgemein ",-1)])]),_:1}),_(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[6]||(t[6]=[f(" Display ",-1)])]),_:1}),_(o,{to:"/IdentificationConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[7]||(t[7]=[f(" Identifikation ",-1)])]),_:1})])]),i("li",Vo,[t[12]||(t[12]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),i("div",Ao,[_(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[9]||(t[9]=[f(" Übergreifendes ",-1)])]),_:1}),_(o,{to:"/SurplusChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[10]||(t[10]=[f(" Überschuss-Laden ",-1)])]),_:1}),_(o,{to:"/ActiveBatControl",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[11]||(t[11]=[f(" Speichersteuerung ",-1)])]),_:1})])]),i("li",Mo,[t[20]||(t[20]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),i("div",Po,[_(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[13]||(t[13]=[f(" Geräte und Komponenten ",-1)])]),_:1}),_(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[14]||(t[14]=[f(" Lastmanagement ",-1)])]),_:1}),_(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[15]||(t[15]=[f(" Ladepunkte ",-1)])]),_:1}),_(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[16]||(t[16]=[f(" Fahrzeuge ",-1)])]),_:1}),_(o,{to:"/IoConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[17]||(t[17]=[f(" Ein-/Ausgänge ",-1)])]),_:1}),t[18]||(t[18]=i("div",{class:"dropdown-divider"},null,-1)),t[19]||(t[19]=i("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),i("li",qo,[t[29]||(t[29]=i("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),i("div",xo,[_(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[21]||(t[21]=[f(" Einrichtungsassistent ",-1)])]),_:1}),_(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[22]||(t[22]=[f(" openWB Cloud ",-1)])]),_:1}),_(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[23]||(t[23]=[f(" MQTT-Brücken ",-1)])]),_:1}),_(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[24]||(t[24]=[f(" Fehlersuche ",-1)])]),_:1}),_(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[25]||(t[25]=[f(" Support ",-1)])]),_:1}),_(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[26]||(t[26]=[f(" Datenverwaltung ",-1)])]),_:1}),_(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[27]||(t[27]=[f(" System ",-1)])]),_:1}),_(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>[...t[28]||(t[28]=[f(" Rechtliches ",-1)])]),_:1})])]),i("li",Do,[i("a",Eo,[t[30]||(t[30]=f(" Wiki ",-1)),_(p,{icon:["fas","external-link-alt"]})])])])],512)])}const Wo=y(yo,[["render",Lo],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const jo={name:"OpenwbPageFooter"},Ro={id:"footer",class:"footer bg-dark text-light font-small"},No={class:"container text-center"};function zo(e,t,n,d,l,s){return a(),u("footer",Ro,[i("div",No,[i("small",null," Du befindest dich hier: Einstellungen / "+v(e.$route.meta.heading),1)])])}const Fo=y(jo,[["render",zo],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]),Uo={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","eco_charging","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(e,t,n=void 0){console.debug("updateState:",e,t,n),this.$store.commit({type:"updateTopic",topic:e,objectPath:n,payload:t})},ac_current2dc_power(e){return parseFloat((e*3*230/1e3).toFixed(0))},dc_power2ac_current(e){return parseFloat((e*1e3/230/3).toFixed(2))},getWildcardIndexList(e,t=!1){let n=e;t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(l=>l.match(n));return d.forEach((l,s,o)=>{o[s]=parseInt(l.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,l)=>({...d,[l]:this.$store.state.mqtt[l]}),{})},formatDate(e,t={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(e).toLocaleDateString(void 0,t)},formatNumber(e,t=0,n=t,d=1){if(!(e==null||isNaN(e)))return e=e*d,e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:n})},formatNumberTopic(e,t=0,n=t,d=1){return this.$store.state.mqtt[e]?this.formatNumber(this.$store.state.mqtt[e],t,n,d):"-"},formatPhaseArrayNumberTopic(e,t=0,n=t,d=1){return this.$store.state.mqtt[e]?this.$store.state.mqtt[e].map(l=>this.formatNumber(l,t,n,d)):["-","-","-"]},translateChargeMode(e){switch(e){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"eco_charging":return"Eco";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",e),e}},getFaultStateSubtype(e){const t=this.$store.state.mqtt[e+"/get/fault_state"];if(t===void 0)return"warning";switch(t){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},ee=y(Uo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(Fe,Ue);const Ho={name:"OpenwbPageMessages",components:{FontAwesomeIcon:I,FontAwesomeLayers:He,FontAwesomeLayersText:Ge},mixins:[ee],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((t,n)=>((t=="light"&&["info","success","warning","danger"].includes(n.type)||t=="info"&&["success","warning","danger"].includes(n.type)||t=="success"&&["warning","danger"].includes(n.type)||t=="warning"&&n.type=="danger")&&(t=n.type),t),"light")},messages(){const e=[];return this.systemMessages.forEach(t=>{e.push(t)}),this.clientMessages.forEach(t=>{e.push(t)}),e.sort(this.compareMessagesByTimestamp),e},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(e=>!this.hiddenMessages.includes(e.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let e=this.getWildcardTopics("openWB/system/messages/+");var t=[];for(const[n,d]of Object.entries(e))t.push({topic:n,...d});return t},clientMessages(){let e=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var t=[];for(const[n,d]of Object.entries(e))t.push({topic:n,...d});return t}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(e,t){return t.timestamp-e.timestamp},clearTopic(e){this.$root.doPublish(e,void 0)},dismissMessage(e){this.clearTopic(e.topic);var t=this.hiddenMessages.indexOf(e.topic);t>-1&&this.hiddenMessages.splice(t,1)},dismissAllMessages(){this.messages.forEach(e=>{this.clearTopic(e.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(e){this.hiddenMessages.includes(e.topic)||this.hiddenMessages.push(e.topic)}}},Go=["innerHTML"];function Jo(e,t,n,d,l,s){const o=g("font-awesome-icon"),p=g("font-awesome-layers-text"),r=g("font-awesome-layers"),w=g("openwb-base-alert"),B=g("openwb-base-click-button"),x=g("openwb-base-toast");return a(),u(T,null,[(a(),h(H,{to:"body"},[i("div",{id:"message-indicator",class:$(["text-light mt-1 p-2 mr-1 clickable",l.showAllMessages?"active":""]),onClick:t[0]||(t[0]=(...D)=>s.toggleAllMessages&&s.toggleAllMessages(...D))},[_(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[_(o,{icon:l.showAllMessages?["fas","bell"]:["far","bell"],class:$(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(a(),h(p,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):m("",!0)]),_:1})],2)])),s.recentMessages.length>0||l.showAllMessages?(a(),u("div",{key:0,class:$(["openwb-toast-container",l.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(a(),h(w,{key:0,subtype:"info"},{default:c(()=>[...t[1]||(t[1]=[f(" Keine Nachrichten vorhanden. ",-1)])]),_:1})):l.showAllMessages?(a(),h(B,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>[...t[2]||(t[2]=[f(" Alle Nachrichten löschen ",-1)])]),_:1},8,["onButtonClicked"])):m("",!0),(a(!0),u(T,null,M(s.recentMessages,D=>(a(),h(x,{key:D.topic,topic:D.topic,source:D.source,subtype:D.type,timestamp:D.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[i("span",{innerHTML:D.message},null,8,Go)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):m("",!0)],64)}const Ko=y(Ho,[["render",Jo],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),Zo={name:"OpenwbPageBlocker",mixins:[ee],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(e){e=="reload"?location.reload():console.warn("unknown event",e)}}},Qo={class:"openwb-blocker"},Yo={key:0},Xo={key:1},ea={key:2},ta={key:3};function na(e,t,n,d,l,s){const o=g("openwb-base-modal-dialog");return a(),u("div",Qo,[_(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:t[0]||(t[0]=p=>s.handleModalResult(p))},{default:c(()=>[s.bootInProgress?(a(),u("p",Yo,"Der Systemstart ist noch nicht abgeschlossen.")):m("",!0),s.updateInProgress?(a(),u("p",Xo,"Es wird eine Systemaktualisierung ausgeführt.")):m("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(a(),u("p",ea,"Bitte die Seite neu laden.")):(a(),u("p",ta,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const sa=y(Zo,[["render",na],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const oa={name:"OpenwbSettingsApp",components:{NavBar:Wo,PageFooter:Fo,Messages:Ko,Blocker:sa},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(e){console.error("mqttClientId error",e);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(e=void 0){function t(d){return new Promise(l=>setTimeout(l,d))}this.$store.state.local.savingData=!0;let n={};e===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(e)?e.forEach(d=>{console.debug("adding topic to save:",d),n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof e);for(const[d,l]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,l),this.doPublish(s,l),await t(100)}this.$store.state.local.savingData=!1},resetValues(e=this.topicList){console.debug("resetting values..."),console.debug("topics: ",e),this.doUnsubscribe(e),this.doSubscribe(e)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(e){console.debug("sendCommand:",e),this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},createConnection(){const{protocol:e,host:t,port:n,endpoint:d,...l}=this.connection,s=`${e}://${t}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=de.connect(s,l)}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,p)=>{if(p.toString().length>0){let r;try{r=JSON.parse(p.toString())}catch(w){console.debug("Json parsing failed, fallback to string: ",o,w),r=p.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(e){e.forEach(t=>{this.$store.commit("addSubscription",t),this.$store.getters.subscriptionCount(t)==1?(t.includes("#")||t.includes("+")?console.debug("skipping init of wildcard topic:",t):this.$store.commit("addTopic",{topic:t,payload:void 0}),this.client.subscribe(t,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",t)})},doUnsubscribe(e){e.forEach(t=>{this.$store.commit("removeSubscription",t),this.$store.getters.subscriptionCount(t)==0?(this.client.unsubscribe(t,n=>{n&&console.error("Unsubscribe error",n)}),t.includes("#")||t.includes("+")?(console.debug("expanding wildcard topic:",t),Object.keys(this.getWildcardTopics(t)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",t),this.$store.commit("removeTopic",t))):console.debug("Still subscribed to topic: ",t)})},doPublish(e,t,n=!0,d=2){let l={qos:d,retain:n};this.client.publish(e,JSON.stringify(t),l,s=>{s&&console.error("Publish error",s)})},postClientMessage(e,t="secondary"){console.debug("postMessage:",e,t);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:e,type:t,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,l)=>({...d,[l]:this.$store.state.mqtt[l]}),{})}}},aa={role:"main",class:"container"},ia={id:"content"};function la(e,t,n,d,l,s){const o=g("nav-bar"),p=g("router-view"),r=g("page-footer"),w=g("messages"),B=g("blocker");return a(),u(T,null,[i("header",null,[_(o)]),i("div",aa,[i("div",ia,[i("h1",null,v(e.$route.meta.heading),1),_(p,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])])]),_(r),_(w),_(B)],64)}const ra=y(oa,[["render",la],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),da="modulepreload",ua=function(e){return"/openWB/web/settings/"+e},U={},k=function(t,n,d){if(!n||n.length===0)return t();const l=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=ua(s),s in U)return;U[s]=!0;const o=s.endsWith(".css"),p=o?'[rel="stylesheet"]':"";if(!!d)for(let B=l.length-1;B>=0;B--){const x=l[B];if(x.href===s&&(!o||x.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${p}`))return;const w=document.createElement("link");if(w.rel=o?"stylesheet":da,o||(w.as="script",w.crossOrigin=""),w.href=s,document.head.appendChild(w),o)return new Promise((B,x)=>{w.addEventListener("load",B),w.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},ca={namespaced:!0,state:()=>({hiddenDatasets:[]}),mutations:{toggleDataset(e,t){e.hiddenDatasets.includes(t)?e.hiddenDatasets=e.hiddenDatasets.filter(n=>n!==t):e.hiddenDatasets.push(t)},setHiddenDatasets(e,t){e.hiddenDatasets=t}}};let te={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1}};te.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",color1:"#ff0000",color2:"#0000ff",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"],ioConfig:{active:!1,pattern:[null,!1,!0],action:{value:"stop_all",options:null}}};const W=ue({state:te,mutations:{storeLocal(e,t){e.local[t.name]=t.value},addTopic(e,t){Object.keys(e.mqtt).includes(t.topic)?console.warn("topic already exists: ",t.topic):e.mqtt[t.topic]=t.payload},removeTopic(e,t){delete e.mqtt[t]},updateTopic(e,t){const n=(d,l,s)=>l.split(".").reduce((o,p,r)=>o[p]=l.split(".").length===++r?s:o[p]||{},d);t.topic in e.mqtt||!(t.topic in e.examples)?t.objectPath!=null?n(e.mqtt[t.topic],t.objectPath,t.payload):e.mqtt[t.topic]=t.payload:(console.debug("topic not found in state.mqtt: ",t.topic),t.topic in e.examples?t.objectPath!=null?n(e.examples[t.topic],t.objectPath,t.payload):e.examples[t.topic]=t.payload:console.warn("topic not found in state: ",t.topic," giving up"))},addSubscription(e,t){t in e.mqttSubscriptions?e.mqttSubscriptions[t]+=1:e.mqttSubscriptions[t]=1,console.debug("subscription count: ",t,e.mqttSubscriptions[t])},removeSubscription(e,t){t in e.mqttSubscriptions&&(e.mqttSubscriptions[t]-=1,e.mqttSubscriptions[t]<=0&&delete e.mqttSubscriptions[t])}},actions:{},modules:{chartLegend:ca},getters:{usageTermsAcknowledged(e){return new Promise(t=>{if(e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)t(e.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),t(!1)},5e3),d=setInterval(()=>{e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),t(e.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(e){return new Promise(t=>{if(e.mqtt["openWB/system/installAssistantDone"]!==void 0)t(e.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),t(!1)},5e3),d=setInterval(()=>{e.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),t(e.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:e=>t=>e.mqttSubscriptions[t]||0}}),ne=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>k(()=>import("./Status-db7384b9.js"),["assets/Status-db7384b9.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-6bace15d.js","assets/vendor-luxon-cc86f6dc.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/Status-de4dd900.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>k(()=>import("./ChargeLog-9451cb11.js"),["assets/ChargeLog-9451cb11.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>k(()=>import("./Chart-04006694.js"),["assets/Chart-04006694.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-chartjs-6bace15d.js","assets/vendor-luxon-cc86f6dc.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/Chart-053df185.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>k(()=>import("./GeneralConfig-9577138e.js").then(e=>e.a),["assets/GeneralConfig-9577138e.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/IdentificationConfig",name:"IdentificationConfig",meta:{heading:"Einstellungen - Identifikation"},component:()=>k(()=>import("./IdentificationConfig-eae90efd.js"),["assets/IdentificationConfig-eae90efd.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Display"},component:()=>k(()=>import("./OptionalComponents-846e7387.js").then(e=>e.O),["assets/OptionalComponents-846e7387.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>k(()=>import("./GeneralChargeConfig-d99f183c.js").then(e=>e.a),["assets/GeneralChargeConfig-d99f183c.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css"])},{path:"/SurplusChargeConfig",name:"SurplusChargeConfig",meta:{heading:"Ladeeinstellungen - Überschuss-Laden"},component:()=>k(()=>import("./SurplusChargeConfig-2bd04184.js"),["assets/SurplusChargeConfig-2bd04184.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/ActiveBatControl",name:"ActiveBatControl",meta:{heading:"Ladeeinstellungen - Speichersteuerung"},component:()=>k(()=>import("./ActiveBatControl-f9bad9af.js"),["assets/ActiveBatControl-f9bad9af.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>k(()=>import("./HardwareInstallation-fcf847f9.js").then(e=>e.a),["assets/HardwareInstallation-fcf847f9.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>k(()=>import("./LoadManagementConfig-e937ade9.js"),["assets/LoadManagementConfig-e937ade9.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/OpenwbSortableList-f1671b8d.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>k(()=>import("./ChargePointInstallation-1fc5b922.js").then(e=>e.c),["assets/ChargePointInstallation-1fc5b922.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.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:()=>k(()=>import("./VehicleConfig-ab3e40e7.js").then(e=>e.b),["assets/VehicleConfig-ab3e40e7.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/IoConfiguration",name:"IoConfiguration",meta:{heading:"Konfiguration - Ein- und Ausgänge"},component:()=>k(()=>import("./IoConfig-1612dbed.js").then(e=>e.b),["assets/IoConfig-1612dbed.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>k(()=>import("./CloudConfig-09c750bd.js"),["assets/CloudConfig-09c750bd.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>k(()=>import("./MqttBridgeConfig-cbbec581.js"),["assets/MqttBridgeConfig-cbbec581.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>k(()=>import("./DebugConfig-cf79b687.js"),["assets/DebugConfig-cf79b687.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-axios-1a87d4ae.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>k(()=>import("./Support-2a8dc9a4.js"),["assets/Support-2a8dc9a4.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>k(()=>import("./LegalSettings-821c84ce.js"),["assets/LegalSettings-821c84ce.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>k(()=>import("./System-d8a9b563.js"),["assets/System-d8a9b563.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js","assets/System-f301c290.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>k(()=>import("./DataManagement-246ef920.js").then(e=>e.a),["assets/DataManagement-246ef920.js","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>k(()=>import("./InstallAssistant-5584e8e4.js"),["assets/InstallAssistant-5584e8e4.js","assets/dynamic-import-helper-be004503.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])}];ne.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>k(()=>import("./TestingStore-7629b365.js"),["assets/TestingStore-7629b365.js","assets/OpenwbSortableList-f1671b8d.js","assets/vendor-50125810.js","assets/vendor-sortablejs-8982fad4.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-641b8eb6.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-01761fad.js","assets/vendor-jquery-a46fe321.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-1a87d4ae.js"])});const R=ce({history:pe(),routes:ne});R.beforeEach(async e=>{if(await W.getters.usageTermsAcknowledged){if(!await W.getters.installAssistantDone&&e.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(e.name!=="LegalSettings")return{name:"LegalSettings"}});R.afterEach(e=>{e.meta.heading?document.title="openWB | "+e.meta.heading:document.title="openWB"});const N=me(ra);N.use(W).use(R).use(Je,Ke);const pa=Object.assign({"./components/OpenwbBaseAlert.vue":Xe,"./components/OpenwbBaseArrayInput.vue":ht,"./components/OpenwbBaseAvatar.vue":St,"./components/OpenwbBaseButtonGroupInput.vue":qt,"./components/OpenwbBaseButtonInput.vue":Nt,"./components/OpenwbBaseButtonRow.vue":Tt,"./components/OpenwbBaseCard.vue":Yt,"./components/OpenwbBaseCheckboxInput.vue":on,"./components/OpenwbBaseClickButton.vue":Lt,"./components/OpenwbBaseColorPicker.vue":cn,"./components/OpenwbBaseCopyToClipboard.vue":yn,"./components/OpenwbBaseHeading.vue":In,"./components/OpenwbBaseIoPattern.vue":Mn,"./components/OpenwbBaseModalDialog.vue":Rn,"./components/OpenwbBaseNumberInput.vue":Xn,"./components/OpenwbBaseRangeInput.vue":ds,"./components/OpenwbBaseSelectInput.vue":Ss,"./components/OpenwbBaseSettingElement.vue":at,"./components/OpenwbBaseSubmitButtons.vue":As,"./components/OpenwbBaseTextInput.vue":Xs,"./components/OpenwbBaseTextarea.vue":mo,"./components/OpenwbBaseToast.vue":vo});Object.entries(pa).forEach(([e,t])=>{const n=fe(_e(e.split("/").pop().replace(/\.\w+$/,"")));N.component(n,t.default)});N.mount("#app");export{ee as C,P as O,k as _}; diff --git a/web/settings/assets/inverter-c2d8701c.js b/web/settings/assets/inverter-00dd1d35.js similarity index 86% rename from web/settings/assets/inverter-c2d8701c.js rename to web/settings/assets/inverter-00dd1d35.js index f0084fdfe3..207a5f0f71 100644 --- a/web/settings/assets/inverter-c2d8701c.js +++ b/web/settings/assets/inverter-00dd1d35.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as a,l as p,m,G as o,E as l,B as i,A as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceJsonInverter",mixins:[s]},b={class:"device-json-inverter"};function v(n,e,w,c,j,_){const u=a("openwb-base-heading"),r=a("openwb-base-text-input");return p(),m("div",b,[o(u,null,{default:l(()=>[...e[5]||(e[5]=[i(" Einstellungen für JSON Wechselrichter ",-1)])]),_:1}),o(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.jq_power"))},{help:l(()=>[...e[6]||(e[6]=[i(' 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. ',-1),f("br",null,null,-1),i(" 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)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.jq_exported"))},{help:l(()=>[...e[7]||(e[7]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.jq_current_l1"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.jq_current_l2"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.jq_current_l3"))},null,8,["model-value"])])}const k=d(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{k as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as a,l as p,m,G as o,E as l,B as i,A as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceJsonInverter",mixins:[s]},b={class:"device-json-inverter"};function v(n,e,w,c,j,_){const u=a("openwb-base-heading"),r=a("openwb-base-text-input");return p(),m("div",b,[o(u,null,{default:l(()=>[...e[5]||(e[5]=[i(" Einstellungen für JSON Wechselrichter ",-1)])]),_:1}),o(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.jq_power"))},{help:l(()=>[...e[6]||(e[6]=[i(' 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. ',-1),f("br",null,null,-1),i(" 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)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.jq_exported"))},{help:l(()=>[...e[7]||(e[7]=[i(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ",-1)])]),_:1},8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.jq_current_l1"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.jq_current_l2"))},null,8,["model-value"]),o(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.jq_current_l3"))},null,8,["model-value"])])}const k=d(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-9bd10fcb.js b/web/settings/assets/inverter-02526580.js similarity index 65% rename from web/settings/assets/inverter-9bd10fcb.js rename to web/settings/assets/inverter-02526580.js index eaa7c61155..9e53914b91 100644 --- a/web/settings/assets/inverter-9bd10fcb.js +++ b/web/settings/assets/inverter-02526580.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{k as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-d2734698.js b/web/settings/assets/inverter-06cc6c90.js similarity index 64% rename from web/settings/assets/inverter-d2734698.js rename to web/settings/assets/inverter-06cc6c90.js index 5ae1e2ea79..8984c290c1 100644 --- a/web/settings/assets/inverter-d2734698.js +++ b/web/settings/assets/inverter-06cc6c90.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-1f4356ec.js b/web/settings/assets/inverter-1f4356ec.js new file mode 100644 index 0000000000..90e7dc2dd7 --- /dev/null +++ b/web/settings/assets/inverter-1f4356ec.js @@ -0,0 +1 @@ +import{C as e}from"./HardwareInstallation-fcf847f9.js";import{_ as t,l as o,m as n}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-dfa8aa07.js b/web/settings/assets/inverter-28a9d0d6.js similarity index 65% rename from web/settings/assets/inverter-dfa8aa07.js rename to web/settings/assets/inverter-28a9d0d6.js index dc1365ab1d..da24123891 100644 --- a/web/settings/assets/inverter-dfa8aa07.js +++ b/web/settings/assets/inverter-28a9d0d6.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-14e41dd1.js b/web/settings/assets/inverter-2fa0cd92.js similarity index 61% rename from web/settings/assets/inverter-14e41dd1.js rename to web/settings/assets/inverter-2fa0cd92.js index 1e3cf942b0..f4b9f99e15 100644 --- a/web/settings/assets/inverter-14e41dd1.js +++ b/web/settings/assets/inverter-2fa0cd92.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-2db09673.js b/web/settings/assets/inverter-35bdd1fe.js similarity index 77% rename from web/settings/assets/inverter-2db09673.js rename to web/settings/assets/inverter-35bdd1fe.js index 226a611c54..df719c4abd 100644 --- a/web/settings/assets/inverter-2db09673.js +++ b/web/settings/assets/inverter-35bdd1fe.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,B as o,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,h){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)])]),_: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 ",-1),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)])]),_: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-fcf847f9.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,B as o,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,h){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)])]),_: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 ",-1),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)])]),_: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-098a6b66.js b/web/settings/assets/inverter-397b5f86.js similarity index 67% rename from web/settings/assets/inverter-098a6b66.js rename to web/settings/assets/inverter-397b5f86.js index 10c3fe6786..30bf7f99d6 100644 --- a/web/settings/assets/inverter-098a6b66.js +++ b/web/settings/assets/inverter-397b5f86.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as t,l,m as u,G as n,E as i,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPikoCiInverter",mixins:[m]},c={class:"device-kostal-piko-ci-inverter"};function b(o,e,f,v,k,C){const r=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),u("div",c,[n(r,null,{default:i(()=>[...e[1]||(e[1]=[s(" Einstellungen für Kostal Piko CI Wechselrichter ",-1)])]),_:1}),n(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 Kostal Piko CI ist 75 ",-1)])]),_:1},8,["model-value"])])}const M=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/inverter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as t,l,m as u,G as n,E as i,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPikoCiInverter",mixins:[m]},c={class:"device-kostal-piko-ci-inverter"};function b(o,e,f,v,k,C){const r=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),u("div",c,[n(r,null,{default:i(()=>[...e[1]||(e[1]=[s(" Einstellungen für Kostal Piko CI Wechselrichter ",-1)])]),_:1}),n(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 Kostal Piko CI ist 75 ",-1)])]),_:1},8,["model-value"])])}const M=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_ci/inverter.vue"]]);export{M as default}; diff --git a/web/settings/assets/inverter-9f7096ed.js b/web/settings/assets/inverter-4382492d.js similarity index 67% rename from web/settings/assets/inverter-9f7096ed.js rename to web/settings/assets/inverter-4382492d.js index 17faa279a3..28b193738b 100644 --- a/web/settings/assets/inverter-9f7096ed.js +++ b/web/settings/assets/inverter-4382492d.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as o,l,m,G as n,E as u,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as o,l,m,G as n,E as u,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-9bad397e.js b/web/settings/assets/inverter-46e635e4.js similarity index 68% rename from web/settings/assets/inverter-9bad397e.js rename to web/settings/assets/inverter-46e635e4.js index 1c8361d5a2..e50b41c610 100644 --- a/web/settings/assets/inverter-9bad397e.js +++ b/web/settings/assets/inverter-46e635e4.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as o,l,m as u,G as n,E as c,B as m}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 h=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{h as default}; +import{C as r}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as o,l,m as u,G as n,E as c,B as m}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 h=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{h as default}; diff --git a/web/settings/assets/inverter-dc2cfd53.js b/web/settings/assets/inverter-4c495eb0.js similarity index 72% rename from web/settings/assets/inverter-dc2cfd53.js rename to web/settings/assets/inverter-4c495eb0.js index e481e77305..6f74ff97ab 100644 --- a/web/settings/assets/inverter-dc2cfd53.js +++ b/web/settings/assets/inverter-4c495eb0.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,B as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,B as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-8f4b824c.js b/web/settings/assets/inverter-4dc1c017.js similarity index 64% rename from web/settings/assets/inverter-8f4b824c.js rename to web/settings/assets/inverter-4dc1c017.js index 30486ddd49..98f81fe4f3 100644 --- a/web/settings/assets/inverter-8f4b824c.js +++ b/web/settings/assets/inverter-4dc1c017.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolakonOneInverter",mixins:[a]},_={class:"device-solakon-one-inverter"};function b(o,e,f,v,g,k){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solakon One Wechselrichter ",-1)])]),_: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 I=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/inverter.vue"]]);export{I as default}; +import{C as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolakonOneInverter",mixins:[a]},_={class:"device-solakon-one-inverter"};function b(o,e,f,v,g,k){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solakon One Wechselrichter ",-1)])]),_: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 I=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solakon/solakon_one/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-504b242a.js b/web/settings/assets/inverter-504b242a.js new file mode 100644 index 0000000000..27cd2b8c8a --- /dev/null +++ b/web/settings/assets/inverter-504b242a.js @@ -0,0 +1 @@ +import{C as e}from"./HardwareInstallation-fcf847f9.js";import{_ as n,l as t,m as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-91dce15c.js b/web/settings/assets/inverter-583bb892.js similarity index 64% rename from web/settings/assets/inverter-91dce15c.js rename to web/settings/assets/inverter-583bb892.js index 702301a7a4..00f7b57020 100644 --- a/web/settings/assets/inverter-91dce15c.js +++ b/web/settings/assets/inverter-583bb892.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-78e92d97.js b/web/settings/assets/inverter-5ef14c47.js similarity index 66% rename from web/settings/assets/inverter-78e92d97.js rename to web/settings/assets/inverter-5ef14c47.js index f1d49be1b1..9ea46ffb74 100644 --- a/web/settings/assets/inverter-78e92d97.js +++ b/web/settings/assets/inverter-5ef14c47.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-c4ab3fa1.js b/web/settings/assets/inverter-6c4cdb15.js similarity index 86% rename from web/settings/assets/inverter-c4ab3fa1.js rename to web/settings/assets/inverter-6c4cdb15.js index 4b5b848731..78bd44574d 100644 --- a/web/settings/assets/inverter-c4ab3fa1.js +++ b/web/settings/assets/inverter-6c4cdb15.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,B as n,A as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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.',-1),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)])]),_: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.',-1),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.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_:1},8,["model-value"])])}const S=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{S as default}; +import{C as p}from"./HardwareInstallation-fcf847f9.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,B as n,A as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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.',-1),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)])]),_: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.',-1),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.",-1),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ",-1)])]),_:1},8,["model-value"])])}const S=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-5b8bb3ad.js b/web/settings/assets/inverter-70a06a8e.js similarity index 66% rename from web/settings/assets/inverter-5b8bb3ad.js rename to web/settings/assets/inverter-70a06a8e.js index 8c3f4f43a3..0ad9301ea0 100644 --- a/web/settings/assets/inverter-5b8bb3ad.js +++ b/web/settings/assets/inverter-70a06a8e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-4f529614.js b/web/settings/assets/inverter-71b9be2d.js similarity index 67% rename from web/settings/assets/inverter-4f529614.js rename to web/settings/assets/inverter-71b9be2d.js index d4f742c5be..814f105faa 100644 --- a/web/settings/assets/inverter-4f529614.js +++ b/web/settings/assets/inverter-71b9be2d.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as o,l,m as u,G as n,E as m,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as o,l,m as u,G as n,E as m,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-aa1a199b.js b/web/settings/assets/inverter-7b6ba245.js similarity index 64% rename from web/settings/assets/inverter-aa1a199b.js rename to web/settings/assets/inverter-7b6ba245.js index 2cb63861b6..e29aa1ce0d 100644 --- a/web/settings/assets/inverter-aa1a199b.js +++ b/web/settings/assets/inverter-7b6ba245.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-2247b7a1.js b/web/settings/assets/inverter-8dcbaaa7.js similarity index 63% rename from web/settings/assets/inverter-2247b7a1.js rename to web/settings/assets/inverter-8dcbaaa7.js index 769599aefd..0bfea9b5c3 100644 --- a/web/settings/assets/inverter-2247b7a1.js +++ b/web/settings/assets/inverter-8dcbaaa7.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as c,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKacoInverter",mixins:[a]},_={class:"device-kaco-inverter"};function b(o,e,f,v,g,x){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Kaco Wechselrichter ",-1)])]),_:1}),t(r,{title:"Kaco-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 D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_tx/inverter.vue"]]);export{D as default}; +import{C as a}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as c,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKacoInverter",mixins:[a]},_={class:"device-kaco-inverter"};function b(o,e,f,v,g,x){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Kaco Wechselrichter ",-1)])]),_:1}),t(r,{title:"Kaco-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 D=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_tx/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-7261ef39.js b/web/settings/assets/inverter-92f3ccb6.js similarity index 65% rename from web/settings/assets/inverter-7261ef39.js rename to web/settings/assets/inverter-92f3ccb6.js index 9507edc9d6..e6c56541fb 100644 --- a/web/settings/assets/inverter-7261ef39.js +++ b/web/settings/assets/inverter-92f3ccb6.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-6f309522.js b/web/settings/assets/inverter-9a218979.js similarity index 71% rename from web/settings/assets/inverter-6f309522.js rename to web/settings/assets/inverter-9a218979.js index a8e6d17b59..989cc0587e 100644 --- a/web/settings/assets/inverter-6f309522.js +++ b/web/settings/assets/inverter-9a218979.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-aa05a5e3.js b/web/settings/assets/inverter-aa05a5e3.js deleted file mode 100644 index f597bdb38f..0000000000 --- a/web/settings/assets/inverter-aa05a5e3.js +++ /dev/null @@ -1 +0,0 @@ -import{C as e}from"./HardwareInstallation-99f8d83a.js";import{_ as n,l as t,m as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-fa33fc1c.js b/web/settings/assets/inverter-c94bc1e8.js similarity index 67% rename from web/settings/assets/inverter-fa33fc1c.js rename to web/settings/assets/inverter-c94bc1e8.js index 0838b07027..b647102cb3 100644 --- a/web/settings/assets/inverter-fa33fc1c.js +++ b/web/settings/assets/inverter-c94bc1e8.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,w){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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,w){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)])]),_: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)])]),_: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-4fddab22.js b/web/settings/assets/inverter-cd144efc.js similarity index 63% rename from web/settings/assets/inverter-4fddab22.js rename to web/settings/assets/inverter-cd144efc.js index fb52e56f34..21554a19c2 100644 --- a/web/settings/assets/inverter-4fddab22.js +++ b/web/settings/assets/inverter-cd144efc.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as p,u as n,l as m,m as c,G as t,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKacoNHInverter",mixins:[s]},_={class:"device-kaco-nh-inverter"};function f(o,e,v,b,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:l(()=>[...e[1]||(e[1]=[u(" Einstellungen für Kaco NH Wechselrichter ",-1)])]),_:1}),t(r,{title:"ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.id"))},null,8,["model-value"])])}const D=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/inverter.vue"]]);export{D as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as p,u as n,l as m,m as c,G as t,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKacoNHInverter",mixins:[s]},_={class:"device-kaco-nh-inverter"};function f(o,e,v,b,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),c("div",_,[t(i,null,{default:l(()=>[...e[1]||(e[1]=[u(" Einstellungen für Kaco NH Wechselrichter ",-1)])]),_:1}),t(r,{title:"ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.id"))},null,8,["model-value"])])}const D=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kaco/kaco_nh/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-d3dbee70.js b/web/settings/assets/inverter-db86c0b7.js similarity index 82% rename from web/settings/assets/inverter-d3dbee70.js rename to web/settings/assets/inverter-db86c0b7.js index c990630dcd..059bce4a8b 100644 --- a/web/settings/assets/inverter-d3dbee70.js +++ b/web/settings/assets/inverter-db86c0b7.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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-647050ec.js b/web/settings/assets/inverter-dfaf62d7.js similarity index 75% rename from web/settings/assets/inverter-647050ec.js rename to web/settings/assets/inverter-dfaf62d7.js index 7debdcc8ea..69d5072e54 100644 --- a/web/settings/assets/inverter-647050ec.js +++ b/web/settings/assets/inverter-dfaf62d7.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,B as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{k as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,B as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_:1},8,["model-value"])])}const k=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-820bed95.js b/web/settings/assets/inverter-e46b845c.js similarity index 81% rename from web/settings/assets/inverter-820bed95.js rename to web/settings/assets/inverter-e46b845c.js index 7b0ea88974..d289d4202e 100644 --- a/web/settings/assets/inverter-820bed95.js +++ b/web/settings/assets/inverter-e46b845c.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,B as n,A as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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 ",-1),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 ",-1),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ",-1)])]),_:1},8,["model-value"])])}const V=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{V as default}; +import{C as u}from"./HardwareInstallation-fcf847f9.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,B as n,A as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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 ",-1),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 ",-1),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ",-1)])]),_:1},8,["model-value"])])}const V=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-edd0d8f9.js b/web/settings/assets/inverter-edd0d8f9.js deleted file mode 100644 index 26f51ef1ab..0000000000 --- a/web/settings/assets/inverter-edd0d8f9.js +++ /dev/null @@ -1 +0,0 @@ -import{C as e}from"./HardwareInstallation-99f8d83a.js";import{_ as t,l as o,m as n}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-bb57ffc4.js b/web/settings/assets/inverter-f0e40c6a.js similarity index 63% rename from web/settings/assets/inverter-bb57ffc4.js rename to web/settings/assets/inverter-f0e40c6a.js index ae0841a219..e03534402c 100644 --- a/web/settings/assets/inverter-bb57ffc4.js +++ b/web/settings/assets/inverter-f0e40c6a.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-89c42523.js b/web/settings/assets/inverter-f24d3d1a.js similarity index 68% rename from web/settings/assets/inverter-89c42523.js rename to web/settings/assets/inverter-f24d3d1a.js index b71f53fb35..3e2ce597c6 100644 --- a/web/settings/assets/inverter-89c42523.js +++ b/web/settings/assets/inverter-f24d3d1a.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-b271dfed.js b/web/settings/assets/inverter-f4c75808.js similarity index 63% rename from web/settings/assets/inverter-b271dfed.js rename to web/settings/assets/inverter-f4c75808.js index 9491621ade..2703890fdd 100644 --- a/web/settings/assets/inverter-b271dfed.js +++ b/web/settings/assets/inverter-f4c75808.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-ca9784d7.js b/web/settings/assets/inverter-f9a9dcb2.js similarity index 75% rename from web/settings/assets/inverter-ca9784d7.js rename to web/settings/assets/inverter-f9a9dcb2.js index 3cd2059349..b312c9e81e 100644 --- a/web/settings/assets/inverter-ca9784d7.js +++ b/web/settings/assets/inverter-f9a9dcb2.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,B as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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-fcf847f9.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,B as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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-927f5e44.js b/web/settings/assets/inverter-fab08b71.js similarity index 90% rename from web/settings/assets/inverter-927f5e44.js rename to web/settings/assets/inverter-fab08b71.js index fa0a9baa82..e69288345f 100644 --- a/web/settings/assets/inverter-927f5e44.js +++ b/web/settings/assets/inverter-fab08b71.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-99f8d83a.js";import{_ as d,u as p,l as b,m as g,G as i,E as o,B as t,A as n,F as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttInverter",mixins:[a]},v={class:"device-mqtt-inverter"};function B(l,e,z,k,w,x){const m=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),u=p("openwb-base-alert");return b(),g("div",v,[i(m,null,{default:o(()=>[...e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ",-1)])]),_:1}),i(u,{subtype:"info"},{default:o(()=>[e[19]||(e[19]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.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: ",-1)),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))])]),e[20]||(e[20]=t(" Falls keine Wert für den Zählerstand übermittelt wird, berechnet openWB den Zählerstand anhand der Leistung. ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.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",-1)),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ",-1)),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.component.id)+"/get/imported ",1)]),_:1}),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=t(" Bezogene Energie in Wh (optional, zB für Hybridsysteme, die den Speicher aus dem Netz laden), Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Beispiel: ",-1)),e[13]||(e[13]=n("span",{class:"text-info"},"123.45",-1))])]),e[21]||(e[21]=t(" Ströme je Phase sind optional, jedoch für phasenbasiertes Lastmanagement in Verbindung mit einem virtuellen Zähler unbedingt erforderlich. Ansonsten erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung an diesem Zähler: ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.component.id)+"/get/currents ",1)]),_:1}),e[14]||(e[14]=n("br",null,null,-1)),e[15]||(e[15]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung",-1)),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Beispiel: ",-1)),e[18]||(e[18]=n("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])])]),_:1})])}const D=d(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{D as default}; +import{C as a}from"./HardwareInstallation-fcf847f9.js";import{_ as d,u as p,l as b,m as g,G as i,E as o,B as t,A as n,F as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttInverter",mixins:[a]},v={class:"device-mqtt-inverter"};function B(l,e,z,k,w,x){const m=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),u=p("openwb-base-alert");return b(),g("div",v,[i(m,null,{default:o(()=>[...e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ",-1)])]),_:1}),i(u,{subtype:"info"},{default:o(()=>[e[19]||(e[19]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.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: ",-1)),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))])]),e[20]||(e[20]=t(" Falls keine Wert für den Zählerstand übermittelt wird, berechnet openWB den Zählerstand anhand der Leistung. ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.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",-1)),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ",-1)),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.component.id)+"/get/imported ",1)]),_:1}),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=t(" Bezogene Energie in Wh (optional, zB für Hybridsysteme, die den Speicher aus dem Netz laden), Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv",-1)),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Beispiel: ",-1)),e[13]||(e[13]=n("span",{class:"text-info"},"123.45",-1))])]),e[21]||(e[21]=t(" Ströme je Phase sind optional, jedoch für phasenbasiertes Lastmanagement in Verbindung mit einem virtuellen Zähler unbedingt erforderlich. Ansonsten erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung an diesem Zähler: ",-1)),n("ul",null,[n("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/mqtt/pv/"+r(l.component.id)+"/get/currents ",1)]),_:1}),e[14]||(e[14]=n("br",null,null,-1)),e[15]||(e[15]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung",-1)),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Beispiel: ",-1)),e[18]||(e[18]=n("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])])]),_:1})])}const D=d(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-0ef56fd4.js b/web/settings/assets/inverter-fb4543f1.js similarity index 63% rename from web/settings/assets/inverter-0ef56fd4.js rename to web/settings/assets/inverter-fb4543f1.js index 32db55bafe..9429cd06c4 100644 --- a/web/settings/assets/inverter-0ef56fd4.js +++ b/web/settings/assets/inverter-fb4543f1.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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-074a90d8.js b/web/settings/assets/inverter-fc3819b7.js similarity index 73% rename from web/settings/assets/inverter-074a90d8.js rename to web/settings/assets/inverter-fc3819b7.js index e584a2e8bb..9eb2c082a1 100644 --- a/web/settings/assets/inverter-074a90d8.js +++ b/web/settings/assets/inverter-fc3819b7.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as a,u as t,l as u,m,G as i,E as d,B as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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-fcf847f9.js";import{_ as a,u as t,l as u,m,G as i,E as d,B as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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_maxstorage-eb96460b.js b/web/settings/assets/inverter_maxstorage-b3474e6c.js similarity index 66% rename from web/settings/assets/inverter_maxstorage-eb96460b.js rename to web/settings/assets/inverter_maxstorage-b3474e6c.js index 01bf8f3962..3dede00f83 100644 --- a/web/settings/assets/inverter_maxstorage-eb96460b.js +++ b/web/settings/assets/inverter_maxstorage-b3474e6c.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmaxMsInverter",mixins:[s]},c={class:"device-solarmax-inverter-maxstorage"};function b(o,e,f,x,v,g){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return p(),l("div",c,[t(r,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Wechselrichter ",-1)])]),_:1}),t(a,{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 G=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter_maxstorage.vue"]]);export{G as default}; +import{C as s}from"./HardwareInstallation-fcf847f9.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmaxMsInverter",mixins:[s]},c={class:"device-solarmax-inverter-maxstorage"};function b(o,e,f,x,v,g){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return p(),l("div",c,[t(r,null,{default:u(()=>[...e[1]||(e[1]=[d(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Wechselrichter ",-1)])]),_:1}),t(a,{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 G=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter_maxstorage.vue"]]);export{G as default}; diff --git a/web/settings/assets/inverter_production_meter-625c05b3.js b/web/settings/assets/inverter_production_meter-42e63f79.js similarity index 88% rename from web/settings/assets/inverter_production_meter-625c05b3.js rename to web/settings/assets/inverter_production_meter-42e63f79.js index 688073f6d0..43b956582a 100644 --- a/web/settings/assets/inverter_production_meter-625c05b3.js +++ b/web/settings/assets/inverter_production_meter-42e63f79.js @@ -1 +1 @@ -import{C as f}from"./HardwareInstallation-99f8d83a.js";import{_ as g,u as r,l as b,m as c,G as i,E as o,B as t,A as l,F as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceFroniusInverterProductionMeter",mixins:[f],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},w={class:"device-fronius-inverter-production-meter"},D=["href"];function h(n,e,M,k,S,s){const d=r("openwb-base-heading"),u=r("openwb-base-alert"),m=r("openwb-base-select-input"),p=r("openwb-base-number-input");return b(),c("div",w,[i(d,null,{default:o(()=>[...e[2]||(e[2]=[t(" Einstellungen für Fronius Erzeugerzähler ",-1)])]),_:1}),i(u,{subtype:"info"},{default:o(()=>[...e[3]||(e[3]=[t(" Zusätzlicher, externer Erzeuger, welcher über einen Smartmeter erfasst wird. ",-1)])]),_:1}),i(m,{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]=a=>n.updateConfiguration(a,"configuration.variant"))},{help:o(()=>[...e[4]||(e[4]=[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)])]),_:1},8,["model-value"]),i(p,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=a=>n.updateConfiguration(a,"configuration.meter_id"))},{help:o(()=>[e[5]||(e[5]=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. ",-1)),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},_(s.meterRealtimeUrl),9,D),e[6]||(e[6]=l("br",null,null,-1)),e[7]||(e[7]=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))]),_:1},8,["model-value"])])}const N=g(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_production_meter.vue"]]);export{N as default}; +import{C as f}from"./HardwareInstallation-fcf847f9.js";import{_ as g,u as r,l as b,m as c,G as i,E as o,B as t,A as l,F as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceFroniusInverterProductionMeter",mixins:[f],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},w={class:"device-fronius-inverter-production-meter"},D=["href"];function h(n,e,M,k,S,s){const d=r("openwb-base-heading"),u=r("openwb-base-alert"),m=r("openwb-base-select-input"),p=r("openwb-base-number-input");return b(),c("div",w,[i(d,null,{default:o(()=>[...e[2]||(e[2]=[t(" Einstellungen für Fronius Erzeugerzähler ",-1)])]),_:1}),i(u,{subtype:"info"},{default:o(()=>[...e[3]||(e[3]=[t(" Zusätzlicher, externer Erzeuger, welcher über einen Smartmeter erfasst wird. ",-1)])]),_:1}),i(m,{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]=a=>n.updateConfiguration(a,"configuration.variant"))},{help:o(()=>[...e[4]||(e[4]=[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)])]),_:1},8,["model-value"]),i(p,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=a=>n.updateConfiguration(a,"configuration.meter_id"))},{help:o(()=>[e[5]||(e[5]=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. ",-1)),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},_(s.meterRealtimeUrl),9,D),e[6]||(e[6]=l("br",null,null,-1)),e[7]||(e[7]=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))]),_:1},8,["model-value"])])}const N=g(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_production_meter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter_secondary-362a1cb1.js b/web/settings/assets/inverter_secondary-d7a96ac9.js similarity index 82% rename from web/settings/assets/inverter_secondary-362a1cb1.js rename to web/settings/assets/inverter_secondary-d7a96ac9.js index 5c66998d8c..1a2e3c9b7c 100644 --- a/web/settings/assets/inverter_secondary-362a1cb1.js +++ b/web/settings/assets/inverter_secondary-d7a96ac9.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-99f8d83a.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,B as n,A as a,F as g}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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. ",-1)),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))]),_: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-fcf847f9.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,B as n,A as a,F as g}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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. ",-1)),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))]),_: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/io_action-f04c5275.js b/web/settings/assets/io_action-76cb64d7.js similarity index 84% rename from web/settings/assets/io_action-f04c5275.js rename to web/settings/assets/io_action-76cb64d7.js index c8e266faa3..c70b4abb7b 100644 --- a/web/settings/assets/io_action-f04c5275.js +++ b/web/settings/assets/io_action-76cb64d7.js @@ -1 +1 @@ -import{a as y}from"./IoConfig-fbc082e3.js";import{O as V}from"./OpenwbIoSinglePattern-70603a89.js";import{_ as B,u as r,l as n,m as v,x as u,E as h,B as _,z as p,N as C}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const E={name:"IoActionDimmingDirectControl",components:{OpenwbIoSinglePattern:V},mixins:[y],computed:{value:{get(){return this.ioAction.configuration.input_pattern},set(t){this.updateConfiguration(t,"configuration.input_pattern")}},ioDevicesOutputOptions(){let t=[];return this.availableIoDevices.forEach(e=>{var a;let i=[];Object.keys(((a=e==null?void 0:e.output)==null?void 0:a.digital)||{}).forEach(l=>{i.push({text:`${l}`,value:{type:"io",id:e.id,digital_output:l}})}),i.length>0&&t.push({label:e.name,options:i})}),t.length===0&&t.push({label:"Keine digitalen Ausgänge verfügbar",options:[]}),t},availableDevices(){return[{label:this.availableChargePoints.length>0?"Ladepunkte":"Keine Ladepunkte verfügbar",options:this.availableChargePoints.map(e=>({value:{type:"cp",id:e.value},text:e.text}))}].concat(this.ioDevicesOutputOptions)}}},O={key:2};function x(t,e,i,a,l,o){var m,d,c,g,b,f;const w=r("openwb-base-alert"),k=r("openwb-io-single-pattern"),D=r("openwb-base-select-input");return n(),v(C,null,[((m=t.ioDevice)==null?void 0:m.type)==="eebus"?(n(),u(w,{key:0,subtype:"warning"},{default:h(()=>[...e[2]||(e[2]=[_(" Steuerboxen mit EEBus-Schnistelle sind für Dimmen per Direktsteuerung nicht geeignet. Bitte wähle ein anderes I/O-Gerät aus. ",-1)])]),_:1})):t.ioDevice?(n(),u(k,{key:1,modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=s=>o.value=s),contacts:(c=(d=t.ioDevice)==null?void 0:d.input)==null?void 0:c.digital},null,8,["modelValue","contacts"])):p("",!0),((g=t.ioDevice)==null?void 0:g.type)!=="eebus"?(n(),v("hr",O)):p("",!0),((b=t.ioDevice)==null?void 0:b.type)!=="eebus"?(n(),u(D,{key:3,title:"Verhalten anwenden auf...","not-selected":"Bitte auswählen","empty-value":[],groups:o.availableDevices,multiple:"",required:"",disabled:!(Object.keys(o.value[0].matrix).length>0),"model-value":(f=t.ioAction)==null?void 0:f.configuration.devices,"onUpdate:modelValue":e[1]||(e[1]=s=>t.updateConfiguration(s,"configuration.devices"))},{help:h(()=>[...e[3]||(e[3]=[_(" Bitte die Ladepunkte und/oder digitalen Ausgänge auswählen, auf welche das Verhalten angewendet werden soll. Es können mehrere Einträge ausgewählt werden. Ladepunkte werden auf 4,2kW gedimmt, eine Verrechnung mit PV-Erzeugung findet nicht statt. ",-1)])]),_:1},8,["groups","disabled","model-value"])):p("",!0)],64)}const U=B(E,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/dimming_direct_control/io_action.vue"]]);export{U as default}; +import{a as y}from"./IoConfig-1612dbed.js";import{O as V}from"./OpenwbIoSinglePattern-67be81d3.js";import{_ as B,u as r,l as n,m as v,x as u,E as h,B as _,z as p,N as C}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const E={name:"IoActionDimmingDirectControl",components:{OpenwbIoSinglePattern:V},mixins:[y],computed:{value:{get(){return this.ioAction.configuration.input_pattern},set(t){this.updateConfiguration(t,"configuration.input_pattern")}},ioDevicesOutputOptions(){let t=[];return this.availableIoDevices.forEach(e=>{var a;let i=[];Object.keys(((a=e==null?void 0:e.output)==null?void 0:a.digital)||{}).forEach(l=>{i.push({text:`${l}`,value:{type:"io",id:e.id,digital_output:l}})}),i.length>0&&t.push({label:e.name,options:i})}),t.length===0&&t.push({label:"Keine digitalen Ausgänge verfügbar",options:[]}),t},availableDevices(){return[{label:this.availableChargePoints.length>0?"Ladepunkte":"Keine Ladepunkte verfügbar",options:this.availableChargePoints.map(e=>({value:{type:"cp",id:e.value},text:e.text}))}].concat(this.ioDevicesOutputOptions)}}},O={key:2};function x(t,e,i,a,l,o){var m,d,c,g,b,f;const w=r("openwb-base-alert"),k=r("openwb-io-single-pattern"),D=r("openwb-base-select-input");return n(),v(C,null,[((m=t.ioDevice)==null?void 0:m.type)==="eebus"?(n(),u(w,{key:0,subtype:"warning"},{default:h(()=>[...e[2]||(e[2]=[_(" Steuerboxen mit EEBus-Schnistelle sind für Dimmen per Direktsteuerung nicht geeignet. Bitte wähle ein anderes I/O-Gerät aus. ",-1)])]),_:1})):t.ioDevice?(n(),u(k,{key:1,modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=s=>o.value=s),contacts:(c=(d=t.ioDevice)==null?void 0:d.input)==null?void 0:c.digital},null,8,["modelValue","contacts"])):p("",!0),((g=t.ioDevice)==null?void 0:g.type)!=="eebus"?(n(),v("hr",O)):p("",!0),((b=t.ioDevice)==null?void 0:b.type)!=="eebus"?(n(),u(D,{key:3,title:"Verhalten anwenden auf...","not-selected":"Bitte auswählen","empty-value":[],groups:o.availableDevices,multiple:"",required:"",disabled:!(Object.keys(o.value[0].matrix).length>0),"model-value":(f=t.ioAction)==null?void 0:f.configuration.devices,"onUpdate:modelValue":e[1]||(e[1]=s=>t.updateConfiguration(s,"configuration.devices"))},{help:h(()=>[...e[3]||(e[3]=[_(" Bitte die Ladepunkte und/oder digitalen Ausgänge auswählen, auf welche das Verhalten angewendet werden soll. Es können mehrere Einträge ausgewählt werden. Ladepunkte werden auf 4,2kW gedimmt, eine Verrechnung mit PV-Erzeugung findet nicht statt. ",-1)])]),_:1},8,["groups","disabled","model-value"])):p("",!0)],64)}const U=B(E,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/dimming_direct_control/io_action.vue"]]);export{U as default}; diff --git a/web/settings/assets/io_action-aaa80f95.js b/web/settings/assets/io_action-c076c518.js similarity index 82% rename from web/settings/assets/io_action-aaa80f95.js rename to web/settings/assets/io_action-c076c518.js index a581c43f8c..719b14b997 100644 --- a/web/settings/assets/io_action-aaa80f95.js +++ b/web/settings/assets/io_action-c076c518.js @@ -1 +1 @@ -import{a as w}from"./IoConfig-fbc082e3.js";import{O as h}from"./OpenwbIoPattern-722eda5a.js";import{_ as k,u as i,l as o,m as v,x as l,E as r,B as b,G as V,z as u,N as y}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const B={name:"IoActionRippleControlReceiver",components:{OpenwbIoPattern:h},mixins:[w],computed:{value:{get(){return this.ioAction.configuration.input_pattern},set(t){this.updateConfiguration(t,"configuration.input_pattern")}},availableDevices(){return[{label:this.availableChargePoints.length>0?"Ladepunkte":"Keine Ladepunkte verfügbar",options:this.availableChargePoints.map(e=>({value:{type:"cp",id:e.value},text:e.text}))}]}}},C={key:2};function D(t,e,x,A,E,a){var p,d,m,c;const g=i("openwb-base-alert"),s=i("openwb-base-select-input"),f=i("openwb-io-pattern");return o(),v(y,null,[((p=t.ioDevice)==null?void 0:p.type)==="eebus"?(o(),l(g,{key:0,subtype:"warning"},{default:r(()=>[...e[2]||(e[2]=[b(" Steuerboxen mit EEBus-Schnistelle sind für Rundsteuerempfänger-Aktionen nicht geeignet. Bitte wähle ein anderes I/O-Gerät aus. ",-1)])]),_:1})):t.ioDevice?(o(),l(f,{key:1,modelValue:a.value,"onUpdate:modelValue":e[0]||(e[0]=n=>a.value=n),contacts:t.ioDevice.input.digital,"enable-add-delete":!0,"min-patterns":2},{default:r(n=>[V(s,{modelValue:n.pattern.value,"onUpdate:modelValue":_=>n.pattern.value=_,required:"","not-selected":"Bitte auswählen","empty-value":null,options:[{value:0,text:"sperren"},{value:1,text:"freigeben"}]},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["modelValue","contacts"])):u("",!0),((d=t.ioDevice)==null?void 0:d.type)!=="eebus"?(o(),v("hr",C)):u("",!0),((m=t.ioDevice)==null?void 0:m.type)!=="eebus"?(o(),l(s,{key:3,title:"Anwenden auf...","empty-value":[],groups:a.availableDevices,required:"",multiple:"","model-value":(c=t.ioAction)==null?void 0:c.configuration.devices,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.devices"))},{help:r(()=>[...e[3]||(e[3]=[b(" Bitte die Ladepunkte auswählen, auf die das Verhalten angewendet werden soll. Es können mehrere Einträge ausgewählt werden. ",-1)])]),_:1},8,["groups","model-value"])):u("",!0)],64)}const z=k(B,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/ripple_control_receiver/io_action.vue"]]);export{z as default}; +import{a as w}from"./IoConfig-1612dbed.js";import{O as h}from"./OpenwbIoPattern-53665b55.js";import{_ as k,u as i,l as o,m as v,x as l,E as r,B as b,G as V,z as u,N as y}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const B={name:"IoActionRippleControlReceiver",components:{OpenwbIoPattern:h},mixins:[w],computed:{value:{get(){return this.ioAction.configuration.input_pattern},set(t){this.updateConfiguration(t,"configuration.input_pattern")}},availableDevices(){return[{label:this.availableChargePoints.length>0?"Ladepunkte":"Keine Ladepunkte verfügbar",options:this.availableChargePoints.map(e=>({value:{type:"cp",id:e.value},text:e.text}))}]}}},C={key:2};function D(t,e,x,A,E,a){var p,d,m,c;const g=i("openwb-base-alert"),s=i("openwb-base-select-input"),f=i("openwb-io-pattern");return o(),v(y,null,[((p=t.ioDevice)==null?void 0:p.type)==="eebus"?(o(),l(g,{key:0,subtype:"warning"},{default:r(()=>[...e[2]||(e[2]=[b(" Steuerboxen mit EEBus-Schnistelle sind für Rundsteuerempfänger-Aktionen nicht geeignet. Bitte wähle ein anderes I/O-Gerät aus. ",-1)])]),_:1})):t.ioDevice?(o(),l(f,{key:1,modelValue:a.value,"onUpdate:modelValue":e[0]||(e[0]=n=>a.value=n),contacts:t.ioDevice.input.digital,"enable-add-delete":!0,"min-patterns":2},{default:r(n=>[V(s,{modelValue:n.pattern.value,"onUpdate:modelValue":_=>n.pattern.value=_,required:"","not-selected":"Bitte auswählen","empty-value":null,options:[{value:0,text:"sperren"},{value:1,text:"freigeben"}]},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["modelValue","contacts"])):u("",!0),((d=t.ioDevice)==null?void 0:d.type)!=="eebus"?(o(),v("hr",C)):u("",!0),((m=t.ioDevice)==null?void 0:m.type)!=="eebus"?(o(),l(s,{key:3,title:"Anwenden auf...","empty-value":[],groups:a.availableDevices,required:"",multiple:"","model-value":(c=t.ioAction)==null?void 0:c.configuration.devices,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.devices"))},{help:r(()=>[...e[3]||(e[3]=[b(" Bitte die Ladepunkte auswählen, auf die das Verhalten angewendet werden soll. Es können mehrere Einträge ausgewählt werden. ",-1)])]),_:1},8,["groups","model-value"])):u("",!0)],64)}const z=k(B,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/ripple_control_receiver/io_action.vue"]]);export{z as default}; diff --git a/web/settings/assets/io_action-91a47bd2.js b/web/settings/assets/io_action-d07c7fcf.js similarity index 90% rename from web/settings/assets/io_action-91a47bd2.js rename to web/settings/assets/io_action-d07c7fcf.js index 00d2f17d26..14922b5661 100644 --- a/web/settings/assets/io_action-91a47bd2.js +++ b/web/settings/assets/io_action-d07c7fcf.js @@ -1 +1 @@ -import{a as y}from"./IoConfig-fbc082e3.js";import{O as C}from"./OpenwbIoSinglePattern-70603a89.js";import{_ as E,u as s,l as r,m as w,x as _,z as l,G as B,E as O,B as k,A as P,N as z}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const x={name:"IoActionDimming",components:{OpenwbIoSinglePattern:C},mixins:[y],computed:{value:{get(){var e,t;return((t=(e=this.ioAction)==null?void 0:e.configuration)==null?void 0:t.input_pattern)||[]},set(e){this.updateConfiguration(e,"configuration.input_pattern")}},isPatternConfigured(){var e;return((e=this.value)==null?void 0:e.length)>0&&this.value[0].matrix&&Object.keys(this.value[0].matrix).length>0},ioDevicesOutputOptions(){var t;let e=[];return(t=this.availableIoDevices)==null||t.forEach(i=>{var u;let a=[];Object.keys(((u=i==null?void 0:i.output)==null?void 0:u.digital)||{}).forEach(n=>{a.push({text:`${n}`,value:{type:"io",id:i.id,digital_output:n}})}),a.length>0&&e.push({label:i.name,options:a})}),e},availableDevices(){var t;return[{label:"Ladepunkte",options:((t=this.availableChargePoints)==null?void 0:t.map(i=>({value:{type:"cp",id:i.value},text:i.text})))||[]}].concat(this.ioDevicesOutputOptions)}}},L={key:2};function N(e,t,i,a,u,n){var d,p,g,m,c,b,h,v,f;const V=s("openwb-io-single-pattern"),A=s("openwb-base-number-input"),D=s("openwb-base-select-input");return r(),w(z,null,[((d=e.ioDevice)==null?void 0:d.type)!=="eebus"&&n.value&&n.value.length>0?(r(),_(V,{key:0,modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=o=>n.value=o),contacts:((g=(p=e.ioDevice)==null?void 0:p.input)==null?void 0:g.digital)||{}},null,8,["modelValue","contacts"])):l("",!0),(m=e.ioAction)!=null&&m.configuration&&((c=e.ioDevice)==null?void 0:c.type)!=="eebus"?(r(),_(A,{key:1,title:"maximale Bezugsleistung",unit:"kW",min:"0",step:"0.01",required:"",disabled:!n.isPatternConfigured,"model-value":(e.ioAction.configuration.max_import_power||0)/1e3,"onUpdate:modelValue":t[1]||(t[1]=o=>e.updateConfiguration(o*1e3,"configuration.max_import_power"))},null,8,["disabled","model-value"])):l("",!0),((b=e.ioDevice)==null?void 0:b.type)!=="eebus"?(r(),w("hr",L)):l("",!0),B(D,{title:"Anwenden auf...",groups:n.availableDevices,required:"",multiple:"",disabled:((h=e.ioDevice)==null?void 0:h.type)!=="eebus"&&!n.isPatternConfigured,"model-value":((f=(v=e.ioAction)==null?void 0:v.configuration)==null?void 0:f.devices)||[],"onUpdate:modelValue":t[2]||(t[2]=o=>e.updateConfiguration(o,"configuration.devices"))},{help:O(()=>[...t[3]||(t[3]=[k(" Bitte die Ladepunkte und/oder digitale Ausgänge auswählen, welche berücksichtigt werden sollen. Es können mehrere Einträge ausgewählt werden. Bei steuerbaren Verbrauchseinrichtungen, die über einen digitalen Ausgang angesteuert werden, wird eine Leistung von 4,2 kW bei aktiver Dimmung angenommen. Ladepunkte werden so gesteuert, dass die angegebene Leistung am EVU-Punkt nicht überschritten wird. Eigene PV-Erzeugung und vorhandene Speicher werden berücksichtigt und zusätzlich genutzt.",-1),P("br",null,null,-1),k(' Zugeordnete digitale Ausgänge werden im nicht gedimmten Zustand aktiviert und im gedimmten Zustand deaktiviert. So ist sichergestellt, dass bei einem Verbindungsabbruch oder einem Ausfall der Steuerung die Verbraucher nicht ungewollt mit voller Leistung betrieben werden. Ein mit "NO" bezeichneter digitaler Ausgang ist also für den nicht gedimmten Zustand geschlossen und bei aktivierter Dimmung geöffnet. ',-1)])]),_:1},8,["groups","disabled","model-value"])],64)}const T=E(x,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/dimming/io_action.vue"]]);export{T as default}; +import{a as y}from"./IoConfig-1612dbed.js";import{O as C}from"./OpenwbIoSinglePattern-67be81d3.js";import{_ as E,u as s,l as r,m as w,x as _,z as l,G as B,E as O,B as k,A as P,N as z}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const x={name:"IoActionDimming",components:{OpenwbIoSinglePattern:C},mixins:[y],computed:{value:{get(){var e,t;return((t=(e=this.ioAction)==null?void 0:e.configuration)==null?void 0:t.input_pattern)||[]},set(e){this.updateConfiguration(e,"configuration.input_pattern")}},isPatternConfigured(){var e;return((e=this.value)==null?void 0:e.length)>0&&this.value[0].matrix&&Object.keys(this.value[0].matrix).length>0},ioDevicesOutputOptions(){var t;let e=[];return(t=this.availableIoDevices)==null||t.forEach(i=>{var u;let a=[];Object.keys(((u=i==null?void 0:i.output)==null?void 0:u.digital)||{}).forEach(n=>{a.push({text:`${n}`,value:{type:"io",id:i.id,digital_output:n}})}),a.length>0&&e.push({label:i.name,options:a})}),e},availableDevices(){var t;return[{label:"Ladepunkte",options:((t=this.availableChargePoints)==null?void 0:t.map(i=>({value:{type:"cp",id:i.value},text:i.text})))||[]}].concat(this.ioDevicesOutputOptions)}}},L={key:2};function N(e,t,i,a,u,n){var d,p,g,m,c,b,h,v,f;const V=s("openwb-io-single-pattern"),A=s("openwb-base-number-input"),D=s("openwb-base-select-input");return r(),w(z,null,[((d=e.ioDevice)==null?void 0:d.type)!=="eebus"&&n.value&&n.value.length>0?(r(),_(V,{key:0,modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=o=>n.value=o),contacts:((g=(p=e.ioDevice)==null?void 0:p.input)==null?void 0:g.digital)||{}},null,8,["modelValue","contacts"])):l("",!0),(m=e.ioAction)!=null&&m.configuration&&((c=e.ioDevice)==null?void 0:c.type)!=="eebus"?(r(),_(A,{key:1,title:"maximale Bezugsleistung",unit:"kW",min:"0",step:"0.01",required:"",disabled:!n.isPatternConfigured,"model-value":(e.ioAction.configuration.max_import_power||0)/1e3,"onUpdate:modelValue":t[1]||(t[1]=o=>e.updateConfiguration(o*1e3,"configuration.max_import_power"))},null,8,["disabled","model-value"])):l("",!0),((b=e.ioDevice)==null?void 0:b.type)!=="eebus"?(r(),w("hr",L)):l("",!0),B(D,{title:"Anwenden auf...",groups:n.availableDevices,required:"",multiple:"",disabled:((h=e.ioDevice)==null?void 0:h.type)!=="eebus"&&!n.isPatternConfigured,"model-value":((f=(v=e.ioAction)==null?void 0:v.configuration)==null?void 0:f.devices)||[],"onUpdate:modelValue":t[2]||(t[2]=o=>e.updateConfiguration(o,"configuration.devices"))},{help:O(()=>[...t[3]||(t[3]=[k(" Bitte die Ladepunkte und/oder digitale Ausgänge auswählen, welche berücksichtigt werden sollen. Es können mehrere Einträge ausgewählt werden. Bei steuerbaren Verbrauchseinrichtungen, die über einen digitalen Ausgang angesteuert werden, wird eine Leistung von 4,2 kW bei aktiver Dimmung angenommen. Ladepunkte werden so gesteuert, dass die angegebene Leistung am EVU-Punkt nicht überschritten wird. Eigene PV-Erzeugung und vorhandene Speicher werden berücksichtigt und zusätzlich genutzt.",-1),P("br",null,null,-1),k(' Zugeordnete digitale Ausgänge werden im nicht gedimmten Zustand aktiviert und im gedimmten Zustand deaktiviert. So ist sichergestellt, dass bei einem Verbindungsabbruch oder einem Ausfall der Steuerung die Verbraucher nicht ungewollt mit voller Leistung betrieben werden. Ein mit "NO" bezeichneter digitaler Ausgang ist also für den nicht gedimmten Zustand geschlossen und bei aktivierter Dimmung geöffnet. ',-1)])]),_:1},8,["groups","disabled","model-value"])],64)}const T=E(x,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/controllable_consumers/dimming/io_action.vue"]]);export{T as default}; diff --git a/web/settings/assets/io_action-2bce6dd8.js b/web/settings/assets/io_action-d7eb4919.js similarity index 88% rename from web/settings/assets/io_action-2bce6dd8.js rename to web/settings/assets/io_action-d7eb4919.js index aafb80594e..902e3da4b0 100644 --- a/web/settings/assets/io_action-2bce6dd8.js +++ b/web/settings/assets/io_action-d7eb4919.js @@ -1 +1 @@ -import{a as k}from"./IoConfig-fbc082e3.js";import{O as _}from"./OpenwbIoPattern-722eda5a.js";import{_ as A,u,l as i,m as l,x as p,E as s,B as a,F as f,z as r,G as V,A as y,N as B}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const z={name:"IoActionStepwiseControl",components:{OpenwbIoPattern:_},mixins:[k],computed:{availableDevices(){let e=this.availableComponents.filter(o=>o.type==="inverter").map(o=>({value:{type:o.type,id:o.value},text:o.text}));return[{label:e.length>0?"Wechselrichter":"Keine Wechselrichter verfügbar",options:e}]}}},D={key:1},E={key:2};function C(e,t,o,N,O,v){var g,c,m,b;const d=u("openwb-io-pattern"),h=u("openwb-base-select-input"),w=u("openwb-base-button-group-input");return i(),l(B,null,[((g=e.ioDevice)==null?void 0:g.type)!=="eebus"?(i(),p(d,{key:0,modelValue:e.ioAction.configuration.input_pattern,"onUpdate:modelValue":t[0]||(t[0]=n=>e.ioAction.configuration.input_pattern=n),contacts:e.ioDevice.input.digital,"action-title":"Begrenzung","enable-add-delete":!1,class:"text-center"},{default:s(n=>[a(f(n.pattern.value*100+"%"),1)]),_:1},8,["modelValue","contacts"])):r("",!0),((c=e.ioDevice)==null?void 0:c.type)!=="eebus"?(i(),l("hr",D)):r("",!0),V(h,{modelValue:e.ioAction.configuration.devices,"onUpdate:modelValue":t[1]||(t[1]=n=>e.ioAction.configuration.devices=n),title:"Zugeordnete Erzeugungsanlagen...","not-selected":"Bitte auswählen","empty-value":[],groups:v.availableDevices,required:"",multiple:""},{help:s(()=>[...t[4]||(t[4]=[a(" Bitte die Erzeugungsanlagen auswählen, welche mit dieser Aktion gekoppelt sind. Es können mehrere Erzeugungsanlagen ausgewählt werden.",-1),y("br",null,null,-1),a(" Diese Zuordnung ist rein informativ und hat noch keine Auswirkungen auf die Funktionalität. Die Begrenzung der zugeordneten Erzeugungsanlagen wird im Status angezeigt. ",-1)])]),_:1},8,["modelValue","groups"]),((m=e.ioDevice)==null?void 0:m.type)!=="eebus"?(i(),l("hr",E)):r("",!0),((b=e.ioDevice)==null?void 0:b.type)!=="eebus"?(i(),p(w,{key:3,modelValue:e.ioAction.configuration.passthrough_enabled,"onUpdate:modelValue":t[2]||(t[2]=n=>e.ioAction.configuration.passthrough_enabled=n),title:"Ausgänge aktivieren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],class:"mb-2",required:""},{help:s(()=>[...t[5]||(t[5]=[a(' Optional kann das Signal der konfigurierten Eingänge an Ausgänge durchgereicht ("durchgeschliffen") werden. Wird z.B. das Muster für 60% als aktiv erkannt, dann wird auch das hier festgelegte Ausgangsmuster für 60% aktiviert. ',-1)])]),_:1},8,["modelValue"])):r("",!0),e.ioAction.configuration.passthrough_enabled?(i(),p(d,{key:4,modelValue:e.ioAction.configuration.output_pattern,"onUpdate:modelValue":t[3]||(t[3]=n=>e.ioAction.configuration.output_pattern=n),contacts:e.ioDevice.output.digital,title:"Ausgangsmuster","action-title":"Begrenzung","enable-add-delete":!1,class:"text-center","show-check-pattern":!1},{default:s(n=>[a(f(n.pattern.value*100+"%"),1)]),_:1},8,["modelValue","contacts"])):r("",!0)],64)}const J=A(z,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/generator_systems/stepwise_control/io_action.vue"]]);export{J as default}; +import{a as k}from"./IoConfig-1612dbed.js";import{O as _}from"./OpenwbIoPattern-53665b55.js";import{_ as A,u,l as i,m as l,x as p,E as s,B as a,F as f,z as r,G as V,A as y,N as B}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const z={name:"IoActionStepwiseControl",components:{OpenwbIoPattern:_},mixins:[k],computed:{availableDevices(){let e=this.availableComponents.filter(o=>o.type==="inverter").map(o=>({value:{type:o.type,id:o.value},text:o.text}));return[{label:e.length>0?"Wechselrichter":"Keine Wechselrichter verfügbar",options:e}]}}},D={key:1},E={key:2};function C(e,t,o,N,O,v){var g,c,m,b;const d=u("openwb-io-pattern"),h=u("openwb-base-select-input"),w=u("openwb-base-button-group-input");return i(),l(B,null,[((g=e.ioDevice)==null?void 0:g.type)!=="eebus"?(i(),p(d,{key:0,modelValue:e.ioAction.configuration.input_pattern,"onUpdate:modelValue":t[0]||(t[0]=n=>e.ioAction.configuration.input_pattern=n),contacts:e.ioDevice.input.digital,"action-title":"Begrenzung","enable-add-delete":!1,class:"text-center"},{default:s(n=>[a(f(n.pattern.value*100+"%"),1)]),_:1},8,["modelValue","contacts"])):r("",!0),((c=e.ioDevice)==null?void 0:c.type)!=="eebus"?(i(),l("hr",D)):r("",!0),V(h,{modelValue:e.ioAction.configuration.devices,"onUpdate:modelValue":t[1]||(t[1]=n=>e.ioAction.configuration.devices=n),title:"Zugeordnete Erzeugungsanlagen...","not-selected":"Bitte auswählen","empty-value":[],groups:v.availableDevices,required:"",multiple:""},{help:s(()=>[...t[4]||(t[4]=[a(" Bitte die Erzeugungsanlagen auswählen, welche mit dieser Aktion gekoppelt sind. Es können mehrere Erzeugungsanlagen ausgewählt werden.",-1),y("br",null,null,-1),a(" Diese Zuordnung ist rein informativ und hat noch keine Auswirkungen auf die Funktionalität. Die Begrenzung der zugeordneten Erzeugungsanlagen wird im Status angezeigt. ",-1)])]),_:1},8,["modelValue","groups"]),((m=e.ioDevice)==null?void 0:m.type)!=="eebus"?(i(),l("hr",E)):r("",!0),((b=e.ioDevice)==null?void 0:b.type)!=="eebus"?(i(),p(w,{key:3,modelValue:e.ioAction.configuration.passthrough_enabled,"onUpdate:modelValue":t[2]||(t[2]=n=>e.ioAction.configuration.passthrough_enabled=n),title:"Ausgänge aktivieren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],class:"mb-2",required:""},{help:s(()=>[...t[5]||(t[5]=[a(' Optional kann das Signal der konfigurierten Eingänge an Ausgänge durchgereicht ("durchgeschliffen") werden. Wird z.B. das Muster für 60% als aktiv erkannt, dann wird auch das hier festgelegte Ausgangsmuster für 60% aktiviert. ',-1)])]),_:1},8,["modelValue"])):r("",!0),e.ioAction.configuration.passthrough_enabled?(i(),p(d,{key:4,modelValue:e.ioAction.configuration.output_pattern,"onUpdate:modelValue":t[3]||(t[3]=n=>e.ioAction.configuration.output_pattern=n),contacts:e.ioDevice.output.digital,title:"Ausgangsmuster","action-title":"Begrenzung","enable-add-delete":!1,class:"text-center","show-check-pattern":!1},{default:s(n=>[a(f(n.pattern.value*100+"%"),1)]),_:1},8,["modelValue","contacts"])):r("",!0)],64)}const J=A(z,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/generator_systems/stepwise_control/io_action.vue"]]);export{J as default}; diff --git a/web/settings/assets/io_device-e3e4e279.js b/web/settings/assets/io_device-8104373e.js similarity index 83% rename from web/settings/assets/io_device-e3e4e279.js rename to web/settings/assets/io_device-8104373e.js index b2a7e1b5c0..084d2ad6a9 100644 --- a/web/settings/assets/io_device-e3e4e279.js +++ b/web/settings/assets/io_device-8104373e.js @@ -1 +1 @@ -import{O as m}from"./IoConfig-fbc082e3.js";import{C as f}from"./index-25097726.js";import{_ as g,u as s,l as h,m as b,G as a,E as l,B as o,A as n}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./dynamic-import-helper-be004503.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";const _={name:"IoDeviceAddOn",mixins:[f,m],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/+/config"]}},computed:{configuredChargePoints(){const t=this.getWildcardTopics("openWB/chargepoint/+/config");let e=[];for(const i of Object.values(t))if(["external_openwb"].includes(i.type)){if(e.find(r=>r.value===i.configuration.ip_address))continue;e.push({value:i.configuration.ip_address,text:i.name})}return e},configuredDisplays(){return[]},availableIoSources:{get(){return[{label:"Ladepunkte",options:this.configuredChargePoints},{label:"Zusatzdisplays",options:this.configuredDisplays}].filter(t=>t.options.length>0)}}}},v={class:"io-device-add-on"};function w(t,e,i,r,B,d){const u=s("openwb-base-alert"),p=s("openwb-base-select-input");return h(),b("div",v,[a(u,{subtype:"warning"},{default:l(()=>[...e[1]||(e[1]=[o(" Die Kontakte der AddOn-Platine sind nicht galvanisch oder optisch getrennt. Es wird dringend empfohlen, mit Koppelrelais zu arbeiten.",-1),n("br",null,null,-1),o(" Weiterhin muss für die Verwendung der Kontakte in einer openWB series2 eine weitere Kabeldurchführung in das Gehäuse gebohrt werden. Da es hierbei zu Undichtigkeiten kommen kann, ist dies nur von fachkundigen Personen durchzuführen.",-1),n("br",null,null,-1),o(" Es wird keine Haftung für Schäden übernommen, die durch die direkte Beschaltung der Kontakte oder eine zusätzliche Bohrung im Gehäuse entstehen.",-1),n("br",null,null,-1),o(" Es wird der Einsatz des Dimm- & Control-Kits empfohlen! ",-1)])]),_:1}),a(p,{title:"Installiert auf...","not-selected":"Bitte auswählen","empty-value":null,options:[{value:"localhost",text:"dieser openWB"}],groups:d.availableIoSources,"model-value":t.ioDevice.configuration.host,"onUpdate:modelValue":e[0]||(e[0]=c=>t.updateConfiguration(c,"configuration.host"))},{help:l(()=>[...e[2]||(e[2]=[o(" Bitte die Komponente auswählen, an der die Add-On-Platine installiert ist.",-1),n("br",null,null,-1),o(" Unterstützt werden:",-1),n("br",null,null,-1),n("ul",null,[n("li",null,"openWB standalone (als primary oder Zusatzdisplay)"),n("li",null,'openWB Ladepunkte als primary ("interne openWB") und secondary ("externe openWB")')],-1)])]),_:1},8,["groups","model-value"])])}const E=g(_,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/add_on/io_device.vue"]]);export{E as default}; +import{O as m}from"./IoConfig-1612dbed.js";import{C as f}from"./index-bbf7119b.js";import{_ as g,u as s,l as h,m as b,G as a,E as l,B as o,A as n}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./dynamic-import-helper-be004503.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";const _={name:"IoDeviceAddOn",mixins:[f,m],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/+/config"]}},computed:{configuredChargePoints(){const t=this.getWildcardTopics("openWB/chargepoint/+/config");let e=[];for(const i of Object.values(t))if(["external_openwb"].includes(i.type)){if(e.find(r=>r.value===i.configuration.ip_address))continue;e.push({value:i.configuration.ip_address,text:i.name})}return e},configuredDisplays(){return[]},availableIoSources:{get(){return[{label:"Ladepunkte",options:this.configuredChargePoints},{label:"Zusatzdisplays",options:this.configuredDisplays}].filter(t=>t.options.length>0)}}}},v={class:"io-device-add-on"};function w(t,e,i,r,B,d){const u=s("openwb-base-alert"),p=s("openwb-base-select-input");return h(),b("div",v,[a(u,{subtype:"warning"},{default:l(()=>[...e[1]||(e[1]=[o(" Die Kontakte der AddOn-Platine sind nicht galvanisch oder optisch getrennt. Es wird dringend empfohlen, mit Koppelrelais zu arbeiten.",-1),n("br",null,null,-1),o(" Weiterhin muss für die Verwendung der Kontakte in einer openWB series2 eine weitere Kabeldurchführung in das Gehäuse gebohrt werden. Da es hierbei zu Undichtigkeiten kommen kann, ist dies nur von fachkundigen Personen durchzuführen.",-1),n("br",null,null,-1),o(" Es wird keine Haftung für Schäden übernommen, die durch die direkte Beschaltung der Kontakte oder eine zusätzliche Bohrung im Gehäuse entstehen.",-1),n("br",null,null,-1),o(" Es wird der Einsatz des Dimm- & Control-Kits empfohlen! ",-1)])]),_:1}),a(p,{title:"Installiert auf...","not-selected":"Bitte auswählen","empty-value":null,options:[{value:"localhost",text:"dieser openWB"}],groups:d.availableIoSources,"model-value":t.ioDevice.configuration.host,"onUpdate:modelValue":e[0]||(e[0]=c=>t.updateConfiguration(c,"configuration.host"))},{help:l(()=>[...e[2]||(e[2]=[o(" Bitte die Komponente auswählen, an der die Add-On-Platine installiert ist.",-1),n("br",null,null,-1),o(" Unterstützt werden:",-1),n("br",null,null,-1),n("ul",null,[n("li",null,"openWB standalone (als primary oder Zusatzdisplay)"),n("li",null,'openWB Ladepunkte als primary ("interne openWB") und secondary ("externe openWB")')],-1)])]),_:1},8,["groups","model-value"])])}const E=g(_,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/add_on/io_device.vue"]]);export{E as default}; diff --git a/web/settings/assets/io_device-7709cf65.js b/web/settings/assets/io_device-ce392a7d.js similarity index 70% rename from web/settings/assets/io_device-7709cf65.js rename to web/settings/assets/io_device-ce392a7d.js index dee17b8840..65294ceaa5 100644 --- a/web/settings/assets/io_device-7709cf65.js +++ b/web/settings/assets/io_device-ce392a7d.js @@ -1 +1 @@ -import{O as m}from"./IoConfig-fbc082e3.js";import{_ as p,u as r,l as a,m as s,G as t}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const d={name:"IoDeviceDimmKit",mixins:[m]},l={class:"io-device-dimm-kit"};function v(o,e,c,f,_,b){const u=r("openwb-base-text-input"),n=r("openwb-base-number-input");return a(),s("div",l,[t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.ioDevice.configuration.host,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.host"))},null,8,["model-value"]),t(n,{title:"Port",required:"","model-value":o.ioDevice.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(n,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.ioDevice.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const B=p(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/dimm_kit/io_device.vue"]]);export{B as default}; +import{O as m}from"./IoConfig-1612dbed.js";import{_ as p,u as r,l as a,m as s,G as t}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const d={name:"IoDeviceDimmKit",mixins:[m]},l={class:"io-device-dimm-kit"};function v(o,e,c,f,_,b){const u=r("openwb-base-text-input"),n=r("openwb-base-number-input");return a(),s("div",l,[t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.ioDevice.configuration.host,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.host"))},null,8,["model-value"]),t(n,{title:"Port",required:"","model-value":o.ioDevice.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(n,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.ioDevice.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const B=p(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/dimm_kit/io_device.vue"]]);export{B as default}; diff --git a/web/settings/assets/io_device-ffe199a9.js b/web/settings/assets/io_device-de89f66a.js similarity index 84% rename from web/settings/assets/io_device-ffe199a9.js rename to web/settings/assets/io_device-de89f66a.js index 9d7e238691..bb59fa69cc 100644 --- a/web/settings/assets/io_device-ffe199a9.js +++ b/web/settings/assets/io_device-de89f66a.js @@ -1 +1 @@ -import{O as m}from"./IoConfig-fbc082e3.js";import{_ as p,u as r,l as c,m as b,G as n,E as l,B as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"IoDeviceEebus",mixins:[m]},v={class:"io-device-eebus"};function g(e,o,_,w,k,D){const a=r("openwb-base-number-input"),t=r("openwb-base-text-input"),s=r("openwb-base-button-input"),d=r("openwb-base-alert");return c(),b("div",v,[n(a,{title:"Port",required:"",min:1,max:65535,"model-value":e.ioDevice.configuration.port,"onUpdate:modelValue":o[0]||(o[0]=i=>e.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),n(t,{title:"SKI-Schlüssel des VNB","model-value":e.ioDevice.configuration.remote_ski,"onUpdate:modelValue":o[1]||(o[1]=i=>e.updateConfiguration(i,"configuration.remote_ski"))},null,8,["model-value"]),n(s,{title:"Zertifikat und SKI-Schlüssel","button-text":"Zertifikat und SKI-Schlüssel generieren",subtype:"warning",onButtonClicked:o[2]||(o[2]=i=>e.sendSystemCommand("createEebusCert",{io_device:e.ioDevice.id}))},{help:l(()=>[...o[3]||(o[3]=[u(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ",-1)])]),_:1}),n(d,{subtype:"danger"},{default:l(()=>[...o[4]||(o[4]=[u(" Vorhandene Zertifikate werden gelöscht. Der SKI-Schlüssel muss danach beim Netzbetreiber (VNB) neu eingetragen werden. ",-1)])]),_:1}),n(t,{title:"SKI-Schlüssel (zum Eintragen beim VNB)","model-value":e.ioDevice.configuration.cert_info.client_ski,readonly:!0},null,8,["model-value"]),n(t,{title:"Zertifikat gültig ab","model-value":e.ioDevice.configuration.cert_info.not_before,readonly:!0},null,8,["model-value"]),n(t,{title:"Zertifikat gültig bis","model-value":e.ioDevice.configuration.cert_info.not_after,readonly:!0},null,8,["model-value"]),n(t,{title:"Aussteller","model-value":e.ioDevice.configuration.cert_info.issuer,readonly:!0},null,8,["model-value"]),n(t,{title:"weitere Informationen","model-value":e.ioDevice.configuration.cert_info.subject,readonly:!0},null,8,["model-value"])])}const E=p(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/eebus/io_device.vue"]]);export{E as default}; +import{O as m}from"./IoConfig-1612dbed.js";import{_ as p,u as r,l as c,m as b,G as n,E as l,B as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"IoDeviceEebus",mixins:[m]},v={class:"io-device-eebus"};function g(e,o,_,w,k,D){const a=r("openwb-base-number-input"),t=r("openwb-base-text-input"),s=r("openwb-base-button-input"),d=r("openwb-base-alert");return c(),b("div",v,[n(a,{title:"Port",required:"",min:1,max:65535,"model-value":e.ioDevice.configuration.port,"onUpdate:modelValue":o[0]||(o[0]=i=>e.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),n(t,{title:"SKI-Schlüssel des VNB","model-value":e.ioDevice.configuration.remote_ski,"onUpdate:modelValue":o[1]||(o[1]=i=>e.updateConfiguration(i,"configuration.remote_ski"))},null,8,["model-value"]),n(s,{title:"Zertifikat und SKI-Schlüssel","button-text":"Zertifikat und SKI-Schlüssel generieren",subtype:"warning",onButtonClicked:o[2]||(o[2]=i=>e.sendSystemCommand("createEebusCert",{io_device:e.ioDevice.id}))},{help:l(()=>[...o[3]||(o[3]=[u(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ",-1)])]),_:1}),n(d,{subtype:"danger"},{default:l(()=>[...o[4]||(o[4]=[u(" Vorhandene Zertifikate werden gelöscht. Der SKI-Schlüssel muss danach beim Netzbetreiber (VNB) neu eingetragen werden. ",-1)])]),_:1}),n(t,{title:"SKI-Schlüssel (zum Eintragen beim VNB)","model-value":e.ioDevice.configuration.cert_info.client_ski,readonly:!0},null,8,["model-value"]),n(t,{title:"Zertifikat gültig ab","model-value":e.ioDevice.configuration.cert_info.not_before,readonly:!0},null,8,["model-value"]),n(t,{title:"Zertifikat gültig bis","model-value":e.ioDevice.configuration.cert_info.not_after,readonly:!0},null,8,["model-value"]),n(t,{title:"Aussteller","model-value":e.ioDevice.configuration.cert_info.issuer,readonly:!0},null,8,["model-value"]),n(t,{title:"weitere Informationen","model-value":e.ioDevice.configuration.cert_info.subject,readonly:!0},null,8,["model-value"])])}const E=p(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/eebus/io_device.vue"]]);export{E as default}; diff --git a/web/settings/assets/monitoring-ec1608df.js b/web/settings/assets/monitoring-b515e712.js similarity index 81% rename from web/settings/assets/monitoring-ec1608df.js rename to web/settings/assets/monitoring-b515e712.js index 4e9909117a..803418203b 100644 --- a/web/settings/assets/monitoring-ec1608df.js +++ b/web/settings/assets/monitoring-b515e712.js @@ -1 +1 @@ -import{M as l}from"./DataManagement-9f7405c3.js";import{_ as p,u as a,l as d,m,G as t,E as g,B as r,A as s}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,k,_,w,y){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return d(),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 ",-1),s("a",{href:"https://wb-solution.de/produkt/aktives-monitoring-openwb-installation-2/",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten.",-1),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ",-1)])]),_: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=p(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-246ef920.js";import{_ as p,u as a,l as d,m,G as t,E as g,B as r,A as s}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,k,_,w,y){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return d(),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 ",-1),s("a",{href:"https://wb-solution.de/produkt/aktives-monitoring-openwb-installation-2/",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten.",-1),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ",-1)])]),_: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=p(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/vehicle-81357ab5.js b/web/settings/assets/vehicle-14a57b71.js similarity index 79% rename from web/settings/assets/vehicle-81357ab5.js rename to web/settings/assets/vehicle-14a57b71.js index 14d765aafd..861a1085c4 100644 --- a/web/settings/assets/vehicle-81357ab5.js +++ b/web/settings/assets/vehicle-14a57b71.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-2de1808b.js";import{_ as l,u as s,l as d,m,G as r,E as i,B as t,A as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocCupra",mixins:[p]},g={class:"vehicle-soc-cupra"};function b(o,e,w,C,c,V){const u=s("openwb-base-alert"),a=s("openwb-base-text-input");return d(),m("div",g,[r(u,{subtype:"info"},{default:i(()=>[...e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Cupra",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Cupra",-1)])]),_:1}),r(a,{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:i(()=>[...e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Cupra-Servern. ",-1)])]),_:1},8,["model-value"]),r(a,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:i(()=>[...e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Cupra-Servern. ",-1)])]),_:1},8,["model-value"]),r(a,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:i(()=>[...e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_:1},8,["model-value"])])}const q=l(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/cupra/vehicle.vue"]]);export{q as default}; +import{V as p}from"./VehicleConfig-ab3e40e7.js";import{_ as l,u as s,l as d,m,G as r,E as i,B as t,A as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocCupra",mixins:[p]},g={class:"vehicle-soc-cupra"};function b(o,e,w,C,c,V){const u=s("openwb-base-alert"),a=s("openwb-base-text-input");return d(),m("div",g,[r(u,{subtype:"info"},{default:i(()=>[...e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Cupra",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Cupra",-1)])]),_:1}),r(a,{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:i(()=>[...e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Cupra-Servern. ",-1)])]),_:1},8,["model-value"]),r(a,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:i(()=>[...e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Cupra-Servern. ",-1)])]),_:1},8,["model-value"]),r(a,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:i(()=>[...e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_:1},8,["model-value"])])}const q=l(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/cupra/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-4cad221d.js b/web/settings/assets/vehicle-21596240.js similarity index 81% rename from web/settings/assets/vehicle-4cad221d.js rename to web/settings/assets/vehicle-21596240.js index 14c58cd27e..f7ce296952 100644 --- a/web/settings/assets/vehicle-4cad221d.js +++ b/web/settings/assets/vehicle-21596240.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-2de1808b.js";import{_ as d,u as a,l as p,m,G as o,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const c={name:"VehicleSocHttp",mixins:[s]},g={class:"vehicle-soc-http"};function b(t,e,v,f,h,w){const l=a("openwb-base-text-input"),u=a("openwb-base-button-group-input");return p(),m("div",g,[o(l,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.soc_url"))},{help:i(()=>[...e[3]||(e[3]=[r(" 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)])]),_:1},8,["model-value"]),o(l,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.range_url"))},{help:i(()=>[...e[4]||(e[4]=[r(" 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)])]),_:1},8,["model-value"]),o(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[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.calculate_soc"))},{help:i(()=>[...e[5]||(e[5]=[r(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC während der Ladung nicht aktualisiert wird. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1)])]),_:1},8,["model-value"])])}const D=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{D as default}; +import{V as s}from"./VehicleConfig-ab3e40e7.js";import{_ as d,u as a,l as p,m,G as o,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const c={name:"VehicleSocHttp",mixins:[s]},g={class:"vehicle-soc-http"};function b(t,e,v,f,h,w){const l=a("openwb-base-text-input"),u=a("openwb-base-button-group-input");return p(),m("div",g,[o(l,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.soc_url"))},{help:i(()=>[...e[3]||(e[3]=[r(" 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)])]),_:1},8,["model-value"]),o(l,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.range_url"))},{help:i(()=>[...e[4]||(e[4]=[r(" 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)])]),_:1},8,["model-value"]),o(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[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.calculate_soc"))},{help:i(()=>[...e[5]||(e[5]=[r(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC während der Ladung nicht aktualisiert wird. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1)])]),_:1},8,["model-value"])])}const D=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{D as default}; diff --git a/web/settings/assets/vehicle-8342abc4.js b/web/settings/assets/vehicle-31a362e8.js similarity index 91% rename from web/settings/assets/vehicle-8342abc4.js rename to web/settings/assets/vehicle-31a362e8.js index 99173a245a..8742fd74be 100644 --- a/web/settings/assets/vehicle-8342abc4.js +++ b/web/settings/assets/vehicle-31a362e8.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-2de1808b.js";import{_ as g,u as s,l as b,m as f,G as i,E as r,B as t,A as n}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const w={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},C={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function k(o,e,B,S,D,z){const a=s("font-awesome-icon"),d=s("openwb-base-alert"),u=s("openwb-base-text-input"),m=s("openwb-base-button-group-input");return b(),f("div",v,[i(d,{subtype:"info"},{default:r(()=>[e[14]||(e[14]=t(" Zum erstmaligen Login z.B. nach einem Neustart oder wenn die Abfrage nicht mehr funktioniert ist ein ",-1)),e[15]||(e[15]=n("b",null,"aktuelles Captcha-Token",-1)),e[16]||(e[16]=t(" notwendig.",-1)),e[17]||(e[17]=n("br",null,null,-1)),e[18]||(e[18]=t(" Falls mehr als ein Fahrzeug in dem CD-Account vorhanden ist, sollte nur das mit der niedrigsten openWB id mit einem gültigen Captcha-Token konfiguriert werden (PRIMARY).",-1)),e[19]||(e[19]=n("br",null,null,-1)),e[20]||(e[20]=t(" Das SoC-Modul des Fahrzeuges mit ",-1)),e[21]||(e[21]=n("b",null,"gültigem",-1)),e[22]||(e[22]=t(" Captcha-Token führt die SoC-Abfragen für alle Fahrzeuge im CD-Account aus.",-1)),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Die SECONDARY SoC-Module holen sich ihre Daten vom PRIMARY.",-1)),e[25]||(e[25]=n("br",null,null,-1)),e[26]||(e[26]=t(' Bei den weiteren Fahrzeugen ist daher als Captcha-Token der Wert "SECONDARY" (ohne Quotes) einzutragen.',-1)),e[27]||(e[27]=n("br",null,null,-1)),e[28]||(e[28]=t(" Um das Captcha-Token zu bekommen bitte folgende Schritte durchführen: ",-1)),n("ol",null,[n("li",null,[e[6]||(e[6]=t(" In einem neuen Browser-Tab auf diese Seite gehen:",-1)),e[7]||(e[7]=n("br",null,null,-1)),n("a",C,[e[5]||(e[5]=t(" Captcha Lösen ",-1)),i(a,{icon:["fas","external-link-alt"]})]),e[8]||(e[8]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) ",-1))]),e[9]||(e[9]=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[10]||(e[10]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[11]||(e[11]=n("li",null,"Die Konfiguration speichern.",-1)),e[12]||(e[12]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[13]||(e[13]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[29]||(e[29]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1}),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[30]||(e[30]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ",-1)])]),_: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[31]||(e[31]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ",-1)])]),_: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[32]||(e[32]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_: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"))},null,8,["model-value"]),i(m,{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[33]||(e[33]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),n("br",null,null,-1)])]),_:1},8,["model-value"])])}const U=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{U as default}; +import{V as p}from"./VehicleConfig-ab3e40e7.js";import{_ as g,u as s,l as b,m as f,G as i,E as r,B as t,A as n}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const w={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},C={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function k(o,e,B,S,D,z){const a=s("font-awesome-icon"),d=s("openwb-base-alert"),u=s("openwb-base-text-input"),m=s("openwb-base-button-group-input");return b(),f("div",v,[i(d,{subtype:"info"},{default:r(()=>[e[14]||(e[14]=t(" Zum erstmaligen Login z.B. nach einem Neustart oder wenn die Abfrage nicht mehr funktioniert ist ein ",-1)),e[15]||(e[15]=n("b",null,"aktuelles Captcha-Token",-1)),e[16]||(e[16]=t(" notwendig.",-1)),e[17]||(e[17]=n("br",null,null,-1)),e[18]||(e[18]=t(" Falls mehr als ein Fahrzeug in dem CD-Account vorhanden ist, sollte nur das mit der niedrigsten openWB id mit einem gültigen Captcha-Token konfiguriert werden (PRIMARY).",-1)),e[19]||(e[19]=n("br",null,null,-1)),e[20]||(e[20]=t(" Das SoC-Modul des Fahrzeuges mit ",-1)),e[21]||(e[21]=n("b",null,"gültigem",-1)),e[22]||(e[22]=t(" Captcha-Token führt die SoC-Abfragen für alle Fahrzeuge im CD-Account aus.",-1)),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Die SECONDARY SoC-Module holen sich ihre Daten vom PRIMARY.",-1)),e[25]||(e[25]=n("br",null,null,-1)),e[26]||(e[26]=t(' Bei den weiteren Fahrzeugen ist daher als Captcha-Token der Wert "SECONDARY" (ohne Quotes) einzutragen.',-1)),e[27]||(e[27]=n("br",null,null,-1)),e[28]||(e[28]=t(" Um das Captcha-Token zu bekommen bitte folgende Schritte durchführen: ",-1)),n("ol",null,[n("li",null,[e[6]||(e[6]=t(" In einem neuen Browser-Tab auf diese Seite gehen:",-1)),e[7]||(e[7]=n("br",null,null,-1)),n("a",C,[e[5]||(e[5]=t(" Captcha Lösen ",-1)),i(a,{icon:["fas","external-link-alt"]})]),e[8]||(e[8]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) ",-1))]),e[9]||(e[9]=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[10]||(e[10]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[11]||(e[11]=n("li",null,"Die Konfiguration speichern.",-1)),e[12]||(e[12]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[13]||(e[13]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[29]||(e[29]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1}),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[30]||(e[30]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ",-1)])]),_: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[31]||(e[31]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ",-1)])]),_: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[32]||(e[32]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_: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"))},null,8,["model-value"]),i(m,{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[33]||(e[33]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),n("br",null,null,-1)])]),_:1},8,["model-value"])])}const U=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-b8118a27.js b/web/settings/assets/vehicle-43fcf505.js similarity index 91% rename from web/settings/assets/vehicle-b8118a27.js rename to web/settings/assets/vehicle-43fcf505.js index 3ec2ff68cf..1e0d05db9c 100644 --- a/web/settings/assets/vehicle-b8118a27.js +++ b/web/settings/assets/vehicle-43fcf505.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-2de1808b.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,B as n,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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. ',-1),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)])]),_: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. ',-1),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.",-1),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ",-1)])]),_: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. ",-1),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_: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)])]),_: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-ab3e40e7.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,B as n,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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. ',-1),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)])]),_: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. ',-1),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.",-1),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ",-1)])]),_: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.',-1),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.",-1),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ",-1)])]),_: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. ",-1),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_: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)])]),_: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-0fb2ed2f.js b/web/settings/assets/vehicle-4ae0aeb7.js similarity index 82% rename from web/settings/assets/vehicle-0fb2ed2f.js rename to web/settings/assets/vehicle-4ae0aeb7.js index b92ec56844..299f22ad80 100644 --- a/web/settings/assets/vehicle-0fb2ed2f.js +++ b/web/settings/assets/vehicle-4ae0aeb7.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-2de1808b.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,B as a,A as v}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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 ",-1),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ",-1)])]),_: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-ab3e40e7.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,B as a,A as v}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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 ",-1),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ",-1)])]),_: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-c4cfc25c.js b/web/settings/assets/vehicle-6072558b.js similarity index 79% rename from web/settings/assets/vehicle-c4cfc25c.js rename to web/settings/assets/vehicle-6072558b.js index dda329a3ed..9dadda11d7 100644 --- a/web/settings/assets/vehicle-c4cfc25c.js +++ b/web/settings/assets/vehicle-6072558b.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-2de1808b.js";import{_ as u,u as a,l as p,m,G as i,E as r,B as t,A as f}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocVwid",mixins:[l]},g={class:"vehicle-soc-skoda"};function b(o,e,w,k,V,c){const d=a("openwb-base-alert"),s=a("openwb-base-text-input");return p(),m("div",g,[i(d,{subtype:"info"},{default:r(()=>[...e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Skoda",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Skoda",-1)])]),_:1}),i(s,{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]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Skoda-Servern. ",-1)])]),_:1},8,["model-value"]),i(s,{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]=[t(" Das Passwort für die Anmeldung an den Skoda-Servern. ",-1)])]),_:1},8,["model-value"]),i(s,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[...e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_:1},8,["model-value"])])}const q=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skoda/vehicle.vue"]]);export{q as default}; +import{V as l}from"./VehicleConfig-ab3e40e7.js";import{_ as u,u as a,l as p,m,G as i,E as r,B as t,A as f}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocVwid",mixins:[l]},g={class:"vehicle-soc-skoda"};function b(o,e,w,k,V,c){const d=a("openwb-base-alert"),s=a("openwb-base-text-input");return p(),m("div",g,[i(d,{subtype:"info"},{default:r(()=>[...e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Skoda",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Skoda",-1)])]),_:1}),i(s,{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]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Skoda-Servern. ",-1)])]),_:1},8,["model-value"]),i(s,{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]=[t(" Das Passwort für die Anmeldung an den Skoda-Servern. ",-1)])]),_:1},8,["model-value"]),i(s,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[...e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])]),_:1},8,["model-value"])])}const q=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skoda/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-a1283af6.js b/web/settings/assets/vehicle-825d3aa7.js similarity index 64% rename from web/settings/assets/vehicle-a1283af6.js rename to web/settings/assets/vehicle-825d3aa7.js index f3ee6c031a..f169a5c3f8 100644 --- a/web/settings/assets/vehicle-a1283af6.js +++ b/web/settings/assets/vehicle-825d3aa7.js @@ -1 +1 @@ -import{V as n}from"./VehicleConfig-2de1808b.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-manual"};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" und "Wirkungsgrad der Ladeelektronik" in dem Fahrzeug-Profil. ',-1)])]),_: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-ab3e40e7.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-manual"};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" und "Wirkungsgrad der Ladeelektronik" in dem Fahrzeug-Profil. ',-1)])]),_: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-397ee997.js b/web/settings/assets/vehicle-959a1698.js similarity index 84% rename from web/settings/assets/vehicle-397ee997.js rename to web/settings/assets/vehicle-959a1698.js index 035c4efd70..39acc6b4f3 100644 --- a/web/settings/assets/vehicle-397ee997.js +++ b/web/settings/assets/vehicle-959a1698.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-2de1808b.js";import{_ as p,u as s,l as m,m as v,G as t,E as l,B as o,A as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocOVMS",mixins:[a]},g={class:"vehicle-soc-ovms"};function b(n,e,V,w,S,M){const d=s("openwb-base-alert"),u=s("openwb-base-text-input");return m(),v("div",g,[t(d,{subtype:"info"},{default:l(()=>[...e[4]||(e[4]=[o(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),i("a",{href:"https://github.com/openWB/core/wiki/SoC-OVMS",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul OVMS",-1)])]),_:1}),t(u,{title:"Server URL",required:"","model-value":n.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.server_url"))},{help:l(()=>[...e[5]||(e[5]=[o(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. ",-1),i("br",null,null,-1),o(" https://ovms.dexters-web.de:6869",-1),i("br",null,null,-1),o(" oder",-1),i("br",null,null,-1),o(" https://api.openvehicles.com:6869",-1),i("br",null,null,-1),o(" oder ein custom server",-1),i("br",null,null,-1)])]),_:1},8,["model-value"]),t(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.user_id"))},{help:l(()=>[...e[6]||(e[6]=[o(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ",-1)])]),_:1},8,["model-value"]),t(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateConfiguration(r,"configuration.password"))},{help:l(()=>[...e[7]||(e[7]=[o(" Das Passwort für die Anmeldung am OVMS-Server. ",-1)])]),_:1},8,["model-value"]),t(u,{title:"Vehicle Id",required:"","model-value":n.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateConfiguration(r,"configuration.vehicleId"))},{help:l(()=>[...e[8]||(e[8]=[o(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ",-1)])]),_:1},8,["model-value"])])}const z=p(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{z as default}; +import{V as a}from"./VehicleConfig-ab3e40e7.js";import{_ as p,u as s,l as m,m as v,G as t,E as l,B as o,A as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocOVMS",mixins:[a]},g={class:"vehicle-soc-ovms"};function b(n,e,V,w,S,M){const d=s("openwb-base-alert"),u=s("openwb-base-text-input");return m(),v("div",g,[t(d,{subtype:"info"},{default:l(()=>[...e[4]||(e[4]=[o(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),i("a",{href:"https://github.com/openWB/core/wiki/SoC-OVMS",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul OVMS",-1)])]),_:1}),t(u,{title:"Server URL",required:"","model-value":n.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.server_url"))},{help:l(()=>[...e[5]||(e[5]=[o(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. ",-1),i("br",null,null,-1),o(" https://ovms.dexters-web.de:6869",-1),i("br",null,null,-1),o(" oder",-1),i("br",null,null,-1),o(" https://api.openvehicles.com:6869",-1),i("br",null,null,-1),o(" oder ein custom server",-1),i("br",null,null,-1)])]),_:1},8,["model-value"]),t(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.user_id"))},{help:l(()=>[...e[6]||(e[6]=[o(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ",-1)])]),_:1},8,["model-value"]),t(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateConfiguration(r,"configuration.password"))},{help:l(()=>[...e[7]||(e[7]=[o(" Das Passwort für die Anmeldung am OVMS-Server. ",-1)])]),_:1},8,["model-value"]),t(u,{title:"Vehicle Id",required:"","model-value":n.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateConfiguration(r,"configuration.vehicleId"))},{help:l(()=>[...e[8]||(e[8]=[o(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ",-1)])]),_:1},8,["model-value"])])}const z=p(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-fa4abc83.js b/web/settings/assets/vehicle-9e046742.js similarity index 85% rename from web/settings/assets/vehicle-fa4abc83.js rename to web/settings/assets/vehicle-9e046742.js index ec7188444c..6be8d85ed9 100644 --- a/web/settings/assets/vehicle-fa4abc83.js +++ b/web/settings/assets/vehicle-9e046742.js @@ -1 +1 @@ -import{V as d}from"./VehicleConfig-2de1808b.js";import{_ as p,u as s,l as m,m as g,G as i,E as r,B as o,A as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocHomeAssistant",mixins:[d]},f={class:"vehicle-soc-homeassistant"};function c(t,e,v,h,w,V){const l=s("openwb-base-text-input"),a=s("openwb-base-button-group-input");return m(),g("div",f,[i(l,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.url"))},{help:r(()=>[...e[4]||(e[4]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen und idealerweise Port. Beispiel: http://192.168.1.1:8123 ",-1)])]),_:1},8,["model-value"]),i(l,{title:"Entitäts ID",subtype:"text",required:"","model-value":t.vehicle.configuration.entity_id,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.entity_id"))},{help:r(()=>[...e[5]||(e[5]=[o(" Die Entitäts ID findet sich im HomeAssistant unter „Einstellungen“ → „Geräte & Dienste“ → im oberen Reiter „Entitäten“ auswählen ",-1)])]),_:1},8,["model-value"]),i(l,{title:"Token",subtype:"text",required:"","model-value":t.vehicle.configuration.token,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.token"))},{help:r(()=>[...e[6]||(e[6]=[o(" Das Token kann in HomeAssistant hier erstellt werden:",-1),u("br",null,null,-1),o(" „Dein Profil“ → oberer Reiter „Sicherheit“ → ganz unten „Langlebiges Zugriffstoken erstellen“ ",-1)])]),_:1},8,["model-value"]),i(a,{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[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.calculate_soc"))},{help:r(()=>[...e[7]||(e[7]=[o(" 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. ",-1),u("br",null,null,-1),o(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_:1},8,["model-value"])])}const x=p(b,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/homeassistant/vehicle.vue"]]);export{x as default}; +import{V as d}from"./VehicleConfig-ab3e40e7.js";import{_ as p,u as s,l as m,m as g,G as i,E as r,B as o,A as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocHomeAssistant",mixins:[d]},f={class:"vehicle-soc-homeassistant"};function c(t,e,v,h,w,V){const l=s("openwb-base-text-input"),a=s("openwb-base-button-group-input");return m(),g("div",f,[i(l,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.url"))},{help:r(()=>[...e[4]||(e[4]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen und idealerweise Port. Beispiel: http://192.168.1.1:8123 ",-1)])]),_:1},8,["model-value"]),i(l,{title:"Entitäts ID",subtype:"text",required:"","model-value":t.vehicle.configuration.entity_id,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.entity_id"))},{help:r(()=>[...e[5]||(e[5]=[o(" Die Entitäts ID findet sich im HomeAssistant unter „Einstellungen“ → „Geräte & Dienste“ → im oberen Reiter „Entitäten“ auswählen ",-1)])]),_:1},8,["model-value"]),i(l,{title:"Token",subtype:"text",required:"","model-value":t.vehicle.configuration.token,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.token"))},{help:r(()=>[...e[6]||(e[6]=[o(" Das Token kann in HomeAssistant hier erstellt werden:",-1),u("br",null,null,-1),o(" „Dein Profil“ → oberer Reiter „Sicherheit“ → ganz unten „Langlebiges Zugriffstoken erstellen“ ",-1)])]),_:1},8,["model-value"]),i(a,{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[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.calculate_soc"))},{help:r(()=>[...e[7]||(e[7]=[o(" 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. ",-1),u("br",null,null,-1),o(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_:1},8,["model-value"])])}const x=p(b,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/homeassistant/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-99e4628e.js b/web/settings/assets/vehicle-ade58621.js similarity index 85% rename from web/settings/assets/vehicle-99e4628e.js rename to web/settings/assets/vehicle-ade58621.js index 920c128605..9ad50cf85a 100644 --- a/web/settings/assets/vehicle-99e4628e.js +++ b/web/settings/assets/vehicle-ade58621.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-2de1808b.js";import{_ as d,u,l as p,m as g,G as o,E as l,B as i,A as c}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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. ",-1),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_: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-ab3e40e7.js";import{_ as d,u,l as p,m as g,G as o,E as l,B as i,A as c}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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. ",-1),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ",-1)])]),_: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-30e9d66b.js b/web/settings/assets/vehicle-aedec57c.js similarity index 73% rename from web/settings/assets/vehicle-30e9d66b.js rename to web/settings/assets/vehicle-aedec57c.js index df922ebe83..83a3bc7549 100644 --- a/web/settings/assets/vehicle-30e9d66b.js +++ b/web/settings/assets/vehicle-aedec57c.js @@ -1 +1 @@ -import{V as r}from"./VehicleConfig-2de1808b.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,B as d}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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:"user",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)])]),_:1},8,["model-value"])])}const y=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{y as default}; +import{V as r}from"./VehicleConfig-ab3e40e7.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,B as d}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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:"user",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)])]),_:1},8,["model-value"])])}const y=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{y as default}; diff --git a/web/settings/assets/vehicle-3b26f2bc.js b/web/settings/assets/vehicle-b11f85e4.js similarity index 79% rename from web/settings/assets/vehicle-3b26f2bc.js rename to web/settings/assets/vehicle-b11f85e4.js index c0241a220b..0b03ed3a8a 100644 --- a/web/settings/assets/vehicle-3b26f2bc.js +++ b/web/settings/assets/vehicle-b11f85e4.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-2de1808b.js";import{_ as p,u as a,l as d,m,G as o,E as i,B as r}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocLeaf",mixins:[u]},f={class:"vehicle-soc-leaf"};function g(t,e,c,b,w,N){const s=a("openwb-base-text-input"),l=a("openwb-base-select-input");return d(),m("div",f,[o(s,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>[...e[3]||(e[3]=[r(" Der Benutzername für die Anmeldung an den Nissan-Servern. ",-1)])]),_:1},8,["model-value"]),o(s,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.password"))},{help:i(()=>[...e[4]||(e[4]=[r(" Das Passwort für die Anmeldung an den Nissan-Servern. ",-1)])]),_:1},8,["model-value"]),o(l,{title:"Region",required:"","not-selected":"Bitte auswählen",options:[{value:"NE",text:"Europa (getestet)"},{value:"NNA",text:"USA (nicht getestet)"},{value:"NCI",text:"Kanada (nicht getestet)"},{value:"NMA",text:"Australien (nicht getestet)"},{value:"NML",text:"Japan (nicht getestet)"}],"model-value":t.vehicle.configuration.region,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.region"))},{help:i(()=>[...e[5]||(e[5]=[r(" Die Region, in der das Fahrzeug betrieben wird. ",-1)])]),_:1},8,["model-value"])])}const U=p(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/leaf/vehicle.vue"]]);export{U as default}; +import{V as u}from"./VehicleConfig-ab3e40e7.js";import{_ as p,u as a,l as d,m,G as o,E as i,B as r}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocLeaf",mixins:[u]},f={class:"vehicle-soc-leaf"};function g(t,e,c,b,w,N){const s=a("openwb-base-text-input"),l=a("openwb-base-select-input");return d(),m("div",f,[o(s,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>[...e[3]||(e[3]=[r(" Der Benutzername für die Anmeldung an den Nissan-Servern. ",-1)])]),_:1},8,["model-value"]),o(s,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.password"))},{help:i(()=>[...e[4]||(e[4]=[r(" Das Passwort für die Anmeldung an den Nissan-Servern. ",-1)])]),_:1},8,["model-value"]),o(l,{title:"Region",required:"","not-selected":"Bitte auswählen",options:[{value:"NE",text:"Europa (getestet)"},{value:"NNA",text:"USA (nicht getestet)"},{value:"NCI",text:"Kanada (nicht getestet)"},{value:"NMA",text:"Australien (nicht getestet)"},{value:"NML",text:"Japan (nicht getestet)"}],"model-value":t.vehicle.configuration.region,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.region"))},{help:i(()=>[...e[5]||(e[5]=[r(" Die Region, in der das Fahrzeug betrieben wird. ",-1)])]),_:1},8,["model-value"])])}const U=p(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/leaf/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-2d2abc3b.js b/web/settings/assets/vehicle-b50042d3.js similarity index 84% rename from web/settings/assets/vehicle-2d2abc3b.js rename to web/settings/assets/vehicle-b50042d3.js index de3fcbdbca..1009769392 100644 --- a/web/settings/assets/vehicle-2d2abc3b.js +++ b/web/settings/assets/vehicle-b50042d3.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-2de1808b.js";import{_ as m,u as l,l as f,m as b,G as i,E as r,B as t,A as a}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocVwid",mixins:[p]},v={class:"vehicle-soc-vwid"};function w(n,e,V,c,_,B){const s=l("openwb-base-alert"),u=l("openwb-base-text-input"),d=l("openwb-base-button-group-input");return f(),b("div",v,[i(s,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),a("a",{href:"https://github.com/openWB/core/wiki/SoC-VWId",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul VWId",-1)])]),_:1}),i(u,{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[5]||(e[5]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den VW-Servern. ",-1)])]),_:1},8,["model-value"]),i(u,{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[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den VW-Servern. ",-1)])]),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>[...e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-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":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>[...e[8]||(e[8]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),a("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),a("br",null,null,-1)])]),_:1},8,["model-value"])])}const U=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{U as default}; +import{V as p}from"./VehicleConfig-ab3e40e7.js";import{_ as m,u as l,l as f,m as b,G as i,E as r,B as t,A as a}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocVwid",mixins:[p]},v={class:"vehicle-soc-vwid"};function w(n,e,V,c,_,B){const s=l("openwb-base-alert"),u=l("openwb-base-text-input"),d=l("openwb-base-button-group-input");return f(),b("div",v,[i(s,{subtype:"info"},{default:r(()=>[...e[4]||(e[4]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),a("a",{href:"https://github.com/openWB/core/wiki/SoC-VWId",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul VWId",-1)])]),_:1}),i(u,{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[5]||(e[5]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den VW-Servern. ",-1)])]),_:1},8,["model-value"]),i(u,{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[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den VW-Servern. ",-1)])]),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>[...e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-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":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>[...e[8]||(e[8]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),a("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),a("br",null,null,-1)])]),_:1},8,["model-value"])])}const U=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-1db68f0e.js b/web/settings/assets/vehicle-bcadc742.js similarity index 79% rename from web/settings/assets/vehicle-1db68f0e.js rename to web/settings/assets/vehicle-bcadc742.js index ccc53df9c2..171277b40c 100644 --- a/web/settings/assets/vehicle-1db68f0e.js +++ b/web/settings/assets/vehicle-bcadc742.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-2de1808b.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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)])]),_: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-ab3e40e7.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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)])]),_: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-053499ec.js b/web/settings/assets/vehicle-be0877f5.js similarity index 69% rename from web/settings/assets/vehicle-053499ec.js rename to web/settings/assets/vehicle-be0877f5.js index e82e1e540c..70eb44a33a 100644 --- a/web/settings/assets/vehicle-053499ec.js +++ b/web/settings/assets/vehicle-be0877f5.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-2de1808b.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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-ab3e40e7.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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-44f4eaf1.js b/web/settings/assets/vehicle-be62492a.js similarity index 64% rename from web/settings/assets/vehicle-44f4eaf1.js rename to web/settings/assets/vehicle-be62492a.js index 089dffc160..09e60bd08a 100644 --- a/web/settings/assets/vehicle-44f4eaf1.js +++ b/web/settings/assets/vehicle-be62492a.js @@ -1 +1 @@ -import{V as o}from"./VehicleConfig-2de1808b.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,B as n,A as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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.",-1),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ",-1)])]),_: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-ab3e40e7.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,B as n,A as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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.",-1),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ",-1)])]),_: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-dcc40385.js b/web/settings/assets/vehicle-c55de104.js similarity index 79% rename from web/settings/assets/vehicle-dcc40385.js rename to web/settings/assets/vehicle-c55de104.js index 0d0eb954fc..b675fc9073 100644 --- a/web/settings/assets/vehicle-dcc40385.js +++ b/web/settings/assets/vehicle-c55de104.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-2de1808b.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const h=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{h as default}; +import{V as u}from"./VehicleConfig-ab3e40e7.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const h=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{h as default}; diff --git a/web/settings/assets/vehicle-e69ea87a.js b/web/settings/assets/vehicle-ca1b285b.js similarity index 88% rename from web/settings/assets/vehicle-e69ea87a.js rename to web/settings/assets/vehicle-ca1b285b.js index 09a85639b2..4ccb3fc22a 100644 --- a/web/settings/assets/vehicle-e69ea87a.js +++ b/web/settings/assets/vehicle-ca1b285b.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-2de1808b.js";import{_ as p,u,l as d,m as v,G as a,E as n,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"user",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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const F=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{F as default}; +import{V as s}from"./VehicleConfig-ab3e40e7.js";import{_ as p,u,l as d,m as v,G as a,E as n,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"user",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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const F=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{F as default}; diff --git a/web/settings/assets/vehicle-c2cb190b.js b/web/settings/assets/vehicle-d5bfde74.js similarity index 88% rename from web/settings/assets/vehicle-c2cb190b.js rename to web/settings/assets/vehicle-d5bfde74.js index 0c34e164c0..ce0944fd3b 100644 --- a/web/settings/assets/vehicle-c2cb190b.js +++ b/web/settings/assets/vehicle-d5bfde74.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-2de1808b.js";import{_ as b,u as r,l as f,m as g,G as l,E as i,A as t,B as n,F as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocMqtt",mixins:[m]},w={class:"vehicle-soc-mqtt"};function B(o,e,k,x,C,V){const s=r("openwb-base-copy-to-clipboard"),p=r("openwb-base-alert"),a=r("openwb-base-button-group-input");return f(),g("div",w,[l(p,{subtype:"info"},{default:i(()=>[t("ul",null,[t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/soc ",1)]),_:1}),e[1]||(e[1]=t("br",null,null,-1)),e[2]||(e[2]=n(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[3]||(e[3]=t("br",null,null,-1)),e[4]||(e[4]=n(" Beispiel: ",-1)),e[5]||(e[5]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/soc_timestamp ",1)]),_:1}),e[6]||(e[6]=t("br",null,null,-1)),e[7]||(e[7]=n(" Zeitstempel des SoCs in s als Unix-Zeitstempel",-1)),e[8]||(e[8]=t("br",null,null,-1)),e[9]||(e[9]=n(" Diese Info ist optional. Wird kein Wert für das Topic veröffentlicht, wird bei der Abfrage automatisch der aktuelle Zeitstempel gesetzt.",-1)),e[10]||(e[10]=t("br",null,null,-1)),e[11]||(e[11]=n(" Beispiel: ",-1)),e[12]||(e[12]=t("span",{class:"text-info"},"1748339524",-1))]),t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/range ",1)]),_:1}),e[13]||(e[13]=t("br",null,null,-1)),e[14]||(e[14]=n(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[15]||(e[15]=t("br",null,null,-1)),e[16]||(e[16]=n(" Diese Info ist optional.",-1)),e[17]||(e[17]=t("br",null,null,-1)),e[18]||(e[18]=n(" Beispiel: ",-1)),e[19]||(e[19]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1}),l(a,{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[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.calculate_soc"))},{help:i(()=>[...e[20]||(e[20]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC während der Ladung nicht aktualisiert wird. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1)])]),_:1},8,["model-value"])])}const T=b(v,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{T as default}; +import{V as m}from"./VehicleConfig-ab3e40e7.js";import{_ as b,u as r,l as f,m as g,G as l,E as i,A as t,B as n,F as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocMqtt",mixins:[m]},w={class:"vehicle-soc-mqtt"};function B(o,e,k,x,C,V){const s=r("openwb-base-copy-to-clipboard"),p=r("openwb-base-alert"),a=r("openwb-base-button-group-input");return f(),g("div",w,[l(p,{subtype:"info"},{default:i(()=>[t("ul",null,[t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/soc ",1)]),_:1}),e[1]||(e[1]=t("br",null,null,-1)),e[2]||(e[2]=n(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[3]||(e[3]=t("br",null,null,-1)),e[4]||(e[4]=n(" Beispiel: ",-1)),e[5]||(e[5]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/soc_timestamp ",1)]),_:1}),e[6]||(e[6]=t("br",null,null,-1)),e[7]||(e[7]=n(" Zeitstempel des SoCs in s als Unix-Zeitstempel",-1)),e[8]||(e[8]=t("br",null,null,-1)),e[9]||(e[9]=n(" Diese Info ist optional. Wird kein Wert für das Topic veröffentlicht, wird bei der Abfrage automatisch der aktuelle Zeitstempel gesetzt.",-1)),e[10]||(e[10]=t("br",null,null,-1)),e[11]||(e[11]=n(" Beispiel: ",-1)),e[12]||(e[12]=t("span",{class:"text-info"},"1748339524",-1))]),t("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[n(" openWB/set/mqtt/vehicle/"+u(o.vehicleId)+"/get/range ",1)]),_:1}),e[13]||(e[13]=t("br",null,null,-1)),e[14]||(e[14]=n(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[15]||(e[15]=t("br",null,null,-1)),e[16]||(e[16]=n(" Diese Info ist optional.",-1)),e[17]||(e[17]=t("br",null,null,-1)),e[18]||(e[18]=n(" Beispiel: ",-1)),e[19]||(e[19]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1}),l(a,{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[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.calculate_soc"))},{help:i(()=>[...e[20]||(e[20]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC während der Ladung nicht aktualisiert wird. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1)])]),_:1},8,["model-value"])])}const T=b(v,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-652455d9.js b/web/settings/assets/vehicle-e8d4427e.js similarity index 83% rename from web/settings/assets/vehicle-652455d9.js rename to web/settings/assets/vehicle-e8d4427e.js index 89878e1802..1bfb90e2f3 100644 --- a/web/settings/assets/vehicle-652455d9.js +++ b/web/settings/assets/vehicle-e8d4427e.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-2de1808b.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,B as i}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const L=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{L as default}; +import{V as l}from"./VehicleConfig-ab3e40e7.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,B as i}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const L=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{L as default}; diff --git a/web/settings/assets/vehicle-c78df8ba.js b/web/settings/assets/vehicle-f7fa181c.js similarity index 93% rename from web/settings/assets/vehicle-c78df8ba.js rename to web/settings/assets/vehicle-f7fa181c.js index 5cfc40fa4b..5ef405a765 100644 --- a/web/settings/assets/vehicle-c78df8ba.js +++ b/web/settings/assets/vehicle-f7fa181c.js @@ -1 +1 @@ -import{_ as h,a6 as c,a7 as _,a8 as f,u as r,l as b,m as k,G as i,E as a,B as s,A as v}from"./vendor-1833c026.js";import{a as w}from"./vendor-axios-8e1a46ae.js";import{C}from"./index-25097726.js";import{V as y}from"./VehicleConfig-2de1808b.js";import"./vendor-sortablejs-5493eb90.js";import"./vendor-fortawesome-77ba272b.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[C,y],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")}}}},B={class:"vehicle-soc-tesla"};function U(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",B,[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)])]),_:1},8,["model-value"]),i(m,null,{default:a(()=>[...n[7]||(n[7]=[s("Token abrufen oder eingeben",-1)])]),_: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 Du dich bei Tesla mit Deinen Zugangsdaten anmelden kannst. ",-1)])]),_: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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const R=h(T,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{R as default}; +import{_ as h,a6 as c,a7 as _,a8 as f,u as r,l as b,m as k,G as i,E as a,B as s,A as v}from"./vendor-50125810.js";import{a as w}from"./vendor-axios-1a87d4ae.js";import{C}from"./index-bbf7119b.js";import{V as y}from"./VehicleConfig-ab3e40e7.js";import"./vendor-sortablejs-8982fad4.js";import"./vendor-fortawesome-641b8eb6.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[C,y],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")}}}},B={class:"vehicle-soc-tesla"};function U(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",B,[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)])]),_:1},8,["model-value"]),i(m,null,{default:a(()=>[...n[7]||(n[7]=[s("Token abrufen oder eingeben",-1)])]),_: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 Du dich bei Tesla mit Deinen Zugangsdaten anmelden kannst. ",-1)])]),_: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)])]),_: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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"])])}const R=h(T,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{R as default}; diff --git a/web/settings/assets/vehicle-6fb4edcf.js b/web/settings/assets/vehicle-f9fff90a.js similarity index 89% rename from web/settings/assets/vehicle-6fb4edcf.js rename to web/settings/assets/vehicle-f9fff90a.js index 86a605e58d..cfe2603653 100644 --- a/web/settings/assets/vehicle-6fb4edcf.js +++ b/web/settings/assets/vehicle-f9fff90a.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-2de1808b.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,B as n,A as u,F as _}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.",-1)),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:",-1)),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 Du dich bei Mercedes mit Deinen Zugangsdaten anmelden kannst.",-1),u("br",null,null,-1)])]),_:1},8,["disabled","onButtonClicked"])])}const E=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{E as default}; +import{V as m}from"./VehicleConfig-ab3e40e7.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,B as n,A as u,F as _}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.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)])]),_: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)])]),_: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)])]),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.",-1)),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:",-1)),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 Du dich bei Mercedes mit Deinen Zugangsdaten anmelden kannst.",-1),u("br",null,null,-1)])]),_:1},8,["disabled","onButtonClicked"])])}const E=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{E as default}; diff --git a/web/settings/assets/vendor-1833c026.js b/web/settings/assets/vendor-50125810.js similarity index 98% rename from web/settings/assets/vendor-1833c026.js rename to web/settings/assets/vendor-50125810.js index 38f18a6f43..1cbcbe91ad 100644 --- a/web/settings/assets/vendor-1833c026.js +++ b/web/settings/assets/vendor-50125810.js @@ -1,4 +1,4 @@ -import{r as require$$1$5}from"./vendor-sortablejs-5493eb90.js";var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var l=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:function(){return e[o]}})}),n}var buffer$2={},base64Js={};base64Js.byteLength=byteLength$1;base64Js.toByteArray=toByteArray;base64Js.fromByteArray=fromByteArray;var lookup=[],revLookup=[],Arr=typeof Uint8Array<"u"?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var o=n===t?0:4-n%4;return[n,o]}function byteLength$1(e){var t=getLens(e),n=t[0],o=t[1];return(n+o)*3/4-o}function _byteLength(e,t,n){return(t+n)*3/4-n}function toByteArray(e){var t,n=getLens(e),o=n[0],l=n[1],a=new Arr(_byteLength(e,o,l)),d=0,y=l>0?o-4:o,w;for(w=0;w>16&255,a[d++]=t>>8&255,a[d++]=t&255;return l===2&&(t=revLookup[e.charCodeAt(w)]<<2|revLookup[e.charCodeAt(w+1)]>>4,a[d++]=t&255),l===1&&(t=revLookup[e.charCodeAt(w)]<<10|revLookup[e.charCodeAt(w+1)]<<4|revLookup[e.charCodeAt(w+2)]>>2,a[d++]=t>>8&255,a[d++]=t&255),a}function tripletToBase64(e){return lookup[e>>18&63]+lookup[e>>12&63]+lookup[e>>6&63]+lookup[e&63]}function encodeChunk(e,t,n){for(var o,l=[],a=t;ay?y:d+a));return o===1?(t=e[n-1],l.push(lookup[t>>2]+lookup[t<<4&63]+"==")):o===2&&(t=(e[n-2]<<8)+e[n-1],l.push(lookup[t>>10]+lookup[t>>4&63]+lookup[t<<2&63]+"=")),l.join("")}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ieee754.read=function(e,t,n,o,l){var a,d,y=l*8-o-1,w=(1<>1,S=-7,E=n?l-1:0,C=n?-1:1,B=e[t+E];for(E+=C,a=B&(1<<-S)-1,B>>=-S,S+=y;S>0;a=a*256+e[t+E],E+=C,S-=8);for(d=a&(1<<-S)-1,a>>=-S,S+=o;S>0;d=d*256+e[t+E],E+=C,S-=8);if(a===0)a=1-_;else{if(a===w)return d?NaN:(B?-1:1)*(1/0);d=d+Math.pow(2,o),a=a-_}return(B?-1:1)*d*Math.pow(2,a-o)};ieee754.write=function(e,t,n,o,l,a){var d,y,w,_=a*8-l-1,S=(1<<_)-1,E=S>>1,C=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,B=o?0:a-1,L=o?1:-1,F=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(y=isNaN(t)?1:0,d=S):(d=Math.floor(Math.log(t)/Math.LN2),t*(w=Math.pow(2,-d))<1&&(d--,w*=2),d+E>=1?t+=C/w:t+=C*Math.pow(2,1-E),t*w>=2&&(d++,w/=2),d+E>=S?(y=0,d=S):d+E>=1?(y=(t*w-1)*Math.pow(2,l),d=d+E):(y=t*Math.pow(2,E-1)*Math.pow(2,l),d=0));l>=8;e[n+B]=y&255,B+=L,y/=256,l-=8);for(d=d<0;e[n+B]=d&255,B+=L,d/=256,_-=8);e[n+B-L]|=F*128};/*! +import{r as require$$1$5}from"./vendor-sortablejs-8982fad4.js";var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var l=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:function(){return e[o]}})}),n}var buffer$2={},base64Js={};base64Js.byteLength=byteLength$1;base64Js.toByteArray=toByteArray;base64Js.fromByteArray=fromByteArray;var lookup=[],revLookup=[],Arr=typeof Uint8Array<"u"?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var o=n===t?0:4-n%4;return[n,o]}function byteLength$1(e){var t=getLens(e),n=t[0],o=t[1];return(n+o)*3/4-o}function _byteLength(e,t,n){return(t+n)*3/4-n}function toByteArray(e){var t,n=getLens(e),o=n[0],l=n[1],a=new Arr(_byteLength(e,o,l)),d=0,y=l>0?o-4:o,w;for(w=0;w>16&255,a[d++]=t>>8&255,a[d++]=t&255;return l===2&&(t=revLookup[e.charCodeAt(w)]<<2|revLookup[e.charCodeAt(w+1)]>>4,a[d++]=t&255),l===1&&(t=revLookup[e.charCodeAt(w)]<<10|revLookup[e.charCodeAt(w+1)]<<4|revLookup[e.charCodeAt(w+2)]>>2,a[d++]=t>>8&255,a[d++]=t&255),a}function tripletToBase64(e){return lookup[e>>18&63]+lookup[e>>12&63]+lookup[e>>6&63]+lookup[e&63]}function encodeChunk(e,t,n){for(var o,l=[],a=t;ay?y:d+a));return o===1?(t=e[n-1],l.push(lookup[t>>2]+lookup[t<<4&63]+"==")):o===2&&(t=(e[n-2]<<8)+e[n-1],l.push(lookup[t>>10]+lookup[t>>4&63]+lookup[t<<2&63]+"=")),l.join("")}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ieee754.read=function(e,t,n,o,l){var a,d,y=l*8-o-1,w=(1<>1,S=-7,E=n?l-1:0,C=n?-1:1,B=e[t+E];for(E+=C,a=B&(1<<-S)-1,B>>=-S,S+=y;S>0;a=a*256+e[t+E],E+=C,S-=8);for(d=a&(1<<-S)-1,a>>=-S,S+=o;S>0;d=d*256+e[t+E],E+=C,S-=8);if(a===0)a=1-_;else{if(a===w)return d?NaN:(B?-1:1)*(1/0);d=d+Math.pow(2,o),a=a-_}return(B?-1:1)*d*Math.pow(2,a-o)};ieee754.write=function(e,t,n,o,l,a){var d,y,w,_=a*8-l-1,S=(1<<_)-1,E=S>>1,C=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,B=o?0:a-1,L=o?1:-1,F=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(y=isNaN(t)?1:0,d=S):(d=Math.floor(Math.log(t)/Math.LN2),t*(w=Math.pow(2,-d))<1&&(d--,w*=2),d+E>=1?t+=C/w:t+=C*Math.pow(2,1-E),t*w>=2&&(d++,w/=2),d+E>=S?(y=0,d=S):d+E>=1?(y=(t*w-1)*Math.pow(2,l),d=d+E):(y=t*Math.pow(2,E-1)*Math.pow(2,l),d=0));l>=8;e[n+B]=y&255,B+=L,y/=256,l-=8);for(d=d<0;e[n+B]=d&255,B+=L,d/=256,_-=8);e[n+B-L]|=F*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh @@ -56,7 +56,7 @@ Expected function or array of functions, received type ${typeof e}.`),NOOP)}func `)+" "+oe[1]:oe[0]+z+" "+N.join(", ")+" "+oe[1]}e.types=types;function j(N){return Array.isArray(N)}e.isArray=j;function H(N){return typeof N=="boolean"}e.isBoolean=H;function D(N){return N===null}e.isNull=D;function q(N){return N==null}e.isNullOrUndefined=q;function V(N){return typeof N=="number"}e.isNumber=V;function Q(N){return typeof N=="string"}e.isString=Q;function ae(N){return typeof N=="symbol"}e.isSymbol=ae;function ce(N){return N===void 0}e.isUndefined=ce;function ue(N){return re(N)&&m(N)==="[object RegExp]"}e.isRegExp=ue,e.types.isRegExp=ue;function re(N){return typeof N=="object"&&N!==null}e.isObject=re;function pe(N){return re(N)&&m(N)==="[object Date]"}e.isDate=pe,e.types.isDate=pe;function T(N){return re(N)&&(m(N)==="[object Error]"||N instanceof Error)}e.isError=T,e.types.isNativeError=T;function u(N){return typeof N=="function"}e.isFunction=u;function v(N){return N===null||typeof N=="boolean"||typeof N=="number"||typeof N=="string"||typeof N=="symbol"||typeof N>"u"}e.isPrimitive=v,e.isBuffer=isBufferBrowser;function m(N){return Object.prototype.toString.call(N)}function b(N){return N<10?"0"+N.toString(10):N.toString(10)}var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var N=new Date,z=[b(N.getHours()),b(N.getMinutes()),b(N.getSeconds())].join(":");return[N.getDate(),M[N.getMonth()],z].join(" ")}e.log=function(){console.log("%s - %s",A(),e.format.apply(e,arguments))},e.inherits=inherits_browserExports,e._extend=function(N,z){if(!z||!re(z))return N;for(var oe=Object.keys(z),le=oe.length;le--;)N[oe[le]]=z[oe[le]];return N};function O(N,z){return Object.prototype.hasOwnProperty.call(N,z)}var $=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;e.promisify=function(z){if(typeof z!="function")throw new TypeError('The "original" argument must be of type Function');if($&&z[$]){var oe=z[$];if(typeof oe!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(oe,$,{value:oe,enumerable:!1,writable:!1,configurable:!0}),oe}function oe(){for(var le,U,P=new Promise(function(se,k){le=se,U=k}),Z=[],ie=0;ie0?this.tail.next=H:this.head=H,this.tail=H,++this.length}},{key:"unshift",value:function(j){var H={data:j,next:this.head};this.length===0&&(this.tail=H),this.head=H,++this.length}},{key:"shift",value:function(){if(this.length!==0){var j=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,j}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(j){if(this.length===0)return"";for(var H=this.head,D=""+H.data;H=H.next;)D+=j+H.data;return D}},{key:"concat",value:function(j){if(this.length===0)return _.alloc(0);for(var H=_.allocUnsafe(j>>>0),D=this.head,q=0;D;)B(D.data,H,q),q+=D.data.length,D=D.next;return H}},{key:"consume",value:function(j,H){var D;return jV.length?V.length:j;if(Q===V.length?q+=V:q+=V.slice(0,j),j-=Q,j===0){Q===V.length?(++D,H.next?this.head=H.next:this.head=this.tail=null):(this.head=H,H.data=V.slice(Q));break}++D}return this.length-=D,q}},{key:"_getBuffer",value:function(j){var H=_.allocUnsafe(j),D=this.head,q=1;for(D.data.copy(H),j-=D.data.length;D=D.next;){var V=D.data,Q=j>V.length?V.length:j;if(V.copy(H,H.length-j,0,Q),j-=Q,j===0){Q===V.length?(++q,D.next?this.head=D.next:this.head=this.tail=null):(this.head=D,D.data=V.slice(Q));break}++q}return this.length-=q,H}},{key:C,value:function(j,H){return E(this,t(t({},H),{},{depth:0,customInspect:!1}))}}]),L}(),buffer_list$3}function destroy$4(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return o||l?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,api$2.nextTick(emitErrorNT$3,this,e)):api$2.nextTick(emitErrorNT$3,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?n._writableState?n._writableState.errorEmitted?api$2.nextTick(emitCloseNT$2,n):(n._writableState.errorEmitted=!0,api$2.nextTick(emitErrorAndCloseNT$2,n,a)):api$2.nextTick(emitErrorAndCloseNT$2,n,a):t?(api$2.nextTick(emitCloseNT$2,n),t(a)):api$2.nextTick(emitCloseNT$2,n)}),this)}function emitErrorAndCloseNT$2(e,t){emitErrorNT$3(e,t),emitCloseNT$2(e)}function emitCloseNT$2(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function undestroy$3(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT$3(e,t){e.emit("error",t)}function errorOrDestroy$2(e,t){var n=e._readableState,o=e._writableState;n&&n.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}var destroy_1$4={destroy:destroy$4,undestroy:undestroy$3,errorOrDestroy:errorOrDestroy$2},errorsBrowser$3={};function _inheritsLoose$2(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var codes$2={};function createErrorType$2(e,t,n){n||(n=Error);function o(a,d,y){return typeof t=="string"?t:t(a,d,y)}var l=function(a){_inheritsLoose$2(d,a);function d(y,w,_){return a.call(this,o(y,w,_))||this}return d}(n);l.prototype.name=n.name,l.prototype.code=e,codes$2[e]=l}function oneOf$2(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(o){return String(o)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:n===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function startsWith$2(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function endsWith$2(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function includes$2(e,t,n){return typeof n!="number"&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}createErrorType$2("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);createErrorType$2("ERR_INVALID_ARG_TYPE",function(e,t,n){var o;typeof t=="string"&&startsWith$2(t,"not ")?(o="must not be",t=t.replace(/^not /,"")):o="must be";var l;if(endsWith$2(e," argument"))l="The ".concat(e," ").concat(o," ").concat(oneOf$2(t,"type"));else{var a=includes$2(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(a," ").concat(o," ").concat(oneOf$2(t,"type"))}return l+=". Received type ".concat(typeof n),l},TypeError);createErrorType$2("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType$2("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});createErrorType$2("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType$2("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});createErrorType$2("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType$2("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType$2("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType$2("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType$2("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);createErrorType$2("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");errorsBrowser$3.codes=codes$2;var ERR_INVALID_OPT_VALUE$2=errorsBrowser$3.codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom$2(e,t,n){return e.highWaterMark!=null?e.highWaterMark:t?e[n]:null}function getHighWaterMark$2(e,t,n,o){var l=highWaterMarkFrom$2(t,o,n);if(l!=null){if(!(isFinite(l)&&Math.floor(l)===l)||l<0){var a=o?n:"highWaterMark";throw new ERR_INVALID_OPT_VALUE$2(a,l)}return Math.floor(l)}return e.objectMode?16:16*1024}var state$3={getHighWaterMark:getHighWaterMark$2},browser$d=deprecate;function deprecate(e,t){if(config("noDeprecation"))return e;var n=!1;function o(){if(!n){if(config("throwDeprecation"))throw new Error(t);config("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return o}function config(e){try{if(!commonjsGlobal.localStorage)return!1}catch{return!1}var t=commonjsGlobal.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var _stream_writable$4,hasRequired_stream_writable$4;function require_stream_writable$4(){if(hasRequired_stream_writable$4)return _stream_writable$4;hasRequired_stream_writable$4=1,_stream_writable$4=ue;function e(U){var P=this;this.next=null,this.entry=null,this.finish=function(){le(P,U)}}var t;ue.WritableState=ae;var n={deprecate:browser$d},o=streamBrowser$4,l=buffer$2.Buffer,a=(typeof commonjsGlobal<"u"?commonjsGlobal:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function d(U){return l.from(U)}function y(U){return l.isBuffer(U)||U instanceof a}var w=destroy_1$4,_=state$3,S=_.getHighWaterMark,E=errorsBrowser$3.codes,C=E.ERR_INVALID_ARG_TYPE,B=E.ERR_METHOD_NOT_IMPLEMENTED,L=E.ERR_MULTIPLE_CALLBACK,F=E.ERR_STREAM_CANNOT_PIPE,j=E.ERR_STREAM_DESTROYED,H=E.ERR_STREAM_NULL_VALUES,D=E.ERR_STREAM_WRITE_AFTER_END,q=E.ERR_UNKNOWN_ENCODING,V=w.errorOrDestroy;inherits_browserExports(ue,o);function Q(){}function ae(U,P,Z){t=t||require_stream_duplex$4(),U=U||{},typeof Z!="boolean"&&(Z=P instanceof t),this.objectMode=!!U.objectMode,Z&&(this.objectMode=this.objectMode||!!U.writableObjectMode),this.highWaterMark=S(this,U,"writableHighWaterMark",Z),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ie=U.decodeStrings===!1;this.decodeStrings=!ie,this.defaultEncoding=U.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(se){M(P,se)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=U.emitClose!==!1,this.autoDestroy=!!U.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}ae.prototype.getBuffer=function(){for(var P=this.bufferedRequest,Z=[];P;)Z.push(P),P=P.next;return Z},function(){try{Object.defineProperty(ae.prototype,"buffer",{get:n.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var ce;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ce=Function.prototype[Symbol.hasInstance],Object.defineProperty(ue,Symbol.hasInstance,{value:function(P){return ce.call(this,P)?!0:this!==ue?!1:P&&P._writableState instanceof ae}})):ce=function(P){return P instanceof this};function ue(U){t=t||require_stream_duplex$4();var P=this instanceof t;if(!P&&!ce.call(ue,this))return new ue(U);this._writableState=new ae(U,this,P),this.writable=!0,U&&(typeof U.write=="function"&&(this._write=U.write),typeof U.writev=="function"&&(this._writev=U.writev),typeof U.destroy=="function"&&(this._destroy=U.destroy),typeof U.final=="function"&&(this._final=U.final)),o.call(this)}ue.prototype.pipe=function(){V(this,new F)};function re(U,P){var Z=new D;V(U,Z),api$2.nextTick(P,Z)}function pe(U,P,Z,ie){var se;return Z===null?se=new H:typeof Z!="string"&&!P.objectMode&&(se=new C("chunk",["string","Buffer"],Z)),se?(V(U,se),api$2.nextTick(ie,se),!1):!0}ue.prototype.write=function(U,P,Z){var ie=this._writableState,se=!1,k=!ie.objectMode&&y(U);return k&&!l.isBuffer(U)&&(U=d(U)),typeof P=="function"&&(Z=P,P=null),k?P="buffer":P||(P=ie.defaultEncoding),typeof Z!="function"&&(Z=Q),ie.ending?re(this,Z):(k||pe(this,ie,U,Z))&&(ie.pendingcb++,se=u(this,ie,k,U,P,Z)),se},ue.prototype.cork=function(){this._writableState.corked++},ue.prototype.uncork=function(){var U=this._writableState;U.corked&&(U.corked--,!U.writing&&!U.corked&&!U.bufferProcessing&&U.bufferedRequest&&$(this,U))},ue.prototype.setDefaultEncoding=function(P){if(typeof P=="string"&&(P=P.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new q(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(ue.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T(U,P,Z){return!U.objectMode&&U.decodeStrings!==!1&&typeof P=="string"&&(P=l.from(P,Z)),P}Object.defineProperty(ue.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function u(U,P,Z,ie,se,k){if(!Z){var I=T(P,ie,se);ie!==I&&(Z=!0,se="buffer",ie=I)}var te=P.objectMode?1:ie.length;P.length+=te;var ee=P.length */(function(e,t){var n=buffer$2,o=n.Buffer;function l(d,y){for(var w in d)y[w]=d[w]}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=n:(l(n,t),t.Buffer=a);function a(d,y,w){return o(d,y,w)}a.prototype=Object.create(o.prototype),l(o,a),a.from=function(d,y,w){if(typeof d=="number")throw new TypeError("Argument must not be a number");return o(d,y,w)},a.alloc=function(d,y,w){if(typeof d!="number")throw new TypeError("Argument must be a number");var _=o(d);return y!==void 0?typeof w=="string"?_.fill(y,w):_.fill(y):_.fill(0),_},a.allocUnsafe=function(d){if(typeof d!="number")throw new TypeError("Argument must be a number");return o(d)},a.allocUnsafeSlow=function(d){if(typeof d!="number")throw new TypeError("Argument must be a number");return n.SlowBuffer(d)}})(safeBuffer$2,safeBuffer$2.exports);var safeBufferExports$1=safeBuffer$2.exports,hasRequiredString_decoder;function requireString_decoder(){if(hasRequiredString_decoder)return string_decoder;hasRequiredString_decoder=1;var e=safeBufferExports$1.Buffer,t=e.isEncoding||function(H){switch(H=""+H,H&&H.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function n(H){if(!H)return"utf8";for(var D;;)switch(H){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return H;default:if(D)return;H=(""+H).toLowerCase(),D=!0}}function o(H){var D=n(H);if(typeof D!="string"&&(e.isEncoding===t||!t(H)))throw new Error("Unknown encoding: "+H);return D||H}string_decoder.StringDecoder=l;function l(H){this.encoding=o(H);var D;switch(this.encoding){case"utf16le":this.text=E,this.end=C,D=4;break;case"utf8":this.fillLast=w,D=4;break;case"base64":this.text=B,this.end=L,D=3;break;default:this.write=F,this.end=j;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(D)}l.prototype.write=function(H){if(H.length===0)return"";var D,q;if(this.lastNeed){if(D=this.fillLast(H),D===void 0)return"";q=this.lastNeed,this.lastNeed=0}else q=0;return q>5===6?2:H>>4===14?3:H>>3===30?4:H>>6===2?-1:-2}function d(H,D,q){var V=D.length-1;if(V=0?(Q>0&&(H.lastNeed=Q-1),Q):--V=0?(Q>0&&(H.lastNeed=Q-2),Q):--V=0?(Q>0&&(Q===2?Q=0:H.lastNeed=Q-3),Q):0))}function y(H,D,q){if((D[0]&192)!==128)return H.lastNeed=0,"�";if(H.lastNeed>1&&D.length>1){if((D[1]&192)!==128)return H.lastNeed=1,"�";if(H.lastNeed>2&&D.length>2&&(D[2]&192)!==128)return H.lastNeed=2,"�"}}function w(H){var D=this.lastTotal-this.lastNeed,q=y(this,H);if(q!==void 0)return q;if(this.lastNeed<=H.length)return H.copy(this.lastChar,D,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);H.copy(this.lastChar,D,0,H.length),this.lastNeed-=H.length}function _(H,D){var q=d(this,H,D);if(!this.lastNeed)return H.toString("utf8",D);this.lastTotal=q;var V=H.length-(q-this.lastNeed);return H.copy(this.lastChar,0,V),H.toString("utf8",D,V)}function S(H){var D=H&&H.length?this.write(H):"";return this.lastNeed?D+"�":D}function E(H,D){if((H.length-D)%2===0){var q=H.toString("utf16le",D);if(q){var V=q.charCodeAt(q.length-1);if(V>=55296&&V<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=H[H.length-2],this.lastChar[1]=H[H.length-1],q.slice(0,-1)}return q}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=H[H.length-1],H.toString("utf16le",D,H.length-1)}function C(H){var D=H&&H.length?this.write(H):"";if(this.lastNeed){var q=this.lastTotal-this.lastNeed;return D+this.lastChar.toString("utf16le",0,q)}return D}function B(H,D){var q=(H.length-D)%3;return q===0?H.toString("base64",D):(this.lastNeed=3-q,this.lastTotal=3,q===1?this.lastChar[0]=H[H.length-1]:(this.lastChar[0]=H[H.length-2],this.lastChar[1]=H[H.length-1]),H.toString("base64",D,H.length-q))}function L(H){var D=H&&H.length?this.write(H):"";return this.lastNeed?D+this.lastChar.toString("base64",0,3-this.lastNeed):D}function F(H){return H.toString(this.encoding)}function j(H){return H&&H.length?this.write(H):""}return string_decoder}var ERR_STREAM_PREMATURE_CLOSE$2=errorsBrowser$3.codes.ERR_STREAM_PREMATURE_CLOSE;function once$8(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,o=new Array(n),l=0;l0)if(typeof I!="string"&&!J.objectMode&&Object.getPrototypeOf(I)!==o.prototype&&(I=a(I)),ee)J.endEmitted?Q(k,new H):T(k,J,I,!0);else if(J.ended)Q(k,new F);else{if(J.destroyed)return!1;J.reading=!1,J.decoder&&!te?(I=J.decoder.write(I),J.objectMode||I.length!==0?T(k,J,I,!1):$(k,J)):T(k,J,I,!1)}else ee||(J.reading=!1,$(k,J))}return!J.ended&&(J.length=v?k=v:(k--,k|=k>>>1,k|=k>>>2,k|=k>>>4,k|=k>>>8,k|=k>>>16,k++),k}function b(k,I){return k<=0||I.length===0&&I.ended?0:I.objectMode?1:k!==k?I.flowing&&I.length?I.buffer.head.data.length:I.length:(k>I.highWaterMark&&(I.highWaterMark=m(k)),k<=I.length?k:I.ended?I.length:(I.needReadable=!0,0))}re.prototype.read=function(k){w("read",k),k=parseInt(k,10);var I=this._readableState,te=k;if(k!==0&&(I.emittedReadable=!1),k===0&&I.needReadable&&((I.highWaterMark!==0?I.length>=I.highWaterMark:I.length>0)||I.ended))return w("read: emitReadable",I.length,I.ended),I.length===0&&I.ended?Z(this):A(this),null;if(k=b(k,I),k===0&&I.ended)return I.length===0&&Z(this),null;var ee=I.needReadable;w("need readable",ee),(I.length===0||I.length-k0?fe=P(k,I):fe=null,fe===null?(I.needReadable=I.length<=I.highWaterMark,k=0):(I.length-=k,I.awaitDrain=0),I.length===0&&(I.ended||(I.needReadable=!0),te!==k&&I.ended&&Z(this)),fe!==null&&this.emit("data",fe),fe};function M(k,I){if(w("onEofChunk"),!I.ended){if(I.decoder){var te=I.decoder.end();te&&te.length&&(I.buffer.push(te),I.length+=I.objectMode?1:te.length)}I.ended=!0,I.sync?A(k):(I.needReadable=!1,I.emittedReadable||(I.emittedReadable=!0,O(k)))}}function A(k){var I=k._readableState;w("emitReadable",I.needReadable,I.emittedReadable),I.needReadable=!1,I.emittedReadable||(w("emitReadable",I.flowing),I.emittedReadable=!0,api$2.nextTick(O,k))}function O(k){var I=k._readableState;w("emitReadable_",I.destroyed,I.length,I.ended),!I.destroyed&&(I.length||I.ended)&&(k.emit("readable"),I.emittedReadable=!1),I.needReadable=!I.flowing&&!I.ended&&I.length<=I.highWaterMark,U(k)}function $(k,I){I.readingMore||(I.readingMore=!0,api$2.nextTick(c,k,I))}function c(k,I){for(;!I.reading&&!I.ended&&(I.length1&&se(ee.pipes,k)!==-1)&&!me&&(w("false write response, pause",ee.awaitDrain),ee.awaitDrain++),te.pause())}function Re(Se){w("onerror",Se),qe(),k.removeListener("error",Re),t(k,"error")===0&&Q(k,Se)}ce(k,"error",Re);function _e(){k.removeListener("finish",we),qe()}k.once("close",_e);function we(){w("onfinish"),k.removeListener("close",_e),qe()}k.once("finish",we);function qe(){w("unpipe"),te.unpipe(k)}return k.emit("pipe",te),ee.flowing||(w("pipe resume"),te.resume()),k};function x(k){return function(){var te=k._readableState;w("pipeOnDrain",te.awaitDrain),te.awaitDrain&&te.awaitDrain--,te.awaitDrain===0&&t(k,"data")&&(te.flowing=!0,U(k))}}re.prototype.unpipe=function(k){var I=this._readableState,te={hasUnpiped:!1};if(I.pipesCount===0)return this;if(I.pipesCount===1)return k&&k!==I.pipes?this:(k||(k=I.pipes),I.pipes=null,I.pipesCount=0,I.flowing=!1,k&&k.emit("unpipe",this,te),this);if(!k){var ee=I.pipes,fe=I.pipesCount;I.pipes=null,I.pipesCount=0,I.flowing=!1;for(var J=0;J0,ee.flowing!==!1&&this.resume()):k==="readable"&&!ee.endEmitted&&!ee.readableListening&&(ee.readableListening=ee.needReadable=!0,ee.flowing=!1,ee.emittedReadable=!1,w("on readable",ee.length,ee.reading),ee.length?A(this):ee.reading||api$2.nextTick(z,this)),te},re.prototype.addListener=re.prototype.on,re.prototype.removeListener=function(k,I){var te=n.prototype.removeListener.call(this,k,I);return k==="readable"&&api$2.nextTick(N,this),te},re.prototype.removeAllListeners=function(k){var I=n.prototype.removeAllListeners.apply(this,arguments);return(k==="readable"||k===void 0)&&api$2.nextTick(N,this),I};function N(k){var I=k._readableState;I.readableListening=k.listenerCount("readable")>0,I.resumeScheduled&&!I.paused?I.flowing=!0:k.listenerCount("data")>0&&k.resume()}function z(k){w("readable nexttick read 0"),k.read(0)}re.prototype.resume=function(){var k=this._readableState;return k.flowing||(w("resume"),k.flowing=!k.readableListening,oe(this,k)),k.paused=!1,this};function oe(k,I){I.resumeScheduled||(I.resumeScheduled=!0,api$2.nextTick(le,k,I))}function le(k,I){w("resume",I.reading),I.reading||k.read(0),I.resumeScheduled=!1,k.emit("resume"),U(k),I.flowing&&!I.reading&&k.read(0)}re.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function U(k){var I=k._readableState;for(w("flow",I.flowing);I.flowing&&k.read()!==null;);}re.prototype.wrap=function(k){var I=this,te=this._readableState,ee=!1;k.on("end",function(){if(w("wrapped end"),te.decoder&&!te.ended){var Y=te.decoder.end();Y&&Y.length&&I.push(Y)}I.push(null)}),k.on("data",function(Y){if(w("wrapped data"),te.decoder&&(Y=te.decoder.write(Y)),!(te.objectMode&&Y==null)&&!(!te.objectMode&&(!Y||!Y.length))){var X=I.push(Y);X||(ee=!0,k.pause())}});for(var fe in k)this[fe]===void 0&&typeof k[fe]=="function"&&(this[fe]=function(X){return function(){return k[X].apply(k,arguments)}}(fe));for(var J=0;J=I.length?(I.decoder?te=I.buffer.join(""):I.buffer.length===1?te=I.buffer.first():te=I.buffer.concat(I.length),I.buffer.clear()):te=I.buffer.consume(k,I.decoder),te}function Z(k){var I=k._readableState;w("endReadable",I.endEmitted),I.endEmitted||(I.ended=!0,api$2.nextTick(ie,I,k))}function ie(k,I){if(w("endReadableNT",k.endEmitted,k.length),!k.endEmitted&&k.length===0&&(k.endEmitted=!0,I.readable=!1,I.emit("end"),k.autoDestroy)){var te=I._writableState;(!te||te.autoDestroy&&te.finished)&&I.destroy()}}typeof Symbol=="function"&&(re.from=function(k,I){return V===void 0&&(V=requireFromBrowser$3()),V(re,k,I)});function se(k,I){for(var te=0,ee=k.length;te0;return destroyer$3(d,w,_,function(S){l||(l=S),S&&a.forEach(call$2),!w&&(a.forEach(call$2),o(l))})});return t.reduce(pipe$2)}var pipeline_1$3=pipeline$2;(function(e,t){t=e.exports=require_stream_readable$4(),t.Stream=t,t.Readable=t,t.Writable=require_stream_writable$4(),t.Duplex=require_stream_duplex$4(),t.Transform=_stream_transform$4,t.PassThrough=_stream_passthrough$4,t.finished=endOfStream$4,t.pipeline=pipeline_1$3})(readableBrowser$3,readableBrowser$3.exports);var readableBrowserExports$3=readableBrowser$3.exports;const xtend$2=immutable,Readable=readableBrowserExports$3.Readable,streamsOpts={objectMode:!0},defaultStoreOptions={clean:!0};function Store$3(e){if(!(this instanceof Store$3))return new Store$3(e);this.options=e||{},this.options=xtend$2(defaultStoreOptions,e),this._inflights=new Map}Store$3.prototype.put=function(e,t){return this._inflights.set(e.messageId,e),t&&t(),this};Store$3.prototype.createStream=function(){const e=new Readable(streamsOpts),t=[];let n=!1,o=0;return this._inflights.forEach(function(l,a){t.push(l)}),e._read=function(){!n&&othis.max?!1:(this.aliasToTopic[t]=e,this.length=Object.keys(this.aliasToTopic).length,!0)};TopicAliasRecv$1.prototype.getTopicByAlias=function(e){return this.aliasToTopic[e]};TopicAliasRecv$1.prototype.clear=function(){this.aliasToTopic={}};var topicAliasRecv=TopicAliasRecv$1,iterator,hasRequiredIterator;function requireIterator(){return hasRequiredIterator||(hasRequiredIterator=1,iterator=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}),iterator}var yallist=Yallist$1;Yallist$1.Node=Node$1;Yallist$1.create=Yallist$1;function Yallist$1(e){var t=this;if(t instanceof Yallist$1||(t=new Yallist$1),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(l){t.push(l)});else if(arguments.length>0)for(var n=0,o=arguments.length;n1)n=t;else if(this.head)o=this.head.next,n=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var l=0;o!==null;l++)n=e(n,o.value,l),o=o.next;return n};Yallist$1.prototype.reduceReverse=function(e,t){var n,o=this.tail;if(arguments.length>1)n=t;else if(this.tail)o=this.tail.prev,n=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var l=this.length-1;o!==null;l--)n=e(n,o.value,l),o=o.prev;return n};Yallist$1.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;n!==null;t++)e[t]=n.value,n=n.next;return e};Yallist$1.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;n!==null;t++)e[t]=n.value,n=n.prev;return e};Yallist$1.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var n=new Yallist$1;if(tthis.length&&(t=this.length);for(var o=0,l=this.head;l!==null&&othis.length&&(t=this.length);for(var o=this.length,l=this.tail;l!==null&&o>t;o--)l=l.prev;for(;l!==null&&o>e;o--,l=l.prev)n.push(l.value);return n};Yallist$1.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var o=0,l=this.head;l!==null&&o1;class LRUCache{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");this[MAX]=t.max||1/0;const n=t.length||naiveLength;if(this[LENGTH_CALCULATOR]=typeof n!="function"?naiveLength:n,this[ALLOW_STALE]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[MAX_AGE]=t.maxAge||0,this[DISPOSE]=t.dispose,this[NO_DISPOSE_ON_SET]=t.noDisposeOnSet||!1,this[UPDATE_AGE_ON_GET]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[MAX]=t||1/0,trim(this)}get max(){return this[MAX]}set allowStale(t){this[ALLOW_STALE]=!!t}get allowStale(){return this[ALLOW_STALE]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[MAX_AGE]=t,trim(this)}get maxAge(){return this[MAX_AGE]}set lengthCalculator(t){typeof t!="function"&&(t=naiveLength),t!==this[LENGTH_CALCULATOR]&&(this[LENGTH_CALCULATOR]=t,this[LENGTH$1]=0,this[LRU_LIST].forEach(n=>{n.length=this[LENGTH_CALCULATOR](n.value,n.key),this[LENGTH$1]+=n.length})),trim(this)}get lengthCalculator(){return this[LENGTH_CALCULATOR]}get length(){return this[LENGTH$1]}get itemCount(){return this[LRU_LIST].length}rforEach(t,n){n=n||this;for(let o=this[LRU_LIST].tail;o!==null;){const l=o.prev;forEachStep(this,t,o,n),o=l}}forEach(t,n){n=n||this;for(let o=this[LRU_LIST].head;o!==null;){const l=o.next;forEachStep(this,t,o,n),o=l}}keys(){return this[LRU_LIST].toArray().map(t=>t.key)}values(){return this[LRU_LIST].toArray().map(t=>t.value)}reset(){this[DISPOSE]&&this[LRU_LIST]&&this[LRU_LIST].length&&this[LRU_LIST].forEach(t=>this[DISPOSE](t.key,t.value)),this[CACHE]=new Map,this[LRU_LIST]=new Yallist,this[LENGTH$1]=0}dump(){return this[LRU_LIST].map(t=>isStale(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[LRU_LIST]}set(t,n,o){if(o=o||this[MAX_AGE],o&&typeof o!="number")throw new TypeError("maxAge must be a number");const l=o?Date.now():0,a=this[LENGTH_CALCULATOR](n,t);if(this[CACHE].has(t)){if(a>this[MAX])return del(this,this[CACHE].get(t)),!1;const w=this[CACHE].get(t).value;return this[DISPOSE]&&(this[NO_DISPOSE_ON_SET]||this[DISPOSE](t,w.value)),w.now=l,w.maxAge=o,w.value=n,this[LENGTH$1]+=a-w.length,w.length=a,this.get(t),trim(this),!0}const d=new Entry(t,n,a,l,o);return d.length>this[MAX]?(this[DISPOSE]&&this[DISPOSE](t,n),!1):(this[LENGTH$1]+=d.length,this[LRU_LIST].unshift(d),this[CACHE].set(t,this[LRU_LIST].head),trim(this),!0)}has(t){if(!this[CACHE].has(t))return!1;const n=this[CACHE].get(t).value;return!isStale(this,n)}get(t){return get(this,t,!0)}peek(t){return get(this,t,!1)}pop(){const t=this[LRU_LIST].tail;return t?(del(this,t),t.value):null}del(t){del(this,this[CACHE].get(t))}load(t){this.reset();const n=Date.now();for(let o=t.length-1;o>=0;o--){const l=t[o],a=l.e||0;if(a===0)this.set(l.k,l.v);else{const d=a-n;d>0&&this.set(l.k,l.v,d)}}}prune(){this[CACHE].forEach((t,n)=>get(this,n,!1))}}const get=(e,t,n)=>{const o=e[CACHE].get(t);if(o){const l=o.value;if(isStale(e,l)){if(del(e,o),!e[ALLOW_STALE])return}else n&&(e[UPDATE_AGE_ON_GET]&&(o.value.now=Date.now()),e[LRU_LIST].unshiftNode(o));return l.value}},isStale=(e,t)=>{if(!t||!t.maxAge&&!e[MAX_AGE])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[MAX_AGE]&&n>e[MAX_AGE]},trim=e=>{if(e[LENGTH$1]>e[MAX])for(let t=e[LRU_LIST].tail;e[LENGTH$1]>e[MAX]&&t!==null;){const n=t.prev;del(e,t),t=n}},del=(e,t)=>{if(t){const n=t.value;e[DISPOSE]&&e[DISPOSE](n.key,n.value),e[LENGTH$1]-=n.length,e[CACHE].delete(n.key),e[LRU_LIST].removeNode(t)}};class Entry{constructor(t,n,o,l,a){this.key=t,this.value=n,this.length=o,this.now=l,this.maxAge=a||0}}const forEachStep=(e,t,n,o)=>{let l=n.value;isStale(e,l)&&(del(e,n),e[ALLOW_STALE]||(l=void 0)),l&&t.call(o,l.value,l.key,e)};var lruCache=LRUCache,numberAllocator$1={},__extends$g=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),ContainerIterator=function(){function e(t){t===void 0&&(t=0),this.iteratorType=t}return e.prototype.equals=function(t){return this.o===t.o},e}(),Base$6=function(){function e(){this.M=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this.M},enumerable:!1,configurable:!0}),e.prototype.size=function(){return this.M},e.prototype.empty=function(){return this.M===0},e}(),Container=function(e){__extends$g(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Base$6),__extends$f=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),Stack=function(e){__extends$f(t,e);function t(n){n===void 0&&(n=[]);var o=e.call(this)||this;o.nt=[];var l=o;return n.forEach(function(a){l.push(a)}),o}return t.prototype.clear=function(){this.M=0,this.nt=[]},t.prototype.push=function(n){return this.nt.push(n),this.M+=1,this.M},t.prototype.pop=function(){if(this.M!==0)return this.M-=1,this.nt.pop()},t.prototype.top=function(){return this.nt[this.M-1]},t}(Base$6);const Stack$1=Stack;var __extends$e=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),Queue=function(e){__extends$e(t,e);function t(n){n===void 0&&(n=[]);var o=e.call(this)||this;o.A=0,o.tt=[];var l=o;return n.forEach(function(a){l.push(a)}),o}return t.prototype.clear=function(){this.tt=[],this.M=this.A=0},t.prototype.push=function(n){var o=this.tt.length;if(this.A/o>.5&&this.A+this.M>=o&&o>4096){for(var l=this.M,a=0;a0)&&!(l=o.next()).done;)a.push(l.value)}catch(y){d={error:y}}finally{try{l&&!l.done&&(n=o.return)&&n.call(o)}finally{if(d)throw d.error}}return a},__spreadArray$2=globalThis&&globalThis.D||function(e,t,n){if(n||arguments.length===2)for(var o=0,l=t.length,a;oS?-1:_>1,w=a.M-1>>1;w>=0;--w)a.ri(w,y);return a}return t.prototype.ti=function(n){for(var o=this.ii[n];n>0;){var l=n-1>>1,a=this.ii[l];if(this.$(a,o)<=0)break;this.ii[n]=a,n=l}this.ii[n]=o},t.prototype.ri=function(n,o){for(var l=this.ii[n];n0&&(a=d,y=this.ii[d]),this.$(y,l)>=0)break;this.ii[n]=y,n=a}this.ii[n]=l},t.prototype.clear=function(){this.M=0,this.ii.length=0},t.prototype.push=function(n){this.ii.push(n),this.ti(this.M),this.M+=1},t.prototype.pop=function(){if(this.M!==0){var n=this.ii[0],o=this.ii.pop();return this.M-=1,this.M&&(this.ii[0]=o,this.ri(0,this.M>>1)),n}},t.prototype.top=function(){return this.ii[0]},t.prototype.find=function(n){return this.ii.indexOf(n)>=0},t.prototype.remove=function(n){var o=this.ii.indexOf(n);return o<0?!1:(o===0?this.pop():o===this.M-1?(this.ii.pop(),this.M-=1):(this.ii.splice(o,1,this.ii.pop()),this.M-=1,this.ti(o),this.ri(o,this.M>>1)),!0)},t.prototype.updateItem=function(n){var o=this.ii.indexOf(n);return o<0?!1:(this.ti(o),this.ri(o,this.M>>1),!0)},t.prototype.toArray=function(){return __spreadArray$2([],__read$3(this.ii),!1)},t}(Base$6);const PriorityQueue$1=PriorityQueue;var __extends$c=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),SequentialContainer=function(e){__extends$c(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Container);const SequentialContainer$1=SequentialContainer;function throwIteratorAccessError(){throw new RangeError("Iterator access denied!")}var __extends$b=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),RandomIterator=function(e){__extends$b(t,e);function t(n,o){var l=e.call(this,o)||this;return l.o=n,l.iteratorType===0?(l.pre=function(){return this.o===0&&throwIteratorAccessError(),this.o-=1,this},l.next=function(){return this.o===this.container.size()&&throwIteratorAccessError(),this.o+=1,this}):(l.pre=function(){return this.o===this.container.size()-1&&throwIteratorAccessError(),this.o+=1,this},l.next=function(){return this.o===-1&&throwIteratorAccessError(),this.o-=1,this}),l}return Object.defineProperty(t.prototype,"pointer",{get:function(){return this.container.getElementByPos(this.o)},set:function(n){this.container.setElementByPos(this.o,n)},enumerable:!1,configurable:!0}),t}(ContainerIterator),__extends$a=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),__generator$6=globalThis&&globalThis.i||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,l,a,d;return d={next:y(0),throw:y(1),return:y(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function y(_){return function(S){return w([_,S])}}function w(_){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,l&&(a=_[0]&2?l.return:_[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,_[1])).done)return a;switch(l=0,a&&(_=[_[0]&2,a.value]),_[0]){case 0:case 1:a=_;break;case 4:return n.label++,{value:_[1],done:!1};case 5:n.label++,l=_[1],_=[0];continue;case 7:_=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]0)&&!(l=o.next()).done;)a.push(l.value)}catch(y){d={error:y}}finally{try{l&&!l.done&&(n=o.return)&&n.call(o)}finally{if(d)throw d.error}}return a},__spreadArray$1=globalThis&&globalThis.D||function(e,t,n){if(n||arguments.length===2)for(var o=0,l=t.length,a;o=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},VectorIterator=function(e){__extends$a(t,e);function t(n,o,l){var a=e.call(this,n,l)||this;return a.container=o,a}return t.prototype.copy=function(){return new t(this.o,this.container,this.iteratorType)},t}(RandomIterator),Vector=function(e){__extends$a(t,e);function t(n,o){n===void 0&&(n=[]),o===void 0&&(o=!0);var l=e.call(this)||this;if(Array.isArray(n))l.J=o?__spreadArray$1([],__read$2(n),!1):n,l.M=n.length;else{l.J=[];var a=l;n.forEach(function(d){a.pushBack(d)})}return l}return t.prototype.clear=function(){this.M=0,this.J.length=0},t.prototype.begin=function(){return new VectorIterator(0,this)},t.prototype.end=function(){return new VectorIterator(this.M,this)},t.prototype.rBegin=function(){return new VectorIterator(this.M-1,this,1)},t.prototype.rEnd=function(){return new VectorIterator(-1,this,1)},t.prototype.front=function(){return this.J[0]},t.prototype.back=function(){return this.J[this.M-1]},t.prototype.getElementByPos=function(n){if(n<0||n>this.M-1)throw new RangeError;return this.J[n]},t.prototype.eraseElementByPos=function(n){if(n<0||n>this.M-1)throw new RangeError;return this.J.splice(n,1),this.M-=1,this.M},t.prototype.eraseElementByValue=function(n){for(var o=0,l=0;lthis.M-1)throw new RangeError;this.J[n]=o},t.prototype.insert=function(n,o,l){var a;if(l===void 0&&(l=1),n<0||n>this.M)throw new RangeError;return(a=this.J).splice.apply(a,__spreadArray$1([n,0],__read$2(new Array(l).fill(o)),!1)),this.M+=l,this.M},t.prototype.find=function(n){for(var o=0;o0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]this.M-1)throw new RangeError;for(var o=this.H;n--;)o=o.m;return o.p},t.prototype.eraseElementByPos=function(n){if(n<0||n>this.M-1)throw new RangeError;for(var o=this.H;n--;)o=o.m;return this.G(o),this.M},t.prototype.eraseElementByValue=function(n){for(var o=this.H;o!==this.h;)o.p===n&&this.G(o),o=o.m;return this.M},t.prototype.eraseElementByIterator=function(n){var o=n.o;return o===this.h&&throwIteratorAccessError(),n=n.next(),this.G(o),n},t.prototype.pushBack=function(n){return this.F(n,this.l),this.M},t.prototype.popBack=function(){if(this.M!==0){var n=this.l.p;return this.G(this.l),n}},t.prototype.pushFront=function(n){return this.F(n,this.h),this.M},t.prototype.popFront=function(){if(this.M!==0){var n=this.H.p;return this.G(this.H),n}},t.prototype.setElementByPos=function(n,o){if(n<0||n>this.M-1)throw new RangeError;for(var l=this.H;n--;)l=l.m;l.p=o},t.prototype.insert=function(n,o,l){if(l===void 0&&(l=1),n<0||n>this.M)throw new RangeError;if(l<=0)return this.M;if(n===0)for(;l--;)this.pushFront(o);else if(n===this.M)for(;l--;)this.pushBack(o);else{for(var a=this.H,d=1;d0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]0)&&!(l=o.next()).done;)a.push(l.value)}catch(y){d={error:y}}finally{try{l&&!l.done&&(n=o.return)&&n.call(o)}finally{if(d)throw d.error}}return a},__spreadArray=globalThis&&globalThis.D||function(e,t,n){if(n||arguments.length===2)for(var o=0,l=t.length,a;o>1)-(y>>1),l.S=l.k=l.B-a%l.B>>1;var w=l;return n.forEach(function(_){w.pushBack(_)}),l}return t.prototype.O=function(){for(var n=[],o=Math.max(this.C>>1,1),l=0;l>1},t.prototype.begin=function(){return new DequeIterator(0,this)},t.prototype.end=function(){return new DequeIterator(this.M,this)},t.prototype.rBegin=function(){return new DequeIterator(this.M-1,this,1)},t.prototype.rEnd=function(){return new DequeIterator(-1,this,1)},t.prototype.front=function(){if(this.M!==0)return this.j[this.A][this.S]},t.prototype.back=function(){if(this.M!==0)return this.j[this.R][this.k]},t.prototype.pushBack=function(n){return this.M&&(this.k0?this.k-=1:this.R>0?(this.R-=1,this.k=this.B-1):(this.R=this.C-1,this.k=this.B-1)),this.M-=1,n}},t.prototype.pushFront=function(n){return this.M&&(this.S>0?this.S-=1:this.A>0?(this.A-=1,this.S=this.B-1):(this.A=this.C-1,this.S=this.B-1),this.A===this.R&&this.S===this.k&&this.O()),this.M+=1,this.j[this.A][this.S]=n,this.M},t.prototype.popFront=function(){if(this.M!==0){var n=this.j[this.A][this.S];return this.M!==1&&(this.Sthis.M-1)throw new RangeError;var o=this.T(n),l=o.curNodeBucketIndex,a=o.curNodePointerIndex;return this.j[l][a]},t.prototype.setElementByPos=function(n,o){if(n<0||n>this.M-1)throw new RangeError;var l=this.T(n),a=l.curNodeBucketIndex,d=l.curNodePointerIndex;this.j[a][d]=o},t.prototype.insert=function(n,o,l){if(l===void 0&&(l=1),n<0||n>this.M)throw new RangeError;if(n===0)for(;l--;)this.pushFront(o);else if(n===this.M)for(;l--;)this.pushBack(o);else{for(var a=[],d=n;dthis.M-1)throw new RangeError;if(n===0)this.popFront();else if(n===this.M-1)this.popBack();else{for(var o=[],l=n+1;ln;)this.popBack();return this.M},t.prototype.sort=function(n){for(var o=[],l=0;l0)&&!(l=o.next()).done;)a.push(l.value)}catch(y){d={error:y}}finally{try{l&&!l.done&&(n=o.return)&&n.call(o)}finally{if(d)throw d.error}}return a},__values$2=globalThis&&globalThis.V||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},TreeContainer=function(e){__extends$6(t,e);function t(n,o){n===void 0&&(n=function(a,d){return ad?1:0}),o===void 0&&(o=!1);var l=e.call(this)||this;return l.W=void 0,l.$=n,o?(l.re=TreeNodeEnableIndex,l.v=function(a,d,y){var w=this.se(a,d,y);if(w){for(var _=w.rr;_!==this.h;)_.tr+=1,_=_.rr;var S=this.fe(w);if(S){var E=S,C=E.parentNode,B=E.grandParent,L=E.curNode;C.ie(),B.ie(),L.ie()}}return this.M},l.G=function(a){for(var d=this.he(a);d!==this.h;)d.tr-=1,d=d.rr}):(l.re=TreeNode,l.v=function(a,d,y){var w=this.se(a,d,y);return w&&this.fe(w),this.M},l.G=l.he),l.h=new l.re,l}return t.prototype.U=function(n,o){for(var l=this.h;n;){var a=this.$(n.u,o);if(a<0)n=n.N;else if(a>0)l=n,n=n.K;else return n}return l},t.prototype.X=function(n,o){for(var l=this.h;n;){var a=this.$(n.u,o);a<=0?n=n.N:(l=n,n=n.K)}return l},t.prototype.Y=function(n,o){for(var l=this.h;n;){var a=this.$(n.u,o);if(a<0)l=n,n=n.N;else if(a>0)n=n.K;else return n}return l},t.prototype.Z=function(n,o){for(var l=this.h;n;){var a=this.$(n.u,o);a<0?(l=n,n=n.N):n=n.K}return l},t.prototype.ue=function(n){for(;;){var o=n.rr;if(o===this.h)return;if(n.ee===1){n.ee=0;return}if(n===o.K){var l=o.N;if(l.ee===1)l.ee=0,o.ee=1,o===this.W?this.W=o.ne():o.ne();else if(l.N&&l.N.ee===1){l.ee=o.ee,o.ee=0,l.N.ee=0,o===this.W?this.W=o.ne():o.ne();return}else l.K&&l.K.ee===1?(l.ee=1,l.K.ee=0,l.te()):(l.ee=1,n=o)}else{var l=o.K;if(l.ee===1)l.ee=0,o.ee=1,o===this.W?this.W=o.te():o.te();else if(l.K&&l.K.ee===1){l.ee=o.ee,o.ee=0,l.K.ee=0,o===this.W?this.W=o.te():o.te();return}else l.N&&l.N.ee===1?(l.ee=1,l.N.ee=0,l.ne()):(l.ee=1,n=o)}}},t.prototype.he=function(n){var o,l;if(this.M===1)return this.clear(),this.h;for(var a=n;a.K||a.N;){if(a.N)for(a=a.N;a.K;)a=a.K;else a=a.K;o=__read([a.u,n.u],2),n.u=o[0],a.u=o[1],l=__read([a.p,n.p],2),n.p=l[0],a.p=l[1],n=a}this.h.K===a?this.h.K=a.rr:this.h.N===a&&(this.h.N=a.rr),this.ue(a);var d=a.rr;return a===d.K?d.K=void 0:d.N=void 0,this.M-=1,this.W.ee=0,d},t.prototype.ae=function(n,o){if(n===void 0)return!1;var l=this.ae(n.K,o);return l||o(n)?!0:this.ae(n.N,o)},t.prototype.fe=function(n){for(;;){var o=n.rr;if(o.ee===0)return;var l=o.rr;if(o===l.K){var a=l.N;if(a&&a.ee===1){if(a.ee=o.ee=0,l===this.W)return;l.ee=1,n=l;continue}else if(n===o.N){if(n.ee=0,n.K&&(n.K.rr=o),n.N&&(n.N.rr=l),o.N=n.K,l.K=n.N,n.K=o,n.N=l,l===this.W)this.W=n,this.h.rr=n;else{var d=l.rr;d.K===l?d.K=n:d.N=n}return n.rr=l.rr,o.rr=n,l.rr=n,l.ee=1,{parentNode:o,grandParent:l,curNode:n}}else o.ee=0,l===this.W?this.W=l.te():l.te(),l.ee=1}else{var a=l.K;if(a&&a.ee===1){if(a.ee=o.ee=0,l===this.W)return;l.ee=1,n=l;continue}else if(n===o.K){if(n.ee=0,n.K&&(n.K.rr=l),n.N&&(n.N.rr=o),l.N=n.K,o.K=n.N,n.K=l,n.N=o,l===this.W)this.W=n,this.h.rr=n;else{var d=l.rr;d.K===l?d.K=n:d.N=n}return n.rr=l.rr,o.rr=n,l.rr=n,l.ee=1,{parentNode:o,grandParent:l,curNode:n}}else o.ee=0,l===this.W?this.W=l.ne():l.ne(),l.ee=1}return}},t.prototype.se=function(n,o,l){if(this.W===void 0){this.M+=1,this.W=new this.re(n,o),this.W.ee=0,this.W.rr=this.h,this.h.rr=this.W,this.h.K=this.W,this.h.N=this.W;return}var a,d=this.h.K,y=this.$(d.u,n);if(y===0){d.p=o;return}else if(y>0)d.K=new this.re(n,o),d.K.rr=d,a=d.K,this.h.K=a;else{var w=this.h.N,_=this.$(w.u,n);if(_===0){w.p=o;return}else if(_<0)w.N=new this.re(n,o),w.N.rr=w,a=w.N,this.h.N=a;else{if(l!==void 0){var S=l.o;if(S!==this.h){var E=this.$(S.u,n);if(E===0){S.p=o;return}else if(E>0){var C=S.L(),B=this.$(C.u,n);if(B===0){C.p=o;return}else B<0&&(a=new this.re(n,o),C.N===void 0?(C.N=a,a.rr=C):(S.K=a,a.rr=S))}}}if(a===void 0)for(a=this.W;;){var L=this.$(a.u,n);if(L>0){if(a.K===void 0){a.K=new this.re(n,o),a.K.rr=a,a=a.K;break}a=a.K}else if(L<0){if(a.N===void 0){a.N=new this.re(n,o),a.N.rr=a,a=a.N;break}a=a.N}else{a.p=o;return}}}}return this.M+=1,a},t.prototype.g=function(n,o){for(;n;){var l=this.$(n.u,o);if(l<0)n=n.N;else if(l>0)n=n.K;else return n}return n||this.h},t.prototype.clear=function(){this.M=0,this.W=void 0,this.h.rr=void 0,this.h.K=this.h.N=void 0},t.prototype.updateKeyByIterator=function(n,o){var l=n.o;if(l===this.h&&throwIteratorAccessError(),this.M===1)return l.u=o,!0;if(l===this.h.K)return this.$(l.m().u,o)>0?(l.u=o,!0):!1;if(l===this.h.N)return this.$(l.L().u,o)<0?(l.u=o,!0):!1;var a=l.L().u;if(this.$(a,o)>=0)return!1;var d=l.m().u;return this.$(d,o)<=0?!1:(l.u=o,!0)},t.prototype.eraseElementByPos=function(n){if(n<0||n>this.M-1)throw new RangeError;var o=0,l=this;return this.ae(this.W,function(a){return n===o?(l.G(a),!0):(o+=1,!1)}),this.M},t.prototype.eraseElementByKey=function(n){if(this.M===0)return!1;var o=this.g(this.W,n);return o===this.h?!1:(this.G(o),!0)},t.prototype.eraseElementByIterator=function(n){var o=n.o;o===this.h&&throwIteratorAccessError();var l=o.N===void 0,a=n.iteratorType===0;return a?l&&n.next():(!l||o.K===void 0)&&n.next(),this.G(o),n},t.prototype.forEach=function(n){var o,l,a=0;try{for(var d=__values$2(this),y=d.next();!y.done;y=d.next()){var w=y.value;n(w,a++,this)}}catch(_){o={error:_}}finally{try{y&&!y.done&&(l=d.return)&&l.call(d)}finally{if(o)throw o.error}}},t.prototype.getElementByPos=function(n){var o,l;if(n<0||n>this.M-1)throw new RangeError;var a,d=0;try{for(var y=__values$2(this),w=y.next();!w.done;w=y.next()){var _=w.value;if(d===n){a=_;break}d+=1}}catch(S){o={error:S}}finally{try{w&&!w.done&&(l=y.return)&&l.call(y)}finally{if(o)throw o.error}}return a},t.prototype.getHeight=function(){if(this.M===0)return 0;var n=function(o){return o?Math.max(n(o.K),n(o.N))+1:0};return n(this.W)},t}(Container);const TreeContainer$1=TreeContainer;var __extends$5=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),TreeIterator=function(e){__extends$5(t,e);function t(n,o,l){var a=e.call(this,l)||this;return a.o=n,a.h=o,a.iteratorType===0?(a.pre=function(){return this.o===this.h.K&&throwIteratorAccessError(),this.o=this.o.L(),this},a.next=function(){return this.o===this.h&&throwIteratorAccessError(),this.o=this.o.m(),this}):(a.pre=function(){return this.o===this.h.N&&throwIteratorAccessError(),this.o=this.o.m(),this},a.next=function(){return this.o===this.h&&throwIteratorAccessError(),this.o=this.o.L(),this}),a}return Object.defineProperty(t.prototype,"index",{get:function(){var n=this.o,o=this.h.rr;if(n===this.h)return o?o.tr-1:0;var l=0;for(n.K&&(l+=n.K.tr);n!==o;){var a=n.rr;n===a.N&&(l+=1,a.K&&(l+=a.K.tr)),n=a}return l},enumerable:!1,configurable:!0}),t}(ContainerIterator);const TreeIterator$1=TreeIterator;var __extends$4=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),__generator$3=globalThis&&globalThis.i||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,l,a,d;return d={next:y(0),throw:y(1),return:y(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function y(_){return function(S){return w([_,S])}}function w(_){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,l&&(a=_[0]&2?l.return:_[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,_[1])).done)return a;switch(l=0,a&&(_=[_[0]&2,a.value]),_[0]){case 0:case 1:a=_;break;case 4:return n.label++,{value:_[1],done:!1};case 5:n.label++,l=_[1],_=[0];continue;case 7:_=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},OrderedSetIterator=function(e){__extends$4(t,e);function t(n,o,l,a){var d=e.call(this,n,o,a)||this;return d.container=l,d}return Object.defineProperty(t.prototype,"pointer",{get:function(){return this.o===this.h&&throwIteratorAccessError(),this.o.u},enumerable:!1,configurable:!0}),t.prototype.copy=function(){return new t(this.o,this.h,this.container,this.iteratorType)},t}(TreeIterator$1),OrderedSet=function(e){__extends$4(t,e);function t(n,o,l){n===void 0&&(n=[]);var a=e.call(this,o,l)||this,d=a;return n.forEach(function(y){d.insert(y)}),a}return t.prototype.P=function(n){return __generator$3(this,function(o){switch(o.label){case 0:return n===void 0?[2]:[5,__values$1(this.P(n.K))];case 1:return o.sent(),[4,n.u];case 2:return o.sent(),[5,__values$1(this.P(n.N))];case 3:return o.sent(),[2]}})},t.prototype.begin=function(){return new OrderedSetIterator(this.h.K||this.h,this.h,this)},t.prototype.end=function(){return new OrderedSetIterator(this.h,this.h,this)},t.prototype.rBegin=function(){return new OrderedSetIterator(this.h.N||this.h,this.h,this,1)},t.prototype.rEnd=function(){return new OrderedSetIterator(this.h,this.h,this,1)},t.prototype.front=function(){return this.h.K?this.h.K.u:void 0},t.prototype.back=function(){return this.h.N?this.h.N.u:void 0},t.prototype.insert=function(n,o){return this.v(n,void 0,o)},t.prototype.find=function(n){var o=this.g(this.W,n);return new OrderedSetIterator(o,this.h,this)},t.prototype.lowerBound=function(n){var o=this.U(this.W,n);return new OrderedSetIterator(o,this.h,this)},t.prototype.upperBound=function(n){var o=this.X(this.W,n);return new OrderedSetIterator(o,this.h,this)},t.prototype.reverseLowerBound=function(n){var o=this.Y(this.W,n);return new OrderedSetIterator(o,this.h,this)},t.prototype.reverseUpperBound=function(n){var o=this.Z(this.W,n);return new OrderedSetIterator(o,this.h,this)},t.prototype.union=function(n){var o=this;return n.forEach(function(l){o.insert(l)}),this.M},t.prototype[Symbol.iterator]=function(){return this.P(this.W)},t}(TreeContainer$1);const OrderedSet$1=OrderedSet;var __extends$3=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),__generator$2=globalThis&&globalThis.i||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,l,a,d;return d={next:y(0),throw:y(1),return:y(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function y(_){return function(S){return w([_,S])}}function w(_){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,l&&(a=_[0]&2?l.return:_[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,_[1])).done)return a;switch(l=0,a&&(_=[_[0]&2,a.value]),_[0]){case 0:case 1:a=_;break;case 4:return n.label++,{value:_[1],done:!1};case 5:n.label++,l=_[1],_=[0];continue;case 7:_=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},OrderedMapIterator=function(e){__extends$3(t,e);function t(n,o,l,a){var d=e.call(this,n,o,a)||this;return d.container=l,d}return Object.defineProperty(t.prototype,"pointer",{get:function(){this.o===this.h&&throwIteratorAccessError();var n=this;return new Proxy([],{get:function(o,l){if(l==="0")return n.o.u;if(l==="1")return n.o.p},set:function(o,l,a){if(l!=="1")throw new TypeError("props must be 1");return n.o.p=a,!0}})},enumerable:!1,configurable:!0}),t.prototype.copy=function(){return new t(this.o,this.h,this.container,this.iteratorType)},t}(TreeIterator$1),OrderedMap=function(e){__extends$3(t,e);function t(n,o,l){n===void 0&&(n=[]);var a=e.call(this,o,l)||this,d=a;return n.forEach(function(y){d.setElement(y[0],y[1])}),a}return t.prototype.P=function(n){return __generator$2(this,function(o){switch(o.label){case 0:return n===void 0?[2]:[5,__values(this.P(n.K))];case 1:return o.sent(),[4,[n.u,n.p]];case 2:return o.sent(),[5,__values(this.P(n.N))];case 3:return o.sent(),[2]}})},t.prototype.begin=function(){return new OrderedMapIterator(this.h.K||this.h,this.h,this)},t.prototype.end=function(){return new OrderedMapIterator(this.h,this.h,this)},t.prototype.rBegin=function(){return new OrderedMapIterator(this.h.N||this.h,this.h,this,1)},t.prototype.rEnd=function(){return new OrderedMapIterator(this.h,this.h,this,1)},t.prototype.front=function(){if(this.M!==0){var n=this.h.K;return[n.u,n.p]}},t.prototype.back=function(){if(this.M!==0){var n=this.h.N;return[n.u,n.p]}},t.prototype.lowerBound=function(n){var o=this.U(this.W,n);return new OrderedMapIterator(o,this.h,this)},t.prototype.upperBound=function(n){var o=this.X(this.W,n);return new OrderedMapIterator(o,this.h,this)},t.prototype.reverseLowerBound=function(n){var o=this.Y(this.W,n);return new OrderedMapIterator(o,this.h,this)},t.prototype.reverseUpperBound=function(n){var o=this.Z(this.W,n);return new OrderedMapIterator(o,this.h,this)},t.prototype.setElement=function(n,o,l){return this.v(n,o,l)},t.prototype.find=function(n){var o=this.g(this.W,n);return new OrderedMapIterator(o,this.h,this)},t.prototype.getElementByKey=function(n){var o=this.g(this.W,n);return o.p},t.prototype.union=function(n){var o=this;return n.forEach(function(l){o.setElement(l[0],l[1])}),this.M},t.prototype[Symbol.iterator]=function(){return this.P(this.W)},t}(TreeContainer$1);const OrderedMap$1=OrderedMap;function checkObject(e){var t=typeof e;return t==="object"&&e!==null||t==="function"}var __extends$2=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),HashContainerIterator=function(e){__extends$2(t,e);function t(n,o,l){var a=e.call(this,l)||this;return a.o=n,a.h=o,a.iteratorType===0?(a.pre=function(){return this.o.L===this.h&&throwIteratorAccessError(),this.o=this.o.L,this},a.next=function(){return this.o===this.h&&throwIteratorAccessError(),this.o=this.o.m,this}):(a.pre=function(){return this.o.m===this.h&&throwIteratorAccessError(),this.o=this.o.m,this},a.next=function(){return this.o===this.h&&throwIteratorAccessError(),this.o=this.o.L,this}),a}return t}(ContainerIterator),HashContainer=function(e){__extends$2(t,e);function t(){var n=e.call(this)||this;return n._=[],n.I={},n.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(n.I,null),n.h={},n.h.L=n.h.m=n.H=n.l=n.h,n}return t.prototype.G=function(n){var o=n.L,l=n.m;o.m=l,l.L=o,n===this.H&&(this.H=l),n===this.l&&(this.l=o),this.M-=1},t.prototype.v=function(n,o,l){l===void 0&&(l=checkObject(n));var a;if(l){var d=n[this.HASH_TAG];if(d!==void 0)return this._[d].p=o,this.M;Object.defineProperty(n,this.HASH_TAG,{value:this._.length,configurable:!0}),a={u:n,p:o,L:this.l,m:this.h},this._.push(a)}else{var y=this.I[n];if(y)return y.p=o,this.M;a={u:n,p:o,L:this.l,m:this.h},this.I[n]=a}return this.M===0?(this.H=a,this.h.m=a):this.l.m=a,this.l=a,this.h.L=a,++this.M},t.prototype.g=function(n,o){if(o===void 0&&(o=checkObject(n)),o){var l=n[this.HASH_TAG];return l===void 0?this.h:this._[l]}else return this.I[n]||this.h},t.prototype.clear=function(){var n=this.HASH_TAG;this._.forEach(function(o){delete o.u[n]}),this._=[],this.I={},Object.setPrototypeOf(this.I,null),this.M=0,this.H=this.l=this.h.L=this.h.m=this.h},t.prototype.eraseElementByKey=function(n,o){var l;if(o===void 0&&(o=checkObject(n)),o){var a=n[this.HASH_TAG];if(a===void 0)return!1;delete n[this.HASH_TAG],l=this._[a],delete this._[a]}else{if(l=this.I[n],l===void 0)return!1;delete this.I[n]}return this.G(l),!0},t.prototype.eraseElementByIterator=function(n){var o=n.o;return o===this.h&&throwIteratorAccessError(),this.G(o),n.next()},t.prototype.eraseElementByPos=function(n){if(n<0||n>this.M-1)throw new RangeError;for(var o=this.H;n--;)o=o.m;return this.G(o),this.M},t}(Container),__extends$1=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),__generator$1=globalThis&&globalThis.i||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,l,a,d;return d={next:y(0),throw:y(1),return:y(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function y(_){return function(S){return w([_,S])}}function w(_){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,l&&(a=_[0]&2?l.return:_[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,_[1])).done)return a;switch(l=0,a&&(_=[_[0]&2,a.value]),_[0]){case 0:case 1:a=_;break;case 4:return n.label++,{value:_[1],done:!1};case 5:n.label++,l=_[1],_=[0];continue;case 7:_=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]this.M-1)throw new RangeError;for(var o=this.H;n--;)o=o.m;return o.u},t.prototype.find=function(n,o){var l=this.g(n,o);return new HashSetIterator(l,this.h,this)},t.prototype.forEach=function(n){for(var o=0,l=this.H;l!==this.h;)n(l.u,o++,this),l=l.m},t.prototype[Symbol.iterator]=function(){return(function(){var n;return __generator$1(this,function(o){switch(o.label){case 0:n=this.H,o.label=1;case 1:return n===this.h?[3,3]:[4,n.u];case 2:return o.sent(),n=n.m,[3,1];case 3:return[2]}})}).bind(this)()},t}(HashContainer);const HashSet$1=HashSet;var __extends=globalThis&&globalThis.t||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,l){o.__proto__=l}||function(o,l){for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o[a]=l[a])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function o(){this.constructor=t}t.prototype=n===null?Object.create(n):(o.prototype=n.prototype,new o)}}(),__generator=globalThis&&globalThis.i||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,l,a,d;return d={next:y(0),throw:y(1),return:y(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function y(_){return function(S){return w([_,S])}}function w(_){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,l&&(a=_[0]&2?l.return:_[0]?l.throw||((a=l.return)&&a.call(l),0):l.next)&&!(a=a.call(l,_[1])).done)return a;switch(l=0,a&&(_=[_[0]&2,a.value]),_[0]){case 0:case 1:a=_;break;case 4:return n.label++,{value:_[1],done:!1};case 5:n.label++,l=_[1],_=[0];continue;case 7:_=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(_[0]===6||_[0]===2)){n=0;continue}if(_[0]===3&&(!a||_[1]>a[0]&&_[1]this.M-1)throw new RangeError;for(var o=this.H;n--;)o=o.m;return[o.u,o.p]},t.prototype.find=function(n,o){var l=this.g(n,o);return new HashMapIterator(l,this.h,this)},t.prototype.forEach=function(n){for(var o=0,l=this.H;l!==this.h;)n([l.u,l.p],o++,this),l=l.m},t.prototype[Symbol.iterator]=function(){return(function(){var n;return __generator(this,function(o){switch(o.label){case 0:n=this.H,o.label=1;case 1:return n===this.h?[3,3]:[4,[n.u,n.p]];case 2:return o.sent(),n=n.m,[3,1];case 3:return[2]}})}).bind(this)()},t}(HashContainer);const HashMap$1=HashMap,esm=Object.freeze(Object.defineProperty({__proto__:null,Deque:Deque$1,HashMap:HashMap$1,HashSet:HashSet$1,LinkList:LinkList$1,OrderedMap:OrderedMap$1,OrderedSet:OrderedSet$1,PriorityQueue:PriorityQueue$1,Queue:Queue$1,Stack:Stack$1,Vector:Vector$1},Symbol.toStringTag,{value:"Module"})),require$$0$4=getAugmentedNamespace(esm);var browser$c={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,t=e*60,n=t*60,o=n*24,l=o*7,a=o*365.25;ms=function(S,E){E=E||{};var C=typeof S;if(C==="string"&&S.length>0)return d(S);if(C==="number"&&isFinite(S))return E.long?w(S):y(S);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(S))};function d(S){if(S=String(S),!(S.length>100)){var E=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(S);if(E){var C=parseFloat(E[1]),B=(E[2]||"ms").toLowerCase();switch(B){case"years":case"year":case"yrs":case"yr":case"y":return C*a;case"weeks":case"week":case"w":return C*l;case"days":case"day":case"d":return C*o;case"hours":case"hour":case"hrs":case"hr":case"h":return C*n;case"minutes":case"minute":case"mins":case"min":case"m":return C*t;case"seconds":case"second":case"secs":case"sec":case"s":return C*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return C;default:return}}}}function y(S){var E=Math.abs(S);return E>=o?Math.round(S/o)+"d":E>=n?Math.round(S/n)+"h":E>=t?Math.round(S/t)+"m":E>=e?Math.round(S/e)+"s":S+"ms"}function w(S){var E=Math.abs(S);return E>=o?_(S,E,o,"day"):E>=n?_(S,E,n,"hour"):E>=t?_(S,E,t,"minute"):E>=e?_(S,E,e,"second"):S+" ms"}function _(S,E,C,B){var L=E>=C*1.5;return Math.round(S/C)+" "+B+(L?"s":"")}return ms}function setup(e){n.debug=n,n.default=n,n.coerce=w,n.disable=d,n.enable=l,n.enabled=y,n.humanize=requireMs(),n.destroy=_,Object.keys(e).forEach(S=>{n[S]=e[S]}),n.names=[],n.skips=[],n.formatters={};function t(S){let E=0;for(let C=0;C{if(ae==="%%")return"%";V++;const ue=n.formatters[ce];if(typeof ue=="function"){const re=j[V];ae=ue.call(H,re),j.splice(V,1),V--}return ae}),n.formatArgs.call(H,j),(H.log||n.log).apply(H,j)}return F.namespace=S,F.useColors=n.useColors(),F.color=n.selectColor(S),F.extend=o,F.destroy=n.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>C!==null?C:(B!==n.namespaces&&(B=n.namespaces,L=n.enabled(S)),L),set:j=>{C=j}}),typeof n.init=="function"&&n.init(F),F}function o(S,E){const C=n(this.namespace+(typeof E>"u"?":":E)+S);return C.log=this.log,C}function l(S){n.save(S),n.namespaces=S,n.names=[],n.skips=[];const E=(typeof S=="string"?S:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const C of E)C[0]==="-"?n.skips.push(C.slice(1)):n.names.push(C)}function a(S,E){let C=0,B=0,L=-1,F=0;for(;C"-"+E)].join(",");return n.enable(""),S}function y(S){for(const E of n.skips)if(a(S,E))return!1;for(const E of n.names)if(a(S,E))return!0;return!1}function w(S){return S instanceof Error?S.stack||S.message:S}function _(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}var common$7=setup;(function(e,t){t.formatArgs=o,t.save=l,t.load=a,t.useColors=n,t.storage=d(),t.destroy=(()=>{let w=!1;return()=>{w||(w=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let w;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(w=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(w[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function o(w){if(w[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+w[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const _="color: "+this.color;w.splice(1,0,_,"color: inherit");let S=0,E=0;w[0].replace(/%[a-zA-Z%]/g,C=>{C!=="%%"&&(S++,C==="%c"&&(E=S))}),w.splice(E,0,_)}t.log=console.debug||console.log||(()=>{});function l(w){try{w?t.storage.setItem("debug",w):t.storage.removeItem("debug")}catch{}}function a(){let w;try{w=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch{}return!w&&typeof api$2<"u"&&"env"in api$2&&(w={}.DEBUG),w}function d(){try{return localStorage}catch{}}e.exports=common$7(t);const{formatters:y}=e.exports;y.j=function(w){try{return JSON.stringify(w)}catch(_){return"[UnexpectedJSONParseError]: "+_.message}}})(browser$c,browser$c.exports);var browserExports$1=browser$c.exports;const SortedSet=require$$0$4.OrderedSet,debugTrace=browserExports$1("number-allocator:trace"),debugError=browserExports$1("number-allocator:error");function Interval(e,t){this.low=e,this.high=t}Interval.prototype.equals=function(e){return this.low===e.low&&this.high===e.high};Interval.prototype.compare=function(e){return this.lown.compare(o)),debugTrace("Create"),this.clear()}NumberAllocator$2.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low};NumberAllocator$2.prototype.alloc=function(){if(this.ss.size()===0)return debugTrace("alloc():empty"),null;const e=this.ss.begin(),t=e.pointer.low,n=e.pointer.high,o=t;return o+1<=n?this.ss.updateKeyByIterator(e,new Interval(t+1,n)):this.ss.eraseElementByPos(0),debugTrace("alloc():"+o),o};NumberAllocator$2.prototype.use=function(e){const t=new Interval(e,e),n=this.ss.lowerBound(t);if(!n.equals(this.ss.end())){const o=n.pointer.low,l=n.pointer.high;return n.pointer.equals(t)?(this.ss.eraseElementByIterator(n),debugTrace("use():"+e),!0):o>e?!1:o===e?(this.ss.updateKeyByIterator(n,new Interval(o+1,l)),debugTrace("use():"+e),!0):l===e?(this.ss.updateKeyByIterator(n,new Interval(o,l-1)),debugTrace("use():"+e),!0):(this.ss.updateKeyByIterator(n,new Interval(e+1,l)),this.ss.insert(new Interval(o,e-1)),debugTrace("use():"+e),!0)}return debugTrace("use():failed"),!1};NumberAllocator$2.prototype.free=function(e){if(ethis.max){debugError("free():"+e+" is out of range");return}const t=new Interval(e,e),n=this.ss.upperBound(t);if(n.equals(this.ss.end())){if(n.equals(this.ss.begin())){this.ss.insert(t);return}n.pre();const o=n.pointer.high;n.pointer.high+1===e?this.ss.updateKeyByIterator(n,new Interval(o,e)):this.ss.insert(t)}else if(n.equals(this.ss.begin()))if(e+1===n.pointer.low){const o=n.pointer.high;this.ss.updateKeyByIterator(n,new Interval(e,o))}else this.ss.insert(t);else{const o=n.pointer.low,l=n.pointer.high;n.pre();const a=n.pointer.low;n.pointer.high+1===e?e+1===o?(this.ss.eraseElementByIterator(n),this.ss.updateKeyByIterator(n,new Interval(a,l))):this.ss.updateKeyByIterator(n,new Interval(a,e)):e+1===o?(this.ss.eraseElementByIterator(n.next()),this.ss.insert(new Interval(e,l))):this.ss.insert(t)}debugTrace("free():"+e)};NumberAllocator$2.prototype.clear=function(){debugTrace("clear()"),this.ss.clear(),this.ss.insert(new Interval(this.min,this.max))};NumberAllocator$2.prototype.intervalCount=function(){return this.ss.size()};NumberAllocator$2.prototype.dump=function(){console.log("length:"+this.ss.size());for(const e of this.ss)console.log(e)};var numberAllocator=NumberAllocator$2;const NumberAllocator$1=numberAllocator;numberAllocator$1.NumberAllocator=NumberAllocator$1;const LruMap=lruCache,NumberAllocator=numberAllocator$1.NumberAllocator;function TopicAliasSend$1(e){if(!(this instanceof TopicAliasSend$1))return new TopicAliasSend$1(e);e>0&&(this.aliasToTopic=new LruMap({max:e}),this.topicToAlias={},this.numberAllocator=new NumberAllocator(1,e),this.max=e,this.length=0)}TopicAliasSend$1.prototype.put=function(e,t){if(t===0||t>this.max)return!1;const n=this.aliasToTopic.get(t);return n&&delete this.topicToAlias[n],this.aliasToTopic.set(t,e),this.topicToAlias[e]=t,this.numberAllocator.use(t),this.length=this.aliasToTopic.length,!0};TopicAliasSend$1.prototype.getTopicByAlias=function(e){return this.aliasToTopic.get(e)};TopicAliasSend$1.prototype.getAliasByTopic=function(e){const t=this.topicToAlias[e];return typeof t<"u"&&this.aliasToTopic.get(t),t};TopicAliasSend$1.prototype.clear=function(){this.aliasToTopic.reset(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0};TopicAliasSend$1.prototype.getLruAlias=function(){const e=this.numberAllocator.firstVacant();return e||this.aliasToTopic.keys()[this.aliasToTopic.length-1]};var topicAliasSend=TopicAliasSend$1,mqtt$1={},bl$1={exports:{}},readableBrowser$2={exports:{}},streamBrowser$3=eventsExports.EventEmitter,buffer_list$2,hasRequiredBuffer_list$2;function requireBuffer_list$2(){if(hasRequiredBuffer_list$2)return buffer_list$2;hasRequiredBuffer_list$2=1;function e(L,F){var j=Object.keys(L);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(L);F&&(H=H.filter(function(D){return Object.getOwnPropertyDescriptor(L,D).enumerable})),j.push.apply(j,H)}return j}function t(L){for(var F=1;F0?this.tail.next=H:this.head=H,this.tail=H,++this.length}},{key:"unshift",value:function(j){var H={data:j,next:this.head};this.length===0&&(this.tail=H),this.head=H,++this.length}},{key:"shift",value:function(){if(this.length!==0){var j=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,j}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(j){if(this.length===0)return"";for(var H=this.head,D=""+H.data;H=H.next;)D+=j+H.data;return D}},{key:"concat",value:function(j){if(this.length===0)return _.alloc(0);for(var H=_.allocUnsafe(j>>>0),D=this.head,q=0;D;)B(D.data,H,q),q+=D.data.length,D=D.next;return H}},{key:"consume",value:function(j,H){var D;return jV.length?V.length:j;if(Q===V.length?q+=V:q+=V.slice(0,j),j-=Q,j===0){Q===V.length?(++D,H.next?this.head=H.next:this.head=this.tail=null):(this.head=H,H.data=V.slice(Q));break}++D}return this.length-=D,q}},{key:"_getBuffer",value:function(j){var H=_.allocUnsafe(j),D=this.head,q=1;for(D.data.copy(H),j-=D.data.length;D=D.next;){var V=D.data,Q=j>V.length?V.length:j;if(V.copy(H,H.length-j,0,Q),j-=Q,j===0){Q===V.length?(++q,D.next?this.head=D.next:this.head=this.tail=null):(this.head=D,D.data=V.slice(Q));break}++q}return this.length-=q,H}},{key:C,value:function(j,H){return E(this,t(t({},H),{},{depth:0,customInspect:!1}))}}]),L}(),buffer_list$2}function destroy$3(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return o||l?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,api$2.nextTick(emitErrorNT$2,this,e)):api$2.nextTick(emitErrorNT$2,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?n._writableState?n._writableState.errorEmitted?api$2.nextTick(emitCloseNT$1,n):(n._writableState.errorEmitted=!0,api$2.nextTick(emitErrorAndCloseNT$1,n,a)):api$2.nextTick(emitErrorAndCloseNT$1,n,a):t?(api$2.nextTick(emitCloseNT$1,n),t(a)):api$2.nextTick(emitCloseNT$1,n)}),this)}function emitErrorAndCloseNT$1(e,t){emitErrorNT$2(e,t),emitCloseNT$1(e)}function emitCloseNT$1(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function undestroy$2(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT$2(e,t){e.emit("error",t)}function errorOrDestroy$1(e,t){var n=e._readableState,o=e._writableState;n&&n.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}var destroy_1$3={destroy:destroy$3,undestroy:undestroy$2,errorOrDestroy:errorOrDestroy$1},errorsBrowser$2={};function _inheritsLoose$1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var codes$1={};function createErrorType$1(e,t,n){n||(n=Error);function o(a,d,y){return typeof t=="string"?t:t(a,d,y)}var l=function(a){_inheritsLoose$1(d,a);function d(y,w,_){return a.call(this,o(y,w,_))||this}return d}(n);l.prototype.name=n.name,l.prototype.code=e,codes$1[e]=l}function oneOf$1(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(o){return String(o)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:n===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function startsWith$1(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function endsWith$1(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function includes$1(e,t,n){return typeof n!="number"&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}createErrorType$1("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);createErrorType$1("ERR_INVALID_ARG_TYPE",function(e,t,n){var o;typeof t=="string"&&startsWith$1(t,"not ")?(o="must not be",t=t.replace(/^not /,"")):o="must be";var l;if(endsWith$1(e," argument"))l="The ".concat(e," ").concat(o," ").concat(oneOf$1(t,"type"));else{var a=includes$1(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(a," ").concat(o," ").concat(oneOf$1(t,"type"))}return l+=". Received type ".concat(typeof n),l},TypeError);createErrorType$1("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType$1("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});createErrorType$1("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType$1("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});createErrorType$1("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType$1("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType$1("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType$1("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType$1("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);createErrorType$1("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");errorsBrowser$2.codes=codes$1;var ERR_INVALID_OPT_VALUE$1=errorsBrowser$2.codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom$1(e,t,n){return e.highWaterMark!=null?e.highWaterMark:t?e[n]:null}function getHighWaterMark$1(e,t,n,o){var l=highWaterMarkFrom$1(t,o,n);if(l!=null){if(!(isFinite(l)&&Math.floor(l)===l)||l<0){var a=o?n:"highWaterMark";throw new ERR_INVALID_OPT_VALUE$1(a,l)}return Math.floor(l)}return e.objectMode?16:16*1024}var state$2={getHighWaterMark:getHighWaterMark$1},_stream_writable$3,hasRequired_stream_writable$3;function require_stream_writable$3(){if(hasRequired_stream_writable$3)return _stream_writable$3;hasRequired_stream_writable$3=1,_stream_writable$3=ue;function e(U){var P=this;this.next=null,this.entry=null,this.finish=function(){le(P,U)}}var t;ue.WritableState=ae;var n={deprecate:browser$d},o=streamBrowser$3,l=buffer$2.Buffer,a=(typeof commonjsGlobal<"u"?commonjsGlobal:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function d(U){return l.from(U)}function y(U){return l.isBuffer(U)||U instanceof a}var w=destroy_1$3,_=state$2,S=_.getHighWaterMark,E=errorsBrowser$2.codes,C=E.ERR_INVALID_ARG_TYPE,B=E.ERR_METHOD_NOT_IMPLEMENTED,L=E.ERR_MULTIPLE_CALLBACK,F=E.ERR_STREAM_CANNOT_PIPE,j=E.ERR_STREAM_DESTROYED,H=E.ERR_STREAM_NULL_VALUES,D=E.ERR_STREAM_WRITE_AFTER_END,q=E.ERR_UNKNOWN_ENCODING,V=w.errorOrDestroy;inherits_browserExports(ue,o);function Q(){}function ae(U,P,Z){t=t||require_stream_duplex$3(),U=U||{},typeof Z!="boolean"&&(Z=P instanceof t),this.objectMode=!!U.objectMode,Z&&(this.objectMode=this.objectMode||!!U.writableObjectMode),this.highWaterMark=S(this,U,"writableHighWaterMark",Z),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ie=U.decodeStrings===!1;this.decodeStrings=!ie,this.defaultEncoding=U.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(se){M(P,se)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=U.emitClose!==!1,this.autoDestroy=!!U.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}ae.prototype.getBuffer=function(){for(var P=this.bufferedRequest,Z=[];P;)Z.push(P),P=P.next;return Z},function(){try{Object.defineProperty(ae.prototype,"buffer",{get:n.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var ce;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ce=Function.prototype[Symbol.hasInstance],Object.defineProperty(ue,Symbol.hasInstance,{value:function(P){return ce.call(this,P)?!0:this!==ue?!1:P&&P._writableState instanceof ae}})):ce=function(P){return P instanceof this};function ue(U){t=t||require_stream_duplex$3();var P=this instanceof t;if(!P&&!ce.call(ue,this))return new ue(U);this._writableState=new ae(U,this,P),this.writable=!0,U&&(typeof U.write=="function"&&(this._write=U.write),typeof U.writev=="function"&&(this._writev=U.writev),typeof U.destroy=="function"&&(this._destroy=U.destroy),typeof U.final=="function"&&(this._final=U.final)),o.call(this)}ue.prototype.pipe=function(){V(this,new F)};function re(U,P){var Z=new D;V(U,Z),api$2.nextTick(P,Z)}function pe(U,P,Z,ie){var se;return Z===null?se=new H:typeof Z!="string"&&!P.objectMode&&(se=new C("chunk",["string","Buffer"],Z)),se?(V(U,se),api$2.nextTick(ie,se),!1):!0}ue.prototype.write=function(U,P,Z){var ie=this._writableState,se=!1,k=!ie.objectMode&&y(U);return k&&!l.isBuffer(U)&&(U=d(U)),typeof P=="function"&&(Z=P,P=null),k?P="buffer":P||(P=ie.defaultEncoding),typeof Z!="function"&&(Z=Q),ie.ending?re(this,Z):(k||pe(this,ie,U,Z))&&(ie.pendingcb++,se=u(this,ie,k,U,P,Z)),se},ue.prototype.cork=function(){this._writableState.corked++},ue.prototype.uncork=function(){var U=this._writableState;U.corked&&(U.corked--,!U.writing&&!U.corked&&!U.bufferProcessing&&U.bufferedRequest&&$(this,U))},ue.prototype.setDefaultEncoding=function(P){if(typeof P=="string"&&(P=P.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new q(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(ue.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T(U,P,Z){return!U.objectMode&&U.decodeStrings!==!1&&typeof P=="string"&&(P=l.from(P,Z)),P}Object.defineProperty(ue.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function u(U,P,Z,ie,se,k){if(!Z){var I=T(P,ie,se);ie!==I&&(Z=!0,se="buffer",ie=I)}var te=P.objectMode?1:ie.length;P.length+=te;var ee=P.length0)if(typeof I!="string"&&!J.objectMode&&Object.getPrototypeOf(I)!==o.prototype&&(I=a(I)),ee)J.endEmitted?Q(k,new H):T(k,J,I,!0);else if(J.ended)Q(k,new F);else{if(J.destroyed)return!1;J.reading=!1,J.decoder&&!te?(I=J.decoder.write(I),J.objectMode||I.length!==0?T(k,J,I,!1):$(k,J)):T(k,J,I,!1)}else ee||(J.reading=!1,$(k,J))}return!J.ended&&(J.length=v?k=v:(k--,k|=k>>>1,k|=k>>>2,k|=k>>>4,k|=k>>>8,k|=k>>>16,k++),k}function b(k,I){return k<=0||I.length===0&&I.ended?0:I.objectMode?1:k!==k?I.flowing&&I.length?I.buffer.head.data.length:I.length:(k>I.highWaterMark&&(I.highWaterMark=m(k)),k<=I.length?k:I.ended?I.length:(I.needReadable=!0,0))}re.prototype.read=function(k){w("read",k),k=parseInt(k,10);var I=this._readableState,te=k;if(k!==0&&(I.emittedReadable=!1),k===0&&I.needReadable&&((I.highWaterMark!==0?I.length>=I.highWaterMark:I.length>0)||I.ended))return w("read: emitReadable",I.length,I.ended),I.length===0&&I.ended?Z(this):A(this),null;if(k=b(k,I),k===0&&I.ended)return I.length===0&&Z(this),null;var ee=I.needReadable;w("need readable",ee),(I.length===0||I.length-k0?fe=P(k,I):fe=null,fe===null?(I.needReadable=I.length<=I.highWaterMark,k=0):(I.length-=k,I.awaitDrain=0),I.length===0&&(I.ended||(I.needReadable=!0),te!==k&&I.ended&&Z(this)),fe!==null&&this.emit("data",fe),fe};function M(k,I){if(w("onEofChunk"),!I.ended){if(I.decoder){var te=I.decoder.end();te&&te.length&&(I.buffer.push(te),I.length+=I.objectMode?1:te.length)}I.ended=!0,I.sync?A(k):(I.needReadable=!1,I.emittedReadable||(I.emittedReadable=!0,O(k)))}}function A(k){var I=k._readableState;w("emitReadable",I.needReadable,I.emittedReadable),I.needReadable=!1,I.emittedReadable||(w("emitReadable",I.flowing),I.emittedReadable=!0,api$2.nextTick(O,k))}function O(k){var I=k._readableState;w("emitReadable_",I.destroyed,I.length,I.ended),!I.destroyed&&(I.length||I.ended)&&(k.emit("readable"),I.emittedReadable=!1),I.needReadable=!I.flowing&&!I.ended&&I.length<=I.highWaterMark,U(k)}function $(k,I){I.readingMore||(I.readingMore=!0,api$2.nextTick(c,k,I))}function c(k,I){for(;!I.reading&&!I.ended&&(I.length1&&se(ee.pipes,k)!==-1)&&!me&&(w("false write response, pause",ee.awaitDrain),ee.awaitDrain++),te.pause())}function Re(Se){w("onerror",Se),qe(),k.removeListener("error",Re),t(k,"error")===0&&Q(k,Se)}ce(k,"error",Re);function _e(){k.removeListener("finish",we),qe()}k.once("close",_e);function we(){w("onfinish"),k.removeListener("close",_e),qe()}k.once("finish",we);function qe(){w("unpipe"),te.unpipe(k)}return k.emit("pipe",te),ee.flowing||(w("pipe resume"),te.resume()),k};function x(k){return function(){var te=k._readableState;w("pipeOnDrain",te.awaitDrain),te.awaitDrain&&te.awaitDrain--,te.awaitDrain===0&&t(k,"data")&&(te.flowing=!0,U(k))}}re.prototype.unpipe=function(k){var I=this._readableState,te={hasUnpiped:!1};if(I.pipesCount===0)return this;if(I.pipesCount===1)return k&&k!==I.pipes?this:(k||(k=I.pipes),I.pipes=null,I.pipesCount=0,I.flowing=!1,k&&k.emit("unpipe",this,te),this);if(!k){var ee=I.pipes,fe=I.pipesCount;I.pipes=null,I.pipesCount=0,I.flowing=!1;for(var J=0;J0,ee.flowing!==!1&&this.resume()):k==="readable"&&!ee.endEmitted&&!ee.readableListening&&(ee.readableListening=ee.needReadable=!0,ee.flowing=!1,ee.emittedReadable=!1,w("on readable",ee.length,ee.reading),ee.length?A(this):ee.reading||api$2.nextTick(z,this)),te},re.prototype.addListener=re.prototype.on,re.prototype.removeListener=function(k,I){var te=n.prototype.removeListener.call(this,k,I);return k==="readable"&&api$2.nextTick(N,this),te},re.prototype.removeAllListeners=function(k){var I=n.prototype.removeAllListeners.apply(this,arguments);return(k==="readable"||k===void 0)&&api$2.nextTick(N,this),I};function N(k){var I=k._readableState;I.readableListening=k.listenerCount("readable")>0,I.resumeScheduled&&!I.paused?I.flowing=!0:k.listenerCount("data")>0&&k.resume()}function z(k){w("readable nexttick read 0"),k.read(0)}re.prototype.resume=function(){var k=this._readableState;return k.flowing||(w("resume"),k.flowing=!k.readableListening,oe(this,k)),k.paused=!1,this};function oe(k,I){I.resumeScheduled||(I.resumeScheduled=!0,api$2.nextTick(le,k,I))}function le(k,I){w("resume",I.reading),I.reading||k.read(0),I.resumeScheduled=!1,k.emit("resume"),U(k),I.flowing&&!I.reading&&k.read(0)}re.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function U(k){var I=k._readableState;for(w("flow",I.flowing);I.flowing&&k.read()!==null;);}re.prototype.wrap=function(k){var I=this,te=this._readableState,ee=!1;k.on("end",function(){if(w("wrapped end"),te.decoder&&!te.ended){var Y=te.decoder.end();Y&&Y.length&&I.push(Y)}I.push(null)}),k.on("data",function(Y){if(w("wrapped data"),te.decoder&&(Y=te.decoder.write(Y)),!(te.objectMode&&Y==null)&&!(!te.objectMode&&(!Y||!Y.length))){var X=I.push(Y);X||(ee=!0,k.pause())}});for(var fe in k)this[fe]===void 0&&typeof k[fe]=="function"&&(this[fe]=function(X){return function(){return k[X].apply(k,arguments)}}(fe));for(var J=0;J=I.length?(I.decoder?te=I.buffer.join(""):I.buffer.length===1?te=I.buffer.first():te=I.buffer.concat(I.length),I.buffer.clear()):te=I.buffer.consume(k,I.decoder),te}function Z(k){var I=k._readableState;w("endReadable",I.endEmitted),I.endEmitted||(I.ended=!0,api$2.nextTick(ie,I,k))}function ie(k,I){if(w("endReadableNT",k.endEmitted,k.length),!k.endEmitted&&k.length===0&&(k.endEmitted=!0,I.readable=!1,I.emit("end"),k.autoDestroy)){var te=I._writableState;(!te||te.autoDestroy&&te.finished)&&I.destroy()}}typeof Symbol=="function"&&(re.from=function(k,I){return V===void 0&&(V=requireFromBrowser$2()),V(re,k,I)});function se(k,I){for(var te=0,ee=k.length;te0;return destroyer$2(d,w,_,function(S){l||(l=S),S&&a.forEach(call$1),!w&&(a.forEach(call$1),o(l))})});return t.reduce(pipe$1)}var pipeline_1$2=pipeline$1;(function(e,t){t=e.exports=require_stream_readable$3(),t.Stream=t,t.Readable=t,t.Writable=require_stream_writable$3(),t.Duplex=require_stream_duplex$3(),t.Transform=_stream_transform$3,t.PassThrough=_stream_passthrough$3,t.finished=endOfStream$3,t.pipeline=pipeline_1$2})(readableBrowser$2,readableBrowser$2.exports);var readableBrowserExports$2=readableBrowser$2.exports;const{Buffer:Buffer$D}=buffer$2,symbol=Symbol.for("BufferList");function BufferList$2(e){if(!(this instanceof BufferList$2))return new BufferList$2(e);BufferList$2._init.call(this,e)}BufferList$2._init=function(t){Object.defineProperty(this,symbol,{value:!0}),this._bufs=[],this.length=0,t&&this.append(t)};BufferList$2.prototype._new=function(t){return new BufferList$2(t)};BufferList$2.prototype._offset=function(t){if(t===0)return[0,0];let n=0;for(let o=0;othis.length||t<0)return;const n=this._offset(t);return this._bufs[n[0]][n[1]]};BufferList$2.prototype.slice=function(t,n){return typeof t=="number"&&t<0&&(t+=this.length),typeof n=="number"&&n<0&&(n+=this.length),this.copy(null,0,t,n)};BufferList$2.prototype.copy=function(t,n,o,l){if((typeof o!="number"||o<0)&&(o=0),(typeof l!="number"||l>this.length)&&(l=this.length),o>=this.length||l<=0)return t||Buffer$D.alloc(0);const a=!!t,d=this._offset(o),y=l-o;let w=y,_=a&&n||0,S=d[1];if(o===0&&l===this.length){if(!a)return this._bufs.length===1?this._bufs[0]:Buffer$D.concat(this._bufs,this.length);for(let E=0;EC)this._bufs[E].copy(t,_,S),_+=C;else{this._bufs[E].copy(t,_,S,S+w),_+=C;break}w-=C,S&&(S=0)}return t.length>_?t.slice(0,_):t};BufferList$2.prototype.shallowSlice=function(t,n){if(t=t||0,n=typeof n!="number"?this.length:n,t<0&&(t+=this.length),n<0&&(n+=this.length),t===n)return this._new();const o=this._offset(t),l=this._offset(n),a=this._bufs.slice(o[0],l[0]+1);return l[1]===0?a.pop():a[a.length-1]=a[a.length-1].slice(0,l[1]),o[1]!==0&&(a[0]=a[0].slice(o[1])),this._new(a)};BufferList$2.prototype.toString=function(t,n,o){return this.slice(n,o).toString(t)};BufferList$2.prototype.consume=function(t){if(t=Math.trunc(t),Number.isNaN(t)||t<=0)return this;for(;this._bufs.length;)if(t>=this._bufs[0].length)t-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(t),this.length-=t;break}return this};BufferList$2.prototype.duplicate=function(){const t=this._new();for(let n=0;nthis.length?this.length:t;const o=this._offset(t);let l=o[0],a=o[1];for(;l=e.length){const w=d.indexOf(e,a);if(w!==-1)return this._reverseOffset([l,w]);a=d.length-e.length+1}else{const w=this._reverseOffset([l,a]);if(this._match(w,e))return w;a++}a=0}return-1};BufferList$2.prototype._match=function(e,t){if(this.length-e[0,1].map(a=>[0,1].map(d=>{const y=buffer$2.Buffer.alloc(1);return y.writeUInt8(t.codes[o]<buffer$2.Buffer.from([o])),t.EMPTY={pingreq:buffer$2.Buffer.from([t.codes.pingreq<<4,0]),pingresp:buffer$2.Buffer.from([t.codes.pingresp<<4,0]),disconnect:buffer$2.Buffer.from([t.codes.disconnect<<4,0])}})(constants$5);var constantsExports=constants$5.exports;const bl=blExports,EventEmitter$2=eventsExports,Packet=packet,constants$4=constantsExports,debug$4=browserExports$1("mqtt-packet:parser");class Parser extends EventEmitter$2{constructor(){super(),this.parser=this.constructor.parser}static parser(t){return this instanceof Parser?(this.settings=t||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Parser().parser(t)}_resetState(){debug$4("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new Packet,this.error=null,this._list=bl(),this._stateCounter=0}parse(t){for(this.error&&this._resetState(),this._list.append(t),debug$4("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,debug$4("parse: state complete. _stateCounter is now: %d",this._stateCounter),debug$4("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return debug$4("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){const t=this._list.readUInt8(0);return this.packet.cmd=constants$4.types[t>>constants$4.CMD_SHIFT],this.packet.retain=(t&constants$4.RETAIN_MASK)!==0,this.packet.qos=t>>constants$4.QOS_SHIFT&constants$4.QOS_MASK,this.packet.dup=(t&constants$4.DUP_MASK)!==0,debug$4("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0}_parseLength(){const t=this._parseVarByteNum(!0);return t&&(this.packet.length=t.value,this._list.consume(t.bytes)),debug$4("_parseLength %d",t.value),!!t}_parsePayload(){debug$4("_parsePayload: payload %O",this._list);let t=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}t=!0}return debug$4("_parsePayload complete result: %s",t),t}_parseConnect(){debug$4("_parseConnect");let t,n,o,l;const a={},d=this.packet,y=this._parseString();if(y===null)return this._emitError(new Error("Cannot parse protocolId"));if(y!=="MQTT"&&y!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(d.protocolId=y,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(d.protocolVersion=this._list.readUInt8(this._pos),d.protocolVersion>=128&&(d.bridgeMode=!0,d.protocolVersion=d.protocolVersion-128),d.protocolVersion!==3&&d.protocolVersion!==4&&d.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(a.username=this._list.readUInt8(this._pos)&constants$4.USERNAME_MASK,a.password=this._list.readUInt8(this._pos)&constants$4.PASSWORD_MASK,a.will=this._list.readUInt8(this._pos)&constants$4.WILL_FLAG_MASK,a.will&&(d.will={},d.will.retain=(this._list.readUInt8(this._pos)&constants$4.WILL_RETAIN_MASK)!==0,d.will.qos=(this._list.readUInt8(this._pos)&constants$4.WILL_QOS_MASK)>>constants$4.WILL_QOS_SHIFT),d.clean=(this._list.readUInt8(this._pos)&constants$4.CLEAN_SESSION_MASK)!==0,this._pos++,d.keepalive=this._parseNum(),d.keepalive===-1)return this._emitError(new Error("Packet too short"));if(d.protocolVersion===5){const _=this._parseProperties();Object.getOwnPropertyNames(_).length&&(d.properties=_)}const w=this._parseString();if(w===null)return this._emitError(new Error("Packet too short"));if(d.clientId=w,debug$4("_parseConnect: packet.clientId: %s",d.clientId),a.will){if(d.protocolVersion===5){const _=this._parseProperties();Object.getOwnPropertyNames(_).length&&(d.will.properties=_)}if(t=this._parseString(),t===null)return this._emitError(new Error("Cannot parse will topic"));if(d.will.topic=t,debug$4("_parseConnect: packet.will.topic: %s",d.will.topic),n=this._parseBuffer(),n===null)return this._emitError(new Error("Cannot parse will payload"));d.will.payload=n,debug$4("_parseConnect: packet.will.paylaod: %s",d.will.payload)}if(a.username){if(l=this._parseString(),l===null)return this._emitError(new Error("Cannot parse username"));d.username=l,debug$4("_parseConnect: packet.username: %s",d.username)}if(a.password){if(o=this._parseBuffer(),o===null)return this._emitError(new Error("Cannot parse password"));d.password=o}return this.settings=d,debug$4("_parseConnect: complete"),d}_parseConnack(){debug$4("_parseConnack");const t=this.packet;if(this._list.length<1)return null;if(t.sessionPresent=!!(this._list.readUInt8(this._pos++)&constants$4.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?t.reasonCode=this._list.readUInt8(this._pos++):t.reasonCode=0;else{if(this._list.length<2)return null;t.returnCode=this._list.readUInt8(this._pos++)}if(t.returnCode===-1||t.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){const n=this._parseProperties();Object.getOwnPropertyNames(n).length&&(t.properties=n)}debug$4("_parseConnack: complete")}_parsePublish(){debug$4("_parsePublish");const t=this.packet;if(t.topic=this._parseString(),t.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(t.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){const n=this._parseProperties();Object.getOwnPropertyNames(n).length&&(t.properties=n)}t.payload=this._list.slice(this._pos,t.length),debug$4("_parsePublish: payload from buffer list: %o",t.payload)}}_parseSubscribe(){debug$4("_parseSubscribe");const t=this.packet;let n,o,l,a,d,y,w;if(t.qos!==1)return this._emitError(new Error("Wrong subscribe header"));if(t.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const _=this._parseProperties();Object.getOwnPropertyNames(_).length&&(t.properties=_)}for(;this._pos=t.length)return this._emitError(new Error("Malformed Subscribe Payload"));o=this._parseByte(),l=o&constants$4.SUBSCRIBE_OPTIONS_QOS_MASK,y=(o>>constants$4.SUBSCRIBE_OPTIONS_NL_SHIFT&constants$4.SUBSCRIBE_OPTIONS_NL_MASK)!==0,d=(o>>constants$4.SUBSCRIBE_OPTIONS_RAP_SHIFT&constants$4.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,a=o>>constants$4.SUBSCRIBE_OPTIONS_RH_SHIFT&constants$4.SUBSCRIBE_OPTIONS_RH_MASK,w={topic:n,qos:l},this.settings.protocolVersion===5?(w.nl=y,w.rap=d,w.rh=a):this.settings.bridgeMode&&(w.rh=0,w.rap=!0,w.nl=!0),debug$4("_parseSubscribe: push subscription `%s` to subscription",w),t.subscriptions.push(w)}}}_parseSuback(){debug$4("_parseSuback");const t=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const n=this._parseProperties();Object.getOwnPropertyNames(n).length&&(t.properties=n)}for(;this._pos2?(t.reasonCode=this._parseByte(),debug$4("_parseConfirmation: packet.reasonCode `%d`",t.reasonCode)):t.reasonCode=0,t.length>3)){const n=this._parseProperties();Object.getOwnPropertyNames(n).length&&(t.properties=n)}return!0}_parseDisconnect(){const t=this.packet;if(debug$4("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?t.reasonCode=this._parseByte():t.reasonCode=0;const n=this._parseProperties();Object.getOwnPropertyNames(n).length&&(t.properties=n)}return debug$4("_parseDisconnect result: true"),!0}_parseAuth(){debug$4("_parseAuth");const t=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));t.reasonCode=this._parseByte();const n=this._parseProperties();return Object.getOwnPropertyNames(n).length&&(t.properties=n),debug$4("_parseAuth: result: true"),!0}_parseMessageId(){const t=this.packet;return t.messageId=this._parseNum(),t.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(debug$4("_parseMessageId: packet.messageId %d",t.messageId),!0)}_parseString(t){const n=this._parseNum(),o=n+this._pos;if(n===-1||o>this._list.length||o>this.packet.length)return null;const l=this._list.toString("utf8",this._pos,o);return this._pos+=n,debug$4("_parseString: result: %s",l),l}_parseStringPair(){return debug$4("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){const t=this._parseNum(),n=t+this._pos;if(t===-1||n>this._list.length||n>this.packet.length)return null;const o=this._list.slice(this._pos,n);return this._pos+=t,debug$4("_parseBuffer: result: %o",o),o}_parseNum(){if(this._list.length-this._pos<2)return-1;const t=this._list.readUInt16BE(this._pos);return this._pos+=2,debug$4("_parseNum: result: %s",t),t}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;const t=this._list.readUInt32BE(this._pos);return this._pos+=4,debug$4("_parse4ByteNum: result: %s",t),t}_parseVarByteNum(t){debug$4("_parseVarByteNum");const n=4;let o=0,l=1,a=0,d=!1,y;const w=this._pos?this._pos:0;for(;o=o&&this._emitError(new Error("Invalid variable byte integer")),w&&(this._pos+=o),d=d?t?{bytes:o,value:a}:a:!1,debug$4("_parseVarByteNum: result: %o",d),d}_parseByte(){let t;return this._pos>8,0),t.writeUInt8(e&255,0+1),t}function generateCache$1(){for(let e=0;e0&&(n=n|128),l.writeUInt8(n,o++);while(e>0&&o<4);return e>0&&(o=0),SubOk?l.subarray(0,o):l.slice(0,o)}function generate4ByteBuffer$1(e){const t=buffer$2.Buffer.allocUnsafe(4);return t.writeUInt32BE(e,0),t}var numbers$1={cache,generateCache:generateCache$1,generateNumber:generateBuffer,genBufVariableByteInt:genBufVariableByteInt$1,generate4ByteBuffer:generate4ByteBuffer$1},processNextickArgs={exports:{}};typeof api$2>"u"||!api$2.version||api$2.version.indexOf("v0.")===0||api$2.version.indexOf("v1.")===0&&api$2.version.indexOf("v1.8.")!==0?processNextickArgs.exports={nextTick:nextTick$3}:processNextickArgs.exports=api$2;function nextTick$3(e,t,n,o){if(typeof e!="function")throw new TypeError('"callback" argument must be a function');var l=arguments.length,a,d;switch(l){case 0:case 1:return api$2.nextTick(e);case 2:return api$2.nextTick(function(){e.call(null,t)});case 3:return api$2.nextTick(function(){e.call(null,t,n)});case 4:return api$2.nextTick(function(){e.call(null,t,n,o)});default:for(a=new Array(l-1),d=0;d=4)&&(_||y))B+=buffer$2.Buffer.byteLength(_)+2;else{if(a<4)return t.emit("error",new Error("clientId must be supplied before 3.1.1")),!1;if(y*1===0)return t.emit("error",new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof w!="number"||w<0||w>65535||w%1!==0)return t.emit("error",new Error("Invalid keepalive")),!1;if(B+=2,B+=1,a===5){var L=getProperties(t,C);if(!L)return!1;B+=L.length}if(d){if(typeof d!="object")return t.emit("error",new Error("Invalid will")),!1;if(!d.topic||typeof d.topic!="string")return t.emit("error",new Error("Invalid will topic")),!1;if(B+=buffer$2.Buffer.byteLength(d.topic)+2,B+=2,d.payload)if(d.payload.length>=0)typeof d.payload=="string"?B+=buffer$2.Buffer.byteLength(d.payload):B+=d.payload.length;else return t.emit("error",new Error("Invalid will payload")),!1;var F={};if(a===5){if(F=getProperties(t,d.properties),!F)return!1;B+=F.length}}let j=!1;if(S!=null)if(isStringOrBuffer(S))j=!0,B+=buffer$2.Buffer.byteLength(S)+2;else return t.emit("error",new Error("Invalid username")),!1;if(E!=null){if(!j)return t.emit("error",new Error("Username is required to use password")),!1;if(isStringOrBuffer(E))B+=byteLength(E)+2;else return t.emit("error",new Error("Invalid password")),!1}t.write(protocol.CONNECT_HEADER),writeVarByteInt(t,B),writeStringOrBuffer(t,l),o.bridgeMode&&(a+=128),t.write(a===131?protocol.VERSION131:a===132?protocol.VERSION132:a===4?protocol.VERSION4:a===5?protocol.VERSION5:protocol.VERSION3);let H=0;return H|=S!=null?protocol.USERNAME_MASK:0,H|=E!=null?protocol.PASSWORD_MASK:0,H|=d&&d.retain?protocol.WILL_RETAIN_MASK:0,H|=d&&d.qos?d.qos<0&&writeNumber(t,_),C!=null&&C.write(),debug$3("publish: payload: %o",w),t.write(w)}function confirmation(e,t,n){const o=n?n.protocolVersion:4,l=e||{},a=l.cmd||"puback",d=l.messageId,y=l.dup&&a==="pubrel"?protocol.DUP_MASK:0;let w=0;const _=l.reasonCode,S=l.properties;let E=o===5?3:2;if(a==="pubrel"&&(w=1),typeof d!="number")return t.emit("error",new Error("Invalid messageId")),!1;let C=null;if(o===5&&typeof S=="object"){if(C=getPropertiesByMaximumPacketSize(t,S,n,E),!C)return!1;E+=C.length}return t.write(protocol.ACKS[a][w][y][0]),writeVarByteInt(t,E),writeNumber(t,d),o===5&&t.write(buffer$2.Buffer.from([_])),C!==null&&C.write(),!0}function subscribe(e,t,n){debug$3("subscribe: packet: ");const o=n?n.protocolVersion:4,l=e||{},a=l.dup?protocol.DUP_MASK:0,d=l.messageId,y=l.subscriptions,w=l.properties;let _=0;if(typeof d!="number")return t.emit("error",new Error("Invalid messageId")),!1;_+=2;let S=null;if(o===5){if(S=getProperties(t,w),!S)return!1;_+=S.length}if(typeof y=="object"&&y.length)for(let C=0;C2)return t.emit("error",new Error("Invalid subscriptions - invalid Retain Handling")),!1}_+=buffer$2.Buffer.byteLength(B)+2+1}else return t.emit("error",new Error("Invalid subscriptions")),!1;debug$3("subscribe: writing to stream: %o",protocol.SUBSCRIBE_HEADER),t.write(protocol.SUBSCRIBE_HEADER[1][a?1:0][0]),writeVarByteInt(t,_),writeNumber(t,d),S!==null&&S.write();let E=!0;for(const C of y){const B=C.topic,L=C.qos,F=+C.nl,j=+C.rap,H=C.rh;let D;writeString(t,B),D=protocol.SUBSCRIBE_OPTIONS_QOS[L],o===5&&(D|=F?protocol.SUBSCRIBE_OPTIONS_NL:0,D|=j?protocol.SUBSCRIBE_OPTIONS_RAP:0,D|=H?protocol.SUBSCRIBE_OPTIONS_RH[H]:0),E=t.write(buffer$2.Buffer.from([D]))}return E}function suback(e,t,n){const o=n?n.protocolVersion:4,l=e||{},a=l.messageId,d=l.granted,y=l.properties;let w=0;if(typeof a!="number")return t.emit("error",new Error("Invalid messageId")),!1;if(w+=2,typeof d=="object"&&d.length)for(let S=0;Sprotocol.VARBYTEINT_MAX)return e.emit("error",new Error(`Invalid variable byte integer: ${t}`)),!1;let n=varByteIntCache[t];return n||(n=genBufVariableByteInt(t),t<16384&&(varByteIntCache[t]=n)),debug$3("writeVarByteInt: writing to stream: %o",n),e.write(n)}function writeString(e,t){const n=buffer$2.Buffer.byteLength(t);return writeNumber(e,n),debug$3("writeString: %s",t),e.write(t,"utf8")}function writeStringPair(e,t,n){writeString(e,t),writeString(e,n)}function writeNumberCached(e,t){return debug$3("writeNumberCached: number: %d",t),debug$3("writeNumberCached: %o",numCache[t]),e.write(numCache[t])}function writeNumberGenerated(e,t){const n=generateNumber(t);return debug$3("writeNumberGenerated: %o",n),e.write(n)}function write4ByteNumber(e,t){const n=generate4ByteBuffer(t);return debug$3("write4ByteNumber: %o",n),e.write(n)}function writeStringOrBuffer(e,t){typeof t=="string"?writeString(e,t):t?(writeNumber(e,t.length),e.write(t)):writeNumber(e,0)}function getProperties(e,t){if(typeof t!="object"||t.length!=null)return{length:1,write(){writeProperties(e,{},0)}};let n=0;function o(a,d){const y=protocol.propertiesTypes[a];let w=0;switch(y){case"byte":{if(typeof d!="boolean")return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+1;break}case"int8":{if(typeof d!="number"||d<0||d>255)return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+1;break}case"binary":{if(d&&d===null)return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+buffer$2.Buffer.byteLength(d)+2;break}case"int16":{if(typeof d!="number"||d<0||d>65535)return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+2;break}case"int32":{if(typeof d!="number"||d<0||d>4294967295)return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+4;break}case"var":{if(typeof d!="number"||d<0||d>268435455)return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+buffer$2.Buffer.byteLength(genBufVariableByteInt(d));break}case"string":{if(typeof d!="string")return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=1+2+buffer$2.Buffer.byteLength(d.toString());break}case"pair":{if(typeof d!="object")return e.emit("error",new Error(`Invalid ${a}: ${d}`)),!1;w+=Object.getOwnPropertyNames(d).reduce((_,S)=>{const E=d[S];return Array.isArray(E)?_+=E.reduce((C,B)=>(C+=1+2+buffer$2.Buffer.byteLength(S.toString())+2+buffer$2.Buffer.byteLength(B.toString()),C),0):_+=1+2+buffer$2.Buffer.byteLength(S.toString())+2+buffer$2.Buffer.byteLength(d[S].toString()),_},0);break}default:return e.emit("error",new Error(`Invalid property ${a}: ${d}`)),!1}return w}if(t)for(const a in t){let d=0,y=0;const w=t[a];if(Array.isArray(w))for(let _=0;_a;){const y=l.shift();if(y&&t[y])delete t[y],d=getProperties(e,t);else return!1}return d}function writeProperty(e,t,n){switch(protocol.propertiesTypes[t]){case"byte":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),e.write(buffer$2.Buffer.from([+n]));break}case"int8":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),e.write(buffer$2.Buffer.from([n]));break}case"binary":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeStringOrBuffer(e,n);break}case"int16":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeNumber(e,n);break}case"int32":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),write4ByteNumber(e,n);break}case"var":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeVarByteInt(e,n);break}case"string":{e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeString(e,n);break}case"pair":{Object.getOwnPropertyNames(n).forEach(l=>{const a=n[l];Array.isArray(a)?a.forEach(d=>{e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeStringPair(e,l.toString(),d.toString())}):(e.write(buffer$2.Buffer.from([protocol.properties[t]])),writeStringPair(e,l.toString(),a.toString()))});break}default:return e.emit("error",new Error(`Invalid property ${t} value: ${n}`)),!1}}function writeProperties(e,t,n){writeVarByteInt(e,n);for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==null){const l=t[o];if(Array.isArray(l))for(let a=0;a0){e=new Array(arguments.length-2);for(var t=0;tnew Date(d)),t.set(Map,(d,y)=>new Map(o(Array.from(d),y))),t.set(Set,(d,y)=>new Set(o(Array.from(d),y))),e.constructorHandlers)for(const d of e.constructorHandlers)t.set(d[0],d[1]);let n=null;return e.proto?a:l;function o(d,y){const w=Object.keys(d),_=new Array(w.length);for(let S=0;Snew Date(w)),o.set(Map,(w,_)=>new Map(a(Array.from(w),_))),o.set(Set,(w,_)=>new Set(a(Array.from(w),_))),e.constructorHandlers)for(const w of e.constructorHandlers)o.set(w[0],w[1]);let l=null;return e.proto?y:d;function a(w,_){const S=Object.keys(w),E=new Array(S.length);for(let C=0;C"u")return new Error("Unregistered Topic Alias");if(o=e.topicAliasSend.getTopicByAlias(n),typeof o>"u")return new Error("Unregistered Topic Alias");t.topic=o}n&&delete t.properties.topicAlias}function sendPacket(e,t,n){debug$2("sendPacket :: packet: %O",t),debug$2("sendPacket :: emitting `packetsend`"),e.emit("packetsend",t),debug$2("sendPacket :: writing to stream");const o=mqttPacket.writeToStream(t,e.stream,e.options);debug$2("sendPacket :: writeToStream result %s",o),!o&&n&&n!==nop?(debug$2("sendPacket :: handle events on `drain` once through callback."),e.stream.once("drain",n)):n&&(debug$2("sendPacket :: invoking cb"),n())}function flush(e){e&&(debug$2("flush: queue exists? %b",!!e),Object.keys(e).forEach(function(t){typeof e[t].cb=="function"&&(e[t].cb(new Error("Connection closed")),delete e[t])}))}function flushVolatile(e){e&&(debug$2("flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(e).forEach(function(t){e[t].volatile&&typeof e[t].cb=="function"&&(e[t].cb(new Error("Connection closed")),delete e[t])}))}function storeAndSend(e,t,n,o){debug$2("storeAndSend :: store packet with cmd %s to outgoingStore",t.cmd);let l=t,a;if(l.cmd==="publish"&&(l=clone$1(t),a=removeTopicAliasAndRecoverTopicName(e,l),a))return n&&n(a);e.outgoingStore.put(l,function(y){if(y)return n&&n(y);o(),sendPacket(e,t,n)})}function nop(e){debug$2("nop ::",e)}function MqttClient$1(e,t){let n;const o=this;if(!(this instanceof MqttClient$1))return new MqttClient$1(e,t);this.options=t||{};for(n in defaultConnectOptions)typeof this.options[n]>"u"?this.options[n]=defaultConnectOptions[n]:this.options[n]=t[n];debug$2("MqttClient :: options.protocol",t.protocol),debug$2("MqttClient :: options.protocolVersion",t.protocolVersion),debug$2("MqttClient :: options.username",t.username),debug$2("MqttClient :: options.keepalive",t.keepalive),debug$2("MqttClient :: options.reconnectPeriod",t.reconnectPeriod),debug$2("MqttClient :: options.rejectUnauthorized",t.rejectUnauthorized),debug$2("MqttClient :: options.topicAliasMaximum",t.topicAliasMaximum),this.options.clientId=typeof t.clientId=="string"?t.clientId:defaultId(),debug$2("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=t.protocolVersion===5&&t.customHandleAcks?t.customHandleAcks:function(){arguments[3](0)},this.streamBuilder=e,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new DefaultMessageIdProvider:this.options.messageIdProvider,this.outgoingStore=t.outgoingStore||new Store$2,this.incomingStore=t.incomingStore||new Store$2,this.queueQoSZero=t.queueQoSZero===void 0?!0:t.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.pingTimer=null,this.connected=!1,this.disconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,t.topicAliasMaximum>0&&(t.topicAliasMaximum>65535?debug$2("MqttClient :: options.topicAliasMaximum is out of range"):this.topicAliasRecv=new TopicAliasRecv(t.topicAliasMaximum)),this.on("connect",function(){const l=this.queue;function a(){const d=l.shift();debug$2("deliver :: entry %o",d);let y=null;if(!d){o._resubscribe();return}y=d.packet,debug$2("deliver :: call _sendPacket for %o",y);let w=!0;y.messageId&&y.messageId!==0&&(o.messageIdProvider.register(y.messageId)||(w=!1)),w?o._sendPacket(y,function(_){d.cb&&d.cb(_),a()}):(debug$2("messageId: %d has already used. The message is skipped and removed.",y.messageId),a())}debug$2("connect :: sending queued packets"),a()}),this.on("close",function(){debug$2("close :: connected set to `false`"),this.connected=!1,debug$2("close :: clearing connackTimer"),clearTimeout(this.connackTimer),debug$2("close :: clearing ping timer"),o.pingTimer!==null&&(o.pingTimer.clear(),o.pingTimer=null),this.topicAliasRecv&&this.topicAliasRecv.clear(),debug$2("close :: calling _setupReconnect"),this._setupReconnect()}),EventEmitter.call(this),debug$2("MqttClient :: setting up stream"),this._setupStream()}inherits$u(MqttClient$1,EventEmitter);MqttClient$1.prototype._setupStream=function(){const e=this,t=new Writable,n=mqttPacket.parser(this.options);let o=null;const l=[];debug$2("_setupStream :: calling method to clear reconnect"),this._clearReconnect(),debug$2("_setupStream :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),n.on("packet",function(_){debug$2("parser :: on packet push to packets array."),l.push(_)});function a(){if(l.length)nextTick$1(d);else{const _=o;o=null,_()}}function d(){debug$2("work :: getting next packet in queue");const _=l.shift();if(_)debug$2("work :: packet pulled from queue"),e._handlePacket(_,a);else{debug$2("work :: no packets in queue");const S=o;o=null,debug$2("work :: done flag is %s",!!S),S&&S()}}t._write=function(_,S,E){o=E,debug$2("writable stream :: parsing buffer"),n.parse(_),d()};function y(_){debug$2("streamErrorHandler :: error",_.message),_.code?(debug$2("streamErrorHandler :: emitting error"),e.emit("error",_)):nop(_)}debug$2("_setupStream :: pipe stream to writable stream"),this.stream.pipe(t),this.stream.on("error",y),this.stream.on("close",function(){debug$2("(%s)stream :: on close",e.options.clientId),flushVolatile(e.outgoing),debug$2("stream: emit close to MqttClient"),e.emit("close")}),debug$2("_setupStream: sending packet `connect`");const w=Object.create(this.options);if(w.cmd="connect",this.topicAliasRecv&&(w.properties||(w.properties={}),this.topicAliasRecv&&(w.properties.topicAliasMaximum=this.topicAliasRecv.max)),sendPacket(this,w),n.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return e.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){const _=xtend$1({cmd:"auth",reasonCode:0},this.options.authPacket);sendPacket(this,_)}}this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(function(){debug$2("!!connectTimeout hit!! Calling _cleanUp with force `true`"),e._cleanUp(!0)},this.options.connectTimeout)};MqttClient$1.prototype._handlePacket=function(e,t){const n=this.options;if(n.protocolVersion===5&&n.properties&&n.properties.maximumPacketSize&&n.properties.maximumPacketSize0||!y())&&this._storeProcessingQueue.push({invoke:y,cbStorePut:n.cbStorePut,callback:o}),this};MqttClient$1.prototype.subscribe=function(){const e=this,t=new Array(arguments.length);for(let E=0;E0){const F={qos:L.qos};y===5&&(F.nl=L.nl||!1,F.rap=L.rap||!1,F.rh=L.rh||0,F.properties=L.properties),e._resubscribeTopics[L.topic]=F,B.push(L.topic)}}),e.messageIdToTopic[C.messageId]=B}return e.outgoing[C.messageId]={volatile:!0,cb:function(B,L){if(!B){const F=L.granted;for(let j=0;j0||!S())&&this._storeProcessingQueue.push({invoke:S,callback:a}),this};MqttClient$1.prototype.unsubscribe=function(){const e=this,t=new Array(arguments.length);for(let y=0;y0||!d())&&this._storeProcessingQueue.push({invoke:d,callback:o}),this};MqttClient$1.prototype.end=function(e,t,n){const o=this;debug$2("end :: (%s)",this.options.clientId),(e==null||typeof e!="boolean")&&(n=t||nop,t=e,e=!1,typeof t!="object"&&(n=t,t=null,typeof n!="function"&&(n=nop))),typeof t!="object"&&(n=t,t=null),debug$2("end :: cb? %s",!!n),n=n||nop;function l(){debug$2("end :: closeStores: closing incoming and outgoing stores"),o.disconnected=!0,o.incomingStore.close(function(d){o.outgoingStore.close(function(y){if(debug$2("end :: closeStores: emitting end"),o.emit("end"),n){const w=d||y;debug$2("end :: closeStores: invoking callback with args"),n(w)}})}),o._deferredReconnect&&o._deferredReconnect()}function a(){debug$2("end :: (%s) :: finish :: calling _cleanUp with force %s",o.options.clientId,e),o._cleanUp(e,()=>{debug$2("end :: finish :: calling process.nextTick on closeStores"),nextTick$1(l.bind(o))},t)}return this.disconnecting?(n(),this):(this._clearReconnect(),this.disconnecting=!0,!e&&Object.keys(this.outgoing).length>0?(debug$2("end :: (%s) :: calling finish in 10ms once outgoing is empty",o.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,a,10))):(debug$2("end :: (%s) :: immediately calling finish",o.options.clientId),a()),this)};MqttClient$1.prototype.removeOutgoingMessage=function(e){const t=this.outgoing[e]?this.outgoing[e].cb:null;return delete this.outgoing[e],this.outgoingStore.del({messageId:e},function(){t(new Error("Message removed"))}),this};MqttClient$1.prototype.reconnect=function(e){debug$2("client reconnect");const t=this,n=function(){e?(t.options.incomingStore=e.incomingStore,t.options.outgoingStore=e.outgoingStore):(t.options.incomingStore=null,t.options.outgoingStore=null),t.incomingStore=t.options.incomingStore||new Store$2,t.outgoingStore=t.options.outgoingStore||new Store$2,t.disconnecting=!1,t.disconnected=!1,t._deferredReconnect=null,t._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=n:n(),this};MqttClient$1.prototype._reconnect=function(){debug$2("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this._setupStream()}),debug$2("client already connected. disconnecting first.")):(debug$2("_reconnect: calling _setupStream"),this._setupStream())};MqttClient$1.prototype._setupReconnect=function(){const e=this;!e.disconnecting&&!e.reconnectTimer&&e.options.reconnectPeriod>0?(this.reconnecting||(debug$2("_setupReconnect :: emit `offline` state"),this.emit("offline"),debug$2("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),debug$2("_setupReconnect :: setting reconnectTimer for %d ms",e.options.reconnectPeriod),e.reconnectTimer=setInterval(function(){debug$2("reconnectTimer :: reconnect triggered!"),e._reconnect()},e.options.reconnectPeriod)):debug$2("_setupReconnect :: doing nothing...")};MqttClient$1.prototype._clearReconnect=function(){debug$2("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)};MqttClient$1.prototype._cleanUp=function(e,t){const n=arguments[2];if(t&&(debug$2("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",t)),debug$2("_cleanUp :: forced? %s",e),e)this.options.reconnectPeriod===0&&this.options.clean&&flush(this.outgoing),debug$2("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{const o=xtend$1({cmd:"disconnect"},n);debug$2("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(o,setImmediate$1.bind(null,this.stream.end.bind(this.stream)))}this.disconnecting||(debug$2("_cleanUp :: client not disconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this.pingTimer!==null&&(debug$2("_cleanUp :: clearing pingTimer"),this.pingTimer.clear(),this.pingTimer=null),t&&!this.connected&&(debug$2("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",t),t())};MqttClient$1.prototype._sendPacket=function(e,t,n){debug$2("_sendPacket :: (%s) :: start",this.options.clientId),n=n||nop,t=t||nop;const o=applyTopicAlias(this,e);if(o){t(o);return}if(!this.connected){if(e.cmd==="auth"){this._shiftPingInterval(),sendPacket(this,e,t);return}debug$2("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(e,t,n);return}switch(this._shiftPingInterval(),e.cmd){case"publish":break;case"pubrel":storeAndSend(this,e,t,n);return;default:sendPacket(this,e,t);return}switch(e.qos){case 2:case 1:storeAndSend(this,e,t,n);break;case 0:default:sendPacket(this,e,t);break}debug$2("_sendPacket :: (%s) :: end",this.options.clientId)};MqttClient$1.prototype._storePacket=function(e,t,n){debug$2("_storePacket :: packet: %o",e),debug$2("_storePacket :: cb? %s",!!t),n=n||nop;let o=e;if(o.cmd==="publish"){o=clone$1(e);const l=removeTopicAliasAndRecoverTopicName(this,o);if(l)return t&&t(l)}(o.qos||0)===0&&this.queueQoSZero||o.cmd!=="publish"?this.queue.push({packet:o,cb:t}):o.qos>0?(t=this.outgoing[o.messageId]?this.outgoing[o.messageId].cb:null,this.outgoingStore.put(o,function(l){if(l)return t&&t(l);n()})):t&&t(new Error("No connection to broker"))};MqttClient$1.prototype._setupPingTimer=function(){debug$2("_setupPingTimer :: keepalive %d (seconds)",this.options.keepalive);const e=this;!this.pingTimer&&this.options.keepalive&&(this.pingResp=!0,this.pingTimer=reInterval(function(){e._checkPing()},this.options.keepalive*1e3))};MqttClient$1.prototype._shiftPingInterval=function(){this.pingTimer&&this.options.keepalive&&this.options.reschedulePings&&this.pingTimer.reschedule(this.options.keepalive*1e3)};MqttClient$1.prototype._checkPing=function(){debug$2("_checkPing :: checking ping..."),this.pingResp?(debug$2("_checkPing :: ping response received. Clearing flag and sending `pingreq`"),this.pingResp=!1,this._sendPacket({cmd:"pingreq"})):(debug$2("_checkPing :: calling _cleanUp with force true"),this._cleanUp(!0))};MqttClient$1.prototype._handlePingresp=function(){this.pingResp=!0};MqttClient$1.prototype._handleConnack=function(e){debug$2("_handleConnack");const t=this.options,o=t.protocolVersion===5?e.reasonCode:e.returnCode;if(clearTimeout(this.connackTimer),delete this.topicAliasSend,e.properties){if(e.properties.topicAliasMaximum){if(e.properties.topicAliasMaximum>65535){this.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}e.properties.topicAliasMaximum>0&&(this.topicAliasSend=new TopicAliasSend(e.properties.topicAliasMaximum))}e.properties.serverKeepAlive&&t.keepalive&&(t.keepalive=e.properties.serverKeepAlive,this._shiftPingInterval()),e.properties.maximumPacketSize&&(t.properties||(t.properties={}),t.properties.maximumPacketSize=e.properties.maximumPacketSize)}if(o===0)this.reconnecting=!1,this._onConnect(e);else if(o>0){const l=new Error("Connection refused: "+errors[o]);l.code=o,this.emit("error",l)}};MqttClient$1.prototype._handleAuth=function(e){const n=this.options.protocolVersion,o=n===5?e.reasonCode:e.returnCode;if(n!==5){const a=new Error("Protocol error: Auth packets are only supported in MQTT 5. Your version:"+n);a.code=o,this.emit("error",a);return}const l=this;this.handleAuth(e,function(a,d){if(a){l.emit("error",a);return}if(o===24)l.reconnecting=!1,l._sendPacket(d);else{const y=new Error("Connection refused: "+errors[o]);a.code=o,l.emit("error",y)}})};MqttClient$1.prototype.handleAuth=function(e,t){t()};MqttClient$1.prototype._handlePublish=function(e,t){debug$2("_handlePublish: packet %o",e),t=typeof t<"u"?t:nop;let n=e.topic.toString();const o=e.payload,l=e.qos,a=e.messageId,d=this,y=this.options,w=[0,16,128,131,135,144,145,151,153];if(this.options.protocolVersion===5){let _;if(e.properties&&(_=e.properties.topicAlias),typeof _<"u")if(n.length===0)if(_>0&&_<=65535){const S=this.topicAliasRecv.getTopicByAlias(_);if(S)n=S,debug$2("_handlePublish :: topic complemented by alias. topic: %s - alias: %d",n,_);else{debug$2("_handlePublish :: unregistered topic alias. alias: %d",_),this.emit("error",new Error("Received unregistered Topic Alias"));return}}else{debug$2("_handlePublish :: topic alias out of range. alias: %d",_),this.emit("error",new Error("Received Topic Alias is out of range"));return}else if(this.topicAliasRecv.put(n,_))debug$2("_handlePublish :: registered topic: %s - alias: %d",n,_);else{debug$2("_handlePublish :: topic alias out of range. alias: %d",_),this.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(debug$2("_handlePublish: qos %d",l),l){case 2:{y.customHandleAcks(n,o,e,function(_,S){if(_ instanceof Error||(S=_,_=null),_)return d.emit("error",_);if(w.indexOf(S)===-1)return d.emit("error",new Error("Wrong reason code for pubrec"));S?d._sendPacket({cmd:"pubrec",messageId:a,reasonCode:S},t):d.incomingStore.put(e,function(){d._sendPacket({cmd:"pubrec",messageId:a},t)})});break}case 1:{y.customHandleAcks(n,o,e,function(_,S){if(_ instanceof Error||(S=_,_=null),_)return d.emit("error",_);if(w.indexOf(S)===-1)return d.emit("error",new Error("Wrong reason code for puback"));S||d.emit("message",n,o,e),d.handleMessage(e,function(E){if(E)return t&&t(E);d._sendPacket({cmd:"puback",messageId:a,reasonCode:S},t)})});break}case 0:this.emit("message",n,o,e),this.handleMessage(e,t);break;default:debug$2("_handlePublish: unknown QoS. Doing nothing.");break}};MqttClient$1.prototype.handleMessage=function(e,t){t()};MqttClient$1.prototype._handleAck=function(e){const t=e.messageId,n=e.cmd;let o=null;const l=this.outgoing[t]?this.outgoing[t].cb:null,a=this;let d;if(!l){debug$2("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(debug$2("_handleAck :: packet type",n),n){case"pubcomp":case"puback":{const y=e.reasonCode;y&&y>0&&y!==16&&(d=new Error("Publish error: "+errors[y]),d.code=y,l(d,e)),delete this.outgoing[t],this.outgoingStore.del(e,l),this.messageIdProvider.deallocate(t),this._invokeStoreProcessingQueue();break}case"pubrec":{o={cmd:"pubrel",qos:2,messageId:t};const y=e.reasonCode;y&&y>0&&y!==16?(d=new Error("Publish error: "+errors[y]),d.code=y,l(d,e)):this._sendPacket(o);break}case"suback":{delete this.outgoing[t],this.messageIdProvider.deallocate(t);for(let y=0;y0)if(this.options.resubscribe)if(this.options.protocolVersion===5){debug$2("_resubscribe: protocolVersion 5");for(let t=0;t0){const e=this._storeProcessingQueue[0];if(e&&e.invoke())return this._storeProcessingQueue.shift(),!0}return!1};MqttClient$1.prototype._invokeAllStoreProcessingQueue=function(){for(;this._invokeStoreProcessingQueue(););};MqttClient$1.prototype._flushStoreProcessingQueue=function(){for(const e of this._storeProcessingQueue)e.cbStorePut&&e.cbStorePut(new Error("Connection closed")),e.callback&&e.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)};var client=MqttClient$1,punycode$1={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */punycode$1.exports;(function(e,t){(function(n){var o=t&&!t.nodeType&&t,l=e&&!e.nodeType&&e,a=typeof commonjsGlobal=="object"&&commonjsGlobal;(a.global===a||a.window===a||a.self===a)&&(n=a);var d,y=2147483647,w=36,_=1,S=26,E=38,C=700,B=72,L=128,F="-",j=/^xn--/,H=/[^\x20-\x7E]/,D=/[\x2E\u3002\uFF0E\uFF61]/g,q={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},V=w-_,Q=Math.floor,ae=String.fromCharCode,ce;function ue(c){throw new RangeError(q[c])}function re(c,x){for(var N=c.length,z=[];N--;)z[N]=x(c[N]);return z}function pe(c,x){var N=c.split("@"),z="";N.length>1&&(z=N[0]+"@",c=N[1]),c=c.replace(D,".");var oe=c.split("."),le=re(oe,x).join(".");return z+le}function T(c){for(var x=[],N=0,z=c.length,oe,le;N=55296&&oe<=56319&&N65535&&(x-=65536,N+=ae(x>>>10&1023|55296),x=56320|x&1023),N+=ae(x),N}).join("")}function v(c){return c-48<10?c-22:c-65<26?c-65:c-97<26?c-97:w}function m(c,x){return c+22+75*(c<26)-((x!=0)<<5)}function b(c,x,N){var z=0;for(c=N?Q(c/C):c>>1,c+=Q(c/x);c>V*S>>1;z+=w)c=Q(c/V);return Q(z+(V+1)*c/(c+E))}function M(c){var x=[],N=c.length,z,oe=0,le=L,U=B,P,Z,ie,se,k,I,te,ee,fe;for(P=c.lastIndexOf(F),P<0&&(P=0),Z=0;Z=128&&ue("not-basic"),x.push(c.charCodeAt(Z));for(ie=P>0?P+1:0;ie=N&&ue("invalid-input"),te=v(c.charCodeAt(ie++)),(te>=w||te>Q((y-oe)/k))&&ue("overflow"),oe+=te*k,ee=I<=U?_:I>=U+S?S:I-U,!(teQ(y/fe)&&ue("overflow"),k*=fe;z=x.length+1,U=b(oe-se,z,se==0),Q(oe/z)>y-le&&ue("overflow"),le+=Q(oe/z),oe%=z,x.splice(oe++,0,le)}return u(x)}function A(c){var x,N,z,oe,le,U,P,Z,ie,se,k,I=[],te,ee,fe,J;for(c=T(c),te=c.length,x=L,N=0,le=B,U=0;U=x&&kQ((y-N)/ee)&&ue("overflow"),N+=(P-x)*ee,x=P,U=0;Uy&&ue("overflow"),k==x){for(Z=N,ie=w;se=ie<=le?_:ie>=le+S?S:ie-le,!(Z-1e3&&e<1e3||$test.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var o=e<0?-$floor(-e):$floor(e);if(o!==e){var l=String(o),a=$slice.call(t,l.length+1);return $replace.call(l,n,"$&_")+"."+$replace.call($replace.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(t,n,"$&_")}var utilInspect=require$$0$2,inspectCustom=utilInspect.custom,inspectSymbol=isSymbol$3(inspectCustom)?inspectCustom:null,quotes={__proto__:null,double:'"',single:"'"},quoteREs={__proto__:null,double:/(["\\])/g,single:/(['\\])/g},objectInspect=function e(t,n,o,l){var a=n||{};if(has$3(a,"quoteStyle")&&!has$3(quotes,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has$3(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var d=has$3(a,"customInspect")?a.customInspect:!0;if(typeof d!="boolean"&&d!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has$3(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has$3(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var y=a.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return inspectString(t,a);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var w=String(t);return y?addNumericSeparator(t,w):w}if(typeof t=="bigint"){var _=String(t)+"n";return y?addNumericSeparator(t,_):_}var S=typeof a.depth>"u"?5:a.depth;if(typeof o>"u"&&(o=0),o>=S&&S>0&&typeof t=="object")return isArray$8(t)?"[Array]":"[Object]";var E=getIndent(a,o);if(typeof l>"u")l=[];else if(indexOf(l,t)>=0)return"[Circular]";function C(v,m,b){if(m&&(l=$arrSlice.call(l),l.push(m)),b){var M={depth:a.depth};return has$3(a,"quoteStyle")&&(M.quoteStyle=a.quoteStyle),e(v,M,o+1,l)}return e(v,a,o+1,l)}if(typeof t=="function"&&!isRegExp$2(t)){var B=nameOf(t),L=arrObjKeys(t,C);return"[Function"+(B?": "+B:" (anonymous)")+"]"+(L.length>0?" { "+$join.call(L,", ")+" }":"")}if(isSymbol$3(t)){var F=hasShammedSymbols?$replace.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(t);return typeof t=="object"&&!hasShammedSymbols?markBoxed(F):F}if(isElement(t)){for(var j="<"+$toLowerCase.call(String(t.nodeName)),H=t.attributes||[],D=0;D",j}if(isArray$8(t)){if(t.length===0)return"[]";var q=arrObjKeys(t,C);return E&&!singleLineValues(q)?"["+indentedJoin(q,E)+"]":"[ "+$join.call(q,", ")+" ]"}if(isError$1(t)){var V=arrObjKeys(t,C);return!("cause"in Error.prototype)&&"cause"in t&&!isEnumerable.call(t,"cause")?"{ ["+String(t)+"] "+$join.call($concat.call("[cause]: "+C(t.cause),V),", ")+" }":V.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+$join.call(V,", ")+" }"}if(typeof t=="object"&&d){if(inspectSymbol&&typeof t[inspectSymbol]=="function"&&utilInspect)return utilInspect(t,{depth:S-o});if(d!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(isMap(t)){var Q=[];return mapForEach&&mapForEach.call(t,function(v,m){Q.push(C(m,t,!0)+" => "+C(v,t))}),collectionOf("Map",mapSize.call(t),Q,E)}if(isSet(t)){var ae=[];return setForEach&&setForEach.call(t,function(v){ae.push(C(v,t))}),collectionOf("Set",setSize.call(t),ae,E)}if(isWeakMap(t))return weakCollectionOf("WeakMap");if(isWeakSet(t))return weakCollectionOf("WeakSet");if(isWeakRef(t))return weakCollectionOf("WeakRef");if(isNumber$1(t))return markBoxed(C(Number(t)));if(isBigInt(t))return markBoxed(C(bigIntValueOf.call(t)));if(isBoolean$1(t))return markBoxed(booleanValueOf.call(t));if(isString$1(t))return markBoxed(C(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof commonjsGlobal<"u"&&t===commonjsGlobal)return"{ [object globalThis] }";if(!isDate$1(t)&&!isRegExp$2(t)){var ce=arrObjKeys(t,C),ue=gPO?gPO(t)===Object.prototype:t instanceof Object||t.constructor===Object,re=t instanceof Object?"":"null prototype",pe=!ue&&toStringTag&&Object(t)===t&&toStringTag in t?$slice.call(toStr(t),8,-1):re?"Object":"",T=ue||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",u=T+(pe||re?"["+$join.call($concat.call([],pe||[],re||[]),": ")+"] ":"");return ce.length===0?u+"{}":E?u+"{"+indentedJoin(ce,E)+"}":u+"{ "+$join.call(ce,", ")+" }"}return String(t)};function wrapQuotes(e,t,n){var o=n.quoteStyle||t,l=quotes[o];return l+e+l}function quote(e){return $replace.call(String(e),/"/g,""")}function canTrustToString(e){return!toStringTag||!(typeof e=="object"&&(toStringTag in e||typeof e[toStringTag]<"u"))}function isArray$8(e){return toStr(e)==="[object Array]"&&canTrustToString(e)}function isDate$1(e){return toStr(e)==="[object Date]"&&canTrustToString(e)}function isRegExp$2(e){return toStr(e)==="[object RegExp]"&&canTrustToString(e)}function isError$1(e){return toStr(e)==="[object Error]"&&canTrustToString(e)}function isString$1(e){return toStr(e)==="[object String]"&&canTrustToString(e)}function isNumber$1(e){return toStr(e)==="[object Number]"&&canTrustToString(e)}function isBoolean$1(e){return toStr(e)==="[object Boolean]"&&canTrustToString(e)}function isSymbol$3(e){if(hasShammedSymbols)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!symToString)return!1;try{return symToString.call(e),!0}catch{}return!1}function isBigInt(e){if(!e||typeof e!="object"||!bigIntValueOf)return!1;try{return bigIntValueOf.call(e),!0}catch{}return!1}var hasOwn=Object.prototype.hasOwnProperty||function(e){return e in this};function has$3(e,t){return hasOwn.call(e,t)}function toStr(e){return objectToString$3.call(e)}function nameOf(e){if(e.name)return e.name;var t=$match.call(functionToString.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function indexOf(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,o=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,o="... "+n+" more character"+(n>1?"s":"");return inspectString($slice.call(e,0,t.maxStringLength),t)+o}var l=quoteREs[t.quoteStyle||"single"];l.lastIndex=0;var a=$replace.call($replace.call(e,l,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(a,"single",t)}function lowbyte(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+$toUpperCase.call(t.toString(16))}function markBoxed(e){return"Object("+e+")"}function weakCollectionOf(e){return e+" { ? }"}function collectionOf(e,t,n,o){var l=o?indentedJoin(n,o):$join.call(n,", ");return e+" ("+t+") {"+l+"}"}function singleLineValues(e){for(var t=0;t=0)return!1;return!0}function getIndent(e,t){var n;if(e.indent===" ")n=" ";else if(typeof e.indent=="number"&&e.indent>0)n=$join.call(Array(e.indent+1)," ");else return null;return{base:n,prev:$join.call(Array(t+1),n)}}function indentedJoin(e,t){if(e.length===0)return"";var n=` `+t.prev+t.base;return n+$join.call(e,","+n)+` -`+t.prev}function arrObjKeys(e,t){var n=isArray$8(e),o=[];if(n){o.length=e.length;for(var l=0;l1;){var n=t.pop(),o=n.obj[n.prop];if(isArray$7(o)){for(var l=[],a=0;a=limit?d.slice(w,w+limit):d,S=[],E=0;E<_.length;++E){var C=_.charCodeAt(E);if(C===45||C===46||C===95||C===126||C>=48&&C<=57||C>=65&&C<=90||C>=97&&C<=122||a===formats$2.RFC1738&&(C===40||C===41)){S[S.length]=_.charAt(E);continue}if(C<128){S[S.length]=hexTable[C];continue}if(C<2048){S[S.length]=hexTable[192|C>>6]+hexTable[128|C&63];continue}if(C<55296||C>=57344){S[S.length]=hexTable[224|C>>12]+hexTable[128|C>>6&63]+hexTable[128|C&63];continue}E+=1,C=65536+((C&1023)<<10|_.charCodeAt(E)&1023),S[S.length]=hexTable[240|C>>18]+hexTable[128|C>>12&63]+hexTable[128|C>>6&63]+hexTable[128|C&63]}y+=S.join("")}return y},compact=function(t){for(var n=[{obj:{o:t},prop:"o"}],o=[],l=0;lo?markOverflow(arrayToObject(d,{plainObjects:l}),d.length-1):d},maybeMap=function(t,n){if(isArray$7(t)){for(var o=[],l=0;l"u"&&(Q=0)}if(typeof S=="function"?q=S(n,q):q instanceof Date?q=B(q):o==="comma"&&isArray$6(q)&&(q=utils$p.maybeMap(q,function(c){return c instanceof Date?B(c):c})),q===null){if(d)return _&&!j?_(n,defaults$1.encoder,H,"key",L):n;q=""}if(isNonNullishPrimitive(q)||utils$p.isBuffer(q)){if(_){var ue=j?n:_(n,defaults$1.encoder,H,"key",L);return[F(ue)+"="+F(_(q,defaults$1.encoder,H,"value",L))]}return[F(n)+"="+F(String(q))]}var re=[];if(typeof q>"u")return re;var pe;if(o==="comma"&&isArray$6(q))j&&_&&(q=utils$p.maybeMap(q,_)),pe=[{value:q.length>0?q.join(",")||null:void 0}];else if(isArray$6(S))pe=S;else{var T=Object.keys(q);pe=E?T.sort(E):T}var u=w?String(n).replace(/\./g,"%2E"):String(n),v=l&&isArray$6(q)&&q.length===1?u+"[]":u;if(a&&isArray$6(q)&&q.length===0)return v+"[]";for(var m=0;m"u"?t.encodeDotInKeys===!0?!0:defaults$1.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:y,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:defaults$1.allowEmptyArrays,arrayFormat:d,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:defaults$1.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?defaults$1.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:defaults$1.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:defaults$1.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:defaults$1.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:a,format:o,formatter:l,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:defaults$1.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:defaults$1.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(e,t){var n=e,o=normalizeStringifyOptions(t),l,a;typeof o.filter=="function"?(a=o.filter,n=a("",n)):isArray$6(o.filter)&&(a=o.filter,l=a);var d=[];if(typeof n!="object"||n===null)return"";var y=arrayPrefixGenerators[o.arrayFormat],w=y==="comma"&&o.commaRoundTrip;l||(l=Object.keys(n)),o.sort&&l.sort(o.sort);for(var _=getSideChannel(),S=0;S0?L+B:""},utils$o=utils$q,has=Object.prototype.hasOwnProperty,isArray$5=Array.isArray,defaults={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:utils$o.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},interpretNumericEntities=function(e){return e.replace(/&#(\d+);/g,function(t,n){return String.fromCharCode(parseInt(n,10))})},parseArrayValue=function(e,t,n){if(e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1)return e.split(",");if(t.throwOnLimitExceeded&&n>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return e},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function(t,n){var o={__proto__:null},l=n.ignoreQueryPrefix?t.replace(/^\?/,""):t;l=l.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=n.parameterLimit===1/0?void 0:n.parameterLimit,d=l.split(n.delimiter,n.throwOnLimitExceeded?a+1:a);if(n.throwOnLimitExceeded&&d.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var y=-1,w,_=n.charset;if(n.charsetSentinel)for(w=0;w-1&&(L=isArray$5(L)?[L]:L),B!==null){var F=has.call(o,B);F&&n.duplicates==="combine"?o[B]=utils$o.combine(o[B],L,n.arrayLimit,n.plainObjects):(!F||n.duplicates==="last")&&(o[B]=L)}}return o},parseObject=function(e,t,n,o){var l=0;if(e.length>0&&e[e.length-1]==="[]"){var a=e.slice(0,-1).join("");l=Array.isArray(t)&&t[a]?t[a].length:0}for(var d=o?t:parseArrayValue(t,n,l),y=e.length-1;y>=0;--y){var w,_=e[y];if(_==="[]"&&n.parseArrays)utils$o.isOverflow(d)?w=d:w=n.allowEmptyArrays&&(d===""||n.strictNullHandling&&d===null)?[]:utils$o.combine([],d,n.arrayLimit,n.plainObjects);else{w=n.plainObjects?{__proto__:null}:{};var S=_.charAt(0)==="["&&_.charAt(_.length-1)==="]"?_.slice(1,-1):_,E=n.decodeDotInKeys?S.replace(/%2E/g,"."):S,C=parseInt(E,10);!n.parseArrays&&E===""?w={0:d}:!isNaN(C)&&_!==E&&String(C)===E&&C>=0&&n.parseArrays&&C<=n.arrayLimit?(w=[],w[C]=d):E!=="__proto__"&&(w[E]=d)}d=w}return d},splitKeyIntoSegments=function(t,n){var o=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t;if(n.depth<=0)return!n.plainObjects&&has.call(Object.prototype,o)&&!n.allowPrototypes?void 0:[o];var l=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,d=l.exec(o),y=d?o.slice(0,d.index):o,w=[];if(y){if(!n.plainObjects&&has.call(Object.prototype,y)&&!n.allowPrototypes)return;w.push(y)}for(var _=0;(d=a.exec(o))!==null&&_"u"?defaults.charset:t.charset,o=typeof t.duplicates>"u"?defaults.duplicates:t.duplicates;if(o!=="combine"&&o!=="first"&&o!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var l=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:defaults.allowDots:!!t.allowDots;return{allowDots:l,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:defaults.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:defaults.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:defaults.arrayLimit,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:defaults.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:defaults.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:defaults.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:defaults.decoder,delimiter:typeof t.delimiter=="string"||utils$o.isRegExp(t.delimiter)?t.delimiter:defaults.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:defaults.depth,duplicates:o,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:defaults.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:defaults.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:defaults.strictDepth,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:defaults.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}},parse$2=function(e,t){var n=normalizeParseOptions(t);if(e===""||e===null||typeof e>"u")return n.plainObjects?{__proto__:null}:{};for(var o=typeof e=="string"?parseValues(e,n):e,l=n.plainObjects?{__proto__:null}:{},a=Object.keys(o),d=0;d",'"',"`"," ","\r",` +`+t.prev}function arrObjKeys(e,t){var n=isArray$8(e),o=[];if(n){o.length=e.length;for(var l=0;l1;){var n=t.pop(),o=n.obj[n.prop];if(isArray$7(o)){for(var l=[],a=0;a=limit?d.slice(w,w+limit):d,S=[],E=0;E<_.length;++E){var C=_.charCodeAt(E);if(C===45||C===46||C===95||C===126||C>=48&&C<=57||C>=65&&C<=90||C>=97&&C<=122||a===formats$2.RFC1738&&(C===40||C===41)){S[S.length]=_.charAt(E);continue}if(C<128){S[S.length]=hexTable[C];continue}if(C<2048){S[S.length]=hexTable[192|C>>6]+hexTable[128|C&63];continue}if(C<55296||C>=57344){S[S.length]=hexTable[224|C>>12]+hexTable[128|C>>6&63]+hexTable[128|C&63];continue}E+=1,C=65536+((C&1023)<<10|_.charCodeAt(E)&1023),S[S.length]=hexTable[240|C>>18]+hexTable[128|C>>12&63]+hexTable[128|C>>6&63]+hexTable[128|C&63]}y+=S.join("")}return y},compact=function(t){for(var n=[{obj:{o:t},prop:"o"}],o=[],l=0;l"u"&&(Q=0)}if(typeof S=="function"?q=S(n,q):q instanceof Date?q=B(q):o==="comma"&&isArray$6(q)&&(q=utils$p.maybeMap(q,function(c){return c instanceof Date?B(c):c})),q===null){if(d)return _&&!j?_(n,defaults$1.encoder,H,"key",L):n;q=""}if(isNonNullishPrimitive(q)||utils$p.isBuffer(q)){if(_){var ue=j?n:_(n,defaults$1.encoder,H,"key",L);return[F(ue)+"="+F(_(q,defaults$1.encoder,H,"value",L))]}return[F(n)+"="+F(String(q))]}var re=[];if(typeof q>"u")return re;var pe;if(o==="comma"&&isArray$6(q))j&&_&&(q=utils$p.maybeMap(q,_)),pe=[{value:q.length>0?q.join(",")||null:void 0}];else if(isArray$6(S))pe=S;else{var T=Object.keys(q);pe=E?T.sort(E):T}var u=w?String(n).replace(/\./g,"%2E"):String(n),v=l&&isArray$6(q)&&q.length===1?u+"[]":u;if(a&&isArray$6(q)&&q.length===0)return v+"[]";for(var m=0;m"u"?t.encodeDotInKeys===!0?!0:defaults$1.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:y,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:defaults$1.allowEmptyArrays,arrayFormat:d,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:defaults$1.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?defaults$1.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:defaults$1.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:defaults$1.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:defaults$1.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:a,format:o,formatter:l,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:defaults$1.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:defaults$1.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(e,t){var n=e,o=normalizeStringifyOptions(t),l,a;typeof o.filter=="function"?(a=o.filter,n=a("",n)):isArray$6(o.filter)&&(a=o.filter,l=a);var d=[];if(typeof n!="object"||n===null)return"";var y=arrayPrefixGenerators[o.arrayFormat],w=y==="comma"&&o.commaRoundTrip;l||(l=Object.keys(n)),o.sort&&l.sort(o.sort);for(var _=getSideChannel(),S=0;S0?L+B:""},utils$o=utils$q,has=Object.prototype.hasOwnProperty,isArray$5=Array.isArray,defaults={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:utils$o.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},interpretNumericEntities=function(e){return e.replace(/&#(\d+);/g,function(t,n){return String.fromCharCode(parseInt(n,10))})},parseArrayValue=function(e,t,n){if(e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1)return e.split(",");if(t.throwOnLimitExceeded&&n>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return e},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function(t,n){var o={__proto__:null},l=n.ignoreQueryPrefix?t.replace(/^\?/,""):t;l=l.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=n.parameterLimit===1/0?void 0:n.parameterLimit,d=l.split(n.delimiter,n.throwOnLimitExceeded?a+1:a);if(n.throwOnLimitExceeded&&d.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var y=-1,w,_=n.charset;if(n.charsetSentinel)for(w=0;w-1&&(L=isArray$5(L)?[L]:L);var F=has.call(o,B);F&&n.duplicates==="combine"?o[B]=utils$o.combine(o[B],L):(!F||n.duplicates==="last")&&(o[B]=L)}return o},parseObject=function(e,t,n,o){var l=0;if(e.length>0&&e[e.length-1]==="[]"){var a=e.slice(0,-1).join("");l=Array.isArray(t)&&t[a]?t[a].length:0}for(var d=o?t:parseArrayValue(t,n,l),y=e.length-1;y>=0;--y){var w,_=e[y];if(_==="[]"&&n.parseArrays)w=n.allowEmptyArrays&&(d===""||n.strictNullHandling&&d===null)?[]:utils$o.combine([],d);else{w=n.plainObjects?{__proto__:null}:{};var S=_.charAt(0)==="["&&_.charAt(_.length-1)==="]"?_.slice(1,-1):_,E=n.decodeDotInKeys?S.replace(/%2E/g,"."):S,C=parseInt(E,10);!n.parseArrays&&E===""?w={0:d}:!isNaN(C)&&_!==E&&String(C)===E&&C>=0&&n.parseArrays&&C<=n.arrayLimit?(w=[],w[C]=d):E!=="__proto__"&&(w[E]=d)}d=w}return d},parseKeys$3=function(t,n,o,l){if(t){var a=o.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,d=/(\[[^[\]]*])/,y=/(\[[^[\]]*])/g,w=o.depth>0&&d.exec(a),_=w?a.slice(0,w.index):a,S=[];if(_){if(!o.plainObjects&&has.call(Object.prototype,_)&&!o.allowPrototypes)return;S.push(_)}for(var E=0;o.depth>0&&(w=y.exec(a))!==null&&E"u"?defaults.charset:t.charset,o=typeof t.duplicates>"u"?defaults.duplicates:t.duplicates;if(o!=="combine"&&o!=="first"&&o!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var l=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:defaults.allowDots:!!t.allowDots;return{allowDots:l,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:defaults.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:defaults.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:defaults.arrayLimit,charset:n,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:defaults.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:defaults.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:defaults.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:defaults.decoder,delimiter:typeof t.delimiter=="string"||utils$o.isRegExp(t.delimiter)?t.delimiter:defaults.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:defaults.depth,duplicates:o,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:defaults.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:defaults.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:defaults.strictDepth,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:defaults.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}},parse$2=function(e,t){var n=normalizeParseOptions(t);if(e===""||e===null||typeof e>"u")return n.plainObjects?{__proto__:null}:{};for(var o=typeof e=="string"?parseValues(e,n):e,l=n.plainObjects?{__proto__:null}:{},a=Object.keys(o),d=0;d",'"',"`"," ","\r",` `," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require$$1$4;function urlParse(e,t,n){if(e&&typeof e=="object"&&e instanceof Url)return e;var o=new Url;return o.parse(e,t,n),o}Url.prototype.parse=function(e,t,n){if(typeof e!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),l=o!==-1&&o127?Q+="x":Q+=V[ae];if(!Q.match(hostnamePartPattern)){var ue=D.slice(0,B),re=D.slice(B+1),pe=V.match(hostnamePartStart);pe&&(ue.push(pe[1]),re.unshift(pe[2])),re.length&&(y="/"+re.join(".")+y),this.hostname=ue.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),H||(this.hostname=punycode.toASCII(this.hostname));var T=this.port?":"+this.port:"",u=this.hostname||"";this.host=u+T,this.href+=this.host,H&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),y[0]!=="/"&&(y="/"+y))}if(!unsafeProtocol[S])for(var B=0,q=autoEscape.length;B0?n.host.split("@"):!1;Q&&(n.auth=Q.shift(),n.hostname=Q.shift(),n.host=n.hostname)}return n.search=e.search,n.query=e.query,(n.pathname!==null||n.search!==null)&&(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!D.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var ae=D.slice(-1)[0],ce=(n.host||e.host||D.length>1)&&(ae==="."||ae==="..")||ae==="",ue=0,re=D.length;re>=0;re--)ae=D[re],ae==="."?D.splice(re,1):ae===".."?(D.splice(re,1),ue++):ue&&(D.splice(re,1),ue--);if(!j&&!H)for(;ue--;ue)D.unshift("..");j&&D[0]!==""&&(!D[0]||D[0].charAt(0)!=="/")&&D.unshift(""),ce&&D.join("/").substr(-1)!=="/"&&D.push("");var pe=D[0]===""||D[0]&&D[0].charAt(0)==="/";if(V){n.hostname=pe?"":D.length?D.shift():"",n.host=n.hostname;var Q=n.host&&n.host.indexOf("@")>0?n.host.split("@"):!1;Q&&(n.auth=Q.shift(),n.hostname=Q.shift(),n.host=n.hostname)}return j=j||n.host&&D.length,j&&!pe&&D.unshift(""),D.length>0?n.pathname=D.join("/"):(n.pathname=null,n.path=null),(n.pathname!==null||n.search!==null)&&(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n};Url.prototype.parseHost=function(){var e=this.host,t=portPattern.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var parse=urlParse,resolve$1=urlResolve,resolveObject=urlResolveObject,format=urlFormat,Url_1=Url;function normalizeArray(e,t){for(var n=0,o=e.length-1;o>=0;o--){var l=e[o];l==="."?e.splice(o,1):l===".."?(e.splice(o,1),n++):n&&(e.splice(o,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function resolve(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var o=n>=0?arguments[n]:"/";if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)continue;e=o+"/"+e,t=o.charAt(0)==="/"}return e=normalizeArray(filter(e.split("/"),function(l){return!!l}),!t).join("/"),(t?"/":"")+e||"."}function filter(e,t){if(e.filter)return e.filter(t);for(var n=[],o=0;o"u")throw new TypeError('The "domain" argument must be specified');return new URL$1("http://"+t).hostname},domainToUnicode=function(t){if(typeof t>"u")throw new TypeError('The "domain" argument must be specified');return new URL$1("http://"+t).hostname},pathToFileURL=function(t){var n=new URL$1("file://"),o=resolve(t),l=t.charCodeAt(t.length-1);return l===CHAR_FORWARD_SLASH&&o[o.length-1]!=="/"&&(o+="/"),n.pathname=encodePathChars(o),n},fileURLToPath=function(t){if(!isURLInstance(t)&&typeof t!="string")throw new TypeError('The "path" argument must be of type string or an instance of URL. Received type '+typeof t+" ("+t+")");var n=new URL$1(t);if(n.protocol!=="file:")throw new TypeError("The URL must be of scheme file");return getPathFromURLPosix(n)},formatImportWithOverloads=function(t,n){var o,l,a,d;if(n===void 0&&(n={}),!(t instanceof URL$1))return formatImport(t);if(typeof n!="object"||n===null)throw new TypeError('The "options" argument must be of type object.');var y=(o=n.auth)!=null?o:!0,w=(l=n.fragment)!=null?l:!0,_=(a=n.search)!=null?a:!0;(d=n.unicode)!=null;var S=new URL$1(t.toString());return y||(S.username="",S.password=""),w||(S.hash=""),_||(S.search=""),S.toString()},api$1={format:formatImportWithOverloads,parse:parseImport,resolve:resolveImport,resolveObject,Url:UrlImport,URL:URL$1,URLSearchParams:URLSearchParams$1,domainToASCII,domainToUnicode,pathToFileURL,fileURLToPath};const url$1=Object.freeze(Object.defineProperty({__proto__:null,URL:URL$1,URLSearchParams:URLSearchParams$1,Url:UrlImport,default:api$1,domainToASCII,domainToUnicode,fileURLToPath,format:formatImportWithOverloads,parse:parseImport,pathToFileURL,resolve:resolveImport,resolveObject},Symbol.toStringTag,{value:"Module"})),require$$2$1=getAugmentedNamespace(url$1);var empty=null;const empty$1=Object.freeze(Object.defineProperty({__proto__:null,default:empty},Symbol.toStringTag,{value:"Module"})),require$$1$3=getAugmentedNamespace(empty$1);var tcp,hasRequiredTcp;function requireTcp(){if(hasRequiredTcp)return tcp;hasRequiredTcp=1;const e=require$$1$3,t=browserExports$1("mqttjs:tcp");function n(o,l){l.port=l.port||1883,l.hostname=l.hostname||l.host||"localhost";const a=l.port,d=l.hostname;return t("port %d and host %s",a,d),e.createConnection(a,d)}return tcp=n,tcp}var tls_1,hasRequiredTls;function requireTls(){if(hasRequiredTls)return tls_1;hasRequiredTls=1;const e=require$$1$3,t=require$$1$3,n=browserExports$1("mqttjs:tls");function o(l,a){a.port=a.port||8883,a.host=a.hostname||a.host||"localhost",t.isIP(a.host)===0&&(a.servername=a.host),a.rejectUnauthorized=a.rejectUnauthorized!==!1,delete a.path,n("port %d host %s rejectUnauthorized %b",a.port,a.host,a.rejectUnauthorized);const d=e.connect(a);d.on("secureConnect",function(){a.rejectUnauthorized&&!d.authorized?d.emit("error",new Error("TLS not authorized")):d.removeListener("error",y)});function y(w){a.rejectUnauthorized&&l.emit("error",w),d.end()}return d.on("error",y),d}return tls_1=o,tls_1}var readableBrowser$1={exports:{}},streamBrowser$2=eventsExports.EventEmitter,buffer_list$1,hasRequiredBuffer_list$1;function requireBuffer_list$1(){if(hasRequiredBuffer_list$1)return buffer_list$1;hasRequiredBuffer_list$1=1;function e(L,F){var j=Object.keys(L);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(L);F&&(H=H.filter(function(D){return Object.getOwnPropertyDescriptor(L,D).enumerable})),j.push.apply(j,H)}return j}function t(L){for(var F=1;F0?this.tail.next=H:this.head=H,this.tail=H,++this.length}},{key:"unshift",value:function(j){var H={data:j,next:this.head};this.length===0&&(this.tail=H),this.head=H,++this.length}},{key:"shift",value:function(){if(this.length!==0){var j=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,j}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(j){if(this.length===0)return"";for(var H=this.head,D=""+H.data;H=H.next;)D+=j+H.data;return D}},{key:"concat",value:function(j){if(this.length===0)return _.alloc(0);for(var H=_.allocUnsafe(j>>>0),D=this.head,q=0;D;)B(D.data,H,q),q+=D.data.length,D=D.next;return H}},{key:"consume",value:function(j,H){var D;return jV.length?V.length:j;if(Q===V.length?q+=V:q+=V.slice(0,j),j-=Q,j===0){Q===V.length?(++D,H.next?this.head=H.next:this.head=this.tail=null):(this.head=H,H.data=V.slice(Q));break}++D}return this.length-=D,q}},{key:"_getBuffer",value:function(j){var H=_.allocUnsafe(j),D=this.head,q=1;for(D.data.copy(H),j-=D.data.length;D=D.next;){var V=D.data,Q=j>V.length?V.length:j;if(V.copy(H,H.length-j,0,Q),j-=Q,j===0){Q===V.length?(++q,D.next?this.head=D.next:this.head=this.tail=null):(this.head=D,D.data=V.slice(Q));break}++q}return this.length-=q,H}},{key:C,value:function(j,H){return E(this,t(t({},H),{},{depth:0,customInspect:!1}))}}]),L}(),buffer_list$1}function destroy$2(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return o||l?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,api$2.nextTick(emitErrorNT$1,this,e)):api$2.nextTick(emitErrorNT$1,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?n._writableState?n._writableState.errorEmitted?api$2.nextTick(emitCloseNT,n):(n._writableState.errorEmitted=!0,api$2.nextTick(emitErrorAndCloseNT,n,a)):api$2.nextTick(emitErrorAndCloseNT,n,a):t?(api$2.nextTick(emitCloseNT,n),t(a)):api$2.nextTick(emitCloseNT,n)}),this)}function emitErrorAndCloseNT(e,t){emitErrorNT$1(e,t),emitCloseNT(e)}function emitCloseNT(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function undestroy$1(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT$1(e,t){e.emit("error",t)}function errorOrDestroy(e,t){var n=e._readableState,o=e._writableState;n&&n.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}var destroy_1$2={destroy:destroy$2,undestroy:undestroy$1,errorOrDestroy},errorsBrowser$1={};function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var codes={};function createErrorType(e,t,n){n||(n=Error);function o(a,d,y){return typeof t=="string"?t:t(a,d,y)}var l=function(a){_inheritsLoose(d,a);function d(y,w,_){return a.call(this,o(y,w,_))||this}return d}(n);l.prototype.name=n.name,l.prototype.code=e,codes[e]=l}function oneOf(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(o){return String(o)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:n===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function startsWith(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function endsWith(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function includes(e,t,n){return typeof n!="number"&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}createErrorType("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(e,t,n){var o;typeof t=="string"&&startsWith(t,"not ")?(o="must not be",t=t.replace(/^not /,"")):o="must be";var l;if(endsWith(e," argument"))l="The ".concat(e," ").concat(o," ").concat(oneOf(t,"type"));else{var a=includes(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(a," ").concat(o," ").concat(oneOf(t,"type"))}return l+=". Received type ".concat(typeof n),l},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");errorsBrowser$1.codes=codes;var ERR_INVALID_OPT_VALUE=errorsBrowser$1.codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,n){return e.highWaterMark!=null?e.highWaterMark:t?e[n]:null}function getHighWaterMark(e,t,n,o){var l=highWaterMarkFrom(t,o,n);if(l!=null){if(!(isFinite(l)&&Math.floor(l)===l)||l<0){var a=o?n:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(a,l)}return Math.floor(l)}return e.objectMode?16:16*1024}var state$1={getHighWaterMark},_stream_writable$2,hasRequired_stream_writable$2;function require_stream_writable$2(){if(hasRequired_stream_writable$2)return _stream_writable$2;hasRequired_stream_writable$2=1,_stream_writable$2=ue;function e(U){var P=this;this.next=null,this.entry=null,this.finish=function(){le(P,U)}}var t;ue.WritableState=ae;var n={deprecate:browser$d},o=streamBrowser$2,l=buffer$2.Buffer,a=(typeof commonjsGlobal<"u"?commonjsGlobal:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function d(U){return l.from(U)}function y(U){return l.isBuffer(U)||U instanceof a}var w=destroy_1$2,_=state$1,S=_.getHighWaterMark,E=errorsBrowser$1.codes,C=E.ERR_INVALID_ARG_TYPE,B=E.ERR_METHOD_NOT_IMPLEMENTED,L=E.ERR_MULTIPLE_CALLBACK,F=E.ERR_STREAM_CANNOT_PIPE,j=E.ERR_STREAM_DESTROYED,H=E.ERR_STREAM_NULL_VALUES,D=E.ERR_STREAM_WRITE_AFTER_END,q=E.ERR_UNKNOWN_ENCODING,V=w.errorOrDestroy;inherits_browserExports(ue,o);function Q(){}function ae(U,P,Z){t=t||require_stream_duplex$2(),U=U||{},typeof Z!="boolean"&&(Z=P instanceof t),this.objectMode=!!U.objectMode,Z&&(this.objectMode=this.objectMode||!!U.writableObjectMode),this.highWaterMark=S(this,U,"writableHighWaterMark",Z),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ie=U.decodeStrings===!1;this.decodeStrings=!ie,this.defaultEncoding=U.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(se){M(P,se)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=U.emitClose!==!1,this.autoDestroy=!!U.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}ae.prototype.getBuffer=function(){for(var P=this.bufferedRequest,Z=[];P;)Z.push(P),P=P.next;return Z},function(){try{Object.defineProperty(ae.prototype,"buffer",{get:n.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var ce;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ce=Function.prototype[Symbol.hasInstance],Object.defineProperty(ue,Symbol.hasInstance,{value:function(P){return ce.call(this,P)?!0:this!==ue?!1:P&&P._writableState instanceof ae}})):ce=function(P){return P instanceof this};function ue(U){t=t||require_stream_duplex$2();var P=this instanceof t;if(!P&&!ce.call(ue,this))return new ue(U);this._writableState=new ae(U,this,P),this.writable=!0,U&&(typeof U.write=="function"&&(this._write=U.write),typeof U.writev=="function"&&(this._writev=U.writev),typeof U.destroy=="function"&&(this._destroy=U.destroy),typeof U.final=="function"&&(this._final=U.final)),o.call(this)}ue.prototype.pipe=function(){V(this,new F)};function re(U,P){var Z=new D;V(U,Z),api$2.nextTick(P,Z)}function pe(U,P,Z,ie){var se;return Z===null?se=new H:typeof Z!="string"&&!P.objectMode&&(se=new C("chunk",["string","Buffer"],Z)),se?(V(U,se),api$2.nextTick(ie,se),!1):!0}ue.prototype.write=function(U,P,Z){var ie=this._writableState,se=!1,k=!ie.objectMode&&y(U);return k&&!l.isBuffer(U)&&(U=d(U)),typeof P=="function"&&(Z=P,P=null),k?P="buffer":P||(P=ie.defaultEncoding),typeof Z!="function"&&(Z=Q),ie.ending?re(this,Z):(k||pe(this,ie,U,Z))&&(ie.pendingcb++,se=u(this,ie,k,U,P,Z)),se},ue.prototype.cork=function(){this._writableState.corked++},ue.prototype.uncork=function(){var U=this._writableState;U.corked&&(U.corked--,!U.writing&&!U.corked&&!U.bufferProcessing&&U.bufferedRequest&&$(this,U))},ue.prototype.setDefaultEncoding=function(P){if(typeof P=="string"&&(P=P.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new q(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(ue.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T(U,P,Z){return!U.objectMode&&U.decodeStrings!==!1&&typeof P=="string"&&(P=l.from(P,Z)),P}Object.defineProperty(ue.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function u(U,P,Z,ie,se,k){if(!Z){var I=T(P,ie,se);ie!==I&&(Z=!0,se="buffer",ie=I)}var te=P.objectMode?1:ie.length;P.length+=te;var ee=P.length0)if(typeof I!="string"&&!J.objectMode&&Object.getPrototypeOf(I)!==o.prototype&&(I=a(I)),ee)J.endEmitted?Q(k,new H):T(k,J,I,!0);else if(J.ended)Q(k,new F);else{if(J.destroyed)return!1;J.reading=!1,J.decoder&&!te?(I=J.decoder.write(I),J.objectMode||I.length!==0?T(k,J,I,!1):$(k,J)):T(k,J,I,!1)}else ee||(J.reading=!1,$(k,J))}return!J.ended&&(J.length=v?k=v:(k--,k|=k>>>1,k|=k>>>2,k|=k>>>4,k|=k>>>8,k|=k>>>16,k++),k}function b(k,I){return k<=0||I.length===0&&I.ended?0:I.objectMode?1:k!==k?I.flowing&&I.length?I.buffer.head.data.length:I.length:(k>I.highWaterMark&&(I.highWaterMark=m(k)),k<=I.length?k:I.ended?I.length:(I.needReadable=!0,0))}re.prototype.read=function(k){w("read",k),k=parseInt(k,10);var I=this._readableState,te=k;if(k!==0&&(I.emittedReadable=!1),k===0&&I.needReadable&&((I.highWaterMark!==0?I.length>=I.highWaterMark:I.length>0)||I.ended))return w("read: emitReadable",I.length,I.ended),I.length===0&&I.ended?Z(this):A(this),null;if(k=b(k,I),k===0&&I.ended)return I.length===0&&Z(this),null;var ee=I.needReadable;w("need readable",ee),(I.length===0||I.length-k0?fe=P(k,I):fe=null,fe===null?(I.needReadable=I.length<=I.highWaterMark,k=0):(I.length-=k,I.awaitDrain=0),I.length===0&&(I.ended||(I.needReadable=!0),te!==k&&I.ended&&Z(this)),fe!==null&&this.emit("data",fe),fe};function M(k,I){if(w("onEofChunk"),!I.ended){if(I.decoder){var te=I.decoder.end();te&&te.length&&(I.buffer.push(te),I.length+=I.objectMode?1:te.length)}I.ended=!0,I.sync?A(k):(I.needReadable=!1,I.emittedReadable||(I.emittedReadable=!0,O(k)))}}function A(k){var I=k._readableState;w("emitReadable",I.needReadable,I.emittedReadable),I.needReadable=!1,I.emittedReadable||(w("emitReadable",I.flowing),I.emittedReadable=!0,api$2.nextTick(O,k))}function O(k){var I=k._readableState;w("emitReadable_",I.destroyed,I.length,I.ended),!I.destroyed&&(I.length||I.ended)&&(k.emit("readable"),I.emittedReadable=!1),I.needReadable=!I.flowing&&!I.ended&&I.length<=I.highWaterMark,U(k)}function $(k,I){I.readingMore||(I.readingMore=!0,api$2.nextTick(c,k,I))}function c(k,I){for(;!I.reading&&!I.ended&&(I.length1&&se(ee.pipes,k)!==-1)&&!me&&(w("false write response, pause",ee.awaitDrain),ee.awaitDrain++),te.pause())}function Re(Se){w("onerror",Se),qe(),k.removeListener("error",Re),t(k,"error")===0&&Q(k,Se)}ce(k,"error",Re);function _e(){k.removeListener("finish",we),qe()}k.once("close",_e);function we(){w("onfinish"),k.removeListener("close",_e),qe()}k.once("finish",we);function qe(){w("unpipe"),te.unpipe(k)}return k.emit("pipe",te),ee.flowing||(w("pipe resume"),te.resume()),k};function x(k){return function(){var te=k._readableState;w("pipeOnDrain",te.awaitDrain),te.awaitDrain&&te.awaitDrain--,te.awaitDrain===0&&t(k,"data")&&(te.flowing=!0,U(k))}}re.prototype.unpipe=function(k){var I=this._readableState,te={hasUnpiped:!1};if(I.pipesCount===0)return this;if(I.pipesCount===1)return k&&k!==I.pipes?this:(k||(k=I.pipes),I.pipes=null,I.pipesCount=0,I.flowing=!1,k&&k.emit("unpipe",this,te),this);if(!k){var ee=I.pipes,fe=I.pipesCount;I.pipes=null,I.pipesCount=0,I.flowing=!1;for(var J=0;J0,ee.flowing!==!1&&this.resume()):k==="readable"&&!ee.endEmitted&&!ee.readableListening&&(ee.readableListening=ee.needReadable=!0,ee.flowing=!1,ee.emittedReadable=!1,w("on readable",ee.length,ee.reading),ee.length?A(this):ee.reading||api$2.nextTick(z,this)),te},re.prototype.addListener=re.prototype.on,re.prototype.removeListener=function(k,I){var te=n.prototype.removeListener.call(this,k,I);return k==="readable"&&api$2.nextTick(N,this),te},re.prototype.removeAllListeners=function(k){var I=n.prototype.removeAllListeners.apply(this,arguments);return(k==="readable"||k===void 0)&&api$2.nextTick(N,this),I};function N(k){var I=k._readableState;I.readableListening=k.listenerCount("readable")>0,I.resumeScheduled&&!I.paused?I.flowing=!0:k.listenerCount("data")>0&&k.resume()}function z(k){w("readable nexttick read 0"),k.read(0)}re.prototype.resume=function(){var k=this._readableState;return k.flowing||(w("resume"),k.flowing=!k.readableListening,oe(this,k)),k.paused=!1,this};function oe(k,I){I.resumeScheduled||(I.resumeScheduled=!0,api$2.nextTick(le,k,I))}function le(k,I){w("resume",I.reading),I.reading||k.read(0),I.resumeScheduled=!1,k.emit("resume"),U(k),I.flowing&&!I.reading&&k.read(0)}re.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function U(k){var I=k._readableState;for(w("flow",I.flowing);I.flowing&&k.read()!==null;);}re.prototype.wrap=function(k){var I=this,te=this._readableState,ee=!1;k.on("end",function(){if(w("wrapped end"),te.decoder&&!te.ended){var Y=te.decoder.end();Y&&Y.length&&I.push(Y)}I.push(null)}),k.on("data",function(Y){if(w("wrapped data"),te.decoder&&(Y=te.decoder.write(Y)),!(te.objectMode&&Y==null)&&!(!te.objectMode&&(!Y||!Y.length))){var X=I.push(Y);X||(ee=!0,k.pause())}});for(var fe in k)this[fe]===void 0&&typeof k[fe]=="function"&&(this[fe]=function(X){return function(){return k[X].apply(k,arguments)}}(fe));for(var J=0;J=I.length?(I.decoder?te=I.buffer.join(""):I.buffer.length===1?te=I.buffer.first():te=I.buffer.concat(I.length),I.buffer.clear()):te=I.buffer.consume(k,I.decoder),te}function Z(k){var I=k._readableState;w("endReadable",I.endEmitted),I.endEmitted||(I.ended=!0,api$2.nextTick(ie,I,k))}function ie(k,I){if(w("endReadableNT",k.endEmitted,k.length),!k.endEmitted&&k.length===0&&(k.endEmitted=!0,I.readable=!1,I.emit("end"),k.autoDestroy)){var te=I._writableState;(!te||te.autoDestroy&&te.finished)&&I.destroy()}}typeof Symbol=="function"&&(re.from=function(k,I){return V===void 0&&(V=requireFromBrowser$1()),V(re,k,I)});function se(k,I){for(var te=0,ee=k.length;te0;return destroyer$1(d,w,_,function(S){l||(l=S),S&&a.forEach(call),!w&&(a.forEach(call),o(l))})});return t.reduce(pipe)}var pipeline_1$1=pipeline;(function(e,t){t=e.exports=require_stream_readable$2(),t.Stream=t,t.Readable=t,t.Writable=require_stream_writable$2(),t.Duplex=require_stream_duplex$2(),t.Transform=_stream_transform$2,t.PassThrough=_stream_passthrough$2,t.finished=endOfStream$2,t.pipeline=pipeline_1$1})(readableBrowser$1,readableBrowser$1.exports);var readableBrowserExports$1=readableBrowser$1.exports,once$2={exports:{}},wrappy_1=wrappy$1;function wrappy$1(e,t){if(e&&t)return wrappy$1(e)(t);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(o){n[o]=e[o]}),n;function n(){for(var o=new Array(arguments.length),l=0;l0&&e.buffer[t])return e.buffer[t].length}return e.length}var stream=readableBrowserExports$1,eos=endOfStream$1,inherits$t=inherits_browserExports,shift$1=streamShift,SIGNAL_FLUSH=buffer$2.Buffer.from&&buffer$2.Buffer.from!==Uint8Array.from?buffer$2.Buffer.from([0]):new buffer$2.Buffer([0]),onuncork=function(e,t){e._corked?e.once("uncork",t):t()},autoDestroy=function(e,t){e._autoDestroy&&e.destroy(t)},destroyer=function(e,t){return function(n){n?autoDestroy(e,n.message==="premature close"?null:n):t&&!e._ended&&e.end()}},end=function(e,t){if(!e||e._writableState&&e._writableState.finished)return t();if(e._writableState)return e.end(t);e.end(),t()},noop$1=function(){},toStreams2=function(e){return new stream.Readable({objectMode:!0,highWaterMark:16}).wrap(e)},Duplexify=function(e,t,n){if(!(this instanceof Duplexify))return new Duplexify(e,t,n);stream.Duplex.call(this,n),this._writable=null,this._readable=null,this._readable2=null,this._autoDestroy=!n||n.autoDestroy!==!1,this._forwardDestroy=!n||n.destroy!==!1,this._forwardEnd=!n||n.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this.destroyed=!1,e&&this.setWritable(e),t&&this.setReadable(t)};inherits$t(Duplexify,stream.Duplex);Duplexify.obj=function(e,t,n){return n||(n={}),n.objectMode=!0,n.highWaterMark=16,new Duplexify(e,t,n)};Duplexify.prototype.cork=function(){++this._corked===1&&this.emit("cork")};Duplexify.prototype.uncork=function(){this._corked&&--this._corked===0&&this.emit("uncork")};Duplexify.prototype.setWritable=function(e){if(this._unwrite&&this._unwrite(),this.destroyed){e&&e.destroy&&e.destroy();return}if(e===null||e===!1){this.end();return}var t=this,n=eos(e,{writable:!0,readable:!1},destroyer(this,this._forwardEnd)),o=function(){var a=t._ondrain;t._ondrain=null,a&&a()},l=function(){t._writable.removeListener("drain",o),n()};this._unwrite&&api$2.nextTick(o),this._writable=e,this._writable.on("drain",o),this._unwrite=l,this.uncork()};Duplexify.prototype.setReadable=function(e){if(this._unread&&this._unread(),this.destroyed){e&&e.destroy&&e.destroy();return}if(e===null||e===!1){this.push(null),this.resume();return}var t=this,n=eos(e,{writable:!1,readable:!0},destroyer(this)),o=function(){t._forward()},l=function(){t.push(null)},a=function(){t._readable2.removeListener("readable",o),t._readable2.removeListener("end",l),n()};this._drained=!0,this._readable=e,this._readable2=e._readableState?e:toStreams2(e),this._readable2.on("readable",o),this._readable2.on("end",l),this._unread=a,this._forward()};Duplexify.prototype._read=function(){this._drained=!0,this._forward()};Duplexify.prototype._forward=function(){if(!(this._forwarding||!this._readable2||!this._drained)){this._forwarding=!0;for(var e;this._drained&&(e=shift$1(this._readable2))!==null;)this.destroyed||(this._drained=this.push(e));this._forwarding=!1}};Duplexify.prototype.destroy=function(e,t){if(t||(t=noop$1),this.destroyed)return t(null);this.destroyed=!0;var n=this;api$2.nextTick(function(){n._destroy(e),t(null)})};Duplexify.prototype._destroy=function(e){if(e){var t=this._ondrain;this._ondrain=null,t?t(e):this.emit("error",e)}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit("close")};Duplexify.prototype._write=function(e,t,n){if(!this.destroyed){if(this._corked)return onuncork(this,this._write.bind(this,e,t,n));if(e===SIGNAL_FLUSH)return this._finish(n);if(!this._writable)return n();this._writable.write(e)===!1?this._ondrain=n:this.destroyed||n()}};Duplexify.prototype._finish=function(e){var t=this;this.emit("preend"),onuncork(this,function(){end(t._forwardEnd&&t._writable,function(){t._writableState.prefinished===!1&&(t._writableState.prefinished=!0),t.emit("prefinish"),onuncork(t,e)})})};Duplexify.prototype.end=function(e,t,n){return typeof e=="function"?this.end(null,null,e):typeof t=="function"?this.end(e,null,t):(this._ended=!0,e&&this.write(e),!this._writableState.ending&&!this._writableState.destroyed&&this.write(SIGNAL_FLUSH),stream.Writable.prototype.end.call(this,n))};var duplexify$1=Duplexify,wx_1,hasRequiredWx;function requireWx(){if(hasRequiredWx)return wx_1;hasRequiredWx=1;const{Buffer:e}=buffer$2,t=readableBrowserExports$3.Transform,n=duplexify$1;let o,l,a;function d(){const E=new t;return E._write=function(C,B,L){o.send({data:C.buffer,success:function(){L()},fail:function(F){L(new Error(F))}})},E._flush=function(B){o.close({success:function(){B()}})},E}function y(E){E.hostname||(E.hostname="localhost"),E.path||(E.path="/"),E.wsOptions||(E.wsOptions={})}function w(E,C){const B=E.protocol==="wxs"?"wss":"ws";let L=B+"://"+E.hostname+E.path;return E.port&&E.port!==80&&E.port!==443&&(L=B+"://"+E.hostname+":"+E.port+E.path),typeof E.transformWsUrl=="function"&&(L=E.transformWsUrl(L,E,C)),L}function _(){o.onOpen(function(){a.setReadable(l),a.setWritable(l),a.emit("connect")}),o.onMessage(function(E){let C=E.data;C instanceof ArrayBuffer?C=e.from(C):C=e.from(C,"utf8"),l.push(C)}),o.onClose(function(){a.end(),a.destroy()}),o.onError(function(E){a.destroy(new Error(E.errMsg))})}function S(E,C){if(C.hostname=C.hostname||C.host,!C.hostname)throw new Error("Could not determine host. Specify host manually.");const B=C.protocolId==="MQIsdp"&&C.protocolVersion===3?"mqttv3.1":"mqtt";y(C);const L=w(C,E);o=wx.connectSocket({url:L,protocols:[B]}),l=d(),a=n.obj(),a._destroy=function(j,H){o.close({success:function(){H&&H(j)}})};const F=a.destroy;return a.destroy=(function(){a.destroy=F;const j=this;setTimeout(function(){o.close({fail:function(){j._destroy(new Error)}})},0)}).bind(a),_(),a}return wx_1=S,wx_1}var ali,hasRequiredAli;function requireAli(){if(hasRequiredAli)return ali;hasRequiredAli=1;const{Buffer:e}=buffer$2,t=readableBrowserExports$3.Transform,n=duplexify$1;let o,l,a,d=!1;function y(){const C=new t;return C._write=function(B,L,F){o.sendSocketMessage({data:B.buffer,success:function(){F()},fail:function(){F(new Error)}})},C._flush=function(L){o.closeSocket({success:function(){L()}})},C}function w(C){C.hostname||(C.hostname="localhost"),C.path||(C.path="/"),C.wsOptions||(C.wsOptions={})}function _(C,B){const L=C.protocol==="alis"?"wss":"ws";let F=L+"://"+C.hostname+C.path;return C.port&&C.port!==80&&C.port!==443&&(F=L+"://"+C.hostname+":"+C.port+C.path),typeof C.transformWsUrl=="function"&&(F=C.transformWsUrl(F,C,B)),F}function S(){d||(d=!0,o.onSocketOpen(function(){a.setReadable(l),a.setWritable(l),a.emit("connect")}),o.onSocketMessage(function(C){if(typeof C.data=="string"){const B=e.from(C.data,"base64");l.push(B)}else{const B=new FileReader;B.addEventListener("load",function(){let L=B.result;L instanceof ArrayBuffer?L=e.from(L):L=e.from(L,"utf8"),l.push(L)}),B.readAsArrayBuffer(C.data)}}),o.onSocketClose(function(){a.end(),a.destroy()}),o.onSocketError(function(C){a.destroy(C)}))}function E(C,B){if(B.hostname=B.hostname||B.host,!B.hostname)throw new Error("Could not determine host. Specify host manually.");const L=B.protocolId==="MQIsdp"&&B.protocolVersion===3?"mqttv3.1":"mqtt";w(B);const F=_(B,C);return o=B.my,o.connectSocket({url:F,protocols:L}),l=y(),a=n.obj(),S(),a}return ali=E,ali}var ws={exports:{}},browser$b=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")};const{Buffer:Buffer$C}=buffer$2,WS=browser$b,debug$1=browserExports$1("mqttjs:ws"),duplexify=duplexify$1,Transform$9=readableBrowserExports$3.Transform,WSS_OPTIONS=["rejectUnauthorized","ca","cert","key","pfx","passphrase"],IS_BROWSER=typeof api$2<"u"&&api$2.title==="browser"||typeof __webpack_require__=="function";function buildUrl(e,t){let n=e.protocol+"://"+e.hostname+":"+e.port+e.path;return typeof e.transformWsUrl=="function"&&(n=e.transformWsUrl(n,e,t)),n}function setDefaultOpts(e){const t=e;return e.hostname||(t.hostname="localhost"),e.port||(e.protocol==="wss"?t.port=443:t.port=80),e.path||(t.path="/"),e.wsOptions||(t.wsOptions={}),!IS_BROWSER&&e.protocol==="wss"&&WSS_OPTIONS.forEach(function(n){Object.prototype.hasOwnProperty.call(e,n)&&!Object.prototype.hasOwnProperty.call(e.wsOptions,n)&&(t.wsOptions[n]=e[n])}),t}function setDefaultBrowserOpts(e){const t=setDefaultOpts(e);if(t.hostname||(t.hostname=t.host),!t.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");const n=new URL(document.URL);t.hostname=n.hostname,t.port||(t.port=n.port)}return t.objectMode===void 0&&(t.objectMode=!(t.binary===!0||t.binary===void 0)),t}function createWebSocket(e,t,n){debug$1("createWebSocket"),debug$1("protocol: "+n.protocolId+" "+n.protocolVersion);const o=n.protocolId==="MQIsdp"&&n.protocolVersion===3?"mqttv3.1":"mqtt";return debug$1("creating new Websocket for url: "+t+" and protocol: "+o),new WS(t,[o],n.wsOptions)}function createBrowserWebSocket(e,t){const n=t.protocolId==="MQIsdp"&&t.protocolVersion===3?"mqttv3.1":"mqtt",o=buildUrl(t,e),l=new WebSocket(o,[n]);return l.binaryType="arraybuffer",l}function streamBuilder(e,t){debug$1("streamBuilder");const n=setDefaultOpts(t),o=buildUrl(n,e),l=createWebSocket(e,o,n),a=WS.createWebSocketStream(l,n.wsOptions);return a.url=o,l.on("close",()=>{a.destroy()}),a}function browserStreamBuilder(e,t){debug$1("browserStreamBuilder");let n;const l=setDefaultBrowserOpts(t).browserBufferSize||1024*512,a=t.browserBufferTimeout||1e3,d=!t.objectMode,y=createBrowserWebSocket(e,t),w=S(t,j,H);t.objectMode||(w._writev=F),w.on("close",()=>{y.close()});const _=typeof y.addEventListener<"u";y.readyState===y.OPEN?n=w:(n=n=duplexify(void 0,void 0,t),t.objectMode||(n._writev=F),_?y.addEventListener("open",E):y.onopen=E),n.socket=y,_?(y.addEventListener("close",C),y.addEventListener("error",B),y.addEventListener("message",L)):(y.onclose=C,y.onerror=B,y.onmessage=L);function S(D,q,V){const Q=new Transform$9({objectModeMode:D.objectMode});return Q._write=q,Q._flush=V,Q}function E(){n.setReadable(w),n.setWritable(w),n.emit("connect")}function C(){n.end(),n.destroy()}function B(D){n.destroy(D)}function L(D){let q=D.data;q instanceof ArrayBuffer?q=Buffer$C.from(q):q=Buffer$C.from(q,"utf8"),w.push(q)}function F(D,q){const V=new Array(D.length);for(let Q=0;Ql&&setTimeout(j,a,D,q,V),d&&typeof D=="string"&&(D=Buffer$C.from(D,"utf8"));try{y.send(D)}catch(Q){return V(Q)}V()}function H(D){y.close(),D()}return n}IS_BROWSER?ws.exports=browserStreamBuilder:ws.exports=streamBuilder;var wsExports=ws.exports;const MqttClient=client,Store$1=store,url=require$$2$1,xtend=immutable,debug=browserExports$1("mqttjs"),protocols={};typeof api$2<"u"&&api$2.title!=="browser"||typeof __webpack_require__!="function"?(protocols.mqtt=requireTcp(),protocols.tcp=requireTcp(),protocols.ssl=requireTls(),protocols.tls=requireTls(),protocols.mqtts=requireTls()):(protocols.wx=requireWx(),protocols.wxs=requireWx(),protocols.ali=requireAli(),protocols.alis=requireAli());protocols.ws=wsExports;protocols.wss=wsExports;function parseAuthOptions(e){let t;e.auth&&(t=e.auth.match(/^(.+):(.+)$/),t?(e.username=t[1],e.password=t[2]):e.username=e.auth)}function connect(e,t){if(debug("connecting to an MQTT broker..."),typeof e=="object"&&!t&&(t=e,e=null),t=t||{},e){const l=url.parse(e,!0);if(l.port!=null&&(l.port=Number(l.port)),t=xtend(l,t),t.protocol===null)throw new Error("Missing protocol");t.protocol=t.protocol.replace(/:$/,"")}if(parseAuthOptions(t),t.query&&typeof t.query.clientId=="string"&&(t.clientId=t.query.clientId),t.cert&&t.key)if(t.protocol){if(["mqtts","wss","wxs","alis"].indexOf(t.protocol)===-1)switch(t.protocol){case"mqtt":t.protocol="mqtts";break;case"ws":t.protocol="wss";break;case"wx":t.protocol="wxs";break;case"ali":t.protocol="alis";break;default:throw new Error('Unknown protocol for secure connection: "'+t.protocol+'"!')}}else throw new Error("Missing secure protocol key");if(!protocols[t.protocol]){const l=["mqtts","wss"].indexOf(t.protocol)!==-1;t.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter(function(a,d){return l&&d%2===0?!1:typeof protocols[a]=="function"})[0]}if(t.clean===!1&&!t.clientId)throw new Error("Missing clientId for unclean clients");t.protocol&&(t.defaultProtocol=t.protocol);function n(l){return t.servers&&((!l._reconnectCount||l._reconnectCount===t.servers.length)&&(l._reconnectCount=0),t.host=t.servers[l._reconnectCount].host,t.port=t.servers[l._reconnectCount].port,t.protocol=t.servers[l._reconnectCount].protocol?t.servers[l._reconnectCount].protocol:t.defaultProtocol,t.hostname=t.host,l._reconnectCount++),debug("calling streambuilder for",t.protocol),protocols[t.protocol](l,t)}const o=new MqttClient(n,t);return o.on("error",function(){}),o}connect$2.exports=connect;connect$2.exports.connect=connect;connect$2.exports.MqttClient=MqttClient;connect$2.exports.Store=Store$1;var connectExports=connect$2.exports;const mqtt=getDefaultExportFromCjs(connectExports);function getDevtoolsGlobalHook(){return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__}function getTarget(){return typeof navigator<"u"&&typeof window<"u"?window:typeof globalThis<"u"?globalThis:{}}const isProxyAvailable=typeof Proxy=="function",HOOK_SETUP="devtools-plugin:setup",HOOK_PLUGIN_SETTINGS_SET="plugin:settings:set";let supported,perf;function isPerformanceSupported(){var e;return supported!==void 0||(typeof window<"u"&&window.performance?(supported=!0,perf=window.performance):typeof globalThis<"u"&&(!((e=globalThis.perf_hooks)===null||e===void 0)&&e.performance)?(supported=!0,perf=globalThis.perf_hooks.performance):supported=!1),supported}function now(){return isPerformanceSupported()?perf.now():Date.now()}class ApiProxy{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const o={};if(t.settings)for(const d in t.settings){const y=t.settings[d];o[d]=y.defaultValue}const l=`__vue-devtools-plugin-settings__${t.id}`;let a=Object.assign({},o);try{const d=localStorage.getItem(l),y=JSON.parse(d);Object.assign(a,y)}catch{}this.fallbacks={getSettings(){return a},setSettings(d){try{localStorage.setItem(l,JSON.stringify(d))}catch{}a=d},now(){return now()}},n&&n.on(HOOK_PLUGIN_SETTINGS_SET,(d,y)=>{d===this.plugin.id&&this.fallbacks.setSettings(y)}),this.proxiedOn=new Proxy({},{get:(d,y)=>this.target?this.target.on[y]:(...w)=>{this.onQueue.push({method:y,args:w})}}),this.proxiedTarget=new Proxy({},{get:(d,y)=>this.target?this.target[y]:y==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(y)?(...w)=>(this.targetQueue.push({method:y,args:w,resolve:()=>{}}),this.fallbacks[y](...w)):(...w)=>new Promise(_=>{this.targetQueue.push({method:y,args:w,resolve:_})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function setupDevtoolsPlugin(e,t){const n=e,o=getTarget(),l=getDevtoolsGlobalHook(),a=isProxyAvailable&&n.enableEarlyProxy;if(l&&(o.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!a))l.emit(HOOK_SETUP,e,t);else{const d=a?new ApiProxy(n,l):null;(o.__VUE_DEVTOOLS_PLUGINS__=o.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:d}),d&&t(d.proxiedTarget)}}/*! * vue-router v4.5.1 diff --git a/web/settings/assets/vendor-axios-8e1a46ae.js b/web/settings/assets/vendor-axios-1a87d4ae.js similarity index 99% rename from web/settings/assets/vendor-axios-8e1a46ae.js rename to web/settings/assets/vendor-axios-1a87d4ae.js index fa6b115e78..e372583d81 100644 --- a/web/settings/assets/vendor-axios-8e1a46ae.js +++ b/web/settings/assets/vendor-axios-1a87d4ae.js @@ -1,4 +1,4 @@ -import{g as St,a as Le,b as Rt}from"./vendor-1833c026.js";function Ge(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ot}=Object.prototype,{getPrototypeOf:Se}=Object,{iterator:se,toStringTag:Qe}=Symbol,oe=(e=>t=>{const n=Ot.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),P=e=>(e=e.toLowerCase(),t=>oe(t)===e),ie=e=>t=>typeof t===e,{isArray:H}=Array,I=ie("undefined");function V(e){return e!==null&&!I(e)&&e.constructor!==null&&!I(e.constructor)&&T(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ze=P("ArrayBuffer");function Tt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ze(e.buffer),t}const At=ie("string"),T=ie("function"),Ye=ie("number"),J=e=>e!==null&&typeof e=="object",xt=e=>e===!0||e===!1,Q=e=>{if(oe(e)!=="object")return!1;const t=Se(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Qe in e)&&!(se in e)},Ct=e=>{if(!J(e)||V(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Nt=P("Date"),Pt=P("File"),Ft=P("Blob"),_t=P("FileList"),Ut=e=>J(e)&&T(e.pipe),Lt=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T(e.append)&&((t=oe(e))==="formdata"||t==="object"&&T(e.toString)&&e.toString()==="[object FormData]"))},kt=P("URLSearchParams"),[Bt,Dt,jt,qt]=["ReadableStream","Request","Response","Headers"].map(P),It=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function v(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),H(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const D=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:St)(),tt=e=>!I(e)&&e!==D;function ye(){const{caseless:e,skipUndefined:t}=tt(this)&&this||{},n={},r=(s,i)=>{const o=e&&et(n,i)||i;Q(n[o])&&Q(s)?n[o]=ye(n[o],s):Q(s)?n[o]=ye({},s):H(s)?n[o]=s.slice():(!t||!I(s))&&(n[o]=s)};for(let s=0,i=arguments.length;s(v(t,(s,i)=>{n&&T(s)?e[i]=Ge(s,n):e[i]=s},{allOwnKeys:r}),e),Mt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),zt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},$t=(e,t,n,r)=>{let s,i,o;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=n!==!1&&Se(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Vt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Jt=e=>{if(!e)return null;if(H(e))return e;let t=e.length;if(!Ye(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},vt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Se(Uint8Array)),Wt=(e,t)=>{const r=(e&&e[se]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},Kt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Xt=P("HTMLFormElement"),Gt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ke=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Qt=P("RegExp"),nt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};v(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},Zt=e=>{nt(e,(t,n)=>{if(T(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(T(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Yt=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return H(e)?r(e):r(String(e).split(t)),n},en=()=>{},tn=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function nn(e){return!!(e&&T(e.append)&&e[Qe]==="FormData"&&e[se])}const rn=e=>{const t=new Array(10),n=(r,s)=>{if(J(r)){if(t.indexOf(r)>=0)return;if(V(r))return r;if(!("toJSON"in r)){t[s]=r;const i=H(r)?[]:{};return v(r,(o,c)=>{const d=n(o,s+1);!I(d)&&(i[c]=d)}),t[s]=void 0,i}}return r};return n(e,0)},sn=P("AsyncFunction"),on=e=>e&&(J(e)||T(e))&&T(e.then)&&T(e.catch),rt=((e,t)=>e?setImmediate:t?((n,r)=>(D.addEventListener("message",({source:s,data:i})=>{s===D&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),D.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",T(D.postMessage)),an=typeof queueMicrotask<"u"?queueMicrotask.bind(D):typeof Le<"u"&&Le.nextTick||rt,cn=e=>e!=null&&T(e[se]),a={isArray:H,isArrayBuffer:Ze,isBuffer:V,isFormData:Lt,isArrayBufferView:Tt,isString:At,isNumber:Ye,isBoolean:xt,isObject:J,isPlainObject:Q,isEmptyObject:Ct,isReadableStream:Bt,isRequest:Dt,isResponse:jt,isHeaders:qt,isUndefined:I,isDate:Nt,isFile:Pt,isBlob:Ft,isRegExp:Qt,isFunction:T,isStream:Ut,isURLSearchParams:kt,isTypedArray:vt,isFileList:_t,forEach:v,merge:ye,extend:Ht,trim:It,stripBOM:Mt,inherits:zt,toFlatObject:$t,kindOf:oe,kindOfTest:P,endsWith:Vt,toArray:Jt,forEachEntry:Wt,matchAll:Kt,isHTMLForm:Xt,hasOwnProperty:ke,hasOwnProp:ke,reduceDescriptors:nt,freezeMethods:Zt,toObjectSet:Yt,toCamelCase:Gt,noop:en,toFiniteNumber:tn,findKey:et,global:D,isContextDefined:tt,isSpecCompliantForm:nn,toJSONObject:rn,isAsyncFn:sn,isThenable:on,setImmediate:rt,asap:an,isIterable:cn};function y(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}a.inherits(y,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const st=y.prototype,ot={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ot[e]={value:e}});Object.defineProperties(y,ot);Object.defineProperty(st,"isAxiosError",{value:!0});y.from=(e,t,n,r,s,i)=>{const o=Object.create(st);a.toFlatObject(e,o,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return y.call(o,c,d,n,r,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const un=null;function be(e){return a.isPlainObject(e)||a.isArray(e)}function it(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function Be(e,t,n){return e?e.concat(t).map(function(s,i){return s=it(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function ln(e){return a.isArray(e)&&!e.some(be)}const fn=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function ae(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!a.isUndefined(p[m])});const r=n.metaTokens,s=n.visitor||u,i=n.dots,o=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function f(l){if(l===null)return"";if(a.isDate(l))return l.toISOString();if(a.isBoolean(l))return l.toString();if(!d&&a.isBlob(l))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(l)||a.isTypedArray(l)?d&&typeof Blob=="function"?new Blob([l]):Rt.Buffer.from(l):l}function u(l,m,p){let g=l;if(l&&!p&&typeof l=="object"){if(a.endsWith(m,"{}"))m=r?m:m.slice(0,-2),l=JSON.stringify(l);else if(a.isArray(l)&&ln(l)||(a.isFileList(l)||a.endsWith(m,"[]"))&&(g=a.toArray(l)))return m=it(m),g.forEach(function(E,O){!(a.isUndefined(E)||E===null)&&t.append(o===!0?Be([m],O,i):o===null?m:m+"[]",f(E))}),!1}return be(l)?!0:(t.append(Be(p,m,i),f(l)),!1)}const h=[],b=Object.assign(fn,{defaultVisitor:u,convertValue:f,isVisitable:be});function S(l,m){if(!a.isUndefined(l)){if(h.indexOf(l)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(l),a.forEach(l,function(g,A){(!(a.isUndefined(g)||g===null)&&s.call(t,g,a.isString(A)?A.trim():A,m,b))===!0&&S(g,m?m.concat(A):[A])}),h.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return S(e),t}function De(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Re(e,t){this._pairs=[],e&&ae(e,this,t)}const at=Re.prototype;at.append=function(t,n){this._pairs.push([t,n])};at.toString=function(t){const n=t?function(r){return t.call(this,r,De)}:De;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function dn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ct(e,t,n){if(!t)return e;const r=n&&n.encode||dn;a.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=a.isURLSearchParams(t)?t.toString():new Re(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class pn{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const je=pn,ut={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},hn=typeof URLSearchParams<"u"?URLSearchParams:Re,mn=typeof FormData<"u"?FormData:null,yn=typeof Blob<"u"?Blob:null,bn={isBrowser:!0,classes:{URLSearchParams:hn,FormData:mn,Blob:yn},protocols:["http","https","file","blob","url","data"]},Oe=typeof window<"u"&&typeof document<"u",we=typeof navigator=="object"&&navigator||void 0,wn=Oe&&(!we||["ReactNative","NativeScript","NS"].indexOf(we.product)<0),gn=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),En=Oe&&window.location.href||"http://localhost",Sn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Oe,hasStandardBrowserEnv:wn,hasStandardBrowserWebWorkerEnv:gn,navigator:we,origin:En},Symbol.toStringTag,{value:"Module"})),R={...Sn,...bn};function Rn(e,t){return ae(e,new R.classes.URLSearchParams,{visitor:function(n,r,s,i){return R.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function On(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Tn(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&a.isArray(s)?s.length:o,d?(a.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!c):((!s[o]||!a.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&a.isArray(s[o])&&(s[o]=Tn(s[o])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(On(r),s,n,0)}),n}return null}function An(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Te={transitional:ut,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=a.isObject(t);if(i&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(lt(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Rn(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return ae(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),An(t)):t}],transformResponse:[function(t){const n=this.transitional||Te.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?y.from(c,y.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:R.classes.FormData,Blob:R.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{Te.headers[e]={}});const Ae=Te,xn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Cn=e=>{const t={};let n,r,s;return e&&e.split(` +import{g as St,a as Le,b as Rt}from"./vendor-50125810.js";function Ge(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ot}=Object.prototype,{getPrototypeOf:Se}=Object,{iterator:se,toStringTag:Qe}=Symbol,oe=(e=>t=>{const n=Ot.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),P=e=>(e=e.toLowerCase(),t=>oe(t)===e),ie=e=>t=>typeof t===e,{isArray:H}=Array,I=ie("undefined");function V(e){return e!==null&&!I(e)&&e.constructor!==null&&!I(e.constructor)&&T(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ze=P("ArrayBuffer");function Tt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ze(e.buffer),t}const At=ie("string"),T=ie("function"),Ye=ie("number"),J=e=>e!==null&&typeof e=="object",xt=e=>e===!0||e===!1,Q=e=>{if(oe(e)!=="object")return!1;const t=Se(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Qe in e)&&!(se in e)},Ct=e=>{if(!J(e)||V(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Nt=P("Date"),Pt=P("File"),Ft=P("Blob"),_t=P("FileList"),Ut=e=>J(e)&&T(e.pipe),Lt=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T(e.append)&&((t=oe(e))==="formdata"||t==="object"&&T(e.toString)&&e.toString()==="[object FormData]"))},kt=P("URLSearchParams"),[Bt,Dt,jt,qt]=["ReadableStream","Request","Response","Headers"].map(P),It=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function v(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),H(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const D=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:St)(),tt=e=>!I(e)&&e!==D;function ye(){const{caseless:e,skipUndefined:t}=tt(this)&&this||{},n={},r=(s,i)=>{const o=e&&et(n,i)||i;Q(n[o])&&Q(s)?n[o]=ye(n[o],s):Q(s)?n[o]=ye({},s):H(s)?n[o]=s.slice():(!t||!I(s))&&(n[o]=s)};for(let s=0,i=arguments.length;s(v(t,(s,i)=>{n&&T(s)?e[i]=Ge(s,n):e[i]=s},{allOwnKeys:r}),e),Mt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),zt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},$t=(e,t,n,r)=>{let s,i,o;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=n!==!1&&Se(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Vt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Jt=e=>{if(!e)return null;if(H(e))return e;let t=e.length;if(!Ye(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},vt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Se(Uint8Array)),Wt=(e,t)=>{const r=(e&&e[se]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},Kt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Xt=P("HTMLFormElement"),Gt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ke=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Qt=P("RegExp"),nt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};v(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},Zt=e=>{nt(e,(t,n)=>{if(T(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(T(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Yt=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return H(e)?r(e):r(String(e).split(t)),n},en=()=>{},tn=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function nn(e){return!!(e&&T(e.append)&&e[Qe]==="FormData"&&e[se])}const rn=e=>{const t=new Array(10),n=(r,s)=>{if(J(r)){if(t.indexOf(r)>=0)return;if(V(r))return r;if(!("toJSON"in r)){t[s]=r;const i=H(r)?[]:{};return v(r,(o,c)=>{const d=n(o,s+1);!I(d)&&(i[c]=d)}),t[s]=void 0,i}}return r};return n(e,0)},sn=P("AsyncFunction"),on=e=>e&&(J(e)||T(e))&&T(e.then)&&T(e.catch),rt=((e,t)=>e?setImmediate:t?((n,r)=>(D.addEventListener("message",({source:s,data:i})=>{s===D&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),D.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",T(D.postMessage)),an=typeof queueMicrotask<"u"?queueMicrotask.bind(D):typeof Le<"u"&&Le.nextTick||rt,cn=e=>e!=null&&T(e[se]),a={isArray:H,isArrayBuffer:Ze,isBuffer:V,isFormData:Lt,isArrayBufferView:Tt,isString:At,isNumber:Ye,isBoolean:xt,isObject:J,isPlainObject:Q,isEmptyObject:Ct,isReadableStream:Bt,isRequest:Dt,isResponse:jt,isHeaders:qt,isUndefined:I,isDate:Nt,isFile:Pt,isBlob:Ft,isRegExp:Qt,isFunction:T,isStream:Ut,isURLSearchParams:kt,isTypedArray:vt,isFileList:_t,forEach:v,merge:ye,extend:Ht,trim:It,stripBOM:Mt,inherits:zt,toFlatObject:$t,kindOf:oe,kindOfTest:P,endsWith:Vt,toArray:Jt,forEachEntry:Wt,matchAll:Kt,isHTMLForm:Xt,hasOwnProperty:ke,hasOwnProp:ke,reduceDescriptors:nt,freezeMethods:Zt,toObjectSet:Yt,toCamelCase:Gt,noop:en,toFiniteNumber:tn,findKey:et,global:D,isContextDefined:tt,isSpecCompliantForm:nn,toJSONObject:rn,isAsyncFn:sn,isThenable:on,setImmediate:rt,asap:an,isIterable:cn};function y(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}a.inherits(y,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const st=y.prototype,ot={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ot[e]={value:e}});Object.defineProperties(y,ot);Object.defineProperty(st,"isAxiosError",{value:!0});y.from=(e,t,n,r,s,i)=>{const o=Object.create(st);a.toFlatObject(e,o,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return y.call(o,c,d,n,r,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const un=null;function be(e){return a.isPlainObject(e)||a.isArray(e)}function it(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function Be(e,t,n){return e?e.concat(t).map(function(s,i){return s=it(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function ln(e){return a.isArray(e)&&!e.some(be)}const fn=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function ae(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!a.isUndefined(p[m])});const r=n.metaTokens,s=n.visitor||u,i=n.dots,o=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function f(l){if(l===null)return"";if(a.isDate(l))return l.toISOString();if(a.isBoolean(l))return l.toString();if(!d&&a.isBlob(l))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(l)||a.isTypedArray(l)?d&&typeof Blob=="function"?new Blob([l]):Rt.Buffer.from(l):l}function u(l,m,p){let g=l;if(l&&!p&&typeof l=="object"){if(a.endsWith(m,"{}"))m=r?m:m.slice(0,-2),l=JSON.stringify(l);else if(a.isArray(l)&&ln(l)||(a.isFileList(l)||a.endsWith(m,"[]"))&&(g=a.toArray(l)))return m=it(m),g.forEach(function(E,O){!(a.isUndefined(E)||E===null)&&t.append(o===!0?Be([m],O,i):o===null?m:m+"[]",f(E))}),!1}return be(l)?!0:(t.append(Be(p,m,i),f(l)),!1)}const h=[],b=Object.assign(fn,{defaultVisitor:u,convertValue:f,isVisitable:be});function S(l,m){if(!a.isUndefined(l)){if(h.indexOf(l)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(l),a.forEach(l,function(g,A){(!(a.isUndefined(g)||g===null)&&s.call(t,g,a.isString(A)?A.trim():A,m,b))===!0&&S(g,m?m.concat(A):[A])}),h.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return S(e),t}function De(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Re(e,t){this._pairs=[],e&&ae(e,this,t)}const at=Re.prototype;at.append=function(t,n){this._pairs.push([t,n])};at.toString=function(t){const n=t?function(r){return t.call(this,r,De)}:De;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function dn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ct(e,t,n){if(!t)return e;const r=n&&n.encode||dn;a.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=a.isURLSearchParams(t)?t.toString():new Re(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class pn{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const je=pn,ut={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},hn=typeof URLSearchParams<"u"?URLSearchParams:Re,mn=typeof FormData<"u"?FormData:null,yn=typeof Blob<"u"?Blob:null,bn={isBrowser:!0,classes:{URLSearchParams:hn,FormData:mn,Blob:yn},protocols:["http","https","file","blob","url","data"]},Oe=typeof window<"u"&&typeof document<"u",we=typeof navigator=="object"&&navigator||void 0,wn=Oe&&(!we||["ReactNative","NativeScript","NS"].indexOf(we.product)<0),gn=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),En=Oe&&window.location.href||"http://localhost",Sn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Oe,hasStandardBrowserEnv:wn,hasStandardBrowserWebWorkerEnv:gn,navigator:we,origin:En},Symbol.toStringTag,{value:"Module"})),R={...Sn,...bn};function Rn(e,t){return ae(e,new R.classes.URLSearchParams,{visitor:function(n,r,s,i){return R.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function On(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Tn(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&a.isArray(s)?s.length:o,d?(a.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!c):((!s[o]||!a.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&a.isArray(s[o])&&(s[o]=Tn(s[o])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(On(r),s,n,0)}),n}return null}function An(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Te={transitional:ut,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=a.isObject(t);if(i&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(lt(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Rn(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return ae(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),An(t)):t}],transformResponse:[function(t){const n=this.transitional||Te.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?y.from(c,y.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:R.classes.FormData,Blob:R.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{Te.headers[e]={}});const Ae=Te,xn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Cn=e=>{const t={};let n,r,s;return e&&e.split(` `).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&xn[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},qe=Symbol("internals");function $(e){return e&&String(e).trim().toLowerCase()}function Z(e){return e===!1||e==null?e:a.isArray(e)?e.map(Z):String(e)}function Nn(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Pn=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function de(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function Fn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function _n(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}class ce{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(c,d,f){const u=$(d);if(!u)throw new Error("header name must be a non-empty string");const h=a.findKey(s,u);(!h||s[h]===void 0||f===!0||f===void 0&&s[h]!==!1)&&(s[h||d]=Z(c))}const o=(c,d)=>a.forEach(c,(f,u)=>i(f,u,d));if(a.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(a.isString(t)&&(t=t.trim())&&!Pn(t))o(Cn(t),n);else if(a.isObject(t)&&a.isIterable(t)){let c={},d,f;for(const u of t){if(!a.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[f=u[0]]=(d=c[f])?a.isArray(d)?[...d,u[1]]:[d,u[1]]:u[1]}o(c,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=$(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Nn(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=$(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||de(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=$(o),o){const c=a.findKey(r,o);c&&(!n||de(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||de(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,i)=>{const o=a.findKey(r,i);if(o){n[o]=Z(s),delete n[i];return}const c=t?Fn(i):String(i).trim();c!==i&&delete n[i],n[c]=Z(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[qe]=this[qe]={accessors:{}}).accessors,s=this.prototype;function i(o){const c=$(o);r[c]||(_n(s,o),r[c]=!0)}return a.isArray(t)?t.forEach(i):i(t),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(ce.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(ce);const N=ce;function pe(e,t){const n=this||Ae,r=t||n,s=N.from(r.headers);let i=r.data;return a.forEach(e,function(c){i=c.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function ft(e){return!!(e&&e.__CANCEL__)}function M(e,t,n){y.call(this,e??"canceled",y.ERR_CANCELED,t,n),this.name="CanceledError"}a.inherits(M,y,{__CANCEL__:!0});function dt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new y("Request failed with status code "+n.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Un(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Ln(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(d){const f=Date.now(),u=r[i];o||(o=f),n[s]=d,r[s]=f;let h=i,b=0;for(;h!==s;)b+=n[h++],h=h%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),f-o{n=u,s=null,i&&(clearTimeout(i),i=null),e(...f)};return[(...f)=>{const u=Date.now(),h=u-n;h>=r?o(f,u):(s=f,i||(i=setTimeout(()=>{i=null,o(s)},r-h)))},()=>s&&o(s)]}const te=(e,t,n=3)=>{let r=0;const s=Ln(50,250);return kn(i=>{const o=i.loaded,c=i.lengthComputable?i.total:void 0,d=o-r,f=s(d),u=o<=c;r=o;const h={loaded:o,total:c,progress:c?o/c:void 0,bytes:d,rate:f||void 0,estimated:f&&c&&u?(c-o)/f:void 0,event:i,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(h)},n)},Ie=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},He=e=>(...t)=>a.asap(()=>e(...t)),Bn=R.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,R.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(R.origin),R.navigator&&/(msie|trident)/i.test(R.navigator.userAgent)):()=>!0,Dn=R.hasStandardBrowserEnv?{write(e,t,n,r,s,i){const o=[e+"="+encodeURIComponent(t)];a.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),a.isString(r)&&o.push("path="+r),a.isString(s)&&o.push("domain="+s),i===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function jn(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function qn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function pt(e,t,n){let r=!jn(t);return e&&(r||n==!1)?qn(e,t):t}const Me=e=>e instanceof N?{...e}:e;function j(e,t){t=t||{};const n={};function r(f,u,h,b){return a.isPlainObject(f)&&a.isPlainObject(u)?a.merge.call({caseless:b},f,u):a.isPlainObject(u)?a.merge({},u):a.isArray(u)?u.slice():u}function s(f,u,h,b){if(a.isUndefined(u)){if(!a.isUndefined(f))return r(void 0,f,h,b)}else return r(f,u,h,b)}function i(f,u){if(!a.isUndefined(u))return r(void 0,u)}function o(f,u){if(a.isUndefined(u)){if(!a.isUndefined(f))return r(void 0,f)}else return r(void 0,u)}function c(f,u,h){if(h in t)return r(f,u);if(h in e)return r(void 0,f)}const d={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(f,u,h)=>s(Me(f),Me(u),h,!0)};return a.forEach(Object.keys({...e,...t}),function(u){const h=d[u]||s,b=h(e[u],t[u],u);a.isUndefined(b)&&h!==c||(n[u]=b)}),n}const ht=e=>{const t=j({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:c}=t;if(t.headers=o=N.from(o),t.url=ct(pt(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(n)){if(R.hasStandardBrowserEnv||R.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(a.isFunction(n.getHeaders)){const d=n.getHeaders(),f=["content-type","content-length"];Object.entries(d).forEach(([u,h])=>{f.includes(u.toLowerCase())&&o.set(u,h)})}}if(R.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(t)),r||r!==!1&&Bn(t.url))){const d=s&&i&&Dn.read(i);d&&o.set(s,d)}return t},In=typeof XMLHttpRequest<"u",Hn=In&&function(e){return new Promise(function(n,r){const s=ht(e);let i=s.data;const o=N.from(s.headers).normalize();let{responseType:c,onUploadProgress:d,onDownloadProgress:f}=s,u,h,b,S,l;function m(){S&&S(),l&&l(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let p=new XMLHttpRequest;p.open(s.method.toUpperCase(),s.url,!0),p.timeout=s.timeout;function g(){if(!p)return;const E=N.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),C={data:!c||c==="text"||c==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:E,config:e,request:p};dt(function(x){n(x),m()},function(x){r(x),m()},C),p=null}"onloadend"in p?p.onloadend=g:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(g)},p.onabort=function(){p&&(r(new y("Request aborted",y.ECONNABORTED,e,p)),p=null)},p.onerror=function(O){const C=O&&O.message?O.message:"Network Error",k=new y(C,y.ERR_NETWORK,e,p);k.event=O||null,r(k),p=null},p.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const C=s.transitional||ut;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),r(new y(O,C.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,p)),p=null},i===void 0&&o.setContentType(null),"setRequestHeader"in p&&a.forEach(o.toJSON(),function(O,C){p.setRequestHeader(C,O)}),a.isUndefined(s.withCredentials)||(p.withCredentials=!!s.withCredentials),c&&c!=="json"&&(p.responseType=s.responseType),f&&([b,l]=te(f,!0),p.addEventListener("progress",b)),d&&p.upload&&([h,S]=te(d),p.upload.addEventListener("progress",h),p.upload.addEventListener("loadend",S)),(s.cancelToken||s.signal)&&(u=E=>{p&&(r(!E||E.type?new M(null,e,p):E),p.abort(),p=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const A=Un(s.url);if(A&&R.protocols.indexOf(A)===-1){r(new y("Unsupported protocol "+A+":",y.ERR_BAD_REQUEST,e));return}p.send(i||null)})},Mn=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(f){if(!s){s=!0,c();const u=f instanceof Error?f:this.reason;r.abort(u instanceof y?u:new M(u instanceof Error?u.message:u))}};let o=t&&setTimeout(()=>{o=null,i(new y(`timeout ${t} of ms exceeded`,y.ETIMEDOUT))},t);const c=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(i):f.removeEventListener("abort",i)}),e=null)};e.forEach(f=>f.addEventListener("abort",i));const{signal:d}=r;return d.unsubscribe=()=>a.asap(c),d}},zn=Mn,$n=function*(e,t){let n=e.byteLength;if(!t||n{const s=Vn(e,t);let i=0,o,c=d=>{o||(o=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:f,value:u}=await s.next();if(f){c(),d.close();return}let h=u.byteLength;if(n){let b=i+=h;n(b)}d.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(d){return c(d),s.return()}},{highWaterMark:2})},$e=64*1024,{isFunction:G}=a,vn=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:Ve,TextEncoder:Je}=a.global,ve=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Wn=e=>{e=a.merge.call({skipUndefined:!0},vn,e);const{fetch:t,Request:n,Response:r}=e,s=t?G(t):typeof fetch=="function",i=G(n),o=G(r);if(!s)return!1;const c=s&&G(Ve),d=s&&(typeof Je=="function"?(l=>m=>l.encode(m))(new Je):async l=>new Uint8Array(await new n(l).arrayBuffer())),f=i&&c&&ve(()=>{let l=!1;const m=new n(R.origin,{body:new Ve,method:"POST",get duplex(){return l=!0,"half"}}).headers.has("Content-Type");return l&&!m}),u=o&&c&&ve(()=>a.isReadableStream(new r("").body)),h={stream:u&&(l=>l.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(l=>{!h[l]&&(h[l]=(m,p)=>{let g=m&&m[l];if(g)return g.call(m);throw new y(`Response type '${l}' is not supported`,y.ERR_NOT_SUPPORT,p)})});const b=async l=>{if(l==null)return 0;if(a.isBlob(l))return l.size;if(a.isSpecCompliantForm(l))return(await new n(R.origin,{method:"POST",body:l}).arrayBuffer()).byteLength;if(a.isArrayBufferView(l)||a.isArrayBuffer(l))return l.byteLength;if(a.isURLSearchParams(l)&&(l=l+""),a.isString(l))return(await d(l)).byteLength},S=async(l,m)=>{const p=a.toFiniteNumber(l.getContentLength());return p??b(m)};return async l=>{let{url:m,method:p,data:g,signal:A,cancelToken:E,timeout:O,onDownloadProgress:C,onUploadProgress:k,responseType:x,headers:le,withCredentials:W="same-origin",fetchOptions:Ce}=ht(l),Ne=t||fetch;x=x?(x+"").toLowerCase():"text";let K=zn([A,E&&E.toAbortSignal()],O),z=null;const B=K&&K.unsubscribe&&(()=>{K.unsubscribe()});let Pe;try{if(k&&f&&p!=="get"&&p!=="head"&&(Pe=await S(le,g))!==0){let L=new n(m,{method:"POST",body:g,duplex:"half"}),q;if(a.isFormData(g)&&(q=L.headers.get("content-type"))&&le.setContentType(q),L.body){const[fe,X]=Ie(Pe,te(He(k)));g=ze(L.body,$e,fe,X)}}a.isString(W)||(W=W?"include":"omit");const F=i&&"credentials"in n.prototype,Fe={...Ce,signal:K,method:p.toUpperCase(),headers:le.normalize().toJSON(),body:g,duplex:"half",credentials:F?W:void 0};z=i&&new n(m,Fe);let U=await(i?Ne(z,Ce):Ne(m,Fe));const _e=u&&(x==="stream"||x==="response");if(u&&(C||_e&&B)){const L={};["status","statusText","headers"].forEach(Ue=>{L[Ue]=U[Ue]});const q=a.toFiniteNumber(U.headers.get("content-length")),[fe,X]=C&&Ie(q,te(He(C),!0))||[];U=new r(ze(U.body,$e,fe,()=>{X&&X(),B&&B()}),L)}x=x||"text";let Et=await h[a.findKey(h,x)||"text"](U,l);return!_e&&B&&B(),await new Promise((L,q)=>{dt(L,q,{data:Et,headers:N.from(U.headers),status:U.status,statusText:U.statusText,config:l,request:z})})}catch(F){throw B&&B(),F&&F.name==="TypeError"&&/Load failed|fetch/i.test(F.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,l,z),{cause:F.cause||F}):y.from(F,F&&F.code,l,z)}}},Kn=new Map,mt=e=>{let t=e?e.env:{};const{fetch:n,Request:r,Response:s}=t,i=[r,s,n];let o=i.length,c=o,d,f,u=Kn;for(;c--;)d=i[c],f=u.get(d),f===void 0&&u.set(d,f=c?new Map:Wn(t)),u=f;return f};mt();const ge={http:un,xhr:Hn,fetch:{get:mt}};a.forEach(ge,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const We=e=>`- ${e}`,Xn=e=>a.isFunction(e)||e===null||e===!1,yt={getAdapter:(e,t)=>{e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const i={};for(let o=0;o`adapter ${d} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=n?o.length>1?`since : `+o.map(We).join(` diff --git a/web/settings/assets/vendor-bootstrap-4e7ebeee.js b/web/settings/assets/vendor-bootstrap-01761fad.js similarity index 99% rename from web/settings/assets/vendor-bootstrap-4e7ebeee.js rename to web/settings/assets/vendor-bootstrap-01761fad.js index f3435bc06b..4f9314d122 100644 --- a/web/settings/assets/vendor-bootstrap-4e7ebeee.js +++ b/web/settings/assets/vendor-bootstrap-01761fad.js @@ -1,4 +1,4 @@ -import{r as or,c as ur}from"./vendor-1833c026.js";import{r as fr}from"./vendor-jquery-1765c81b.js";var Ft={exports:{}};/*! +import{r as or,c as ur}from"./vendor-50125810.js";import{r as fr}from"./vendor-jquery-a46fe321.js";var Ft={exports:{}};/*! * Bootstrap v4.6.2 (https://getbootstrap.com/) * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) diff --git a/web/settings/assets/vendor-chartjs-93e80b58.js b/web/settings/assets/vendor-chartjs-6bace15d.js similarity index 99% rename from web/settings/assets/vendor-chartjs-93e80b58.js rename to web/settings/assets/vendor-chartjs-6bace15d.js index 189ea6647e..50bce7fb54 100644 --- a/web/settings/assets/vendor-chartjs-93e80b58.js +++ b/web/settings/assets/vendor-chartjs-6bace15d.js @@ -1,4 +1,4 @@ -var Co=Object.defineProperty;var Oo=(i,t,e)=>t in i?Co(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var S=(i,t,e)=>(Oo(i,typeof t!="symbol"?t+"":t,e),e);import{C as bs,d as xs,s as _s,h as hi,v as To,e as Lo,o as Ao,f as zo,w as Io,t as di,n as Ro,i as ys,H as ee}from"./vendor-1833c026.js";import{D as ht}from"./vendor-luxon-cc86f6dc.js";/*! +var Co=Object.defineProperty;var Oo=(i,t,e)=>t in i?Co(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var S=(i,t,e)=>(Oo(i,typeof t!="symbol"?t+"":t,e),e);import{C as bs,d as xs,s as _s,h as hi,v as To,e as Lo,o as Ao,f as zo,w as Io,t as di,n as Ro,i as ys,H as ee}from"./vendor-50125810.js";import{D as ht}from"./vendor-luxon-cc86f6dc.js";/*! * Chart.js v4.5.0 * https://www.chartjs.org * (c) 2025 Chart.js Contributors diff --git a/web/settings/assets/vendor-fortawesome-77ba272b.js b/web/settings/assets/vendor-fortawesome-641b8eb6.js similarity index 99% rename from web/settings/assets/vendor-fortawesome-77ba272b.js rename to web/settings/assets/vendor-fortawesome-641b8eb6.js index a8da2f02df..4be67637d5 100644 --- a/web/settings/assets/vendor-fortawesome-77ba272b.js +++ b/web/settings/assets/vendor-fortawesome-641b8eb6.js @@ -1,4 +1,4 @@ -import{g as Qt,d as Rt,j as k,w as u2,h as ke}from"./vendor-1833c026.js";/*! +import{g as Qt,d as Rt,j as k,w as u2,h as ke}from"./vendor-50125810.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. diff --git a/web/settings/assets/vendor-jquery-1765c81b.js b/web/settings/assets/vendor-jquery-a46fe321.js similarity index 99% rename from web/settings/assets/vendor-jquery-1765c81b.js rename to web/settings/assets/vendor-jquery-a46fe321.js index 279653d5cd..e9c81b32ec 100644 --- a/web/settings/assets/vendor-jquery-1765c81b.js +++ b/web/settings/assets/vendor-jquery-a46fe321.js @@ -1,4 +1,4 @@ -import{c as Fr}from"./vendor-1833c026.js";var Mt={exports:{}};/*! +import{c as Fr}from"./vendor-50125810.js";var Mt={exports:{}};/*! * jQuery JavaScript Library v3.7.1 * https://jquery.com/ * diff --git a/web/settings/assets/vendor-sortablejs-5493eb90.js b/web/settings/assets/vendor-sortablejs-8982fad4.js similarity index 99% rename from web/settings/assets/vendor-sortablejs-5493eb90.js rename to web/settings/assets/vendor-sortablejs-8982fad4.js index 2ba894c7a6..02ffe16fe7 100644 --- a/web/settings/assets/vendor-sortablejs-5493eb90.js +++ b/web/settings/assets/vendor-sortablejs-8982fad4.js @@ -1,4 +1,4 @@ -import{k as Ue}from"./vendor-1833c026.js";/**! +import{k as Ue}from"./vendor-50125810.js";/**! * Sortable 1.14.0 * @author RubaXa * @author owenm diff --git a/web/settings/assets/webTheme-65621094.js b/web/settings/assets/webTheme-10f1afab.js similarity index 90% rename from web/settings/assets/webTheme-65621094.js rename to web/settings/assets/webTheme-10f1afab.js index c8e8a30f94..1aea7b3d19 100644 --- a/web/settings/assets/webTheme-65621094.js +++ b/web/settings/assets/webTheme-10f1afab.js @@ -1 +1 @@ -import{W as g}from"./GeneralConfig-8c10c8b4.js";import{S as f}from"./OpenwbSortableList-ca37615e.js";import{_ as h,u as o,l as w,m as _,G as i,E as a,B as r,A as u}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const v={name:"WebThemeKoala",components:{SortableList:f},mixins:[g],data(){return{slideLabels:{daily_totals:"Tageswerte",history_chart:"Verlaufsdiagramm",flow_diagram:"Energiefluss"}}},computed:{slideOrderList:{get(){return(this.webTheme.configuration.top_carousel_slide_order||["flow_diagram","history_chart","daily_totals"]).map(e=>({id:e}))},set(t){const e=t.map(l=>l.id);this.updateConfiguration(e,"configuration.top_carousel_slide_order")}},numberedSlideLabels(){return this.slideOrderList.reduce((t,e,l)=>(t[e.id]=`${l+1}. ${this.slideLabels[e.id]||e.id}`,t),{})}}},c={class:"web-theme-koala"};function V(t,e,l,z,L,s){const d=o("openwb-base-button-group-input"),b=o("openwb-base-range-input"),p=o("sortable-list"),m=o("openwb-base-number-input");return w(),_("div",c,[i(d,{title:"Standard-Fahrzeug ausblenden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.hide_standard_vehicle,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.hide_standard_vehicle"))},{help:a(()=>[...e[7]||(e[7]=[r(" Legt fest, ob das Standardfahrzeug im Fahrzeugkarten- bzw. Ladepunkt-Fahrzeugauswahlmenü ausgeblendet wird. ",-1)])]),_:1},8,["model-value"]),e[14]||(e[14]=u("hr",null,null,-1)),i(b,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":t.webTheme.configuration.history_chart_range/60,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n*60,"configuration.history_chart_range"))},{help:a(()=>[...e[8]||(e[8]=[r(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])]),_:1},8,["model-value"]),e[15]||(e[15]=u("hr",null,null,-1)),i(p,{modelValue:s.slideOrderList,"onUpdate:modelValue":e[2]||(e[2]=n=>s.slideOrderList=n),title:"Oberer Infobereich",labels:s.numberedSlideLabels,nesting:!1},{help:a(()=>[...e[9]||(e[9]=[r(" Anordnung/Reihenfolge des oberen Informationsbereiches. ",-1)])]),_:1},8,["modelValue","labels"]),e[16]||(e[16]=u("hr",null,null,-1)),i(m,{title:"Ladepunkt Kartenansicht Grenzwert",min:0,step:1,"model-value":t.webTheme.configuration.chargePoint_card_view_breakpoint,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.chargePoint_card_view_breakpoint"))},{help:a(()=>[...e[10]||(e[10]=[r(" Legt fest, bis zu wie vielen Ladepunkten die Kartenansicht verwendet wird. Bei mehr Ladepunkten wird automatisch zur Tabellenansicht gewechselt. ",-1)])]),_:1},8,["model-value"]),i(d,{title:"Suchfeld in Ladepunkt Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.chargePoint_table_search_input_field,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.chargePoint_table_search_input_field"))},{help:a(()=>[...e[11]||(e[11]=[r(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Ladepunkt“ und „Fahrzeug“ durchsucht werden. ",-1)])]),_:1},8,["model-value"]),e[17]||(e[17]=u("hr",null,null,-1)),i(m,{title:"Fahrzeug Kartenansicht Grenzwert",min:0,step:1,"model-value":t.webTheme.configuration.vehicle_card_view_breakpoint,"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateConfiguration(n,"configuration.vehicle_card_view_breakpoint"))},{help:a(()=>[...e[12]||(e[12]=[r(" Legt fest, bis zu wie vielen Fahrzeugen die Kartenansicht verwendet wird. Bei mehr Fahrzeugen wird automatisch zur Tabellenansicht gewechselt. ",-1)])]),_:1},8,["model-value"]),i(d,{title:"Suchfeld in Fahrzeug Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.vehicle_table_search_input_field,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateConfiguration(n,"configuration.vehicle_table_search_input_field"))},{help:a(()=>[...e[13]||(e[13]=[r(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Fahrzeug“, „Hersteller“ und „Modell“ durchsucht werden. ",-1)])]),_:1},8,["model-value"])])}const N=h(v,[["render",V],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/koala/webTheme.vue"]]);export{N as default}; +import{W as g}from"./GeneralConfig-9577138e.js";import{S as f}from"./OpenwbSortableList-f1671b8d.js";import{_ as h,u as o,l as w,m as _,G as i,E as a,B as r,A as u}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const v={name:"WebThemeKoala",components:{SortableList:f},mixins:[g],data(){return{slideLabels:{daily_totals:"Tageswerte",history_chart:"Verlaufsdiagramm",flow_diagram:"Energiefluss"}}},computed:{slideOrderList:{get(){return(this.webTheme.configuration.top_carousel_slide_order||["flow_diagram","history_chart","daily_totals"]).map(e=>({id:e}))},set(t){const e=t.map(l=>l.id);this.updateConfiguration(e,"configuration.top_carousel_slide_order")}},numberedSlideLabels(){return this.slideOrderList.reduce((t,e,l)=>(t[e.id]=`${l+1}. ${this.slideLabels[e.id]||e.id}`,t),{})}}},c={class:"web-theme-koala"};function V(t,e,l,z,L,s){const d=o("openwb-base-button-group-input"),b=o("openwb-base-range-input"),p=o("sortable-list"),m=o("openwb-base-number-input");return w(),_("div",c,[i(d,{title:"Standard-Fahrzeug ausblenden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.hide_standard_vehicle,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.hide_standard_vehicle"))},{help:a(()=>[...e[7]||(e[7]=[r(" Legt fest, ob das Standardfahrzeug im Fahrzeugkarten- bzw. Ladepunkt-Fahrzeugauswahlmenü ausgeblendet wird. ",-1)])]),_:1},8,["model-value"]),e[14]||(e[14]=u("hr",null,null,-1)),i(b,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":t.webTheme.configuration.history_chart_range/60,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n*60,"configuration.history_chart_range"))},{help:a(()=>[...e[8]||(e[8]=[r(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])]),_:1},8,["model-value"]),e[15]||(e[15]=u("hr",null,null,-1)),i(p,{modelValue:s.slideOrderList,"onUpdate:modelValue":e[2]||(e[2]=n=>s.slideOrderList=n),title:"Oberer Infobereich",labels:s.numberedSlideLabels,nesting:!1},{help:a(()=>[...e[9]||(e[9]=[r(" Anordnung/Reihenfolge des oberen Informationsbereiches. ",-1)])]),_:1},8,["modelValue","labels"]),e[16]||(e[16]=u("hr",null,null,-1)),i(m,{title:"Ladepunkt Kartenansicht Grenzwert",min:0,step:1,"model-value":t.webTheme.configuration.chargePoint_card_view_breakpoint,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.chargePoint_card_view_breakpoint"))},{help:a(()=>[...e[10]||(e[10]=[r(" Legt fest, bis zu wie vielen Ladepunkten die Kartenansicht verwendet wird. Bei mehr Ladepunkten wird automatisch zur Tabellenansicht gewechselt. ",-1)])]),_:1},8,["model-value"]),i(d,{title:"Suchfeld in Ladepunkt Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.chargePoint_table_search_input_field,"onUpdate:modelValue":e[4]||(e[4]=n=>t.updateConfiguration(n,"configuration.chargePoint_table_search_input_field"))},{help:a(()=>[...e[11]||(e[11]=[r(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Ladepunkt“ und „Fahrzeug“ durchsucht werden. ",-1)])]),_:1},8,["model-value"]),e[17]||(e[17]=u("hr",null,null,-1)),i(m,{title:"Fahrzeug Kartenansicht Grenzwert",min:0,step:1,"model-value":t.webTheme.configuration.vehicle_card_view_breakpoint,"onUpdate:modelValue":e[5]||(e[5]=n=>t.updateConfiguration(n,"configuration.vehicle_card_view_breakpoint"))},{help:a(()=>[...e[12]||(e[12]=[r(" Legt fest, bis zu wie vielen Fahrzeugen die Kartenansicht verwendet wird. Bei mehr Fahrzeugen wird automatisch zur Tabellenansicht gewechselt. ",-1)])]),_:1},8,["model-value"]),i(d,{title:"Suchfeld in Fahrzeug Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.webTheme.configuration.vehicle_table_search_input_field,"onUpdate:modelValue":e[6]||(e[6]=n=>t.updateConfiguration(n,"configuration.vehicle_table_search_input_field"))},{help:a(()=>[...e[13]||(e[13]=[r(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Fahrzeug“, „Hersteller“ und „Modell“ durchsucht werden. ",-1)])]),_:1},8,["model-value"])])}const N=h(v,[["render",V],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/koala/webTheme.vue"]]);export{N as default}; diff --git a/web/settings/assets/webTheme-d99ea023.js b/web/settings/assets/webTheme-85909cc5.js similarity index 66% rename from web/settings/assets/webTheme-d99ea023.js rename to web/settings/assets/webTheme-85909cc5.js index c03768df15..6c7c7412fb 100644 --- a/web/settings/assets/webTheme-d99ea023.js +++ b/web/settings/assets/webTheme-85909cc5.js @@ -1 +1 @@ -import{W as a}from"./GeneralConfig-8c10c8b4.js";import{_ as r,u as i,l as s,m,G as p,E as d,B as l}from"./vendor-1833c026.js";import"./vendor-fortawesome-77ba272b.js";import"./index-25097726.js";import"./vendor-bootstrap-4e7ebeee.js";import"./vendor-jquery-1765c81b.js";import"./vendor-axios-8e1a46ae.js";import"./vendor-sortablejs-5493eb90.js";import"./dynamic-import-helper-be004503.js";const u={name:"WebThemeKoala",mixins:[a]},_={class:"web-theme-standard-legacy"};function f(t,e,c,h,g,b){const n=i("openwb-base-range-input");return s(),m("div",_,[p(n,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":Math.round(t.webTheme.configuration.history_chart_range/(60*1e3)),"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o*60*1e3,"configuration.history_chart_range"))},{help:d(()=>[...e[1]||(e[1]=[l(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])]),_:1},8,["model-value"])])}const W=r(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/standard_legacy/webTheme.vue"]]);export{W as default}; +import{W as a}from"./GeneralConfig-9577138e.js";import{_ as r,u as i,l as s,m,G as p,E as d,B as l}from"./vendor-50125810.js";import"./vendor-fortawesome-641b8eb6.js";import"./index-bbf7119b.js";import"./vendor-bootstrap-01761fad.js";import"./vendor-jquery-a46fe321.js";import"./vendor-axios-1a87d4ae.js";import"./vendor-sortablejs-8982fad4.js";import"./dynamic-import-helper-be004503.js";const u={name:"WebThemeKoala",mixins:[a]},_={class:"web-theme-standard-legacy"};function f(t,e,c,h,g,b){const n=i("openwb-base-range-input");return s(),m("div",_,[p(n,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":Math.round(t.webTheme.configuration.history_chart_range/(60*1e3)),"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o*60*1e3,"configuration.history_chart_range"))},{help:d(()=>[...e[1]||(e[1]=[l(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])]),_:1},8,["model-value"])])}const W=r(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/standard_legacy/webTheme.vue"]]);export{W as default}; diff --git a/web/settings/index.html b/web/settings/index.html index 6de9bbc9e6..72b0e48d83 100644 --- a/web/settings/index.html +++ b/web/settings/index.html @@ -7,13 +7,13 @@ openWB - - - - - - - + + + + + + + diff --git a/web/version b/web/version index 63a1a1ca3c..f05941c9dc 100644 --- a/web/version +++ b/web/version @@ -1 +1 @@ -2.1.9 +2.2.0-Alpha.1-Victron_UDP_Patch-2