diff --git a/.storage/lovelace_resources b/.storage/lovelace_resources index 37a1569d..b9480004 100644 --- a/.storage/lovelace_resources +++ b/.storage/lovelace_resources @@ -256,7 +256,7 @@ }, { "id": "8713ea9c008e4270bb28085eed5be959", - "url": "/hacsfiles/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js?hacstag=1034932856401", + "url": "/hacsfiles/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js?hacstag=1034932856402", "type": "module" }, { diff --git a/custom_components/ingress/manifest.json b/custom_components/ingress/manifest.json index 7cb1b4a5..35fc14cb 100644 --- a/custom_components/ingress/manifest.json +++ b/custom_components/ingress/manifest.json @@ -9,5 +9,5 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/lovelylain/hass_ingress/issues", "single_config_entry": true, - "version": "1.3.0" + "version": "1.3.2" } diff --git a/custom_components/versatile_thermostat/__pycache__/__init__.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/__init__.cpython-314.pyc deleted file mode 100644 index a0637643..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/__init__.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/auto_start_stop_algorithm.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/auto_start_stop_algorithm.cpython-314.pyc deleted file mode 100644 index 679bf674..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/auto_start_stop_algorithm.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/base_entity.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/base_entity.cpython-314.pyc deleted file mode 100644 index e989dc4f..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/base_entity.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/base_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/base_manager.cpython-314.pyc deleted file mode 100644 index 56d7a854..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/base_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/base_thermostat.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/base_thermostat.cpython-314.pyc deleted file mode 100644 index b85f3c68..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/base_thermostat.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/binary_sensor.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/binary_sensor.cpython-314.pyc deleted file mode 100644 index d2a0dd9b..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/binary_sensor.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/climate.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/climate.cpython-314.pyc deleted file mode 100644 index 176f86e3..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/climate.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/commons.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/commons.cpython-314.pyc deleted file mode 100644 index 51567fbe..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/commons.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/commons_type.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/commons_type.cpython-314.pyc deleted file mode 100644 index 028f1fd7..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/commons_type.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/config_flow.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/config_flow.cpython-314.pyc deleted file mode 100644 index dbc2a961..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/config_flow.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/config_schema.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/config_schema.cpython-314.pyc deleted file mode 100644 index 71e2790c..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/config_schema.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/const.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/const.cpython-314.pyc deleted file mode 100644 index 96f398ea..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/const.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/cycle_scheduler.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/cycle_scheduler.cpython-314.pyc deleted file mode 100644 index 7c42bef1..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/cycle_scheduler.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/cycle_tick_logic.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/cycle_tick_logic.cpython-314.pyc deleted file mode 100644 index 33fd46d8..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/cycle_tick_logic.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/ema.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/ema.cpython-314.pyc deleted file mode 100644 index ec7f698a..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/ema.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_auto_start_stop_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_auto_start_stop_manager.cpython-314.pyc deleted file mode 100644 index b0f7505b..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_auto_start_stop_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_central_boiler_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_central_boiler_manager.cpython-314.pyc deleted file mode 100644 index 0c1eaf1c..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_central_boiler_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_central_power_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_central_power_manager.cpython-314.pyc deleted file mode 100644 index ad41fd6b..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_central_power_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_heating_failure_detection_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_heating_failure_detection_manager.cpython-314.pyc deleted file mode 100644 index 208c9704..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_heating_failure_detection_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_lock_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_lock_manager.cpython-314.pyc deleted file mode 100644 index f8cf8334..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_lock_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_motion_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_motion_manager.cpython-314.pyc deleted file mode 100644 index 87d6ac8e..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_motion_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_power_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_power_manager.cpython-314.pyc deleted file mode 100644 index f3359b74..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_power_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_presence_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_presence_manager.cpython-314.pyc deleted file mode 100644 index 6708d207..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_presence_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_repair_incorrect_state_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_repair_incorrect_state_manager.cpython-314.pyc deleted file mode 100644 index 4e4180fc..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_repair_incorrect_state_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_safety_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_safety_manager.cpython-314.pyc deleted file mode 100644 index 5edf521a..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_safety_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_timed_preset_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_timed_preset_manager.cpython-314.pyc deleted file mode 100644 index 8e244f03..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_timed_preset_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/feature_window_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/feature_window_manager.cpython-314.pyc deleted file mode 100644 index 6ba94b53..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/feature_window_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/keep_alive.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/keep_alive.cpython-314.pyc deleted file mode 100644 index df3047c4..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/keep_alive.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/number.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/number.cpython-314.pyc deleted file mode 100644 index f306691d..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/number.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/open_window_algorithm.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/open_window_algorithm.cpython-314.pyc deleted file mode 100644 index d9a97a8a..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/open_window_algorithm.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/opening_degree_algorithm.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/opening_degree_algorithm.cpython-314.pyc deleted file mode 100644 index 3306d718..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/opening_degree_algorithm.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/pi_algorithm.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/pi_algorithm.cpython-314.pyc deleted file mode 100644 index 994c1300..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/pi_algorithm.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/select.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/select.cpython-314.pyc deleted file mode 100644 index ac0d412b..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/select.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/sensor.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/sensor.cpython-314.pyc deleted file mode 100644 index 50cd1870..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/sensor.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/state_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/state_manager.cpython-314.pyc deleted file mode 100644 index 53027058..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/state_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/switch.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/switch.cpython-314.pyc deleted file mode 100644 index 655327a1..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/switch.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/thermostat_climate.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/thermostat_climate.cpython-314.pyc deleted file mode 100644 index cd8c3a00..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/thermostat_climate.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/thermostat_climate_valve.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/thermostat_climate_valve.cpython-314.pyc deleted file mode 100644 index 42a53d36..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/thermostat_climate_valve.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/thermostat_prop.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/thermostat_prop.cpython-314.pyc deleted file mode 100644 index b5f4eb04..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/thermostat_prop.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/thermostat_switch.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/thermostat_switch.cpython-314.pyc deleted file mode 100644 index 86be9492..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/thermostat_switch.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/thermostat_valve.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/thermostat_valve.cpython-314.pyc deleted file mode 100644 index dcf97cc4..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/thermostat_valve.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/underlying_state_manager.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/underlying_state_manager.cpython-314.pyc deleted file mode 100644 index a799f286..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/underlying_state_manager.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/underlyings.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/underlyings.cpython-314.pyc deleted file mode 100644 index 0c963e0b..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/underlyings.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/vtherm_central_api.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/vtherm_central_api.cpython-314.pyc deleted file mode 100644 index 3d827d49..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/vtherm_central_api.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/vtherm_hvac_mode.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/vtherm_hvac_mode.cpython-314.pyc deleted file mode 100644 index 2dc0d6df..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/vtherm_hvac_mode.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/vtherm_preset.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/vtherm_preset.cpython-314.pyc deleted file mode 100644 index 6c82d8a2..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/vtherm_preset.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/__pycache__/vtherm_state.cpython-314.pyc b/custom_components/versatile_thermostat/__pycache__/vtherm_state.cpython-314.pyc deleted file mode 100644 index bc7e3bd9..00000000 Binary files a/custom_components/versatile_thermostat/__pycache__/vtherm_state.cpython-314.pyc and /dev/null differ diff --git a/custom_components/versatile_thermostat/base_manager.py b/custom_components/versatile_thermostat/base_manager.py index 264d8085..9421808b 100644 --- a/custom_components/versatile_thermostat/base_manager.py +++ b/custom_components/versatile_thermostat/base_manager.py @@ -17,6 +17,12 @@ _LOGGER = get_vtherm_logger(__name__) class BaseFeatureManager: """A base class for all feature""" + # Attributes that should be excluded from the recorder history. Each manager + # exposes its custom attributes under a dedicated top-level section key; that + # section name is declared here so the recorder skips the whole section + # (the recorder can only filter top-level keys, not nested ones). + unrecorded_attributes = frozenset() + def __init__(self, vtherm: Any, hass: HomeAssistant, name: str = None): """Init of a featureManager""" self._vtherm = vtherm diff --git a/custom_components/versatile_thermostat/base_thermostat.py b/custom_components/versatile_thermostat/base_thermostat.py index 788e2fcc..eb0f10d8 100644 --- a/custom_components/versatile_thermostat/base_thermostat.py +++ b/custom_components/versatile_thermostat/base_thermostat.py @@ -85,11 +85,16 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): _attr_swing_horizontal_mode = "" _entity_component_unrecorded_attributes = ( - ClimateEntity._entity_component_unrecorded_attributes.union(frozenset({"configuration", "preset_temperatures"})) + ClimateEntity._entity_component_unrecorded_attributes.union(frozenset({"configuration", "preset_temperatures", "specific_states"})) .union(FeaturePresenceManager.unrecorded_attributes) .union(FeaturePowerManager.unrecorded_attributes) .union(FeatureMotionManager.unrecorded_attributes) .union(FeatureWindowManager.unrecorded_attributes) + .union(FeatureSafetyManager.unrecorded_attributes) + .union(FeatureLockManager.unrecorded_attributes) + .union(FeatureTimedPresetManager.unrecorded_attributes) + .union(FeatureHeatingFailureDetectionManager.unrecorded_attributes) + .union(FeatureRepairIncorrectStateManager.unrecorded_attributes) ) ## @@ -192,6 +197,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): self._use_central_config_temperature = False self._hvac_off_reason: str | None = None + self._hvac_mode_reason: str | None = None self._hvac_list: list[VThermHvacMode] = [] self._str_hvac_list: list[str] = [] self._temperature_reason: str | None = None @@ -634,6 +640,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): # Try to get total_energy from specific_states (new format) or root level (old format) specific_states = old_state.attributes.get("specific_states", {}) + self._hvac_mode_reason = specific_states.get(HVAC_MODE_REASON_NAME, self._hvac_off_reason) old_total_energy = specific_states.get(ATTR_TOTAL_ENERGY) if old_total_energy is None: # Fallback to root level for backward compatibility @@ -1280,6 +1287,14 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): window detection or auto-start-stop""" return self._hvac_off_reason + @property + def hvac_mode_reason(self) -> str | None: + """Returns the reason why the current hvac_mode is forced. + Unlike hvac_off_reason, this is set whatever the forced hvac_mode is + (off, fan_only, dry, ...) so the UI can explain why the VTherm is not + in the requested mode.""" + return self._hvac_mode_reason + @property def temperature_reason(self) -> str | None: """Returns the reason of the target temperature @@ -1680,6 +1695,9 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): # issue #1958 - when window_action=fan_only temporarily switches the mode to FAN_ONLY, # the user's intent (requested_state) is still COOL, so we must use AC presets. or (self.vtherm_hvac_mode == VThermHvacMode_FAN_ONLY and self.requested_state.hvac_mode == VThermHvacMode_COOL) + # when auto-start/stop temporarily switches the mode to DRY as its stop mode, + # the user's intent (requested_state) is still COOL, so we must use AC presets. + or (self.vtherm_hvac_mode == VThermHvacMode_DRY and self.requested_state.hvac_mode == VThermHvacMode_COOL) # (self.is_over_switch and self._ac_mode) # or self.vtherm_hvac_mode == VThermHvacMode_COOL # or (self.vtherm_hvac_mode == VThermHvacMode_OFF and self.requested_state.hvac_mode == VThermHvacMode_COOL) @@ -1733,6 +1751,10 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): """Set the reason of hvac_off""" self._hvac_off_reason = hvac_off_reason + def set_hvac_mode_reason(self, hvac_mode_reason: str | None): + """Set the reason why the current hvac_mode is forced""" + self._hvac_mode_reason = hvac_mode_reason + def set_temperature_reason(self, temperature_reason: str | None): """Set the reason of temperature""" self._temperature_reason = temperature_reason @@ -1823,6 +1845,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): "ema_temp": self._ema_temp, "temperature_slope": round(self.last_temperature_slope or 0, 3), "hvac_off_reason": self.hvac_off_reason, + "hvac_mode_reason": self.hvac_mode_reason, ATTR_TOTAL_ENERGY: self.total_energy, "last_change_time_from_vtherm": ( self._last_change_time_from_vtherm.astimezone(self._current_tz).isoformat() if self._last_change_time_from_vtherm is not None else None @@ -2134,7 +2157,13 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]): "This thermostat does not use TPI algorithm." ) - async def service_set_auto_tpi_mode(self, auto_tpi_mode: bool): + async def service_set_auto_tpi_mode( + self, + auto_tpi_mode: bool, + reinitialise: bool = True, + allow_kint_boost_on_stagnation: bool = False, + allow_kext_compensation_on_overshoot: bool = False, + ): """Stub method for Auto TPI mode service on non-TPI thermostats. This service is only available for switch/valve type thermostats that use TPI algorithm. diff --git a/custom_components/versatile_thermostat/const.py b/custom_components/versatile_thermostat/const.py index b2ec3545..dac110d8 100644 --- a/custom_components/versatile_thermostat/const.py +++ b/custom_components/versatile_thermostat/const.py @@ -50,13 +50,14 @@ DOMAIN = "versatile_thermostat" # The order is important. PLATFORMS: list[Platform] = [ - Platform.SELECT, Platform.CLIMATE, Platform.SENSOR, # Number should be after CLIMATE Platform.NUMBER, Platform.BINARY_SENSOR, Platform.SWITCH, + # Select should be after CLIMATE + Platform.SELECT, ] CONF_UNDERLYING_LIST = "underlying_entity_ids" @@ -244,7 +245,18 @@ TYPE_AUTO_START_STOP_LEVELS = Literal[ # pylint: disable=invalid-name AUTO_START_STOP_LEVEL_NONE, ] +# The hvac_mode applied when the auto-start/stop feature detects a stop condition +AUTO_START_STOP_STOP_MODE_OFF = str(VThermHvacMode_OFF) +AUTO_START_STOP_STOP_MODE_FAN_ONLY = str(VThermHvacMode_FAN_ONLY) +AUTO_START_STOP_STOP_MODE_DRY = str(VThermHvacMode_DRY) +AUTO_START_STOP_STOP_MODES = [ + AUTO_START_STOP_STOP_MODE_OFF, + AUTO_START_STOP_STOP_MODE_FAN_ONLY, + AUTO_START_STOP_STOP_MODE_DRY, +] + HVAC_OFF_REASON_NAME = "hvac_off_reason" +HVAC_MODE_REASON_NAME = "hvac_mode_reason" HVAC_OFF_REASON_MANUAL = "hvac_off_manual" HVAC_OFF_REASON_AUTO_START_STOP = "hvac_off_auto_start_stop" HVAC_OFF_REASON_WINDOW_DETECTION = "hvac_off_window_detection" @@ -255,6 +267,15 @@ HVAC_OFF_REASONS = Literal[ # pylint: disable=invalid-name HVAC_OFF_REASON_MANUAL, HVAC_OFF_REASON_AUTO_START_STOP, HVAC_OFF_REASON_WINDOW_DETECTION, HVAC_OFF_REASON_SLEEP_MODE, HVAC_OFF_REASON_SAFETY ] +# The hvac_mode_reason set when the auto-start/stop feature applies a non-off stop mode +HVAC_MODE_REASON_AUTO_START_STOP_FAN_ONLY = "hvac_fan_only_auto_start_stop" +HVAC_MODE_REASON_AUTO_START_STOP_DRY = "hvac_dry_auto_start_stop" +# Maps the stop mode applied by the auto-start/stop feature to the related hvac_mode_reason +AUTO_START_STOP_HVAC_MODE_REASONS = { + AUTO_START_STOP_STOP_MODE_FAN_ONLY: HVAC_MODE_REASON_AUTO_START_STOP_FAN_ONLY, + AUTO_START_STOP_STOP_MODE_DRY: HVAC_MODE_REASON_AUTO_START_STOP_DRY, +} + DEFAULT_SHORT_EMA_PARAMS = { "max_alpha": 0.5, # In sec @@ -502,7 +523,7 @@ ATTR_TOTAL_ENERGY = "total_energy" ATTR_MEAN_POWER_CYCLE = "mean_cycle_power" AUTO_FAN_DTEMP_THRESHOLD = 2 -AUTO_FAN_DEACTIVATED_MODES = ["mute", "quiet", "low", "quiet", "1", "auto"] +AUTO_FAN_DEACTIVATED_MODES = ["mute", "quiet", "low", "quiet", "1", "one", "speed_1", "auto"] CENTRAL_CONFIG_NAME = "Central configuration" diff --git a/custom_components/versatile_thermostat/feature_auto_start_stop_manager.py b/custom_components/versatile_thermostat/feature_auto_start_stop_manager.py index 2fffd237..50b93472 100644 --- a/custom_components/versatile_thermostat/feature_auto_start_stop_manager.py +++ b/custom_components/versatile_thermostat/feature_auto_start_stop_manager.py @@ -32,12 +32,8 @@ class FeatureAutoStartStopManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "auto_start_stop_level", - "auto_start_stop_dtmin", - "auto_start_stop_enable", - "auto_start_stop_accumulated_error", - "auto_start_stop_accumulated_error_threshold", - "auto_start_stop_last_switch_date", + "is_auto_start_stop_configured", + "auto_start_stop_manager", } ) @@ -50,6 +46,7 @@ class FeatureAutoStartStopManager(BaseFeatureManager): self._is_configured: bool = False self._is_auto_start_stop_enabled: bool = False self._is_auto_stop_detected: bool = False + self._stop_mode: str = AUTO_START_STOP_STOP_MODE_OFF @overrides def post_init(self, entry_infos: ConfigData): @@ -126,7 +123,7 @@ class FeatureAutoStartStopManager(BaseFeatureManager): "type": "stop", "name": self.name, "cause": "Auto stop conditions reached", - "hvac_mode": str(VThermHvacMode_OFF), + "hvac_mode": str(self.stop_mode), "saved_hvac_mode": str(self._vtherm.requested_state.hvac_mode), "target_temperature": self._vtherm.target_temperature, "current_temperature": self._vtherm.current_temperature, @@ -207,6 +204,25 @@ class FeatureAutoStartStopManager(BaseFeatureManager): self._vtherm.update_custom_attributes() + async def set_auto_start_stop_stop_mode(self, stop_mode: str): + """Set the hvac_mode to apply when a stop is detected (off/fan_only/dry). + + If a stop is currently active, the new mode is applied immediately + while the stop state is kept.""" + if self._stop_mode == stop_mode: + return + + write_event_log(_LOGGER, self._vtherm, f"Auto start/stop stop mode changed from {self._stop_mode} to {stop_mode}") + self._stop_mode = stop_mode + + # If a stop is currently active, re-evaluate the state so the hvac_mode + # reflects the new choice immediately while keeping the stop state. + if self._is_auto_stop_detected: + self._vtherm.requested_state.force_changed() + await self._vtherm.update_states(force=True) + + self._vtherm.update_custom_attributes() + @callback @overrides def restore_state(self, old_state) -> None: @@ -272,6 +288,7 @@ class FeatureAutoStartStopManager(BaseFeatureManager): "auto_start_stop_accumulated_error_threshold": self._auto_start_stop_algo.accumulated_error_threshold, "auto_start_stop_last_switch_date": self._auto_start_stop_algo.last_switch_date, "is_auto_stop_detected": self.is_auto_stop_detected, + "auto_start_stop_stop_mode": self._stop_mode, } } ) @@ -302,6 +319,11 @@ class FeatureAutoStartStopManager(BaseFeatureManager): """Returns the auto_start_stop_enable""" return self._is_auto_start_stop_enabled + @property + def stop_mode(self) -> VThermHvacMode: + """Return the hvac_mode to apply when a stop is detected (off/fan_only/dry)""" + return VThermHvacMode(self._stop_mode) + @property def is_auto_stopped(self) -> bool: """Returns the is vtherm is stopped and reason is AUTO_START_STOP""" diff --git a/custom_components/versatile_thermostat/feature_heating_failure_detection_manager.py b/custom_components/versatile_thermostat/feature_heating_failure_detection_manager.py index 340f05f9..c2ee8def 100644 --- a/custom_components/versatile_thermostat/feature_heating_failure_detection_manager.py +++ b/custom_components/versatile_thermostat/feature_heating_failure_detection_manager.py @@ -54,12 +54,8 @@ class FeatureHeatingFailureDetectionManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "heating_failure_threshold", - "cooling_failure_threshold", - "heating_failure_detection_delay", - "temperature_change_tolerance", "is_heating_failure_detection_configured", - "failure_detection_enable_template", + "heating_failure_detection_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_lock_manager.py b/custom_components/versatile_thermostat/feature_lock_manager.py index 71dfbc2c..2490d55d 100644 --- a/custom_components/versatile_thermostat/feature_lock_manager.py +++ b/custom_components/versatile_thermostat/feature_lock_manager.py @@ -21,6 +21,14 @@ _LOGGER = get_vtherm_logger(__name__) class FeatureLockManager(BaseFeatureManager): """ The implementation of the Lock Feature Manager for Versatile Thermostat """ + + unrecorded_attributes = frozenset( + { + "is_lock_configured", + "lock_manager", + } + ) + def __init__(self, vtherm: Any, hass: HomeAssistant): """Initialize the FeatureLockManager.""" super().__init__(vtherm, hass) diff --git a/custom_components/versatile_thermostat/feature_motion_manager.py b/custom_components/versatile_thermostat/feature_motion_manager.py index 85106e5b..7e9bb2d7 100644 --- a/custom_components/versatile_thermostat/feature_motion_manager.py +++ b/custom_components/versatile_thermostat/feature_motion_manager.py @@ -42,12 +42,8 @@ class FeatureMotionManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "motion_sensor_entity_id", "is_motion_configured", - "motion_delay_sec", - "motion_off_delay_sec", - "motion_preset", - "no_motion_preset", + "motion_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_power_manager.py b/custom_components/versatile_thermostat/feature_power_manager.py index 770134d1..312c23a7 100644 --- a/custom_components/versatile_thermostat/feature_power_manager.py +++ b/custom_components/versatile_thermostat/feature_power_manager.py @@ -31,13 +31,8 @@ class FeaturePowerManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "power_sensor_entity_id", - "max_power_sensor_entity_id", "is_power_configured", - "device_power", - "power_temp", - "current_power", - "current_max_power", + "power_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_presence_manager.py b/custom_components/versatile_thermostat/feature_presence_manager.py index 11ef17a8..d985c567 100644 --- a/custom_components/versatile_thermostat/feature_presence_manager.py +++ b/custom_components/versatile_thermostat/feature_presence_manager.py @@ -38,8 +38,8 @@ class FeaturePresenceManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "presence_sensor_entity_id", "is_presence_configured", + "presence_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_repair_incorrect_state_manager.py b/custom_components/versatile_thermostat/feature_repair_incorrect_state_manager.py index e117a4e6..f15600a7 100644 --- a/custom_components/versatile_thermostat/feature_repair_incorrect_state_manager.py +++ b/custom_components/versatile_thermostat/feature_repair_incorrect_state_manager.py @@ -38,6 +38,7 @@ class FeatureRepairIncorrectStateManager(BaseFeatureManager): unrecorded_attributes = frozenset( { "is_repair_incorrect_state_configured", + "repair_incorrect_state_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_safety_manager.py b/custom_components/versatile_thermostat/feature_safety_manager.py index f3688e37..75d625cb 100644 --- a/custom_components/versatile_thermostat/feature_safety_manager.py +++ b/custom_components/versatile_thermostat/feature_safety_manager.py @@ -32,10 +32,8 @@ class FeatureSafetyManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "safety_delay_min", - "safety_min_on_percent", - "safety_default_on_percent", "is_safety_configured", + "safety_manager", } ) diff --git a/custom_components/versatile_thermostat/feature_window_manager.py b/custom_components/versatile_thermostat/feature_window_manager.py index d0e63a46..e9a42c0c 100644 --- a/custom_components/versatile_thermostat/feature_window_manager.py +++ b/custom_components/versatile_thermostat/feature_window_manager.py @@ -43,15 +43,8 @@ class FeatureWindowManager(BaseFeatureManager): unrecorded_attributes = frozenset( { - "window_sensor_entity_id", "is_window_configured", - "window_delay_sec", - "window_off_delay_sec", - "window_auto_configured", - "window_auto_open_threshold", - "window_auto_close_threshold", - "window_auto_max_duration", - "window_action", + "window_manager", } ) @@ -134,7 +127,8 @@ class FeatureWindowManager(BaseFeatureManager): # Try to get last window bypass state old_state = await self._vtherm.async_get_last_state() - self._is_window_bypass = old_state is not None and hasattr(old_state, "attributes") and old_state.attributes.get("is_window_bypass") is True + old_attributes = getattr(old_state, "attributes", None) or {} + self._is_window_bypass = (old_attributes.get("window_manager") or {}).get("is_window_bypass") is True if self._is_configured: self.stop_listening() diff --git a/custom_components/versatile_thermostat/manifest.json b/custom_components/versatile_thermostat/manifest.json index affa825b..4128684d 100644 --- a/custom_components/versatile_thermostat/manifest.json +++ b/custom_components/versatile_thermostat/manifest.json @@ -22,6 +22,6 @@ "vtherm_api>=0.3.0" ], "ssdp": [], - "version": "10.0.2", + "version": "10.1.0", "zeroconf": [] } diff --git a/custom_components/versatile_thermostat/pi_algorithm.py b/custom_components/versatile_thermostat/pi_algorithm.py index 6fabb41d..087e7533 100644 --- a/custom_components/versatile_thermostat/pi_algorithm.py +++ b/custom_components/versatile_thermostat/pi_algorithm.py @@ -86,8 +86,11 @@ class PITemperatureRegulator: # Calculate the sum of error (I) # Discussion #384. Finally don't reset the accumulated error but smoothly reset it if the sign is inversed # If the error have change its sign, reset smoothly the accumulated error + # The divisor is clamped so that a fractional cycle (time_delta < 0.5), which happens when + # the regulation is triggered twice in quick succession (e.g. repeated target changes), + # can never amplify the accumulated error instead of decaying it. if self.overheat_protection and error * self.accumulated_error < 0: - self.accumulated_error = self.accumulated_error / (2.0 * time_delta) + self.accumulated_error = self.accumulated_error / (2.0 * max(time_delta, 0.5)) self.accumulated_error += error * time_delta diff --git a/custom_components/versatile_thermostat/select.py b/custom_components/versatile_thermostat/select.py index a3f65bb9..242858e4 100644 --- a/custom_components/versatile_thermostat/select.py +++ b/custom_components/versatile_thermostat/select.py @@ -4,8 +4,9 @@ import logging from vtherm_api.log_collector import get_vtherm_logger -from homeassistant.core import HomeAssistant +from homeassistant.core import HomeAssistant, callback, Event +from homeassistant.const import EntityCategory from homeassistant.components.select import SelectEntity from homeassistant.helpers.device_registry import DeviceInfo, DeviceEntryType from homeassistant.config_entries import ConfigEntry @@ -18,14 +19,22 @@ from custom_components.versatile_thermostat.base_thermostat import ( from custom_components.versatile_thermostat.vtherm_central_api import VersatileThermostatAPI +from .base_entity import VersatileThermostatBaseEntity + from .const import ( DOMAIN, DEVICE_MANUFACTURER, CONF_NAME, CONF_THERMOSTAT_TYPE, CONF_THERMOSTAT_CENTRAL_CONFIG, + CONF_THERMOSTAT_CLIMATE, + CONF_USE_AUTO_START_STOP_FEATURE, CENTRAL_MODE_AUTO, CENTRAL_MODES, + AUTO_START_STOP_STOP_MODE_OFF, + AUTO_START_STOP_STOP_MODE_FAN_ONLY, + AUTO_START_STOP_STOP_MODE_DRY, + AUTO_START_STOP_STOP_MODES, overrides, ) from .commons import write_event_log @@ -44,14 +53,16 @@ async def async_setup_entry( _LOGGER.debug("%s - Calling async_setup_entry entry=%s, data=%s", name, entry.entry_id, entry.data) vt_type = entry.data.get(CONF_THERMOSTAT_TYPE) - if vt_type != CONF_THERMOSTAT_CENTRAL_CONFIG: - return + entities = [] - entities = [ - CentralModeSelect(hass, unique_id, name, entry.data), - ] + if vt_type == CONF_THERMOSTAT_CENTRAL_CONFIG: + entities.append(CentralModeSelect(hass, unique_id, name, entry.data)) + elif vt_type == CONF_THERMOSTAT_CLIMATE: + if entry.data.get(CONF_USE_AUTO_START_STOP_FEATURE) is True: + entities.append(AutoStartStopStopModeSelect(hass, unique_id, name, entry.data)) - async_add_entities(entities, True) + if entities: + async_add_entities(entities, True) class CentralModeSelect(SelectEntity, RestoreEntity): @@ -124,3 +135,111 @@ class CentralModeSelect(SelectEntity, RestoreEntity): def __str__(self) -> str: return f"VersatileThermostat-{self.name}" + + +class AutoStartStopStopModeSelect( + VersatileThermostatBaseEntity, SelectEntity, RestoreEntity +): + """Representation of the hvac_mode applied when the auto-start/stop + feature detects a stop condition (off, fan_only or dry).""" + + def __init__( + self, hass: HomeAssistant, unique_id: str, name: str, entry_infos: ConfigData + ): + """Initialize the auto-start/stop stop mode select""" + super().__init__(hass, unique_id, name) + self._attr_name = "Auto start/stop stop mode" + self._attr_unique_id = f"{self._device_name}_auto_start_stop_stop_mode" + self._attr_translation_key = "auto_start_stop_stop_mode" + self._attr_entity_category = EntityCategory.CONFIG + self._attr_current_option = AUTO_START_STOP_STOP_MODE_OFF + + @property + def icon(self) -> str | None: + """The icon""" + return "mdi:hvac" + + @property + def options(self) -> list[str]: + """The available options, computed from the underlying supported hvac_modes""" + return self._build_options() + + def _build_options(self) -> list[str]: + """Build the available options from the underlying supported hvac_modes. + fan_only and dry are only proposed if the underlying supports them.""" + options = [AUTO_START_STOP_STOP_MODE_OFF] + climate = self.my_climate + if climate is not None: + hvac_modes = climate.hvac_modes + if AUTO_START_STOP_STOP_MODE_FAN_ONLY in hvac_modes: + options.append(AUTO_START_STOP_STOP_MODE_FAN_ONLY) + if AUTO_START_STOP_STOP_MODE_DRY in hvac_modes: + options.append(AUTO_START_STOP_STOP_MODE_DRY) + return options + + @callback + def my_climate_is_initialized(self): + """Called when the associated climate is resolved -> refresh the options. + The restored option is only validated once the VTherm is fully + initialized (its underlying hvac_modes are available).""" + + self._refresh_current_option() + self.hass.create_task(self.update_my_state_and_vtherm()) + + def _refresh_current_option(self): + """Reset the current option to off only once the VTherm is fully + initialized and its underlying does not support the current option. + While the VTherm is not initialized, the restored option is kept as is + to avoid discarding it before the underlying hvac_modes are available.""" + climate = self.my_climate + if climate is None or not climate.is_initialized: + return + if self._attr_current_option not in self.options: + self._attr_current_option = AUTO_START_STOP_STOP_MODE_OFF + + @overrides + async def async_my_climate_changed(self, event: Event = None): + """Called when my climate changes -> refresh the available options. + The underlying supported hvac_modes may become available only after + the VTherm has adopted them, so the options must be recomputed.""" + if self.my_climate is None: + return + self._refresh_current_option() + self.async_write_ha_state() + + @overrides + async def async_added_to_hass(self): + # Restore the persisted value before looking for the climate so that + # my_climate_is_initialized validates the options against it. + last_state = await self.async_get_last_state() + if last_state is not None and last_state.state in AUTO_START_STOP_STOP_MODES: + self._attr_current_option = last_state.state + + await super().async_added_to_hass() + + await self.update_my_state_and_vtherm() + + async def update_my_state_and_vtherm(self): + """Update the stop mode in my VTherm auto-start/stop manager""" + self.async_write_ha_state() + if ( + self.my_climate is not None + and self.my_climate.auto_start_stop_manager is not None + ): + await self.my_climate.auto_start_stop_manager.set_auto_start_stop_stop_mode(self._attr_current_option) + + @overrides + async def async_select_option(self, option: str) -> None: + """Change the selected option.""" + if option == self._attr_current_option: + return + + if option in self.options: + write_event_log(_LOGGER, self, f"Auto start/stop stop mode is being changed from {self._attr_current_option} to {option}") + self._attr_current_option = option + await self.update_my_state_and_vtherm() + + @overrides + def select_option(self, option: str) -> None: + """Change the selected option""" + self.hass.create_task(self.async_select_option(option)) diff --git a/custom_components/versatile_thermostat/state_manager.py b/custom_components/versatile_thermostat/state_manager.py index 06354be8..1f6a27f3 100644 --- a/custom_components/versatile_thermostat/state_manager.py +++ b/custom_components/versatile_thermostat/state_manager.py @@ -13,6 +13,7 @@ from .const import ( HVAC_OFF_REASON_AUTO_START_STOP, HVAC_OFF_REASON_SLEEP_MODE, HVAC_OFF_REASON_CENTRAL_MODE, + AUTO_START_STOP_HVAC_MODE_REASONS, CONF_WINDOW_ECO_TEMP, CONF_WINDOW_FAN_ONLY, CONF_WINDOW_FROST_TEMP, @@ -112,13 +113,16 @@ class StateManager: if vtherm.last_central_mode == CENTRAL_MODE_STOPPED: self._current_state.set_hvac_mode(VThermHvacMode_OFF) vtherm.set_hvac_off_reason(HVAC_OFF_REASON_CENTRAL_MODE) + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_CENTRAL_MODE) elif vtherm.safety_manager.is_safety_detected and (vtherm.is_over_climate or vtherm.safety_manager.safety_default_on_percent <= 0.0): self._current_state.set_hvac_mode(VThermHvacMode_OFF) vtherm.set_hvac_off_reason(HVAC_OFF_REASON_SAFETY) + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_SAFETY) # then check if window is open elif vtherm.window_manager.is_window_detected and self._requested_state.hvac_mode != VThermHvacMode_OFF: + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_WINDOW_DETECTION) if vtherm.window_manager.window_action == CONF_WINDOW_FAN_ONLY and VThermHvacMode_FAN_ONLY in vtherm.vtherm_hvac_modes: self._current_state.set_hvac_mode(VThermHvacMode_FAN_ONLY) elif vtherm.window_manager.window_action == CONF_WINDOW_TURN_OFF or ( @@ -128,10 +132,17 @@ class StateManager: vtherm.set_hvac_off_reason(HVAC_OFF_REASON_WINDOW_DETECTION) elif vtherm.auto_start_stop_manager and vtherm.auto_start_stop_manager.is_auto_stop_detected and self._requested_state.hvac_mode != VThermHvacMode_OFF: - self._current_state.set_hvac_mode(VThermHvacMode_OFF) - vtherm.set_hvac_off_reason(HVAC_OFF_REASON_AUTO_START_STOP) + stop_mode = vtherm.auto_start_stop_manager.stop_mode + if stop_mode != VThermHvacMode_OFF and stop_mode in vtherm.vtherm_hvac_modes: + self._current_state.set_hvac_mode(stop_mode) + vtherm.set_hvac_mode_reason(AUTO_START_STOP_HVAC_MODE_REASONS.get(str(stop_mode), HVAC_OFF_REASON_AUTO_START_STOP)) + else: + self._current_state.set_hvac_mode(VThermHvacMode_OFF) + vtherm.set_hvac_off_reason(HVAC_OFF_REASON_AUTO_START_STOP) + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_AUTO_START_STOP) elif vtherm.last_central_mode == CENTRAL_MODE_COOL_ONLY and self._requested_state.hvac_mode != VThermHvacMode_OFF: + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_CENTRAL_MODE) if VThermHvacMode_COOL in vtherm.vtherm_hvac_modes: self._current_state.set_hvac_mode(VThermHvacMode_COOL) else: @@ -139,6 +150,7 @@ class StateManager: self._current_state.set_hvac_mode(VThermHvacMode_OFF) elif vtherm.last_central_mode == CENTRAL_MODE_HEAT_ONLY and self._requested_state.hvac_mode != VThermHvacMode_OFF: + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_CENTRAL_MODE) if VThermHvacMode_HEAT in vtherm.vtherm_hvac_modes: self._current_state.set_hvac_mode(VThermHvacMode_HEAT) else: @@ -146,6 +158,7 @@ class StateManager: self._current_state.set_hvac_mode(VThermHvacMode_OFF) elif vtherm.last_central_mode == CENTRAL_MODE_FROST_PROTECTION and self._requested_state.hvac_mode != VThermHvacMode_OFF: + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_CENTRAL_MODE) preset_modes = vtherm.vtherm_preset_modes if preset_modes is None or VThermPreset.FROST not in preset_modes or VThermHvacMode_HEAT not in vtherm.vtherm_hvac_modes: self._current_state.set_hvac_mode(VThermHvacMode_OFF) @@ -157,7 +170,11 @@ class StateManager: else: if self._current_state.hvac_mode == VThermHvacMode_OFF and self._requested_state.hvac_mode == VThermHvacMode_OFF: _LOGGER.info("%s - already in OFF. Change the reason to MANUAL", vtherm) - vtherm.set_hvac_off_reason(HVAC_OFF_REASON_MANUAL if not vtherm.is_sleeping else HVAC_OFF_REASON_SLEEP_MODE) + reason = HVAC_OFF_REASON_MANUAL if not vtherm.is_sleeping else HVAC_OFF_REASON_SLEEP_MODE + vtherm.set_hvac_off_reason(reason) + vtherm.set_hvac_mode_reason(reason) + else: + vtherm.set_hvac_mode_reason(None) self._current_state.set_hvac_mode(self._requested_state.hvac_mode) @@ -166,6 +183,7 @@ class StateManager: vtherm.set_hvac_off_reason(None) elif self._current_state.hvac_mode == VThermHvacMode_SLEEP: vtherm.set_hvac_off_reason(HVAC_OFF_REASON_SLEEP_MODE) + vtherm.set_hvac_mode_reason(HVAC_OFF_REASON_SLEEP_MODE) return self._current_state.is_hvac_mode_changed diff --git a/custom_components/versatile_thermostat/strings.json b/custom_components/versatile_thermostat/strings.json index 9b635c95..e7d83412 100644 --- a/custom_components/versatile_thermostat/strings.json +++ b/custom_components/versatile_thermostat/strings.json @@ -933,6 +933,16 @@ "boost_ac_away_temp": { "name": "Boost ac away" } + }, + "select": { + "auto_start_stop_stop_mode": { + "name": "Auto start/stop stop mode", + "state": { + "off": "Off", + "fan_only": "Fan only", + "dry": "Dry" + } + } } }, "services": { diff --git a/custom_components/versatile_thermostat/thermostat_climate.py b/custom_components/versatile_thermostat/thermostat_climate.py index 4ae50a0e..0764ac17 100644 --- a/custom_components/versatile_thermostat/thermostat_climate.py +++ b/custom_components/versatile_thermostat/thermostat_climate.py @@ -174,6 +174,29 @@ class ThermostatOverClimate(BaseThermostat[UnderlyingClimate]): ) return + if self.vtherm_hvac_mode not in (VThermHvacMode_HEAT, VThermHvacMode_COOL): + _LOGGER.debug( + "%s - auto-regulation is disabled cause VTherm hvac_mode is %s (not heat nor cool). Sending the raw target temperature", + self, + self.vtherm_hvac_mode, + ) + # Outside of heat/cool the device is active but must receive the original + # (non regulated) target temperature. Force the regulated temperature to the + # target temperature and send it to all underlyings only when it differs from + # the last sent value, to avoid resending the same setpoint on each cycle. + self._regulated_target_temp = self.target_temperature + for under in self._underlyings: + if under.last_sent_temperature == self.target_temperature: + continue + await under.set_temperature( + self.target_temperature, + self._attr_max_temp, + self._attr_min_temp, + ) + # Reset the timer of last regulation change to avoid time delta too high + self._last_regulation_change = self.now + return + _LOGGER.info( "%s - Calling ThermostatClimate._send_regulated_temperature force=%s", self, @@ -416,8 +439,10 @@ class ThermostatOverClimate(BaseThermostat[UnderlyingClimate]): DOMAIN, ) - if not self._regulation_algo: - # A default empty algo (which does nothing) + if self._auto_regulation_mode == CONF_AUTO_REGULATION_NONE or not self._regulation_algo: + # A default empty algo (which does nothing). It must also replace any + # previously active algo when switching to None at runtime, else the + # old regulator keeps sending regulated setpoints to the underlyings. self._regulation_algo = PITemperatureRegulator(self.target_temperature, 0, 0, 0, 0, 0, True) def choose_auto_fan_mode(self, auto_fan_mode: str): @@ -440,8 +465,8 @@ class ThermostatOverClimate(BaseThermostat[UnderlyingClimate]): return None def determine_fan_mode_contains_speed(fan_modes: list[str]) -> bool: - """Determine if the fan_modes contains speed modes by searching for the keywords "low"/"1".""" - for val in ["low", "1"]: + """Determine if the fan_modes contains speed modes by searching for the keywords "low"/"1"/"one"/"speed_1".""" + for val in ["low", "1", "one", "speed_1"]: if find_fan_mode(fan_modes, val): return True return False @@ -453,6 +478,10 @@ class ThermostatOverClimate(BaseThermostat[UnderlyingClimate]): index = speed_modes.index("low") elif "1" in speed_modes: index = speed_modes.index("1") + elif "one" in speed_modes: + index = speed_modes.index("one") + elif "speed_1" in speed_modes: + index = speed_modes.index("speed_1") if index > -1 and index >= len(speed_modes) / 2: speed_modes.reverse() diff --git a/custom_components/versatile_thermostat/translations/de.json b/custom_components/versatile_thermostat/translations/de.json index 04b6b898..cf141298 100644 --- a/custom_components/versatile_thermostat/translations/de.json +++ b/custom_components/versatile_thermostat/translations/de.json @@ -300,7 +300,8 @@ "heater_cooling_time": "Auskühlzeit (min)", "auto_tpi_heating_rate": "Aufheizgeschwindigkeit ({unit}/h)", "auto_tpi_aggressiveness": "Aggressivität", - "auto_tpi_enable_advanced_settings": "Erweiterte Einstellungen aktivieren" + "auto_tpi_enable_advanced_settings": "Erweiterte Einstellungen aktivieren", + "auto_tpi_continuous_kext": "Kontinuierliches Kext-lernen" }, "data_description": { "auto_tpi_learning_type": "Wähle 'Erkundung' für den ersten Start (gewichteter Durchschnitt, Gewicht 1) oder 'Feinabstimmung' für kontinuierliche Anpassungen (EWMA, Alpha 0,08).", @@ -308,7 +309,8 @@ "heater_cooling_time": "Abkühlzeit nach dem Ausschalten (Minuten)\n\n| Typ | Aufheizzeit | Abkühlzeit |\n| :--- | :--- | :--- |\n| Elektroheizkörper | 5 Min. | 7 Min. |\n| Wasserheizkörper | 15 Min. | 20 Min. |\n| Fußbodenheizung | 30 Min. | 45 Min. |", "auto_tpi_heating_rate": "Temperaturanstiegskapazität des Heizkörpers ({unit} pro Stunde). Kann über den Aktionsdienst 'Kapazität kalibrieren' geschätzt werden.", "auto_tpi_aggressiveness": "Skalierungsfaktor für die gelernten Koeffizienten (50-100 %). Niedrigere Werte führen zu konservativeren Koeffizienten und verringern das Risiko einer Überschreitung des Sollwerts.", - "auto_tpi_enable_advanced_settings": "Aktivieren Sie diese Option, um die Feinabstimmung der Parameter (Alpha, Abklingen, Gewicht) vorzunehmen." + "auto_tpi_enable_advanced_settings": "Option anwählen, um die Feinabstimmung der Parameter (Alpha, Abklingen, Gewicht) vorzunehmen.", + "auto_tpi_continuous_kext": "Kontrollkästchen aktivieren, um das kontinuierliche Lernen des externen Koeffizienten (Kext) außerhalb von AutoTPI-Sitzungen zu ermöglichen." } }, "auto_tpi_avg_settings": { @@ -326,11 +328,13 @@ "description": "Parameter für die EWMA-Methode.\n\nEmpfehlungen :\n| Situation | Alpha (ema_alpha) | Abklingrate (ema_decay_rate) |\n| :--- | :--- | :--- |\n| Lernstart | 0.15 | 0.08 |\n| Lernabschluß | 0.08 | 0.12 |\n| Kontinuierliches Lernen | 0.05 | 0.02 |", "data": { "auto_tpi_ema_alpha": "Alpha", - "auto_tpi_ema_decay_rate": "Rückgangsrate" + "auto_tpi_ema_decay_rate": "Rückgangsrate", + "auto_tpi_continuous_kext_alpha": "Continuous Kext Alpha" }, "data_description": { "auto_tpi_ema_alpha": "Glättungsfaktor (0-1). Höher = schnellere Anpassung", - "auto_tpi_ema_decay_rate": "Rate, mit der Alpha im Laufe der Zeit abnimmt (Stabilisierung)" + "auto_tpi_ema_decay_rate": "Rate, mit der Alpha im Laufe der Zeit abnimmt (Stabilisierung)", + "auto_tpi_continuous_kext_alpha": "Smoothing factor for continuous Kext learning (Alpha). Default 0.04 (approx 3-5 days adaptation)." } }, "sync_device_internal_temp": { @@ -698,7 +702,8 @@ "heater_heating_time": "Aufheizzeit (min)", "heater_cooling_time": "Abkühlzeit (min)", "auto_tpi_aggressiveness": "Aggressivität", - "auto_tpi_enable_advanced_settings": "Erweiterte Einstellungen aktivieren" + "auto_tpi_enable_advanced_settings": "Erweiterte Einstellungen aktivieren", + "auto_tpi_continuous_kext": "Kontinuierliches Kext-lernen" }, "data_description": { "auto_tpi_learning_type": "Wähle 'Erkundung' für den ersten Start (gewichteter Durchschnitt, Gewicht 1) oder 'Feinabstimmung' für kontinuierliche Anpassungen (EWMA, Alpha 0,08).", @@ -706,7 +711,8 @@ "heater_heating_time": "Zeit bis zum Erreichen der vollen Leistung (Minuten)", "heater_cooling_time": "Abkühlzeit nach dem Ausschalten (Minuten)\n\n| Typ | Aufheizzeit | Abkühlzeit |\n| :--- | :--- | :--- |\n| Elektroheizkörper | 5 Min. | 7 Min. |\n| Wasserheizkörper | 15 Min. | 20 Min. |\n| Fußbodenheizung | 30 Min. | 45 Min. |", "auto_tpi_aggressiveness": "Skalierungsfaktor für die gelernten Koeffizienten (50–100 %). Niedrigere Werte führen zu konservativeren Koeffizienten und verringern das Risiko einer Überschreitung des Sollwerts.", - "auto_tpi_enable_advanced_settings": "Kontrollkästchen aktivieren, um die Parameter des ausgewählten Algorithmus zu ändern." + "auto_tpi_enable_advanced_settings": "Kontrollkästchen aktivieren, um die Parameter des ausgewählten Algorithmus zu ändern.", + "auto_tpi_continuous_kext": "Kontrollkästchen aktivieren, um das kontinuierliche Lernen des externen Koeffizienten (Kext) außerhalb von AutoTPI-Sitzungen zu ermöglichen." } }, "auto_tpi_avg_settings": { @@ -724,11 +730,13 @@ "description": "Parameter für die EWMA-Methode.\n\nEmpfehlungen:\n| Situation | Alpha (ema_alpha) | Abklingrate (ema_decay_rate) |\n| :--- | :--- | :--- |\n| Anfängliches Lernen | 0,15 | 0,08 |\n| Endgültiges Lernen | 0,08 | 0,12 |\n| Kontinuierliches Lernen | 0,05 | 0,02 |", "data": { "auto_tpi_ema_alpha": "Alpha", - "auto_tpi_ema_decay_rate": "Rückgangsrate" + "auto_tpi_ema_decay_rate": "Rückgangsrate", + "auto_tpi_continuous_kext_alpha": "Kontinuierliches Kext Alpha" }, "data_description": { "auto_tpi_ema_alpha": "Glättungsfaktor (0-1). Höher = schnellere Anpassung", - "auto_tpi_ema_decay_rate": "Rate, mit der Alpha im Laufe der Zeit abnimmt (Stabilisierung)" + "auto_tpi_ema_decay_rate": "Rate, mit der Alpha im Laufe der Zeit abnimmt (Stabilisierung)", + "auto_tpi_continuous_kext_alpha": "Glättungsfaktor für kontinuierliches Kext-Lernen (Alpha). Standardwert 0,04 (Anpassungszeit von ca. 3–5 Tagen)." } }, "heating_failure_detection": { @@ -776,7 +784,7 @@ "options": { "thermostat_central_config": "Zentrale Konfiguration", "thermostat_over_switch": "Thermostat an einem Schalter", - "thermostat_over_climate": "Thermostat an einem Thermostat", + "thermostat_over_climate": "Thermostat mittels Thermostat/Klimaanlage", "thermostat_over_valve": "Thermostat an einem Ventil" } }, @@ -1013,6 +1021,24 @@ "description": "Der optionale Sperrcode" } } + }, + "download_logs": { + "name": "Download logs", + "description": "Gefilterte Protokolle für eine VTherm-Entität erfassen und herunterladen.", + "fields": { + "log_level": { + "name": "Log level", + "description": "Mindestprotokollstufe für die Erfassung" + }, + "period_start": { + "name": "Period start", + "description": "Erfassungszeitraum Start" + }, + "period_end": { + "name": "Period end", + "description": "Erfassungszeitraum Ende" + } + } } }, "exceptions": { diff --git a/custom_components/versatile_thermostat/translations/en.json b/custom_components/versatile_thermostat/translations/en.json index 2f1fdfca..9f8c4e7d 100644 --- a/custom_components/versatile_thermostat/translations/en.json +++ b/custom_components/versatile_thermostat/translations/en.json @@ -933,6 +933,16 @@ "boost_ac_away_temp": { "name": "Boost ac away" } + }, + "select": { + "auto_start_stop_stop_mode": { + "name": "Auto start/stop stop mode", + "state": { + "off": "Off", + "fan_only": "Fan only", + "dry": "Dry" + } + } } }, "services": { diff --git a/custom_components/versatile_thermostat/translations/fr.json b/custom_components/versatile_thermostat/translations/fr.json index 7658a3e4..6c563c01 100644 --- a/custom_components/versatile_thermostat/translations/fr.json +++ b/custom_components/versatile_thermostat/translations/fr.json @@ -935,6 +935,16 @@ "boost_ac_away_temp": { "name": "Boost clim abs" } + }, + "select": { + "auto_start_stop_stop_mode": { + "name": "Mode d'arrêt auto start/stop", + "state": { + "off": "Arrêt", + "fan_only": "Ventilation seule", + "dry": "Déshumidification" + } + } } }, "services": { diff --git a/custom_components/versatile_thermostat/underlyings.py b/custom_components/versatile_thermostat/underlyings.py index 868f8019..2aa82908 100644 --- a/custom_components/versatile_thermostat/underlyings.py +++ b/custom_components/versatile_thermostat/underlyings.py @@ -860,8 +860,15 @@ class UnderlyingClimate(UnderlyingEntity): _LOGGER.info("%s - Set setpoint temperature to: %s", self, target_temp) - # Issue 807 add TARGET_TEMPERATURE only if in the features - if ClimateEntityFeature.TARGET_TEMPERATURE_RANGE in self.supported_features: + # Issue 807 add TARGET_TEMPERATURE only if in the features. + # Use a bitwise test (not the `in` operator): self.supported_features is read + # from the underlying entity's state attributes, where Home Assistant may store + # it as a plain int (e.g. for restored states). `EnumMember in ` raises + # `TypeError: argument of type 'int' is not a container or iterable`, whereas + # the bitwise `&` works for both a plain int and a ClimateEntityFeature IntFlag. + # This matches the bitwise pattern already used elsewhere in this class + # (fan_modes / swing_modes). + if self.supported_features & ClimateEntityFeature.TARGET_TEMPERATURE_RANGE: data.update( { "target_temp_high": target_temp, @@ -869,7 +876,7 @@ class UnderlyingClimate(UnderlyingEntity): } ) - if ClimateEntityFeature.TARGET_TEMPERATURE in self.supported_features: + if self.supported_features & ClimateEntityFeature.TARGET_TEMPERATURE: data["temperature"] = target_temp try: diff --git a/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js b/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js index f8d0a522..30f6faf9 100644 --- a/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js +++ b/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js @@ -1 +1 @@ -const _0x160929=_0x53a5;(function(_0x14e4d7,_0x4b2248){const _0x1d0daf=_0x53a5,_0x4c622a=_0x14e4d7();while(!![]){try{const _0x22f39b=-parseInt(_0x1d0daf(0x3dd))/0x1+-parseInt(_0x1d0daf(0xc34))/0x2+parseInt(_0x1d0daf(0x69f))/0x3*(parseInt(_0x1d0daf(0x705))/0x4)+parseInt(_0x1d0daf(0x7a4))/0x5*(-parseInt(_0x1d0daf(0xd2e))/0x6)+parseInt(_0x1d0daf(0x579))/0x7*(parseInt(_0x1d0daf(0x2ee))/0x8)+parseInt(_0x1d0daf(0xe14))/0x9+-parseInt(_0x1d0daf(0x595))/0xa;if(_0x22f39b===_0x4b2248)break;else _0x4c622a['push'](_0x4c622a['shift']());}catch(_0x2a17a0){_0x4c622a['push'](_0x4c622a['shift']());}}}(_0x3ef4,0x566c6));const VERSION=_0x160929(0x847),INTERVAL_PICKER_OPTIONS=Object[_0x160929(0x77b)]([{'hours':0x1,'label':'1H'},{'hours':0x2,'label':'2H'},{'hours':0x4,'label':'4H'},{'hours':0x8,'label':'8H'},{'hours':0xc,'label':_0x160929(0x50c)},{'hours':0x18,'label':_0x160929(0x1da)},{'hours':0x48,'label':'3D'},{'hours':0xa8,'label':'7D'},{'hours':0x150,'label':'14D'},{'hours':0x2d0,'label':_0x160929(0x871)},{'hours':0x870,'label':'90D'},{'hours':0x10e0,'label':'6M'},{'hours':0x2238,'label':'1Y'}]),INTERVAL_PICKER_DEFAULT_LABELS=Object['freeze'](['1H','2H','4H','8H',_0x160929(0x50c),_0x160929(0x1da),'7D']),DATE_PICKER_VALID_MODES=Object[_0x160929(0x77b)](['day',_0x160929(0x26d),_0x160929(0x4e2),_0x160929(0x4f9)]),DATE_PICKER_RELATIVE_MODES=Object[_0x160929(0x77b)]({'last_24h':{'hours':0x18,'label':_0x160929(0xa10),'btn':_0x160929(0x1da)},'last_3d':{'days':0x3,'label':_0x160929(0xb7b),'btn':'3D'},'last_7d':{'days':0x7,'label':_0x160929(0x528),'btn':'7D'},'last_15d':{'days':0xf,'label':_0x160929(0xdaf),'btn':'15D'},'last_30d':{'days':0x1e,'label':'Last\x2030\x20days','btn':'30D'},'last_90d':{'days':0x5a,'label':'Last\x2090\x20days','btn':_0x160929(0xbf4)},'last_180d':{'days':0xb4,'label':_0x160929(0x615),'btn':'180D'},'last_12m':{'months':0xc,'label':'Last\x2012\x20months','btn':_0x160929(0x7f0)}}),LIVE_FLUSH_DEBOUNCE_MS=0x3e8,LIVE_SLIDE_INTERVAL_MS=0x7530,CARD_DEFAULTS=Object['freeze']({'card_header':'','card_icon':null,'card_icon_color':null,'card_icon_image':null,'card_header_size':null,'card_background_color':null,'card_shadow':!![],'card_border':!![],'card_padding':null,'card_border_radius':null,'card_border_color':null,'card_border_width':null,'card_background_image':null,'card_background_blur':null,'card_header_color':null,'card_header_weight':null,'card_header_letter_spacing':null,'card_icon_size':null,'card_icon_position':_0x160929(0xa36),'align_header':_0x160929(0xa36),'chart_mode':_0x160929(0xa73),'chart_align':'center','sparkline':![],'height':0x96,'animate_graph':![],'brush_zoom':!![],'drill_down':![],'stacked':![],'enable_zoom':!![],'hours_to_show':0x18,'points_per_hour':0x2,'auto_scale_points':![],'group_by':_0x160929(0x6e0),'time_zone':'auto','language':_0x160929(0x959),'update_interval':null,'cache':!![],'graph_start':null,'graph_start_hour':null,'graph_end_hour':null,'show_full_period':![],'max_visible_interval':null,'extended_window_multiplier':null,'scroll_mode':_0x160929(0x920),'show_grid':!![],'show_cell_values':!![],'show_tooltip':!![],'show_tooltip_total':!![],'tooltip_stacked_total':!![],'show_x_axis':!![],'show_y_axis':!![],'show_y2_axis':![],'show_x_ticks':![],'show_y_ticks':![],'logarithmic':![],'lower_bound':null,'upper_bound':null,'lower_bound_secondary':null,'upper_bound_secondary':null,'min_bound_range':null,'min_bound_range_secondary':null,'y_axis_ticks':null,'y_axis_decimals':null,'y_axis_number_format':_0x160929(0xbd5),'y_axis_round_ticks':!![],'y_axis_label':null,'y2_axis_label':null,'show_y_axis_label':![],'y_axis_font_size':null,'y_axis_font_opacity':null,'y_axis_color':null,'x_axis_font_size':null,'x_axis_font_opacity':null,'x_axis_color':null,'x_axis_date_color':null,'x_axis_interval':null,'datetime_format':_0x160929(0xbd5),'x_axis_datetime_format':null,'x_grid_color':null,'x_grid_width':null,'x_grid_style':null,'x_grid_opacity':0.15,'y_grid_color':null,'y_grid_width':null,'y_grid_style':null,'y_grid_opacity':0.15,'bar_spacing':0x4,'period_highlight':![],'period_highlight_color':null,'state_timeline_corner_radius':0x3,'state_timeline_show_labels':!![],'state_timeline_label_font_size':null,'show_export':![],'pie_style':_0x160929(0x797),'pie_spacing':0x0,'pie_3d':![],'pie_label_font_size':null,'pie_label_color':null,'pie_label_format':_0x160929(0xe91),'pie_center_font_size':null,'pie_center_color':null,'show_legend':![],'legend_position':'center','show_interval_picker':![],'interval_picker_position':_0x160929(0xa36),'show_attribute_list':![],'attribute_list_position':'left','show_pph_picker':![],'pph_picker_position':_0x160929(0xa36),'show_group_by_picker':![],'group_by_picker_position':_0x160929(0xa36),'pph_picker_group':null,'group_by_picker_group':null,'show_date_picker':![],'date_picker_position':_0x160929(0x70d),'date_picker_nav_position':_0x160929(0xa36),'date_picker_shortcuts_position':_0x160929(0x785),'auto_hide_entities':![],'y_axis_format':'','y2_axis_format':'','duration_unit':'s','date_picker_group':null,'interval_picker_group':null,'date_picker_step':0x1,'date_picker_default_mode':null,'tooltip_sync':![],'tooltip_sync_group':null,'zoom_sync':![],'zoom_sync_group':null,'scroll_sync':![],'scroll_sync_group':null,'energy_date_sync':![],'include_area_names':![],'include_attribute_name':![],'use_only_attribute_name':![],'state_map':null,'state_layout':_0x160929(0x8ee),'annotations':[],'show_now_line':!![],'now_line_color':null,'now_line_opacity':null,'now_line_width':null,'now_line_style':null}),ENTITY_DEFAULTS=Object[_0x160929(0x77b)]({'enabled':!![],'entity':'','statistic_id':null,'name':null,'icon':null,'icon_color':null,'color':null,'graph_type':_0x160929(0xa0b),'y_axis':_0x160929(0x24a),'line_width':2.5,'line_style':'solid','smooth':!![],'show_line':!![],'show_fill':!![],'show_range_band':![],'gradient':!![],'fill_opacity':null,'show_points':![],'point_size':null,'show_data_labels':![],'show_color_dot':!![],'point_colors':null,'stack_group':null,'invert':![],'attribute':null,'points_per_hour':null,'aggregate_func':_0x160929(0x44f),'compare':null,'damp_reset_boundary':!![],'change_ignore_zero':![],'price_entity':null,'price_attribute':null,'ref_entity':null,'ref_attribute':null,'ref_op':null,'value_factor':0x0,'value_transform':null,'fixed_value':![],'offset':0x0,'forecast_horizon':null,'state_map':null,'lower_bound':null,'upper_bound':null,'rise_fall_colors':null,'moving_averages':null,'color_thresholds':null,'state_adaptive_color':![],'state_color':null,'show_extrema':'click','extrema_show_timestamp':!![],'show_extrema_min':!![],'show_extrema_max':!![],'extrema_color':null,'extrema_font_size':null,'extrema_bg_color':null,'extrema_bg_opacity':null,'show_average':![],'break_on_null':![],'carry_forward_ms':null,'show_state':!![],'show_state_last':![],'primary_state_as':null,'show_timestamp':![],'show_range_values':![],'name_position':null,'show_graph':!![],'auto_hide':undefined,'show_in_legend':![],'legend_stats':[_0x160929(0xc2f),_0x160929(0x44f),'max'],'decimals':0x1,'number_format':_0x160929(0xbd5),'align_state':_0x160929(0xa36),'trend_period_hours':0x1,'show_trend_icon':!![],'trend_up_color':null,'trend_down_color':null,'trend_stable_color':null,'name_size':null,'icon_size':null,'state_size':null,'trend_icon_size':null,'tap_action':null}),TEMPLATABLE_BOOL_CARD_KEYS=Object[_0x160929(0x77b)]([_0x160929(0x505),_0x160929(0xcfd),'show_cell_values',_0x160929(0x4ec),_0x160929(0xb22),_0x160929(0xb09),'show_now_line','show_x_axis','show_y_axis',_0x160929(0x2b1),_0x160929(0x691),_0x160929(0x833),_0x160929(0x937),_0x160929(0xda9),_0x160929(0xea6),'logarithmic',_0x160929(0x522),_0x160929(0x7ab)]),TEMPLATABLE_BOOL_ENTITY_KEYS=Object[_0x160929(0x77b)]([_0x160929(0x45d),_0x160929(0xe73),_0x160929(0xe5c),_0x160929(0xc32),_0x160929(0xe5e),_0x160929(0x964),_0x160929(0xdd4),_0x160929(0xb32),'show_data_labels','show_average',_0x160929(0xd5e),_0x160929(0xd6c),_0x160929(0x1c7),_0x160929(0xde5),_0x160929(0x5c8),_0x160929(0x9e1),'extrema_show_timestamp',_0x160929(0x287)]),CHART_MODES=Object[_0x160929(0x77b)](['timeline','state_timeline',_0x160929(0x1eb),_0x160929(0xc35),'ranking',_0x160929(0xa0e),_0x160929(0x57d),_0x160929(0x621),_0x160929(0xc48),'calendar',_0x160929(0x1c2),_0x160929(0x92a),_0x160929(0x4d7),'histogram']),MODE_SETS=((()=>{const _0x1f1995=_0x160929,_0x1d26bc=_0x1f1995(0xa73),_0x35a026=_0x1f1995(0x93e),_0x21a531='scatter',_0x4e7676=_0x1f1995(0xc35),_0x585de9=_0x1f1995(0xcca),_0x23126e='radialbar',_0x1c8f1f='polararea',_0x175377='radar',_0x309f8e=_0x1f1995(0xc48),_0xd4987d='calendar',_0x423a0a='gauge',_0x28b457=_0x1f1995(0x4d7),_0x5a162b=_0x1f1995(0x356);return{'TL':[_0x1d26bc],'NO_STL':CHART_MODES[_0x1f1995(0x272)](_0x575dbc=>_0x575dbc!==_0x35a026),'TL_STL':[_0x1d26bc,_0x35a026],'TL_SC':[_0x1d26bc,_0x21a531],'TL_SC_RD':[_0x1d26bc,_0x21a531,_0x175377],'TL_RD':[_0x1d26bc,_0x175377],'GA':[_0x423a0a],'PI':[_0x4e7676],'RK':[_0x585de9],'STL':[_0x35a026],'BOUNDS':[_0x1d26bc,_0x21a531,_0x23126e,_0x175377,_0x309f8e,_0xd4987d,_0x423a0a],'GRADIENT':[_0x1d26bc,_0x585de9,_0x175377,_0x423a0a],'TOOLTIP_NAME':[_0x1d26bc,_0x4e7676,_0x585de9,_0x23126e,_0x1c8f1f,_0x175377,_0x423a0a],'X_AXIS':[_0x1d26bc,_0x35a026,_0x21a531,_0x309f8e,_0xd4987d],'TOTAL':[_0x1d26bc,_0x4e7676,_0x585de9,_0x23126e,_0x1c8f1f,_0x28b457,_0x5a162b]};})()),EDITOR_MODE_MATRIX=((()=>{const _0x3edbca=_0x160929,_0x483e62=MODE_SETS;return Object[_0x3edbca(0x77b)]({'entity':Object[_0x3edbca(0x77b)]({'line_style':_0x483e62['TL'],'smooth':_0x483e62['TL'],'show_data_labels':_0x483e62['TL'],'show_average':_0x483e62['TL'],'moving_averages':_0x483e62['TL'],'stack_group':_0x483e62['TL'],'rise_fall_colors':_0x483e62['TL'],'line_width':_0x483e62[_0x3edbca(0xd8b)],'show_line':_0x483e62['TL_RD'],'show_fill':_0x483e62[_0x3edbca(0xd8b)],'show_points':_0x483e62[_0x3edbca(0xc53)],'point_size':_0x483e62[_0x3edbca(0xc53)],'point_colors':_0x483e62[_0x3edbca(0xc53)],'show_extrema':_0x483e62['TL_SC'],'show_extrema_min':_0x483e62['TL_SC'],'show_extrema_max':_0x483e62[_0x3edbca(0x869)],'extrema_show_timestamp':_0x483e62[_0x3edbca(0x869)],'extrema_color':_0x483e62['TL_SC'],'extrema_font_size':_0x483e62['TL_SC'],'extrema_bg_color':_0x483e62[_0x3edbca(0x869)],'extrema_bg_opacity':_0x483e62['TL_SC'],'lower_bound':_0x483e62['BOUNDS'],'upper_bound':_0x483e62[_0x3edbca(0x98d)],'gradient':_0x483e62[_0x3edbca(0xc7c)],'fill_opacity':_0x483e62[_0x3edbca(0xc7c)],'tooltip_name':_0x483e62[_0x3edbca(0x229)],'needle_color':_0x483e62['GA'],'show_trend_icon':_0x483e62[_0x3edbca(0xd67)],'trend_period_hours':_0x483e62[_0x3edbca(0xd67)],'trend_icon_size':_0x483e62[_0x3edbca(0xd67)],'trend_up_color':_0x483e62[_0x3edbca(0xd67)],'trend_down_color':_0x483e62['NO_STL'],'trend_stable_color':_0x483e62['NO_STL']}),'card':Object[_0x3edbca(0x77b)]({'show_now_line':_0x483e62['TL'],'now_line_color':_0x483e62['TL'],'now_line_opacity':_0x483e62['TL'],'now_line_style':_0x483e62['TL'],'now_line_width':_0x483e62['TL'],'period_highlight':_0x483e62['TL'],'period_highlight_color':_0x483e62['TL'],'lower_bound':_0x483e62['TL'],'upper_bound':_0x483e62['TL'],'lower_bound_secondary':_0x483e62['TL'],'upper_bound_secondary':_0x483e62['TL'],'min_bound_range':_0x483e62['TL'],'min_bound_range_secondary':_0x483e62['TL'],'show_y2_axis':_0x483e62['TL'],'show_x_ticks':_0x483e62['TL'],'show_y_ticks':_0x483e62['TL'],'y_axis_number_format':_0x483e62['TL'],'y_axis_round_ticks':_0x483e62['TL'],'x_axis_interval':_0x483e62['TL'],'logarithmic':_0x483e62['TL'],'stacked':_0x483e62['TL'],'bar_spacing':_0x483e62['TL'],'brush_zoom':_0x483e62['TL'],'drill_down':_0x483e62['TL'],'sparkline':_0x483e62['TL'],'extended_window_multiplier':_0x483e62['TL'],'x_grid_color':_0x483e62['TL'],'x_grid_opacity':_0x483e62['TL'],'x_grid_style':_0x483e62['TL'],'x_grid_width':_0x483e62['TL'],'y_grid_color':_0x483e62['TL'],'y_grid_opacity':_0x483e62['TL'],'y_grid_style':_0x483e62['TL'],'y_grid_width':_0x483e62['TL'],'tooltip_match_axis':_0x483e62['TL'],'tooltip_order':_0x483e62['TL'],'tooltip_stacked_total':_0x483e62['TL'],'tooltip_sync':_0x483e62['TL'],'tooltip_sync_group':_0x483e62['TL'],'show_grid':_0x483e62[_0x3edbca(0x869)],'show_x_axis':_0x483e62['TL_SC'],'show_y_axis':_0x483e62[_0x3edbca(0x869)],'y_axis_decimals':_0x483e62[_0x3edbca(0x869)],'y_axis_ticks':_0x483e62[_0x3edbca(0x869)],'zoom_sync':_0x483e62['TL_STL'],'zoom_sync_group':_0x483e62[_0x3edbca(0x9d9)],'scroll_sync':_0x483e62[_0x3edbca(0x9d9)],'scroll_sync_group':_0x483e62[_0x3edbca(0x9d9)],'x_axis_date_color':_0x483e62[_0x3edbca(0x9d9)],'x_axis_color':_0x483e62[_0x3edbca(0x1cd)],'x_axis_font_opacity':_0x483e62[_0x3edbca(0x1cd)],'x_axis_font_size':_0x483e62[_0x3edbca(0x1cd)],'pie_3d':_0x483e62['PI'],'pie_style':_0x483e62['PI'],'pie_spacing':_0x483e62['PI'],'pie_center_color':_0x483e62['PI'],'pie_center_font_size':_0x483e62['PI'],'pie_label_color':_0x483e62['PI'],'pie_label_font_size':_0x483e62['PI'],'pie_label_format':_0x483e62['PI'],'gauge_columns':_0x483e62['GA'],'gauge_span':_0x483e62['GA'],'gauge_show_minmax':_0x483e62['GA'],'gauge_value_position':_0x483e62['GA'],'gauge_value_size':_0x483e62['GA'],'ranking_min_value':_0x483e62['RK'],'chart_align':_0x483e62['RK'],'state_timeline_corner_radius':_0x483e62['STL'],'state_timeline_show_labels':_0x483e62[_0x3edbca(0x986)],'state_timeline_label_font_size':_0x483e62['STL'],'show_tooltip_total':_0x483e62[_0x3edbca(0x903)]})});})()),matrixRoot=_0x5cd6ae=>{const _0xb456e1=_0x160929,_0x39e5e5=String(_0x5cd6ae||''),_0x2de1bf=_0x39e5e5[_0xb456e1(0x764)](/[.[]/);return _0x2de1bf===-0x1?_0x39e5e5:_0x39e5e5[_0xb456e1(0x3d3)](0x0,_0x2de1bf);};function isEditorFieldRelevant(_0x52e1c5,_0x2a7670,_0x15495f){const _0x13cab6=_0x160929,_0x54e94d=EDITOR_MODE_MATRIX[_0x52e1c5];if(!_0x54e94d)return!![];const _0x450489=_0x54e94d[_0x2a7670]||_0x54e94d[matrixRoot(_0x2a7670)];if(!_0x450489)return!![];return _0x450489[_0x13cab6(0x15b)](_0x15495f||_0x13cab6(0xa73));}function cloneEntity(_0x554824,_0x3c7d01){const _0x505e3e=_0x160929,_0x4d2861=Object[_0x505e3e(0xaf0)](Object['getPrototypeOf'](_0x554824)||Object[_0x505e3e(0xd53)],Object[_0x505e3e(0x826)](_0x554824));return _0x3c7d01?Object[_0x505e3e(0xcd8)](_0x4d2861,_0x3c7d01):_0x4d2861;}const LEGEND_STATS_DEFAULT=Object['freeze']([_0x160929(0xc2f),_0x160929(0x44f),'max']);function legendStatsOf(_0x52961f){const _0x345d19=_0x160929,_0xecc581=_0x52961f?.[_0x345d19(0x6d0)];if(Array[_0x345d19(0x724)](_0xecc581))return _0xecc581[_0x345d19(0xc70)]?_0xecc581:LEGEND_STATS_DEFAULT;if(typeof _0xecc581===_0x345d19(0x19d)){const _0x2948d7=_0xecc581[_0x345d19(0x967)](/[,\s]+/)[_0x345d19(0x272)](Boolean);return _0x2948d7[_0x345d19(0xc70)]?_0x2948d7:LEGEND_STATS_DEFAULT;}return LEGEND_STATS_DEFAULT;}const isTemplateString=_0x579851=>typeof _0x579851===_0x160929(0x19d)&&(_0x579851['includes']('{{')||_0x579851['includes']('{%')),COMPARE_PERIOD_LABELS=Object[_0x160929(0x77b)]({'previous_period':_0x160929(0x1d5),'yesterday':'yesterday','last_week':_0x160929(0x2b7),'last_month':'last\x20month','last_year':_0x160929(0x40c)});function parseTemplateBool(_0x494f95,_0x305efb){const _0x5506be=_0x160929;if(_0x494f95===null||_0x494f95===undefined||_0x494f95==='')return _0x305efb;if(typeof _0x494f95==='boolean')return _0x494f95;if(typeof _0x494f95==='number')return _0x494f95!==0x0;const _0x5b74d8=String(_0x494f95)[_0x5506be(0xa2f)]()['toLowerCase']();if(_0x5b74d8===_0x5506be(0x902)||_0x5b74d8==='on'||_0x5b74d8===_0x5506be(0xfd)||_0x5b74d8==='1')return!![];if(_0x5b74d8===_0x5506be(0x312)||_0x5b74d8==='off'||_0x5b74d8==='no'||_0x5b74d8==='0'||_0x5b74d8===_0x5506be(0x897)||_0x5b74d8===_0x5506be(0x5f3)||_0x5b74d8==='unavailable')return![];const _0x315ba0=Number(_0x5b74d8);if(!Number[_0x5506be(0x259)](_0x315ba0))return _0x315ba0!==0x0;return _0x305efb;}const PALETTE=Object[_0x160929(0x77b)]([_0x160929(0x880),_0x160929(0xdf4),'#2ecc71',_0x160929(0xca4),'#9b59b6',_0x160929(0x4d9),'#e74c3c',_0x160929(0xca6),_0x160929(0xcde),_0x160929(0x58c),'#16a085','#d35400',_0x160929(0xc84),_0x160929(0x7cb),_0x160929(0xbe6),_0x160929(0xcba)]),STATE_TIMELINE_COLORS=Object[_0x160929(0x77b)]([_0x160929(0x4bd),_0x160929(0x5a2),_0x160929(0xb00),_0x160929(0xca4),'#9b59b6',_0x160929(0x4d9),'#e67e22',_0x160929(0xca6),_0x160929(0x74b),'#00bcd4']);function stateSegmentColor(_0xda08ac,_0x4b30b1,_0x58d7fd){const _0x464529=_0x160929;return _0xda08ac?.['color']||_0x4b30b1?.['color']||STATE_TIMELINE_COLORS[_0x58d7fd%STATE_TIMELINE_COLORS[_0x464529(0xc70)]];}function bandedGradient(_0x57a9f1,_0x5ef2a9=_0x160929(0x948)){const _0x237d4c=_0x160929;if(!_0x57a9f1||!_0x57a9f1[_0x237d4c(0xc70)])return null;if(_0x57a9f1['length']===0x1)return _0x57a9f1[0x0];const _0x47a117=_0x57a9f1['length'],_0x26c3db=_0x57a9f1[_0x237d4c(0x7ee)]((_0x131d79,_0x2578fd)=>_0x131d79+'\x20'+(_0x2578fd*0x64/_0x47a117)[_0x237d4c(0x62e)](0x3)+'%\x20'+((_0x2578fd+0x1)*0x64/_0x47a117)[_0x237d4c(0x62e)](0x3)+'%');return _0x237d4c(0x602)+_0x5ef2a9+',\x20'+_0x26c3db[_0x237d4c(0xc0d)](',\x20')+')';}function resolveEntityAreaName(_0x5a0f29,_0x1af481){const _0x3510b8=_0x160929;if(!_0x1af481||!_0x5a0f29)return null;const _0x3f722c=_0x5a0f29[_0x3510b8(0x197)]?.[_0x1af481];let _0xcd1a19=_0x3f722c?.[_0x3510b8(0x546)]||null;if(!_0xcd1a19&&_0x3f722c?.[_0x3510b8(0xad4)])_0xcd1a19=_0x5a0f29['devices']?.[_0x3f722c[_0x3510b8(0xad4)]]?.[_0x3510b8(0x546)]||null;if(!_0xcd1a19)return null;const _0x5a0ad7=_0x5a0f29['areas']?.[_0xcd1a19]?.[_0x3510b8(0x673)];return typeof _0x5a0ad7===_0x3510b8(0x19d)&&_0x5a0ad7[_0x3510b8(0xa2f)]()?_0x5a0ad7['trim']():null;}function attributeDisplayName(_0x3aaad1,_0x4501f9,_0x177889){const _0x54a9f4=_0x160929;if(!_0x177889)return'';const _0x3da712=_0x3aaad1?.[_0x54a9f4(0x28e)]?.[_0x4501f9];try{const _0x29082c=_0x3aaad1?.[_0x54a9f4(0x66f)];if(typeof _0x29082c==='function'&&_0x3da712){const _0x14a86d=_0x29082c[_0x54a9f4(0x17e)](_0x3aaad1,_0x3da712,_0x177889);if(_0x14a86d)return String(_0x14a86d);}}catch(_0x59e012){}return String(_0x177889)[_0x54a9f4(0x944)](/_/g,'\x20')[_0x54a9f4(0x944)](/\b\w/g,_0x1d2949=>_0x1d2949['toUpperCase']());}function applyAttributeName(_0x12a4e4,_0x47962d,_0x529f57,_0x4cc555,_0x18ca91){const _0x3a4b0a=_0x160929;if(!_0x12a4e4||_0x4cc555?.[_0x3a4b0a(0x673)]!=null)return _0x529f57;if(!_0x12a4e4[_0x3a4b0a(0x925)]&&!_0x12a4e4[_0x3a4b0a(0x672)])return _0x529f57;const _0xaf46e2=attributeDisplayName(_0x47962d,_0x4cc555[_0x3a4b0a(0xae9)],_0x18ca91);if(!_0xaf46e2)return _0x529f57;if(_0x12a4e4[_0x3a4b0a(0x672)])return _0xaf46e2;return _0x529f57?_0x529f57+_0x3a4b0a(0xb6f)+_0xaf46e2:_0xaf46e2;}function buildAreaSuffixes(_0x1777cd,_0x4dcd1b,_0xb362be,_0x595ff3){const _0x5ec51c=_0x160929,_0x32b481=_0x4dcd1b||[],_0x43baea=new Map();return _0x32b481['forEach']((_0x163d62,_0x3e0402)=>{const _0x1fde6b=_0x53a5;if(!_0x163d62||_0x163d62['_compareOf']!=null)return;if(_0x163d62[_0x1fde6b(0x673)]&&typeof _0x163d62[_0x1fde6b(0x673)]===_0x1fde6b(0x19d))return;const _0x107727=resolveEntityAreaName(_0x1777cd,_0x163d62[_0x1fde6b(0xae9)]||_0x163d62[_0x1fde6b(0x378)]);if(!_0x107727)return;const _0x526290=_0x1777cd?.[_0x1fde6b(0x28e)]?.[_0x163d62[_0x1fde6b(0xae9)]],_0x4d96e3=String(_0x526290?.['attributes']?.['friendly_name']||(_0x163d62[_0x1fde6b(0x378)]?_0xb362be?.[_0x163d62[_0x1fde6b(0x378)]]?.[_0x1fde6b(0x673)]:null)||_0x163d62[_0x1fde6b(0xae9)]||_0x163d62[_0x1fde6b(0x378)]||''),_0xd15ffd=_0x595ff3?String(_0x595ff3(_0x163d62,_0x3e0402,_0x4d96e3)??_0x4d96e3):_0x4d96e3;if(_0xd15ffd[_0x1fde6b(0x412)]()['includes'](_0x107727[_0x1fde6b(0x412)]()))return;_0x43baea[_0x1fde6b(0x22c)](_0x3e0402,'\x20·\x20'+_0x107727);}),_0x43baea[_0x5ec51c(0xcaa)]?_0x43baea:null;}let _txtMeasureCtx;function measureTextWidth(_0x1d2e2d,_0x23bae6){const _0x5e42b4=_0x160929,_0x35aa58=String(_0x1d2e2d==null?'':_0x1d2e2d);if(_txtMeasureCtx===undefined)try{_txtMeasureCtx=document[_0x5e42b4(0x5c6)](_0x5e42b4(0xa6a))['getContext']('2d')||null;}catch(_0xb0dcd2){_txtMeasureCtx=null;}if(!_txtMeasureCtx)return _0x35aa58[_0x5e42b4(0xc70)]*0x8;if(_txtMeasureCtx[_0x5e42b4(0x759)]!==_0x23bae6)_txtMeasureCtx[_0x5e42b4(0x759)]=_0x23bae6;return _txtMeasureCtx[_0x5e42b4(0x70a)](_0x35aa58)[_0x5e42b4(0xd50)];}function wrapLabelLines(_0x277d4e,_0x544578,_0x3bbc7e,_0x5816ee){const _0x5884f3=_0x160929,_0x34eb0d=String(_0x277d4e==null?'':_0x277d4e)['trim']();if(!_0x34eb0d||_0x544578<=0x0)return{'lines':[],'truncated':![]};const _0x2f1794=_0xdcc365=>measureTextWidth(_0xdcc365,_0x5816ee),_0x59da4d=[];let _0x2f3d86='';const _0x325723=_0xf2a046=>{const _0x13d305=_0x53a5;let _0x14b445=_0xf2a046;while(_0x2f1794(_0x14b445)>_0x544578){let _0x4c8e0f=_0x14b445[_0x13d305(0xc70)]-0x1;while(_0x4c8e0f>0x1&&_0x2f1794(_0x14b445[_0x13d305(0x3d3)](0x0,_0x4c8e0f))>_0x544578)_0x4c8e0f--;_0x59da4d['push'](_0x14b445[_0x13d305(0x3d3)](0x0,_0x4c8e0f)),_0x14b445=_0x14b445[_0x13d305(0x3d3)](_0x4c8e0f);}return _0x14b445;};for(let _0x397320 of _0x34eb0d[_0x5884f3(0x967)](/\s+/)){if(_0x2f1794(_0x397320)>_0x544578){_0x2f3d86&&(_0x59da4d[_0x5884f3(0xd65)](_0x2f3d86),_0x2f3d86='');_0x2f3d86=_0x325723(_0x397320);continue;}if(!_0x2f3d86)_0x2f3d86=_0x397320;else{if(_0x2f1794(_0x2f3d86+'\x20'+_0x397320)<=_0x544578)_0x2f3d86+='\x20'+_0x397320;else _0x59da4d['push'](_0x2f3d86),_0x2f3d86=_0x397320;}}if(_0x2f3d86)_0x59da4d[_0x5884f3(0xd65)](_0x2f3d86);if(_0x59da4d['length']<=_0x3bbc7e)return{'lines':_0x59da4d,'truncated':![]};const _0x590d4b=_0x59da4d['slice'](0x0,_0x3bbc7e);let _0x1bb459=_0x590d4b[_0x3bbc7e-0x1];while(_0x1bb459[_0x5884f3(0xc70)]>0x1&&_0x2f1794(_0x1bb459+'…')>_0x544578)_0x1bb459=_0x1bb459[_0x5884f3(0x3d3)](0x0,-0x1);return _0x590d4b[_0x3bbc7e-0x1]=_0x1bb459+'…',{'lines':_0x590d4b,'truncated':!![]};}function pickName(_0x585bdd,_0x13c1a2,_0x1830c6){const _0x4dedeb=_0x160929,_0x118666=typeof _0x585bdd===_0x4dedeb(0x19d)&&(_0x585bdd[_0x4dedeb(0x15b)]('{{')||_0x585bdd[_0x4dedeb(0x15b)]('{%'));if(_0x118666)return _0x13c1a2!==undefined&&_0x13c1a2!==null&&_0x13c1a2!==''?_0x13c1a2:_0x1830c6?.[_0x4dedeb(0xdb6)]??undefined;if(_0x585bdd!==undefined&&_0x585bdd!==null)return _0x585bdd;return _0x1830c6?.[_0x4dedeb(0xdb6)]??undefined;}function normalizeTemplateResult(_0x499b43){const _0x3fbe0c=_0x160929;if(_0x499b43===null||_0x499b43===undefined)return'';const _0x2a50a7=typeof _0x499b43===_0x3fbe0c(0x19d)?_0x499b43:String(_0x499b43);return _0x2a50a7[_0x3fbe0c(0xa2f)]();}const isNum=_0x8de8d=>typeof _0x8de8d===_0x160929(0x481)&&Number['isFinite'](_0x8de8d),clamp=(_0x33cec7,_0x1889bb,_0x12e14b)=>Math[_0x160929(0xa08)](_0x1889bb,Math['min'](_0x12e14b,_0x33cec7)),toNum=_0x394717=>{const _0xf4a33d=_0x160929;if(_0x394717===null||_0x394717===undefined||_0x394717==='')return null;const _0x215bf3=typeof _0x394717===_0xf4a33d(0x481)?_0x394717:parseFloat(_0x394717);return Number[_0xf4a33d(0x46b)](_0x215bf3)?_0x215bf3:null;};function resolveOffsetHours(_0x44d96a,_0x4adf3c){const _0x135be7=_0x160929;if(_0x44d96a===null||_0x44d96a===undefined||_0x44d96a==='')return 0x0;if(typeof _0x44d96a===_0x135be7(0x481))return Number[_0x135be7(0x46b)](_0x44d96a)?_0x44d96a:0x0;const _0x5389ad=String(_0x44d96a)['trim']();if(_0x5389ad==='')return 0x0;const _0x11668a=parseFloat(_0x5389ad);if(!isNaN(_0x11668a)&&/^-?[\d.]+$/[_0x135be7(0x2e2)](_0x5389ad))return _0x11668a;const _0x1880f0=_0x4adf3c?.[_0x135be7(0x28e)]?.[_0x5389ad];if(_0x1880f0){const _0x16f90b=parseFloat(_0x1880f0[_0x135be7(0x89b)]);return Number[_0x135be7(0x46b)](_0x16f90b)?_0x16f90b:0x0;}return 0x0;}const _tzFmtCache=new Map(),_tzOffIntervals=new Map();function _tzOffAt(_0x2c7b25,_0x36a255){const _0x535a50=_0x160929,_0x3fae2c={};for(const _0x38caf8 of _tzFmt(_0x36a255)['formatToParts'](_0x2c7b25))_0x3fae2c[_0x38caf8[_0x535a50(0xc4e)]]=_0x38caf8[_0x535a50(0xe91)];const _0x52712c=Math[_0x535a50(0x604)](_0x2c7b25/0x3e8)%0x3c,_0x302e74=_0x2c7b25-_0x2c7b25%0x3e8;return Math[_0x535a50(0x1f5)]((Date[_0x535a50(0xdfa)](+_0x3fae2c[_0x535a50(0x4f9)],+_0x3fae2c['month']-0x1,+_0x3fae2c['day'],_0x3fae2c[_0x535a50(0x715)]==='24'?0x0:+_0x3fae2c['hour'],+_0x3fae2c[_0x535a50(0xc13)],_0x52712c)-_0x302e74)/0xea60);}function _tzOffsetFor(_0x17b82d,_0x445691){const _0x398cef=_0x160929;let _0x21f869=_tzOffIntervals[_0x398cef(0x1a9)](_0x445691);!_0x21f869&&(_0x21f869=[],_tzOffIntervals['set'](_0x445691,_0x21f869));let _0x4a89b9=0x0,_0x432236=_0x21f869[_0x398cef(0xc70)]-0x1;while(_0x4a89b9<=_0x432236){const _0x24b640=_0x4a89b9+_0x432236>>0x1,_0x2ed923=_0x21f869[_0x24b640];if(_0x17b82d<_0x2ed923['s'])_0x432236=_0x24b640-0x1;else{if(_0x17b82d>_0x2ed923['e'])_0x4a89b9=_0x24b640+0x1;else return _0x2ed923[_0x398cef(0x887)];}}const _0x4a1bf9=_tzOffAt(_0x17b82d,_0x445691),_0x49b27a=0x240c8400,_0x34f330=0x10;let _0x1b65d2=_0x17b82d,_0x218753=_0x17b82d;for(let _0x39a6bc=0x0;_0x39a6bc<_0x34f330;_0x39a6bc++){let _0x37c8dc=_0x1b65d2-_0x49b27a,_0x1338d2=![];_0x4a89b9>0x0&&_0x37c8dc<=_0x21f869[_0x4a89b9-0x1]['e']&&(_0x37c8dc=_0x21f869[_0x4a89b9-0x1]['e']+0x1,_0x1338d2=!![]);if(_0x37c8dc>=_0x1b65d2)break;if(_tzOffAt(_0x37c8dc,_0x445691)===_0x4a1bf9){_0x1b65d2=_0x37c8dc;if(_0x1338d2)break;continue;}let _0x4bd8f8=_0x37c8dc,_0xabb39c=_0x1b65d2;while(_0xabb39c-_0x4bd8f8>0x1){const _0x518af6=_0x4bd8f8+Math[_0x398cef(0x604)]((_0xabb39c-_0x4bd8f8)/0x2);if(_tzOffAt(_0x518af6,_0x445691)===_0x4a1bf9)_0xabb39c=_0x518af6;else _0x4bd8f8=_0x518af6;}_0x1b65d2=_0xabb39c;break;}for(let _0x8d6b56=0x0;_0x8d6b56<_0x34f330;_0x8d6b56++){let _0x45e243=_0x218753+_0x49b27a,_0xfb5029=![];_0x4a89b9<_0x21f869[_0x398cef(0xc70)]&&_0x45e243>=_0x21f869[_0x4a89b9]['s']&&(_0x45e243=_0x21f869[_0x4a89b9]['s']-0x1,_0xfb5029=!![]);if(_0x45e243<=_0x218753)break;if(_tzOffAt(_0x45e243,_0x445691)===_0x4a1bf9){_0x218753=_0x45e243;if(_0xfb5029)break;continue;}let _0x4c219e=_0x218753,_0x393d0e=_0x45e243;while(_0x393d0e-_0x4c219e>0x1){const _0x3d3ab3=_0x4c219e+Math[_0x398cef(0x604)]((_0x393d0e-_0x4c219e)/0x2);if(_tzOffAt(_0x3d3ab3,_0x445691)===_0x4a1bf9)_0x4c219e=_0x3d3ab3;else _0x393d0e=_0x3d3ab3;}_0x218753=_0x4c219e;break;}if(_0x1b65d2>_0x17b82d)_0x1b65d2=_0x17b82d;if(_0x218753<_0x17b82d)_0x218753=_0x17b82d;const _0x568694=_0x4a89b9>0x0?_0x21f869[_0x4a89b9-0x1]:null,_0x4874a6=_0x4a89b9<_0x21f869[_0x398cef(0xc70)]?_0x21f869[_0x4a89b9]:null;if(_0x568694&&_0x568694[_0x398cef(0x887)]===_0x4a1bf9&&_0x1b65d2<=_0x568694['e']+0x1){if(_0x218753>_0x568694['e'])_0x568694['e']=_0x218753;if(_0x4874a6&&_0x4874a6[_0x398cef(0x887)]===_0x4a1bf9&&_0x568694['e']>=_0x4874a6['s']-0x1){if(_0x4874a6['e']>_0x568694['e'])_0x568694['e']=_0x4874a6['e'];_0x21f869[_0x398cef(0xd59)](_0x4a89b9,0x1);}return _0x4a1bf9;}if(_0x4874a6&&_0x4874a6[_0x398cef(0x887)]===_0x4a1bf9&&_0x218753>=_0x4874a6['s']-0x1){if(_0x1b65d2<_0x4874a6['s'])_0x4874a6['s']=_0x1b65d2;return _0x4a1bf9;}_0x21f869['splice'](_0x4a89b9,0x0,{'s':_0x1b65d2,'e':_0x218753,'off':_0x4a1bf9});if(_0x21f869['length']>0x190)_0x21f869['splice'](0x0,_0x21f869['length']-0x190);return _0x4a1bf9;}function _tzFmt(_0x26eee5){const _0x26da6a=_0x160929;let _0x154289=_tzFmtCache[_0x26da6a(0x1a9)](_0x26eee5);return!_0x154289&&(_0x154289=new Intl[(_0x26da6a(0xa4f))](_0x26da6a(0xa3e),{'timeZone':_0x26eee5,'hour12':![],'year':_0x26da6a(0xae3),'month':_0x26da6a(0x819),'day':_0x26da6a(0x819),'hour':_0x26da6a(0x819),'minute':_0x26da6a(0x819),'second':_0x26da6a(0x819),'weekday':_0x26da6a(0x577)}),_tzFmtCache[_0x26da6a(0x22c)](_0x26eee5,_0x154289)),_0x154289;}function tzParts(_0x3e402b,_0x14a353){const _0x22e50e=_0x160929;if(!_0x14a353){const _0x105dd6=new Date(_0x3e402b);return{'y':_0x105dd6[_0x22e50e(0x237)](),'mo':_0x105dd6[_0x22e50e(0xb7c)](),'d':_0x105dd6[_0x22e50e(0x484)](),'h':_0x105dd6[_0x22e50e(0x9c3)](),'mi':_0x105dd6[_0x22e50e(0x922)](),'wd':_0x105dd6[_0x22e50e(0x2bd)]()||0x7};}try{const _0x46f02c=_tzOffsetFor(_0x3e402b,_0x14a353),_0x18585f=new Date(_0x3e402b+_0x46f02c*0xea60);return{'y':_0x18585f[_0x22e50e(0xea5)](),'mo':_0x18585f[_0x22e50e(0x893)](),'d':_0x18585f[_0x22e50e(0xde6)](),'h':_0x18585f['getUTCHours'](),'mi':_0x18585f[_0x22e50e(0xa13)](),'wd':_0x18585f[_0x22e50e(0xe2d)]()||0x7};}catch(_0x2f9d36){const _0x15066e=new Date(_0x3e402b);return{'y':_0x15066e[_0x22e50e(0x237)](),'mo':_0x15066e[_0x22e50e(0xb7c)](),'d':_0x15066e[_0x22e50e(0x484)](),'h':_0x15066e[_0x22e50e(0x9c3)](),'mi':_0x15066e[_0x22e50e(0x922)](),'wd':_0x15066e[_0x22e50e(0x2bd)]()||0x7};}}function zonedWallToMs(_0x414d7b,_0x5cdf97,_0x3ded6e,_0x7ef3ae,_0x471f2f,_0x5ca694,_0x51496f){const _0xa7a25=_0x160929;if(!_0x51496f)return new Date(_0x414d7b,_0x5cdf97,_0x3ded6e,_0x7ef3ae,_0x471f2f,_0x5ca694)[_0xa7a25(0x910)]();const _0x3ef2d4=Date[_0xa7a25(0xdfa)](_0x414d7b,_0x5cdf97,_0x3ded6e,_0x7ef3ae,_0x471f2f,_0x5ca694),_0xd31551=tzParts(_0x3ef2d4,_0x51496f),_0x389277=Date[_0xa7a25(0xdfa)](_0xd31551['y'],_0xd31551['mo'],_0xd31551['d'],_0xd31551['h'],_0xd31551['mi'],_0x5ca694);return _0x3ef2d4-(_0x389277-_0x3ef2d4);}function tzStartOfDayMs(_0x30d5f6,_0x572917){const _0x324573=tzParts(_0x30d5f6,_0x572917);return zonedWallToMs(_0x324573['y'],_0x324573['mo'],_0x324573['d'],0x0,0x0,0x0,_0x572917);}const _FIRST_WD_NAMES=Object[_0x160929(0x77b)]({'monday':0x1,'tuesday':0x2,'wednesday':0x3,'thursday':0x4,'friday':0x5,'saturday':0x6,'sunday':0x7});function resolveFirstWeekday(_0x10bcd2){const _0x230935=_0x160929,_0x19317f=_0x10bcd2?.[_0x230935(0x1e5)]?.[_0x230935(0x101)];if(_0x19317f&&Object[_0x230935(0xd53)][_0x230935(0x424)][_0x230935(0x17e)](_FIRST_WD_NAMES,_0x19317f))return _FIRST_WD_NAMES[_0x19317f];try{const _0x5a20e2=_0x10bcd2?.[_0x230935(0x1e5)]?.[_0x230935(0x6ff)]||_0x10bcd2?.[_0x230935(0x6ff)]||'en',_0x539a2c=new Intl['Locale'](_0x5a20e2),_0x52f53c=typeof _0x539a2c[_0x230935(0x2ed)]===_0x230935(0xc89)?_0x539a2c[_0x230935(0x2ed)]():_0x539a2c['weekInfo'],_0x42c642=_0x52f53c?.[_0x230935(0x60b)];if(typeof _0x42c642===_0x230935(0x481)&&_0x42c642>=0x1&&_0x42c642<=0x7)return _0x42c642;}catch{}return 0x1;}const weekStartOffsetDays=(_0x5aed4f,_0x19671d)=>(_0x5aed4f-_0x19671d+0x7)%0x7,_tzInvalidWarned=new Set();function isValidTimeZone(_0x2d5282){const _0x347029=_0x160929;try{return new Intl[(_0x347029(0xa4f))]('en',{'timeZone':_0x2d5282}),!![];}catch{return![];}}function resolveDisplayTimeZone(_0x4cdc7e,_0x37a26e){const _0xd6c1df=_0x160929,_0xcdaa42=String(_0x37a26e?.[_0xd6c1df(0x345)]??_0xd6c1df(0x959))[_0xd6c1df(0xa2f)]();let _0x127b68=null;if(_0xcdaa42===''||_0xcdaa42===_0xd6c1df(0xd09))return null;if(_0xcdaa42===_0xd6c1df(0xb2d))_0x127b68=_0x4cdc7e?.[_0xd6c1df(0x639)]?.[_0xd6c1df(0x345)]||null;else _0xcdaa42===_0xd6c1df(0x959)?_0x127b68=_0x4cdc7e?.[_0xd6c1df(0x1e5)]?.[_0xd6c1df(0x345)]===_0xd6c1df(0xb2d)?_0x4cdc7e?.[_0xd6c1df(0x639)]?.[_0xd6c1df(0x345)]||null:null:_0x127b68=_0xcdaa42;if(!_0x127b68)return null;if(!isValidTimeZone(_0x127b68))return!_tzInvalidWarned[_0xd6c1df(0x9b5)](_0x127b68)&&(_tzInvalidWarned['add'](_0x127b68),console[_0xd6c1df(0x289)]('[statistics-graph-chart-card]\x20Invalid\x20time_zone\x20\x22'+_0x127b68+_0xd6c1df(0xaa0))),null;try{const _0x38cc8b=Intl[_0xd6c1df(0xa4f)]()[_0xd6c1df(0x50a)]()[_0xd6c1df(0x64a)];if(_0x38cc8b&&_0x38cc8b===_0x127b68)return null;}catch{}return _0x127b68;}function _0x53a5(_0x43aefb,_0x5c6362){_0x43aefb=_0x43aefb-0xf7;const _0x3ef436=_0x3ef4();let _0x53a589=_0x3ef436[_0x43aefb];return _0x53a589;}const LANG_NAMES={'en':_0x160929(0x418),'cs':_0x160929(0x1f6),'da':_0x160929(0x956),'de':_0x160929(0x209),'es':_0x160929(0x51a),'fi':_0x160929(0xa62),'fr':_0x160929(0x13e),'it':'Italiano','nl':_0x160929(0x464),'nb':_0x160929(0xab0),'pl':_0x160929(0xa28),'pt':_0x160929(0x870),'ru':'Русский','sv':'Svenska','tr':_0x160929(0x558),'zh':'中文'},I18N={'en':{}},_sgcLiveCards=new Set(),_langLoads=new Map();let _legacyI18nLoad=null,_i18nVersionWarned=![];function _sgcI18nRerender(){const _0x49ae9b=_0x160929;for(const _0x53dc3f of _sgcLiveCards){try{_0x53dc3f[_0x49ae9b(0x1ba)]='',_0x53dc3f[_0x49ae9b(0xb53)]?.();}catch{}}}function _warnI18nVersion(_0xacf4a8){const _0x369b56=_0x160929;if(_i18nVersionWarned||!_0xacf4a8||_0xacf4a8===VERSION)return;_i18nVersionWarned=!![],console[_0x369b56(0x289)](_0x369b56(0x43b)+_0xacf4a8+_0x369b56(0xcc5)+VERSION+_0x369b56(0xe08));}function _loadLegacyTranslations(){const _0x8d53f9=_0x160929;if(_legacyI18nLoad)return _legacyI18nLoad;return _legacyI18nLoad=import(new URL(_0x8d53f9(0x632)+VERSION,import.meta.url))[_0x8d53f9(0x47c)](_0x31b6e7=>{const _0x2c9756=_0x8d53f9;if(_0x31b6e7?.[_0x2c9756(0x8ad)]){for(const [_0xf82256,_0x896cca]of Object['entries'](_0x31b6e7[_0x2c9756(0x8ad)]))I18N[_0xf82256]=_0x896cca;}if(_0x31b6e7?.[_0x2c9756(0x9c9)])Object['assign'](LANG_NAMES,_0x31b6e7[_0x2c9756(0x9c9)]);_warnI18nVersion(_0x31b6e7?.['T_VERSION']),_sgcI18nRerender();})[_0x8d53f9(0x3cb)](()=>{const _0x14a32d=_0x8d53f9;console[_0x14a32d(0x8b3)]('[statistics-graph-chart-card]\x20no\x20translations\x20found\x20next\x20to\x20the\x20card\x20file\x20-\x20UI\x20will\x20be\x20English\x20only.\x20Install\x20the\x20translations\x20folder\x20(or\x20translations.js)\x20side\x20by\x20side\x20to\x20enable\x20the\x2016\x20bundled\x20languages.');}),_legacyI18nLoad;}function _ensureLang(_0x294038){const _0x3edc5f=_0x160929;let _0x28129e=String(_0x294038||'')[_0x3edc5f(0x412)]();if(!LANG_NAMES[_0x28129e])_0x28129e=_0x28129e[_0x3edc5f(0x967)]('-')[0x0];if(!_0x28129e||!LANG_NAMES[_0x28129e]||I18N[_0x28129e]||_langLoads[_0x3edc5f(0x9b5)](_0x28129e))return;_langLoads[_0x3edc5f(0x22c)](_0x28129e,import(new URL(_0x3edc5f(0xdad)+_0x28129e+'.js?v='+VERSION,import.meta.url))[_0x3edc5f(0x47c)](_0x5b5a81=>{const _0x12ef32=_0x3edc5f;if(_0x5b5a81?.[_0x12ef32(0x3a5)])I18N[_0x28129e]=_0x5b5a81[_0x12ef32(0x3a5)],_warnI18nVersion(_0x5b5a81[_0x12ef32(0xd71)]),_sgcI18nRerender();else return _loadLegacyTranslations();})['catch'](()=>_loadLegacyTranslations()));}function resolveCardLanguage(_0xafe1df,_0x442dce){const _0x1a3a46=_0x160929,_0x81f895=String(_0x442dce?.[_0x1a3a46(0x6ff)]??'auto')['trim']();if(_0x81f895&&_0x81f895!==_0x1a3a46(0x959))return _0x81f895;return _0xafe1df?.[_0x1a3a46(0x1e5)]?.[_0x1a3a46(0x6ff)]||typeof navigator!==_0x1a3a46(0xa51)&&navigator['language']||'en';}function cardT(_0x231b3e,_0x38ff33,_0x1c6925){const _0xb6339c=_0x160929;let _0x43faaa=resolveCardLanguage(_0x231b3e,_0x38ff33)[_0xb6339c(0x412)]();if(_0x43faaa==='no'||_0x43faaa[_0xb6339c(0xa49)](_0xb6339c(0x63a)))_0x43faaa='nb';const _0x2c7265=I18N[_0x43faaa]||I18N[_0x43faaa['split']('-')[0x0]];if(!_0x2c7265)_ensureLang(_0x43faaa);return _0x2c7265&&_0x2c7265[_0x1c6925]||_0x1c6925;}function localizeEntityState(_0x20d494,_0x169be7,_0x342feb){const _0xa5af2e=_0x160929,_0x1ddf73=_0x342feb??_0x169be7?.[_0xa5af2e(0x89b)];if(_0x1ddf73==null)return'';try{if(_0x169be7&&typeof _0x20d494?.[_0xa5af2e(0xa60)]===_0xa5af2e(0xc89)){const _0x50843c=_0x342feb!=null?_0x20d494[_0xa5af2e(0xa60)](_0x169be7,String(_0x342feb)):_0x20d494[_0xa5af2e(0xa60)](_0x169be7);if(_0x50843c)return _0x50843c;}}catch(_0xb33f4){}return String(_0x1ddf73);}function niceYTicks(_0x8b2032,_0x56df83,_0xa2bcf0=0x4,_0x110c0a=0x0){const _0x538005=_0x160929;if(!isFinite(_0x8b2032)||!isFinite(_0x56df83)||_0x56df83<=_0x8b2032)return null;const _0x147fae=_0x56df83-_0x8b2032,_0x19aa5f=_0x147fae/Math['max'](0x1,_0xa2bcf0);let _0x278040;if(_0x110c0a>0x0&&_0x147fae>=_0x110c0a){const _0x16db2e=_0x19aa5f/_0x110c0a,_0x28e60c=[0x1,0x2,0x5,0xa,0xf,0x1e,0x3c,0x78,0xb4,0x168,0x2d0,0x5a0,0xb40,0x10e0,0x2760,0xa8c0,0x15180];let _0x4d8c84=_0x28e60c[_0x28e60c['length']-0x1];for(let _0x56814e=0x0;_0x56814e<_0x28e60c['length'];_0x56814e++){const _0x2b236e=_0x28e60c[_0x56814e+0x1];if(_0x2b236e===undefined||_0x16db2e_0x56df83+_0x278040*0.000001)break;if(_0x3b7006>=_0x8b2032-_0x278040*0.000001)_0x204d2e['push'](_0x3b7006);}return _0x204d2e[_0x538005(0xc70)]>=0x2?_0x204d2e:null;}function _0x3ef4(){const _0x2051eb=['.sgc-legend-wrap','2860560NWYkXh','setTime','mousedown','globalAlpha','\x22\x20stroke=\x22none\x22/>','.card-icon-color','include_area_names','dp-label-past','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','sourceId','Adds\x20a\x20statistics\x20row\x20below\x20the\x20graph\x20for\x20this\x20entity.\x20Select\x20which\x20values\x20to\x20show:\x20Min,\x20Avg,\x20Max\x20from\x20the\x20displayed\x20time\x20range,\x20and/or\x20Last\x20(the\x20most\x20recent\x20value).\x20Multiple\x20selections\x20allowed.','plain','','sgc-ma-label','_resolveEntityAnnotations','[data-intlabel]','\x27\x20on\x20the\x20line\x22>','>','.e-attribute','Horizontal\x20position\x20of\x20the\x20mode\x20shortcuts\x20—\x20the\x20D/W/M/Y\x20buttons\x20and\x20the\x20calendar\x20icon\x20—\x20left,\x20center,\x20or\x20right.\x20Sharing\x20a\x20position\x20with\x20the\x20date\x20navigator\x20places\x20the\x20navigator\x20first.','Secondary\x20Value','','show_graph','.e-price_entity','show_fill','Download\x20PNG\x20(Card)','background','cmp-hol','.e-data_attribute','_resolveThrRef','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','pie_spacing','\x0a\x20\x20\x20\x20\x20\x20','changeDiffSeries','sin','Date\x20Picker','scroll_sync','MMM\x20YY','','amber','fillRect','epoch_seconds','headericon','','.e-show_trend_icon','card_background_blur','.e-number_format','_resizeObserver','','_drawRangeBand','Stroke\x20pattern\x20of\x20the\x20graph\x20line.\x20Solid\x20is\x20the\x20default;\x20Dotted\x20and\x20Dashed\x20help\x20tell\x20overlapping\x20entities\x20apart\x20or\x20mark\x20secondary\x20series.','num','blue-grey','Wed','value','band','accent','Show\x20a\x20second\x20stat\x20value\x20next\x20to\x20the\x20primary\x20state\x20in\x20the\x20state\x20row.\x20Options:\x20Sum,\x20Avg,\x20Min,\x20Max,\x20First,\x20Last.\x20The\x20label\x20and\x20value\x20appear\x20smaller\x20beside\x20the\x20main\x20state.\x20In\x20Pie,\x20Ranking\x20and\x20Polar\x20Area\x20modes\x20an\x20extra\x20%\x20option\x20is\x20available\x20—\x20it\x20shows\x20this\x20entity\x27s\x20share\x20of\x20the\x20total,\x20matching\x20the\x20percentages\x20drawn\x20on\x20the\x20chart.','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','show_average','hide_name','Jul','yes','drag-over','day_of_month','data_time_field','first_weekday','sgc-interval-sync-request','bad\x20number','_beginRender','px;\x22>','h\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','x_grid_opacity','_default','data-mtc','_drawSpanAnnotation','show_y_axis','extrema_color','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_thrColorRefs','_broadcastDatePickerSync','state_adaptive_color','sgc-averages','warn','_attachZoomHandlers','.sgc-mode-off','sgc-axis-tick\x20sgc-x-tick','_wsSubscribing','states','100%','_baseQuery','Smooth','_toggleSeriesVisibility','--mdc-icon-size:','Shortcuts','defs','','_renderStateRowFor','Data\x20Labels','y_axis_font_opacity','onerror','.e-trend_up_color-picker','All\x20cards','.e-point_size','toISOString','linearGradient','tooltipName','week_of_year','Point\x20Color','trend_icon_size','Value','.ann-row','\x22\x20on\x20a\x20series\x20that\x20','.ha-icon-picker-wrap[data-entity-icon]','_liveEnabled','dark-grey','show_y2_axis','fillText','[sgc]\x20group_by\x20\x22','legend_position','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','precision','last\x20week','_getDataSourceForRange','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Opacity\x20of\x20horizontal\x20grid\x20lines.\x200\x20=\x20invisible,\x201\x20=\x20fully\x20opaque.\x20Default\x20is\x200.15\x20—\x20subtle,\x20just\x20enough\x20to\x20anchor\x20the\x20eye\x20without\x20competing\x20with\x20the\x20data.','price_per_kwh','Header\x20text\x20font\x20weight.\x20Accepts\x20CSS\x20keywords\x20(light/normal/bold)\x20or\x20numbers\x20(300,\x20400,\x20600,\x20700).\x20Leave\x20empty\x20for\x20theme\x20default.','getDay','Icon\x20Size','tagName','.thr-list','var(--primary-color,\x20#4A90D9)','','.e-show_line','_exportCsv','.ci','rgba(0,0,0,0.06)','weekday','add','auto_hide','PALETTE','card_header_letter_spacing','Data\x20Vars','Auto\x20(HA\x20profile)','.sgc-state-wrap[data-pos=\x22','ddd\x20DD\x20MMM','_drillStack','cloneNode',':\x20\x22','_barHalfWidth','data_time_year','','sgc-plot-clip','\x22>px\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Entities','\x20','Today','setItem','\x20selected','font-weight:500;pointer-events:none;text-shadow:0\x201px\x202px\x20rgba(0,0,0,0.3)','Slice\x20Label\x20Size','unknown\x20function\x20\x22','src','std','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','localeCompare','A\x20÷\x20B','MM/DD\x20HH:mm','\x22\x20data-label=\x22','touchstart','Tooltip\x20Total','false','\x22>','.e-data_vars','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','svgViewWidth','','invert','.e-show_graph','Duplicate','sgc-y-axis','sgc-bargrad-','_setupTooltip','trend_up_color','Hard','unit','yearEqualSpace','Display\x20the\x20window-wide\x20min\x20and\x20max\x20as\x20a\x20subdued\x20(min\x20-\x20max)\x20suffix\x20next\x20to\x20the\x20primary\x20value.\x20Best\x20paired\x20with\x20show_graph:\x20false\x20+\x20primary_state_as:\x20min/max\x20for\x20compact\x20records\x20cards.\x20Uses\x20range-band\x20data\x20when\x20enabled,\x20otherwise\x20falls\x20back\x20to\x20the\x20aggregate\x20min/max\x20over\x20the\x20visible\x20window.','show_values','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','How\x20numbers\x20are\x20formatted.\x20System\x20=\x20follow\x20HA\x20locale\x20setting.\x20Comma\x20=\x20European\x20style\x20(1.234,56).\x20Dot\x20=\x20American\x20style\x20(1,234.56).','Mouse\x20Wheel','pickStatField','variables','Color\x20for\x20slice\x20value\x20labels.\x20Accepts\x20any\x20CSS\x20color\x20(hex,\x20rgba,\x20name)\x20or\x20CSS\x20variable.\x20Leave\x20empty\x20for\x20white\x20(auto-contrast\x20against\x20slice\x20color).','.sgc-detail-legend-entity','time_zone','_setupColorTemplates','Reference\x20Year','Battery\x20Entity','','rgba(255,255,255,0.85)','\x22\x20data-tc=\x22general\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','floor','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x22\x20stroke-width=\x222\x22/>','\x20→\x20','[sgc]\x20annotation\x20history\x20fetch\x20failed','Header,\x20icon,\x20styling\x20and\x20language','toFixed','\x0a\x20\x20\x20\x20\x20\x20','\x22\x20cannot\x20be\x20combined\x20with\x20aggregate_func\x20\x22','_renderMatrixChart','More\x20Info','battery_low_threshold','state_changed','-color)','timeZone','Roundness\x20of\x20each\x20state\x20segment\x20corners\x20in\x20pixels.\x200\x20=\x20perfectly\x20sharp.\x203\x20=\x20default.\x20Larger\x20values\x20round\x20into\x20a\x20pill\x20shape\x20(capped\x20at\x20half\x20the\x20row\x20height).\x20Advanced\x20users\x20can\x20also\x20target\x20the\x20sgc-stl-cell\x20class\x20from\x20card_mod\x20for\x20per-state\x20styling.','pow','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','annotations','State','Name\x20of\x20the\x20entity\x20attribute\x20containing\x20the\x20data\x20array.\x20For\x20example:\x20data,\x20forecast,\x20price_info.\x20Leave\x20empty\x20to\x20use\x20normal\x20history.','\x20-\x20','.e-legend_last','mapY','position:absolute;visibility:hidden;pointer-events:none;top:-9999px;left:-9999px','.sgc-pie-container','_getAxisStateMap','_onIntervalSyncEvent','Border\x20thickness.\x20Accepts\x20a\x20number\x20(treated\x20as\x20px)\x20or\x20any\x20CSS\x20value\x20like\x202px.\x20Leave\x20empty\x20for\x20theme\x20default.','Time-shift\x20the\x20plotted\x20data\x20along\x20the\x20X-axis.\x20Positive\x20(e.g.\x2024)\x20shifts\x20data\x20forward\x20—\x20for\x20forecast\x20sensors\x20whose\x20state\x20represents\x20T+N\x20hours\x20ahead.\x20Negative\x20(e.g.\x20-24)\x20shifts\x20data\x20backward\x20—\x20useful\x20with\x20attribute-based\x20forecast\x20data\x20to\x20overlay\x20tomorrow\x27s\x20forecast\x20onto\x20today.\x20Leave\x20empty\x20(or\x200)\x20to\x20disable.\x20Independent\x20from\x20Offset\x20—\x20both\x20can\x20be\x20combined.','>','_yEnt','.sgc-dp-toggle','dp-future','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20','name_position','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_computeRollingStart','\x22>px','_collectDataVarIds','alignItems','getBoundingClientRect','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','language','statsFieldCascade','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','has_sum','isArray','&minimal_response&no_attributes','Last\x20Color','.f,\x20.si','disconnect','tooltip_match_axis','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_renderLegend','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.dp-zone-right','log','_pieItems','\x22\x20data-mtab=\x22yaxis\x22>','_buildStateRowHtml','.e-gradient','bar_spacing','Time\x20window\x20in\x20hours\x20for\x20trend\x20direction\x20calculation.\x20The\x20slope\x20across\x20the\x20last\x20N\x20hours\x20determines\x20whether\x20the\x20icon\x20shows\x20▲\x20(rising),\x20▼\x20(falling),\x20or\x20⯇⯈\x20(stable).\x20Set\x20to\x200\x20to\x20use\x20the\x20full\x20displayed\x20range.\x20Decimals\x20are\x20allowed\x20(e.g.\x200.5\x20=\x2030\x20min,\x200.25\x20=\x2015\x20min)\x20—\x20but\x20the\x20window\x20must\x20still\x20contain\x20at\x20least\x202\x20data\x20points,\x20otherwise\x20it\x20stays\x20stable.','setDate','','color','xmlns','.panel-header[data-toggle]','.ma-row','0.16','isDate','','scroll','Minimum\x20for\x20the\x20Y\x20axis.\x20Prefix\x20with\x20~\x20for\x20a\x20soft\x20bound\x20(e.g.\x20~0)\x20—\x20axis\x20uses\x20this\x20value\x20when\x20data\x20stays\x20above\x20it,\x20expands\x20if\x20data\x20goes\x20lower.\x20Hard\x20bound\x20(e.g.\x200)\x20forces\x20the\x20axis\x20edge\x20regardless\x20of\x20data.\x20Also\x20accepts\x20an\x20entity\x20ID\x20for\x20a\x20dynamic\x20bound.','_renderDatePicker','_intervalInitialSyncDone','_prep','How\x20many\x20hours\x20of\x20history\x20to\x20load\x20and\x20display\x20in\x20the\x20default\x20rolling\x20window.\x20Higher\x20values\x20fetch\x20more\x20data\x20but\x20may\x20slow\x20down\x20the\x20card.\x20Ignored\x20when\x20Date\x20Picker,\x20Energy\x20Sync,\x20Interval\x20Picker,\x20Graph\x20Start,\x20or\x20Graph\x20Start\x20Hour\x20overrides\x20the\x20time\x20window.','search','_buildThresholdGradient','cancelable','SELECT','','.sgc-al-select','error','pie:','sgc-scroll-sync','tStart','_collectThrRefs','pane','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','yearTotal','data','config-changed','Min','_dpMode','.e-ref_entity','right','sgc-crosshair','','color:var(','.cmp-row','Diff','area','No\x20numeric\x20data\x20for\x20histogram.','\x22>px','Drill\x20Down','select','_tplGen','.e-smooth','_energyStart','[sgc]\x20render\x20error','.asr-row','transformSeries','donut','>\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Line\x20/\x20Fill\x20Color','\x22\x20data-id=\x22','.sgc-ip-wrap','Action\x20triggered\x20when\x20tapping\x20this\x20entity\x27s\x20state\x20row.\x20More\x20Info\x20opens\x20the\x20HA\x20entity\x20detail\x20dialog.\x20Navigate\x20goes\x20to\x20a\x20dashboard\x20path.\x20URL\x20opens\x20an\x20external\x20link.\x20Call\x20Service\x20triggers\x20an\x20HA\x20service\x20directly.','.sgc-plot','dateObj','y_axis','No\x20entity\x20to\x20display.','\x22\x20style=\x22width:100%;font-family:monospace;font-size:11px\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Shows\x20percentage\x20next\x20to\x20each\x20bar\x20and\x20Share\x20row\x20in\x20the\x20hover\x20tooltip.','interval_options','points_per_hour','mapped','Stacked\x20Group\x20Totals','sgc-y-axis-label\x20sgc-y-axis-label-left','_areaDisambig','','Range\x20Band','sgc-spark-mode','Never','_attachTooltip','_spokes','_persistDatePicker','pie_center_font_size','%\x22\x20stop-color=\x22','Name\x20of\x20the\x20time\x20field\x20in\x20each\x20array\x20item.\x20Default:\x20start_time.','sgc-search-miss','subscribeMessage','date_picker_step','scrollbar','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Value\x20Position','trailing\x20tokens','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','3,3','.e-icon_size','A\x20−\x20B','debug_fetch','show_y_axis_label','','Horizontal\x20position\x20of\x20the\x20‹\x20period\x20›\x20navigator\x20inside\x20the\x20picker\x20bar\x20—\x20left,\x20center,\x20or\x20right.\x20If\x20it\x20shares\x20a\x20position\x20with\x20the\x20shortcuts,\x20the\x20navigator\x20is\x20placed\x20first,\x20to\x20their\x20left.','_pendingSyntheticRefresh','','e-trend_up_color','.sgc-dp-prev','grd:','label_font_size','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','getPropertyValue','Range','\x22\x20title=\x22','focus','','light-blue','','BOUNDS','sgc-state-wrap\x20','indigo','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','Primary','style','\x22\x20data-tab=\x22appearance\x22>','_start','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Day\x20of\x20month\x20(1-31)','Level','','Auto\x20Hide\x20Entities','_energyUnsub',';visibility:hidden',')','_ovAttrIdSeq','ha-icon','has','statistics','_seriesEntity','stats','units','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','unexpected\x20trailing\x20token\x20\x22','Names\x20used\x20by\x20Value\x20Expression,\x20mapped\x20to\x20entity\x20IDs\x20-\x20one\x20per\x20line\x20as\x20name:\x20entity_id.\x20Each\x20resolves\x20to\x20the\x20entity\x20numeric\x20state\x20and\x20re-evaluates\x20live\x20when\x20it\x20changes.\x20Example:\x20mwst:\x20input_number.vat_rate','last_updated','State\x20Row','Default','getHours','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20▶\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20','TL_STL','How\x20to\x20bucket\x20raw\x20history\x20data\x20before\x20aggregation.\x20Interval\x20=\x20equal-width\x20buckets\x20across\x20the\x20full\x20time\x20range\x20(most\x20common).\x20Hour\x20=\x20one\x20bucket\x20per\x20clock\x20hour.\x20Date\x20=\x20one\x20per\x20calendar\x20day.\x20Week\x20=\x20one\x20per\x20calendar\x20week\x20(Mon–Sun).\x20Month\x20=\x20one\x20per\x20calendar\x20month.\x20Raw\x20=\x20no\x20bucketing\x20at\x20all:\x20every\x20recorded\x20sample\x20is\x20drawn\x20at\x20its\x20exact\x20timestamp\x20—\x20ideal\x20for\x20step\x20graphs\x20of\x20binary/state\x20sensors\x20where\x20each\x20transition\x20matters.','closePath','_color','Format\x20the\x20tooltip\x20date\x20header\x20exactly\x20like\x20the\x20X-axis\x20labels.\x20Long-range\x20views\x20then\x20show\x20e.g.\x20\x27May\x2026\x27\x20instead\x20of\x20a\x20full\x20timestamp,\x20ignoring\x20the\x20Date\x20Format\x20pattern\x20just\x20as\x20the\x20axis\x20does.\x20It\x20never\x20appends\x20a\x20time\x20to\x20a\x20date:\x20Month/Year/day\x20views\x20show\x20the\x20date\x20only,\x20intraday\x20hour\x20views\x20show\x20the\x20clock\x20only.','HH:mm','STYLE','Style','show_extrema_max','expected\x20','','h:mm:ss','Custom\x20color\x20for\x20Y-axis\x20labels\x20and\x20tick\x20marks.\x20Accepts\x20any\x20CSS\x20color\x20(hex,\x20rgba,\x20color\x20name)\x20or\x20a\x20CSS\x20variable\x20like\x20var(--my-color).\x20Leave\x20empty\x20for\x20theme\x20default\x20(--secondary-text-color).','card_icon_image','rgba(255,255,255,0.5)','h\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','moving_averages','Name\x20Position','var(--success-color,\x20#22c55e)','iso','_compareShiftHours','Share','item','unknown\x20function\x20','Norsk','var(--','font-weight:','\x20–\x20','HA-CARD','pie_center_color','Tooltip\x20Sync','canvas\x20tainted','','','','unclosed\x20{','\x22>›','Custom\x20background\x20color\x20for\x20the\x20card.\x20Accepts\x20any\x20CSS\x20color\x20(hex,\x20name,\x20rgb,\x20rgba).\x20Use\x20rgba(r,g,b,a)\x20for\x20transparency,\x20e.g.\x20rgba(155,150,150,0.3).\x20Leave\x20empty\x20for\x20theme\x20default.','\x22>px','numeric','_lastTplKey','0.35','\x22>(non-numeric\x20→\x20numeric)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20One\x20line\x20per\x20state,\x20as\x20value,\x20label,\x20color\x20—\x20label\x20and\x20color\x20are\x20optional.\x20Line\x20order\x20=\x20graph\x20value\x20(0,\x201,\x202…).\x20Color\x20accepts\x20any\x20CSS\x20color\x20(name,\x20hex,\x20or\x20var).\x20Examples:
off
on
off,\x20Stopped
on,\x20Working
Youtube,\x20YouTube,\x20red
Netflix,\x20Netflix,\x20#E50914\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','y_grid_style','entity','Y\x20Axis\x20Decimals','.e-legend_max','Last\x203D','sans-serif','_statNet','3\x20Hours','create','overlay','text/csv;charset=utf-8','External\x20statistic\x20—\x20only\x20published\x20to\x20the\x20statistics\x20database.','rgba(255,255,255,0.3)','now_line_color','_visHandler','ids','_renderAttributeList','Visual\x20preset.\x20Classic\x20=\x20full\x20pie.\x20Thick\x20=\x20wide\x20donut\x20ring.\x20Donut\x20=\x20standard\x20(default).\x20Thin\x20=\x20narrow\x20ring.\x20Center\x20Total\x20enforces\x20minimum\x20inner\x20hole.','_bucketSeries','Month','_ensurePinchHandlers','_slices','_drillDownAt','sgc-area','#2ecc71','card_icon_size','flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap','%27','.e-name','fillStyle','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Opacity\x20of\x20Y-axis\x20labels.\x200\x20=\x20invisible,\x201\x20=\x20fully\x20opaque.\x20Default\x20is\x200.65.','My\x20annotation','X\x20Label\x20Color','.sgc-animated','Tue','','_dpSyncHandler','.e-icon_color-picker','position:absolute;top:calc(100%\x20+\x204px);left:0;right:0;z-index:100;max-height:260px;overflow:auto;background:var(--bg);border:1px\x20solid\x20var(--bd);border-radius:8px;box-shadow:0\x206px\x2024px\x20rgba(0,0,0,.25);padding:4px;display:none','group_by','input','','teal','Top\x20Right','X\x20Grid\x20Width','Loading…','Icon\x20Position','preserveAspectRatio','Year\x20Before','\x22\x20fill-opacity=\x220.32\x22\x20stroke=\x22','sgc-ann-label\x20sgc-ann-event-label','server','position:absolute;visibility:hidden;pointer-events:none;','height:','_buildCsvText','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','data_value_field','Center\x20Total','>','_drillWindow','bad\x20number\x20\x22','Solid','parentNode','#sgc-extras','Axis\x20Labels','_groupForQueryKind','Name\x20Size','_abort','seriesStats','measurement','\x22\x20style=\x22cursor:','_xAxisLabelFormatters','','stack_group','_hass','\x22>°px\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.sgc-detail-legend-wrap','Pts/h','YYYY-MM-DD','rise_color','date','Set\x20entity\x20color\x20to\x20threshold\x20to\x20propagate\x20threshold\x20colors\x20to\x20state\x20row\x20elements.','display','width:100%;box-sizing:border-box;padding:8px\x2010px;border:1px\x20solid\x20var(--bd);border-radius:6px;background:var(--sf);color:var(--tx);font-size:12px;font-family:inherit;outline:none','_hasLTS','[sgc]\x20query\x20sync\x20failed','This\x20Week','_sgcExtremaBound','signal','_mainTab','_isCardFieldRelevantForMode','anchorStart','matchMedia','state_timeline_corner_radius','[sgc]\x20value_transform\x20produced\x20non-numeric\x20probe:','','','\x20.sgc-dp-shortcuts','clientX','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','anim','Tooltip\x20Name','_renderErrTs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','attributes','','_instanceKey','tap','assign','Check\x20the\x20chart_mode\x20value.\x20The\x20YAML\x20config\x20is\x20preserved.','','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20px\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20h':'')+_0x1f2218(0xdef)+(_0x57c39f?_0x1f2218(0x852)+(_0x3d1515[_0x1f2218(0x63b)]!==![]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0xcc1))+'\x20'+_0x18e6e8('Print\x20each\x20cell\x27s\x20value\x20inside\x20the\x20heatmap\x20or\x20calendar\x20boxes.\x20Turn\x20off\x20for\x20a\x20cleaner\x20color-only\x20grid\x20-\x20exact\x20values\x20stay\x20available\x20in\x20the\x20hover\x20tooltip.')+'':'')+_0x1f2218(0xba2)+(!_0x57c39f&&!_0x105bd5?_0x1f2218(0x814)+(_0x3d1515[_0x1f2218(0x505)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0xc80))+'\x20'+_0x18e6e8(_0x1f2218(0x983))+_0x1f2218(0x260):'')+_0x1f2218(0xc58)+(_0x3d1515[_0x1f2218(0xe1a)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT']('Area\x20names')+'\x20'+_0x18e6e8('Append\x20each\x20entity\x27s\x20Home\x20Assistant\x20area\x20to\x20its\x20name\x20-\x20in\x20the\x20state\x20row,\x20legend,\x20tooltips,\x20stats,\x20exports\x20and\x20this\x20list.\x20The\x20area\x20comes\x20from\x20the\x20entity\x20itself,\x20or\x20from\x20its\x20device.\x20Entities\x20you\x20gave\x20a\x20Custom\x20Name\x20keep\x20it\x20untouched,\x20and\x20a\x20name\x20that\x20already\x20contains\x20its\x20area\x20is\x20not\x20doubled.\x20Off\x20by\x20default.')+_0x1f2218(0x2fc)+(_0x3d1515[_0x1f2218(0x925)]&&!_0x3d1515['use_only_attribute_name']?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0x202))+'\x20'+_0x18e6e8(_0x1f2218(0x6a4))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x1f2218(0x544)](_0x1f2218(0x92b))+'\x20'+_0x18e6e8(_0x1f2218(0x627))+_0x1f2218(0x260):'')+_0x1f2218(0xdef)+(_0x544843?_0x1f2218(0x9d2)+(_0x3d1515['sparkline']?'checked':'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)]('Sparkline')+'\x20'+_0x18e6e8(_0x1f2218(0x5fe))+'':'')+_0x1f2218(0xdef)+(_0x544843&&!_0x105bd5?_0x1f2218(0x921)+(_0x3d1515[_0x1f2218(0x4d0)]?'checked':'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0x927))+'\x20'+_0x18e6e8('When\x20enabled,\x20automatically\x20picks\x20the\x20best\x20Group\x20By\x20and\x20Points/Hour\x20for\x20the\x20visible\x20window\x20—\x20aiming\x20for\x20~100\x20points.\x20Falls\x20back\x20to\x20a\x20safer\x20mode\x20(Points/Hour\x20only)\x20for\x20kart\x20configurations\x20using\x20offset,\x20forecast_horizon,\x20or\x20attribute-based\x20data\x20sources,\x20where\x20Group\x20By\x20override\x20could\x20break\x20per-entity\x20time\x20alignment.')+_0x1f2218(0x260):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{const _0x66d0bb=_0x1f2218,_0x19782f=Array[_0x66d0bb(0x724)](_0x3d1515[_0x66d0bb(0x4a3)])?_0x3d1515[_0x66d0bb(0x4a3)]:[],_0x59a92e=[_0x66d0bb(0x6e0),'hour','2h','3h','4h','6h',_0x66d0bb(0x368),_0x66d0bb(0xb87),'week',_0x66d0bb(0x4e2),'year'],_0x4b1e46={'interval':_0x66d0bb(0x8fa),'hour':_0x66d0bb(0xbe9),'2h':'2\x20Hours','3h':_0x66d0bb(0xaef),'4h':'4\x20Hours','6h':_0x66d0bb(0x9d5),'12h':'12\x20Hours','date':'Date','week':'Week','month':_0x66d0bb(0xafb),'year':'Year'},_0x13d6eb=(this[_0x66d0bb(0x248)]||[])['some'](_0x1fea22=>(_0x1fea22?.[_0x66d0bb(0x529)]||_0x1fea22?.[_0x66d0bb(0xc4e)])==='step')||_0x19782f[_0x66d0bb(0x45c)](_0x3fc708=>_0x3fc708?.[_0x66d0bb(0xb18)]==='raw'),_0x202fda=_0x19782f[_0x66d0bb(0x7ee)]((_0x52d4b8,_0x30497f)=>_0x66d0bb(0x9cd)+_0x30497f+'\x22>°\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_eT'](_0x1f2218(0x326))+'\x20'+_0x18e6e8('Adds\x20depth\x20to\x20the\x20pie\x20by\x20squashing\x20it\x20vertically\x20and\x20rendering\x20side\x20walls\x20below.\x20Works\x20with\x20any\x20style\x20preset.')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20':'')+_0x1f2218(0x188)+(_0x5249d2===_0x1f2218(0x93e)?_0x1f2218(0x867)+this[_0x1f2218(0x544)](_0x1f2218(0xac8))+'\x20'+_0x18e6e8(_0x1f2218(0x64b))+'px'+this[_0x1f2218(0x544)]('Y-axis\x20settings\x20are\x20hidden\x20in\x20sparkline\x20mode')+_0x1f2218(0xcc3):_0x57c39f?_0x1f2218(0xcd3)+this[_0x1f2218(0x544)]('Labels')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+[_0x1f2218(0xa85),_0x1f2218(0x48f),_0x1f2218(0x6e6),'long-dash']['map'](_0x58326d=>_0x50bb87(_0x58326d,_0x3d1515[_0x1f2218(0xae8)]??_0x1f2218(0xa85),this[_0x1f2218(0x544)](_0x58326d[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x58326d[_0x1f2218(0x3d3)](0x1)[_0x1f2218(0x944)]('-','\x20'))))[_0x1f2218(0xc0d)]('')+_0x1f2218(0xce4)+this[_0x1f2218(0x544)](_0x1f2218(0x155))+'\x20'+_0x18e6e8('Thickness\x20of\x20horizontal\x20grid\x20lines\x20in\x20pixels.\x20Default\x20is\x201.\x20Accepts\x20decimals\x20like\x200.5.')+_0x1f2218(0x77a)+escapeHtml(_0x3d1515[_0x1f2218(0x846)]??'')+_0x1f2218(0xd01)+this[_0x1f2218(0x544)]('Y\x20Grid\x20Color')+'\x20'+_0x18e6e8(_0x1f2218(0xcb2))+_0x1f2218(0x263)+this[_0x1f2218(0x544)](_0x1f2218(0x752))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0xd8f)]??'')+_0x1f2218(0x6f6)+escapeHtml(this[_0x1f2218(0xbba)](_0x3d1515[_0x1f2218(0xd8f)]||_0x1f2218(0xd28)))+_0x1f2218(0x70b)+this[_0x1f2218(0x544)](_0x1f2218(0xc5f))+'\x20'+_0x18e6e8(_0x1f2218(0x2ba))+_0x1f2218(0xe22)+escapeHtml(_0x3d1515['y_grid_opacity']??'')+_0x1f2218(0x3de)+this[_0x1f2218(0x544)](_0x1f2218(0xd5d))+_0x1f2218(0x124)+this[_0x1f2218(0x544)]('Min\x20Y\x20Range')+'\x20'+_0x18e6e8('Minimum\x20span\x20of\x20the\x20primary\x20Y\x20axis.\x20If\x20the\x20actual\x20data\x20range\x20is\x20smaller\x20than\x20this,\x20the\x20axis\x20expands\x20symmetrically\x20around\x20the\x20center.\x20Example:\x20set\x20to\x2010\x20and\x20data\x20ranges\x2020-22\x20→\x20axis\x20shows\x2016-26.\x20Prevents\x20overly\x20zoomed\x20graphs\x20for\x20nearly-flat\x20data.')+_0x1f2218(0x2eb)+this['_eT']('None')+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0xe49)]??'')+_0x1f2218(0xb31)+this[_0x1f2218(0x544)](_0x1f2218(0xc1e))+'\x20'+_0x18e6e8(_0x1f2218(0x85f))+_0x1f2218(0x9ba)+this[_0x1f2218(0x544)](_0x1f2218(0x525))+'\x22\x20value=\x22'+escapeHtml(_0x3d1515[_0x1f2218(0x88e)]??'')+_0x1f2218(0xbd2)+this[_0x1f2218(0x544)](_0x1f2218(0xa23))+'\x20'+_0x18e6e8(_0x1f2218(0x3fa))+_0x1f2218(0x805)+escapeHtml(_0x3d1515['lower_bound']??'')+_0x1f2218(0xb31)+this[_0x1f2218(0x544)]('Upper\x20Bound\x20Y')+'\x20'+_0x18e6e8(_0x1f2218(0x46f))+_0x1f2218(0x7c6)+escapeHtml(_0x3d1515[_0x1f2218(0x77d)]??'')+_0x1f2218(0xbd2)+this[_0x1f2218(0x544)](_0x1f2218(0x1e9))+'\x20'+_0x18e6e8(_0x1f2218(0x7b5))+''+['','1h','2h','3h','4h','6h','8h','12h','1d','2d','7d','1w','2w','1M','3M'][_0x1f2218(0x7ee)](_0x31e271=>_0x50bb87(_0x31e271,_0x3d1515[_0x1f2218(0x912)]??'',_0x31e271===''?this[_0x1f2218(0x544)](_0x1f2218(0x752)):_0x31e271['toUpperCase']()))[_0x1f2218(0xc0d)]('')+'':'')+_0x1f2218(0xd0b):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x144c99?''+this[_0x1f2218(0x544)](_0x1f2218(0xb77))+_0x1f2218(0x124)+this['_eT'](_0x1f2218(0xccc))+'\x20'+_0x18e6e8(_0x1f2218(0x493))+_0x1f2218(0xf9)+[_0x1f2218(0xa85),'solid',_0x1f2218(0x6e6),_0x1f2218(0x70e)]['map'](_0x4a3aa2=>_0x50bb87(_0x4a3aa2,_0x3d1515[_0x1f2218(0x16b)]??_0x1f2218(0xa85),this[_0x1f2218(0x544)](_0x4a3aa2[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x4a3aa2[_0x1f2218(0x3d3)](0x1)[_0x1f2218(0x944)]('-','\x20'))))['join']('')+_0x1f2218(0xce4)+this['_eT'](_0x1f2218(0xb26))+'\x20'+_0x18e6e8('Thickness\x20of\x20vertical\x20grid\x20lines\x20in\x20pixels.\x20Default\x20is\x201.\x20Accepts\x20decimals\x20like\x200.5.')+_0x1f2218(0x4ab)+escapeHtml(_0x3d1515[_0x1f2218(0x4e0)]??'')+_0x1f2218(0xd01)+this['_eT']('X\x20Grid\x20Color')+'\x20'+_0x18e6e8(_0x1f2218(0x419))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x1f2218(0x544)](_0x1f2218(0xa1d))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+[_0x1f2218(0x70d),_0x1f2218(0x510)]['map'](_0x33f724=>_0x50bb87(_0x33f724,_0x3d1515[_0x1f2218(0x626)]??_0x1f2218(0x70d),this[_0x1f2218(0x544)](_0x33f724['charAt'](0x0)[_0x1f2218(0x380)]()+_0x33f724[_0x1f2218(0x3d3)](0x1))))['join']('')+_0x1f2218(0x324)+this[_0x1f2218(0x544)](_0x1f2218(0xd0f))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515['date_picker_group']??'')+_0x1f2218(0x19f)+(_0x3d1515[_0x1f2218(0xdd7)]?_0x1f2218(0x51c)+this[_0x1f2218(0x544)](_0x1f2218(0x68e))+'\x20'+_0x18e6e8(_0x1f2218(0x508))+''+((()=>{const _0x4938d5=_0x1f2218,_0x108e07=_0x2688ac=>{const _0x1ae6dc=_0x53a5,_0x3b2e9e=_0x3d1515['date_picker_modes'],_0x54e3d6=_0x2688ac['k']in DATE_PICKER_RELATIVE_MODES,_0x1c9443=_0x3b2e9e?.[_0x1ae6dc(0xc70)]?_0x3b2e9e['includes'](_0x2688ac['k']):!_0x54e3d6;return _0x1ae6dc(0x409)+_0x2688ac['k']+'\x22\x20'+(_0x1c9443?_0x1ae6dc(0xe25):'')+_0x1ae6dc(0x2e1)+this[_0x1ae6dc(0x544)](_0x2688ac['l'])+_0x1ae6dc(0x260);},_0x220a17=(_0x4f2aac,_0x1dbf8a,_0x143753)=>''+escapeHtml(this[_0x4938d5(0x544)](_0x4f2aac))+''+_0x18e6e8(_0x1dbf8a)+''+_0x143753[_0x4938d5(0x7ee)](_0x108e07)['join']('')+_0x4938d5(0xcc3);return _0x220a17(_0x4938d5(0x95c),_0x4938d5(0xb74),[{'k':_0x4938d5(0xc85),'l':'D'},{'k':_0x4938d5(0x26d),'l':'W'},{'k':'month','l':'M'},{'k':_0x4938d5(0x4f9),'l':'Y'}])+_0x220a17(_0x4938d5(0x2f4),_0x4938d5(0x530),Object[_0x4938d5(0x610)](DATE_PICKER_RELATIVE_MODES)[_0x4938d5(0x7ee)](([_0xd8a00b,_0x3a25c2])=>({'k':_0xd8a00b,'l':_0x3a25c2[_0x4938d5(0x95f)]})));})())+_0x1f2218(0x124)+this['_eT'](_0x1f2218(0xe29))+'\x20'+_0x18e6e8('Number\x20of\x20units\x20per\x20window.\x201\x20=\x20single\x20unit\x20(e.g.\x20one\x20day,\x20one\x20month\x20—\x20legacy\x20behavior).\x20>1\x20turns\x20the\x20picker\x20into\x20a\x20rolling\x20N-unit\x20window:\x20prev/next\x20buttons\x20jump\x20a\x20full\x20N\x20units.\x20Example:\x20step=4\x20with\x20Week\x20mode\x20shows\x20the\x20last\x204\x20weeks\x20and\x20navigates\x20back/forward\x204\x20weeks\x20at\x20a\x20time.')+_0x1f2218(0xc79)+escapeHtml(_0x3d1515[_0x1f2218(0x91f)]??0x1)+_0x1f2218(0xd1a)+this[_0x1f2218(0x544)](_0x1f2218(0x9c2))+'\x20'+_0x18e6e8(_0x1f2218(0x992))+_0x1f2218(0x181)+[{'v':'','l':this[_0x1f2218(0x544)](_0x1f2218(0x752))},{'v':_0x1f2218(0xc85),'l':this[_0x1f2218(0x544)](_0x1f2218(0xa21))},{'v':'week','l':this[_0x1f2218(0x544)]('Week')},{'v':'month','l':this[_0x1f2218(0x544)]('Month')},{'v':_0x1f2218(0x4f9),'l':this[_0x1f2218(0x544)]('Year')},{'v':'last_24h','l':this[_0x1f2218(0x544)](_0x1f2218(0x13f))},{'v':_0x1f2218(0x748),'l':this[_0x1f2218(0x544)](_0x1f2218(0xaec))},{'v':_0x1f2218(0x517),'l':this[_0x1f2218(0x544)](_0x1f2218(0x556))},{'v':_0x1f2218(0x416),'l':this[_0x1f2218(0x544)]('Last\x2015D')},{'v':_0x1f2218(0x141),'l':this[_0x1f2218(0x544)](_0x1f2218(0x25a))},{'v':_0x1f2218(0x54d),'l':this[_0x1f2218(0x544)](_0x1f2218(0xb5f))},{'v':_0x1f2218(0xd55),'l':this[_0x1f2218(0x544)](_0x1f2218(0xdda))},{'v':_0x1f2218(0x4de),'l':this[_0x1f2218(0x544)](_0x1f2218(0x43d))}][_0x1f2218(0x7ee)](_0x517666=>_0x50bb87(_0x517666['v'],_0x3d1515[_0x1f2218(0x3b3)]??'',_0x517666['l']))['join']('')+_0x1f2218(0x60d)+this[_0x1f2218(0x544)](_0x1f2218(0x189))+'\x20'+_0x18e6e8(_0x1f2218(0x939))+''+[_0x1f2218(0xa36),_0x1f2218(0x1f7),'right'][_0x1f2218(0x7ee)](_0x267c45=>_0x50bb87(_0x267c45,_0x3d1515[_0x1f2218(0x8db)]??'left',this['_eT'](_0x267c45[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x267c45[_0x1f2218(0x3d3)](0x1))))[_0x1f2218(0xc0d)]('')+_0x1f2218(0xce4)+this['_eT'](_0x1f2218(0x294))+'\x20'+_0x18e6e8(_0x1f2218(0xe4c))+''+[_0x1f2218(0xa36),'center',_0x1f2218(0x785)][_0x1f2218(0x7ee)](_0x1ad83e=>_0x50bb87(_0x1ad83e,_0x3d1515[_0x1f2218(0x21f)]??_0x1f2218(0x785),this[_0x1f2218(0x544)](_0x1ad83e[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x1ad83e[_0x1f2218(0x3d3)](0x1))))['join']('')+_0x1f2218(0x768):'')+_0x1f2218(0x717)+this[_0x1f2218(0x544)](_0x1f2218(0x3c3))+_0x1f2218(0x124)+this[_0x1f2218(0x544)](_0x1f2218(0x868))+'\x20'+_0x18e6e8('Daily\x20start\x20hour\x20filter.\x20Plain\x20number\x20=\x20absolute\x20clock\x20hour\x20(6\x20=\x2006:00,\x206.5\x20=\x2006:30).\x20Prefix\x20with\x20+\x20or\x20-\x20for\x20relative\x20to\x20NOW\x20(+1\x20=\x20one\x20hour\x20from\x20now,\x20-0.5\x20=\x2030\x20min\x20ago)\x20—\x20in\x20hand-written\x20YAML\x20these\x20must\x20be\x20quoted.\x20Alternatively\x20use\x20now,\x20now+1,\x20now-0.5\x20which\x20are\x20YAML-safe.\x20Also\x20accepts\x20entity\x20ID\x20(sensor.sunrise_hour)\x20for\x20dynamic\x20values.')+_0x1f2218(0x296)+escapeHtml(_0x3d1515[_0x1f2218(0x680)]?this[_0x1f2218(0x544)](_0x1f2218(0x66c)):'6\x20or\x20sensor.x')+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0x680)]?'':_0x3d1515[_0x1f2218(0x191)]??'')+'\x22\x20'+(_0x3d1515[_0x1f2218(0x680)]?_0x1f2218(0x32d):'')+_0x1f2218(0x455)+this['_eT']('End\x20Hour')+'\x20'+_0x18e6e8(_0x1f2218(0xcf4))+'_0x50bb87(_0x2222b0,_0x3d1515[_0x1f2218(0x680)]??'',{'':this['_eT'](_0x1f2218(0x8ff)),'day':this[_0x1f2218(0x544)](_0x1f2218(0x303)),'tomorrow':this[_0x1f2218(0x544)]('Tomorrow'),'week':this['_eT'](_0x1f2218(0xa1c)),'month':this[_0x1f2218(0x544)](_0x1f2218(0xafb)),'year':this['_eT'](_0x1f2218(0x714))}[_0x2222b0]))[_0x1f2218(0xc0d)]('')+_0x1f2218(0x8e0)+(_0x3d1515[_0x1f2218(0x333)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)]('Show\x20Full\x20Period')+'\x20'+_0x18e6e8('Extends\x20the\x20X-axis\x20end\x20to\x20cover\x20the\x20full\x20period\x20from\x20the\x20graph\x20start,\x20even\x20when\x20\x22now\x22\x20is\x20earlier.\x20With\x20Graph\x20Start:\x20tomorrow\x20→\x20end\x20of\x20tomorrow,\x20week\x20→\x20next\x20Monday\x2000:00,\x20month\x20→\x201st\x20of\x20next\x20month,\x20year\x20→\x201\x20Jan\x20next\x20year.\x20With\x20Graph\x20Start\x20Hour\x20or\x20no\x20anchor:\x20end\x20of\x20today\x20(midnight).\x20Active\x20in\x20Date\x20Picker\x20(current\x20period\x20only)\x20and\x20Energy\x20Sync\x20as\x20well.\x20Bypassed\x20when\x20the\x20Interval\x20Picker\x20is\x20active.\x20Note:\x20graph_start=tomorrow\x20automatically\x20extends\x20the\x20window\x20without\x20this\x20flag.')+_0x1f2218(0x50e)+(_0x2c2e78===_0x1f2218(0xaf1)?_0x1f2218(0x7f2):'')+_0x1f2218(0x609)+(!_0x105bd5?_0x1f2218(0xcd3)+this['_eT']('Card\x20Overlays')+_0x1f2218(0x5f0)+(_0x3d1515[_0x1f2218(0x989)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0x4cc))+'\x20'+_0x18e6e8(_0x1f2218(0x87c))+_0x1f2218(0x22b)+(_0x3d1515[_0x1f2218(0x989)]?'':_0x1f2218(0x5db))+_0x1f2218(0x142)+[_0x1f2218(0xa36),_0x1f2218(0x1f7),_0x1f2218(0x785)][_0x1f2218(0x7ee)](_0x4949d2=>_0x50bb87(_0x4949d2,_0x3d1515[_0x1f2218(0x4f2)]??'left',this[_0x1f2218(0x544)](_0x4949d2[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x4949d2[_0x1f2218(0x3d3)](0x1))))['join']('')+_0x1f2218(0xd90)+this[_0x1f2218(0x544)](_0x1f2218(0xd0f))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0xac6)]??'')+_0x1f2218(0xd1d)+(_0x3d1515['show_attribute_list']?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0xbce))+'\x20'+_0x18e6e8('Shows\x20a\x20compact\x20dropdown\x20list\x20of\x20attributes\x20for\x20entities.')+_0x1f2218(0x22b)+(_0x3d1515[_0x1f2218(0x9ea)]?'':_0x1f2218(0x5db))+_0x1f2218(0x7ec)+[_0x1f2218(0xa36),'center',_0x1f2218(0x785)][_0x1f2218(0x7ee)](_0x345e9b=>_0x50bb87(_0x345e9b,_0x3d1515[_0x1f2218(0x4ad)]??'left',this[_0x1f2218(0x544)](_0x345e9b[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x345e9b[_0x1f2218(0x3d3)](0x1))))[_0x1f2218(0xc0d)]('')+_0x1f2218(0xcb0)+(_0x3d1515['show_pph_picker']?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0x473))+'\x20'+_0x18e6e8('Shows\x20a\x20Points/Hour\x20dropdown\x20on\x20the\x20card\x20itself,\x20so\x20the\x20data\x20resolution\x20can\x20be\x20changed\x20without\x20opening\x20the\x20editor.\x20Auto\x20returns\x20to\x20the\x20configured\x20value.\x20The\x20selection\x20persists\x20per\x20card\x20and\x20takes\x20priority\x20over\x20Auto\x20Scale\x20while\x20active.\x20The\x20Group\x20field\x20keeps\x20the\x20Points/Hour\x20selection\x20in\x20sync\x20across\x20every\x20card\x20sharing\x20that\x20name\x20—\x20receivers\x20do\x20not\x20need\x20the\x20picker\x20visible,\x20so\x20one\x20card\x20can\x20drive\x20the\x20page.\x20Independent\x20from\x20the\x20Group\x20By\x20picker\x27s\x20group.')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20_0x50bb87(_0x1548c9,_0x3d1515[_0x1f2218(0x4ef)]??_0x1f2218(0xa36),this[_0x1f2218(0x544)](_0x1548c9['charAt'](0x0)[_0x1f2218(0x380)]()+_0x1548c9[_0x1f2218(0x3d3)](0x1))))['join']('')+_0x1f2218(0xc12)+this[_0x1f2218(0x544)](_0x1f2218(0xd0f))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0x11d)]??'')+_0x1f2218(0x8d8)+(_0x3d1515[_0x1f2218(0x398)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0xc52))+'\x20'+_0x18e6e8(_0x1f2218(0xbb9))+_0x1f2218(0x22b)+(_0x3d1515[_0x1f2218(0x398)]?'':_0x1f2218(0x5db))+_0x1f2218(0xc06)+[_0x1f2218(0xa36),_0x1f2218(0x1f7),'right'][_0x1f2218(0x7ee)](_0x57896c=>_0x50bb87(_0x57896c,_0x3d1515[_0x1f2218(0x40e)]??_0x1f2218(0xa36),this['_eT'](_0x57896c[_0x1f2218(0xc83)](0x0)[_0x1f2218(0x380)]()+_0x57896c['slice'](0x1))))[_0x1f2218(0xc0d)]('')+_0x1f2218(0x541)+this[_0x1f2218(0x544)](_0x1f2218(0xd0f))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0xded)]??'')+_0x1f2218(0x19f)+(_0x544843&&!_0x105bd5?_0x1f2218(0x456)+(_0x3d1515['brush_zoom']!==![]?_0x1f2218(0xe25):'')+'>'+this['_eT'](_0x1f2218(0x52d))+'\x20'+_0x18e6e8(_0x1f2218(0x388))+_0x1f2218(0x260):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x544843&&!_0x105bd5?_0x1f2218(0x5df)+(_0x3d1515[_0x1f2218(0xc76)]?'checked':'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0x78f))+'\x20'+_0x18e6e8('Click\x20a\x20single\x20bucket\x20on\x20the\x20graph\x20to\x20zoom\x20into\x20just\x20that\x20bucket\x20—\x20click\x20a\x20month\x20bar\x20to\x20see\x20its\x20days,\x20a\x20day\x20to\x20see\x20its\x20hours.\x20Double-click\x20steps\x20back\x20out,\x20same\x20as\x20brush\x20zooming,\x20and\x20Zoom\x20Sync\x20carries\x20the\x20new\x20window\x20to\x20grouped\x20cards.\x20Does\x20nothing\x20once\x20the\x20view\x20is\x20already\x20a\x20single\x20bucket.')+_0x1f2218(0x260):'')+_0x1f2218(0xdef)+(_0x2615d3?_0x1f2218(0x487)+(_0x3d1515[_0x1f2218(0xb22)]!==![]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0xb3b))+'\x20'+_0x18e6e8(_0x1f2218(0x183))+_0x1f2218(0x260):'')+_0x1f2218(0xdef)+(_0x5249d2===_0x1f2218(0xcca)?_0x1f2218(0x487)+(_0x3d1515[_0x1f2218(0xb22)]!==![]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0x885))+'\x20'+_0x18e6e8(_0x1f2218(0x907))+'':'')+_0x1f2218(0xdef)+(_0x5249d2===_0x1f2218(0x621)?'{const _0x4d2389=_0x1f2218,_0x3a50c5=_0x3d1515[_0x4d2389(0x908)],_0x572f12=['1H','2H','4H','8H',_0x4d2389(0x50c),_0x4d2389(0x1da),'7D'],_0x19e71f=_0x3a50c5&&Array[_0x4d2389(0x724)](_0x3a50c5)&&_0x3a50c5[_0x4d2389(0xc70)]?_0x3a50c5[_0x4d2389(0x15b)](_0x1cae92):_0x572f12[_0x4d2389(0x15b)](_0x1cae92);return _0x4d2389(0x742)+_0x1cae92+'\x22\x20'+(_0x19e71f?_0x4d2389(0xe25):'')+_0x4d2389(0xd56)+_0x1cae92+_0x4d2389(0x260);})[_0x1f2218(0xc0d)]('')+_0x1f2218(0xcc3):'')+_0x1f2218(0xd0b):_0x1f2218(0x5e8)+this[_0x1f2218(0x544)](_0x1f2218(0xa2d))+_0x1f2218(0xcc3))+_0x1f2218(0x297)+(_0x144c99&&!_0x105bd5?_0x1f2218(0xcd3)+this[_0x1f2218(0x544)](_0x1f2218(0xad6))+_0x1f2218(0xa77)+(_0x1280b2?_0x1f2218(0xad1)+(_0x3d1515[_0x1f2218(0xea6)]?'checked':'')+'>'+this[_0x1f2218(0x544)](_0x1f2218(0x205))+'\x20'+_0x18e6e8(_0x1f2218(0x153))+_0x1f2218(0x260)+(_0x3d1515[_0x1f2218(0xea6)]?_0x1f2218(0xa7a)+this[_0x1f2218(0x544)](_0x1f2218(0x752))+_0x1f2218(0xa26)+escapeHtml(_0x3d1515[_0x1f2218(0x567)]??'')+_0x1f2218(0x426)+escapeHtml(this[_0x1f2218(0xbba)](_0x3d1515[_0x1f2218(0x567)]||_0x1f2218(0x203)))+'\x22>':''):'')+_0x1f2218(0x39a)+(_0x3d1515['show_tooltip']!==![]?'checked':'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0xad6))+'\x20'+_0x18e6e8(_0x1f2218(0x57a))+''+(_0x3d1515[_0x1f2218(0x4ec)]!==![]?_0x1f2218(0x487)+(_0x3d1515[_0x1f2218(0xb22)]!==![]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this['_eT'](_0x1f2218(0x311))+'\x20'+_0x18e6e8(_0x1f2218(0xd7b))+_0x1f2218(0x260)+(_0x3d1515[_0x1f2218(0xda9)]?_0x1f2218(0x9d3)+(_0x3d1515[_0x1f2218(0xb09)]!==![]?_0x1f2218(0xe25):'')+'>'+this[_0x1f2218(0x544)](_0x1f2218(0x90b))+'\x20'+_0x18e6e8('When\x20the\x20chart\x20is\x20stacked\x20with\x20two\x20or\x20more\x20stack\x20groups,\x20adds\x20a\x20per-group\x20total\x20row\x20for\x20each\x20named\x20group\x20(e.g.\x20\x27Apples\x20Total\x27).\x20Independent\x20of\x20Tooltip\x20Total\x20—\x20turn\x20both\x20on\x20to\x20show\x20the\x20group\x20totals\x20AND\x20the\x20grand\x20Total\x20of\x20all\x20entities\x20together.')+'':''):'')+(_0x544843&&_0x3d1515[_0x1f2218(0x4ec)]!==![]?_0x1f2218(0x836)+(_0x3d1515[_0x1f2218(0x729)]?_0x1f2218(0xe25):'')+_0x1f2218(0x6e3)+this[_0x1f2218(0x544)](_0x1f2218(0x498))+'\x20'+_0x18e6e8(_0x1f2218(0x9dd))+_0x1f2218(0x260):'')+(_0x544843&&_0x3d1515['show_tooltip']!==![]?'':'')+_0x1f2218(0x56d)+(_0x544843&&_0x3d1515['show_tooltip']!==![]?_0x1f2218(0xd0c)+this[_0x1f2218(0x544)](_0x1f2218(0xe4f))+'\x20'+_0x18e6e8(_0x1f2218(0x3d1))+_0x1f2218(0xe4a)+[[_0x1f2218(0x8ee),this[_0x1f2218(0x544)](_0x1f2218(0x9c2))],[_0x1f2218(0x7be),this[_0x1f2218(0x544)]('Reverse')],[_0x1f2218(0xd70),this['_eT'](_0x1f2218(0x4d5))]][_0x1f2218(0x7ee)](([_0x4b2cb8,_0x48f58a])=>_0x50bb87(_0x4b2cb8,_0x3d1515[_0x1f2218(0x425)]??_0x1f2218(0x8ee),_0x48f58a))[_0x1f2218(0xc0d)]('')+_0x1f2218(0xe5b):'')+'':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(!_0x105bd5?_0x1f2218(0x352)+this[_0x1f2218(0x544)](_0x1f2218(0x7f7))+_0x1f2218(0x124)+this[_0x1f2218(0x544)](_0x1f2218(0x348))+'\x20'+_0x18e6e8('Entity\x20that\x20reports\x20battery\x20level\x20(0–100%).\x20Displays\x20a\x20battery\x20icon\x20with\x20level\x20and\x20percentage\x20in\x20the\x20top-right\x20corner\x20of\x20the\x20card\x20header\x20—\x20or\x20at\x20the\x20top-right\x20of\x20the\x20card\x20when\x20there\x20is\x20no\x20header.\x20Only\x20entities\x20with\x20device_class\x20battery\x20are\x20listed.\x20Leave\x20empty\x20to\x20hide.')+_0x1f2218(0x4b8)+(_0x3d1515[_0x1f2218(0x1c6)]||'')+'\x22>':'')+_0x1c9793(0x56d):'')+_0x1c9793(0x20c)+this[_0x1c9793(0x544)]('Label')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x1f2218(0x544)](_0x1f2218(0xe51))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20',_0x3fed0b=_0x3d1515[_0x1f2218(0xe1a)]?buildAreaSuffixes(this['_hass'],this[_0x1f2218(0x248)],null,(_0x5a13cc,_0x427545,_0xeaab39)=>applyAttributeName(_0x3d1515,this[_0x1f2218(0xb5b)],_0xeaab39,_0x5a13cc,_0x5a13cc[_0x1f2218(0x476)])):null,_0x16f7c2=this[_0x1f2218(0x248)][_0x1f2218(0x7ee)]((_0x51bbe9,_0x3565c0)=>{const _0x349f5d=_0x1f2218,_0x18abc8=this[_0x349f5d(0xb5b)]?.[_0x349f5d(0x28e)]?.[_0x51bbe9[_0x349f5d(0xae9)]]||null,_0x2c62a3=_0x18abc8?.[_0x349f5d(0xcd4)]?.[_0x349f5d(0xdb6)]??_0x51bbe9[_0x349f5d(0x673)]??_0x51bbe9[_0x349f5d(0xae9)]??_0x349f5d(0xba7)+(_0x3565c0+0x1),_0x55aa10=_0x3fed0b&&_0x51bbe9[_0x349f5d(0x673)]&&typeof _0x51bbe9[_0x349f5d(0x673)]==='string'&&!isTemplateString(_0x51bbe9[_0x349f5d(0x673)])?_0x51bbe9[_0x349f5d(0x673)]:applyAttributeName(_0x3d1515,this[_0x349f5d(0xb5b)],_0x2c62a3,_0x51bbe9,_0x51bbe9[_0x349f5d(0x476)]),_0x38309a=_0x55aa10+(_0x3fed0b?.['get'](_0x3565c0)||''),_0x1e3386=_0x18abc8?parseFloat(_0x18abc8['state']):null,_0x33752c=_0x18abc8?.[_0x349f5d(0xcd4)]?.[_0x349f5d(0x24f)]||'',_0x23ea49=((()=>{const _0x460e86=_0x349f5d,_0x3fbe73=_0x51bbe9[_0x460e86(0x73c)];if(!_0x3fbe73||_0x3fbe73===_0x460e86(0x74a))return _0x460e86(0x880);if(typeof _0x3fbe73===_0x460e86(0x19d)&&_0x3fbe73[_0x460e86(0x15b)]('{{'))return this[_0x460e86(0x88b)](_0x3fbe73)||_0x460e86(0x880);return _0x3fbe73||'#ff4757';})()),_0x534b6c=_0x51bbe9[_0x349f5d(0x8bc)]??'primary',_0x3c16b4=_0x51bbe9[_0x349f5d(0x529)]??'line',_0xeb2189=_0x51bbe9[_0x349f5d(0x36d)]??'avg',_0xa9e3a8=_0x51bbe9[_0x349f5d(0xd10)]??_0x349f5d(0xbd5),_0x31e425=_0x51bbe9['show_extrema']??_0x349f5d(0x55b),_0x217701=_0x51bbe9['rise_fall_colors']??null,_0x122fdb=_0x51bbe9['color_thresholds']??null,_0x4c46c1=this[_0x349f5d(0x21b)][_0x349f5d(0x9b5)]('e-'+_0x3565c0),_0x174dc1=this[_0x349f5d(0x926)][_0x3565c0]||_0x349f5d(0xa1e),_0x3117e2=((()=>{const _0x451dd3=_0x349f5d;if(_0x51bbe9[_0x451dd3(0x592)]||_0x51bbe9[_0x451dd3(0x476)]||_0x51bbe9[_0x451dd3(0x3d5)]||_0x51bbe9[_0x451dd3(0x659)])return''+this['_eT'](_0x451dd3(0x706))+_0x451dd3(0xd47);if(_0x51bbe9[_0x451dd3(0x378)]){const _0x50d479=_0x51bbe9[_0x451dd3(0x378)]['includes'](':');return _0x451dd3(0xb4a)+(_0x50d479?_0x451dd3(0xaf3):_0x451dd3(0x95a))+'\x22>'+(_0x50d479?this[_0x451dd3(0x544)](_0x451dd3(0xbbd)):this[_0x451dd3(0x544)](_0x451dd3(0x3ab)))+'';}const _0x1605fc=_0x18abc8?.[_0x451dd3(0xcd4)]?.[_0x451dd3(0x82a)];if(_0x1605fc===_0x451dd3(0xb47)||_0x1605fc===_0x451dd3(0x81f)||_0x1605fc==='total_increasing')return _0x451dd3(0x8c6)+_0x1605fc+'\x20—\x20long-term\x20statistics\x20available,\x20used\x20for\x20windows\x20beyond\x20raw\x20history\x20retention.\x22>'+this[_0x451dd3(0x544)](_0x451dd3(0x3ab))+_0x451dd3(0xd47);return _0x451dd3(0x3f3)+this['_eT']('History\x20only')+_0x451dd3(0xd47);})()),_0x139bd3=Array['isArray'](_0x51bbe9[_0x349f5d(0xaa8)])?_0x51bbe9['moving_averages']['map']((_0x2bed52,_0x1669ad)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20_0x349f5d(0x802)+_0x4f8ea7+_0x349f5d(0xa57)+this[_0x349f5d(0x544)](_0x349f5d(0x2ab))+_0x349f5d(0xdf8)+escapeHtml(String(_0x35287c[_0x349f5d(0xe91)]??0x0))+_0x349f5d(0xb31)+this['_eT'](_0x349f5d(0xd99))+_0x349f5d(0x56c)+escapeHtml(_0x35287c[_0x349f5d(0x73c)]??'')+_0x349f5d(0xe84)+escapeHtml(this[_0x349f5d(0xbba)](_0x35287c[_0x349f5d(0x73c)]))+'\x22'+(/^[a-z_]+\.[a-z0-9_]+/i[_0x349f5d(0x2e2)](String(_0x35287c[_0x349f5d(0x73c)]??''))||String(_0x35287c['color']??'')[_0x349f5d(0x15b)]('{{')?_0x349f5d(0x16a):'')+_0x349f5d(0xd3a)+this[_0x349f5d(0x544)](_0x349f5d(0xdbe))+_0x349f5d(0x587))['join'](''):'',_0x2e5a42=_0x51bbe9[_0x349f5d(0xe5c)]!==![],_0x275105=_0x51bbe9[_0x349f5d(0xc32)]!==![],_0x52122d=_0x51bbe9['show_fill']!==![],_0x2f57e7=!!_0x51bbe9[_0x349f5d(0x964)],_0x2b657b=_0x51bbe9[_0x349f5d(0x45d)]!==![],_0x432f58=_0x51bbe9[_0x349f5d(0xd5e)]!==![],_0x656fac=!!_0x51bbe9[_0x349f5d(0xe73)],_0x20fece=_0x381d6e=>_0x381d6e?'':_0x349f5d(0xa5e);return _0x349f5d(0xe67)+(_0x4c46c1?_0x349f5d(0x84f):'')+'\x20'+(_0x51bbe9['enabled']===![]?_0x349f5d(0xc0b):'')+_0x349f5d(0x5d9)+_0x3565c0+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20':'')+_0x349f5d(0xdef)+((_0x51bbe9[_0x349f5d(0x36d)]??_0x349f5d(0x44f))===_0x349f5d(0x32a)?_0x349f5d(0x375)+(_0x51bbe9['change_ignore_zero']===!![]?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)](_0x349f5d(0x20b))+'\x20'+_0x18e6e8(_0x349f5d(0xc10))+_0x349f5d(0x260):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x50bb87(_0x349f5d(0xbd5),_0xa9e3a8,this[_0x349f5d(0x544)](_0x349f5d(0x970)))+_0x50bb87(_0x349f5d(0x514),_0xa9e3a8,'1.234,56')+_0x50bb87(_0x349f5d(0x16e),_0xa9e3a8,_0x349f5d(0xc82))+_0x349f5d(0x182)+(!_0x656fac?'lk':'')+_0x349f5d(0x3da)+this[_0x349f5d(0x544)]('Legend')+'\x20'+_0x18e6e8(_0x349f5d(0xe32))+_0x349f5d(0x1cf)+(_0x656fac?_0x349f5d(0xe25):'')+_0x349f5d(0x23b)+(_0x656fac?'':_0x349f5d(0xa5e))+_0x349f5d(0x401)+((_0x51bbe9[_0x349f5d(0x6d0)]||[_0x349f5d(0xc2f),_0x349f5d(0x44f),_0x349f5d(0xa08)])[_0x349f5d(0x15b)](_0x349f5d(0xc2f))?_0x349f5d(0xe25):'')+'>'+this[_0x349f5d(0x544)]('Min')+_0x349f5d(0x4f3)+((_0x51bbe9[_0x349f5d(0x6d0)]||[_0x349f5d(0xc2f),_0x349f5d(0x44f),_0x349f5d(0xa08)])[_0x349f5d(0x15b)](_0x349f5d(0x44f))?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)](_0x349f5d(0x779))+_0x349f5d(0x9c4)+((_0x51bbe9[_0x349f5d(0x6d0)]||[_0x349f5d(0xc2f),_0x349f5d(0x44f),'max'])[_0x349f5d(0x15b)](_0x349f5d(0xa08))?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)](_0x349f5d(0xddf))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_eT'](_0x349f5d(0xd7a))+'\x20'+_0x18e6e8('The\x20entity\x27s\x20current\x20state\x20right\x20now,\x20independent\x20of\x20the\x20period\x20shown\x20on\x20the\x20chart.\x20The\x20other\x20values\x20all\x20describe\x20the\x20displayed\x20range.')+_0x349f5d(0x8b4)+(_0x174dc1===_0x349f5d(0x7d1)?_0x349f5d(0x7f2):'')+'\x22\x20data-tc=\x22advanced\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x349f5d(0x544)]('Advanced\x20Calculations')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(this[_0x349f5d(0x620)](_0x349f5d(0x318),_0x5249d2)?_0x349f5d(0x41b)+(_0x51bbe9['invert']?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this['_eT'](_0x349f5d(0x179))+'\x20'+_0x18e6e8(_0x349f5d(0x2dc))+_0x349f5d(0x5be):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x349f5d(0x544)](_0x349f5d(0xdc4))+'\x20'+_0x18e6e8('Maps\x20non-numeric\x20state\x20strings\x20to\x20numeric\x20values\x20for\x20graphing.\x20Each\x20line\x20you\x20enter\x20is\x20assigned\x20a\x20number\x20starting\x20at\x200\x20in\x20order.\x20For\x20example:\x20if\x20you\x20enter\x20\x22off\x22\x20on\x20line\x201\x20and\x20\x22on\x22\x20on\x20line\x202,\x20the\x20graph\x20will\x20show\x200\x20for\x20off\x20and\x201\x20for\x20on.\x20Required\x20for\x20binary_sensor,\x20input_boolean,\x20and\x20other\x20non-numeric\x20entities.')+_0x349f5d(0xae7)+(_0x51bbe9[_0x349f5d(0x659)]?_0x51bbe9[_0x349f5d(0x659)]['map'](_0x4b9694=>{const _0x66b87c=_0x349f5d;let _0x28bce3=_0x4b9694[_0x66b87c(0xe91)];if(_0x4b9694['label']||_0x4b9694[_0x66b87c(0x73c)])_0x28bce3+=',\x20'+(_0x4b9694[_0x66b87c(0x7d7)]||'');if(_0x4b9694[_0x66b87c(0x73c)])_0x28bce3+=',\x20'+_0x4b9694[_0x66b87c(0x73c)];return _0x28bce3;})['join']('\x0a'):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_eT'](_0x349f5d(0xc40))+'\x20'+_0x18e6e8(_0x349f5d(0xd24))+_0x349f5d(0x1fa)+this[_0x349f5d(0x544)](_0x349f5d(0x2e3))+'\x20'+_0x18e6e8(_0x349f5d(0x6ac))+_0x349f5d(0x2e9)+escapeHtml(_0x51bbe9[_0x349f5d(0x3d5)]??'')+_0x349f5d(0xb31)+this[_0x349f5d(0x544)](_0x349f5d(0x848))+'\x20'+_0x18e6e8(_0x349f5d(0x91c))+_0x349f5d(0x8a6)+escapeHtml(_0x51bbe9['data_time_field']??'')+'\x22>'+this[_0x349f5d(0x544)](_0x349f5d(0x386))+'\x20'+_0x18e6e8(_0x349f5d(0x504))+_0x349f5d(0x492)+(_0x51bbe9[_0x349f5d(0xfb)]?'checked':'')+'\x20'+(_0x2b657b?'':_0x349f5d(0x32d))+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)]('Hide\x20Name')+'\x20'+_0x18e6e8(_0x349f5d(0x65a))+_0x349f5d(0x260)+(_0x2b657b&&!['','sum',_0x349f5d(0x44f)][_0x349f5d(0x15b)](_0x51bbe9['primary_state_as']??(_0x51bbe9['show_state_last']?_0x349f5d(0xe01):''))?_0x349f5d(0xced)+(_0x51bbe9[_0x349f5d(0x1c7)]?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)](_0x349f5d(0x3ea))+'\x20'+_0x18e6e8(_0x349f5d(0xb61))+_0x349f5d(0x260):'')+(_0x2b657b&&(_0x51bbe9[_0x349f5d(0x3f2)]??(_0x51bbe9[_0x349f5d(0xcbb)]?'last':''))!==''?_0x349f5d(0x90e)+(_0x51bbe9[_0x349f5d(0xde5)]?_0x349f5d(0xe25):'')+_0x349f5d(0x6e3)+this[_0x349f5d(0x544)](_0x349f5d(0xbb2))+'\x20'+_0x18e6e8(_0x349f5d(0x322))+_0x349f5d(0x260):'')+_0x349f5d(0x1fa)+this[_0x349f5d(0x544)](_0x349f5d(0xb44))+'\x20'+_0x18e6e8(_0x349f5d(0x8a1))+_0x349f5d(0xb81)+escapeHtml(_0x51bbe9[_0x349f5d(0x393)]??'')+'\x22\x20'+(_0x2b657b?'':_0x349f5d(0x32d))+'>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','svg','','device_class','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','border-color:transparent','_querySyncHandler','ha-card','startAngle','indigo','Above','Same\x20as\x20Y\x20Tick\x20Format\x20but\x20for\x20the\x20SECONDARY\x20(right)\x20axis\x20and\x20every\x20value\x20surface\x20of\x20the\x20entities\x20plotted\x20on\x20it.','save','_zoomAbort','.ma-del','leadMs','Delta','Custom\x20background\x20color\x20for\x20the\x20card.\x20Accepts\x20any\x20CSS\x20color\x20(hex,\x20name,\x20rgb,\x20rgba).\x20Use\x20rgba(r,g,b,a)\x20for\x20transparency,\x20e.g.\x20rgba(155,150,150,0.3).\x20Leave\x20empty\x20for\x20theme\x20default.','sgc-bargrad-','','500\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','card_border_radius','stringify','.e-legend_min','_ohlc','°\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.card-icon-color-picker','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20','donut','touchend','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','URL','font-weight:','data-mtc','offsetWidth','_resolveEntityAnnotations','','.e-show_points','\x20stroke-dasharray=\x22','Header\x20Color','Visible\x20Modes','lastRawT','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_window','appearance','h\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','flatMap','Aligned\x20(below)','entityIdx','_allSeries','_io','color_thresholds','_drawXAxis','Battery\x20Entity','card_icon_color','sgc-bar\x20sgc-bar-animated','show_second_state_as','[statistics-graph-chart-card]\x20translations\x20are\x20v','_scheduleResolvePreciseRecordTimes','.ann-label','Start\x20every\x20entity\x20hidden\x20when\x20the\x20card\x20loads\x20—\x20the\x20plot\x20begins\x20empty\x20and\x20you\x20reveal\x20just\x20the\x20series\x20you\x20need\x20by\x20clicking\x20them\x20in\x20the\x20legend\x20or\x20detail\x20legend.\x20Reveals\x20stick\x20for\x20the\x20session;\x20entities\x20added\x20later\x20also\x20start\x20hidden.\x20Best\x20paired\x20with\x20Compact\x20Legend\x20so\x20there\x20is\x20something\x20to\x20click.','number','scrollWidth','\x22>','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Mirrors\x20horizontal\x20scrolling\x20across\x20all\x20other\x20cards\x20in\x20the\x20same\x20group.\x20Most\x20useful\x20when\x20Max\x20Visible\x20Interval\x20is\x20set\x20on\x20each\x20card\x20so\x20they\x27re\x20actually\x20scrollable.\x20The\x20scroll\x20position\x20is\x20shared\x20as\x20a\x20proportion\x20(0–100%\x20of\x20the\x20total\x20range),\x20so\x20cards\x20with\x20different\x20hours_to_show\x20still\x20land\x20at\x20the\x20same\x20relative\x20point.','__sgcExtVisibleH','\x0a\x20\x20\x20\x20\x20\x20','setSelectionRange','green','breakGapsInCalendar','tooltipName','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','relative','DD/MM\x20hh:mm\x20A','requesterId','Chart','x_grid_opacity','clientX','','Custom\x20Scale\x20Rules','Background','_refSeries','Primary','[sgc]\x20data_value_expression\x20\x22','','ohlc','_lastMin','#4A90D9','\x20×\x20','_dpInitialSyncDone','Shows\x20a\x20Total\x20row\x20in\x20the\x20hover\x20tooltip.','Min\x20Y\x20Range','_resolvedEntityAnnotations','_barCenters','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','custom','\x22\x20style=\x22','stats','_persistQueryPickers','Color\x20of\x20the\x20extrema\x20value\x20text.\x20Accepts\x20any\x20CSS\x20color\x20or\x20variable.\x20Leave\x20empty\x20for\x20theme\x20default.','.e-thr_transition','Scatter\x20chart\x20requires\x20exactly\x202\x20entities\x20(currently\x20','3,3','\x22>▶\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20','_refWarned','e-trend_down_color','.e-data_time_year','.e-trend_stable_color-picker','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','y_axis_font_opacity','pmin','_computeEffectiveWindow','','tooltip_sync','','template','_maybeWarnMissingLTS','_mountCanvas','getWeekInfo','bottom-','card_shadow','last_color','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_openPanels','','key','Last\x203\x20days','unexpected\x20end','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','rgba(255,255,255,0.9)','contains','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.sgc-mode-off','5,4','Show\x20Average','_cpdOpen','_end','Override\x20the\x20global\x20Points/Hour\x20setting\x20for\x20this\x20entity\x20only.\x20Higher\x20=\x20more\x20detail\x20but\x20more\x20HA\x20API\x20load.\x20Leave\x20empty\x20to\x20inherit\x20the\x20card-level\x20setting.','cmp-col','button','Time\x20Window','Style','','assign','>','log2','\x20style=\x22opacity:0.6\x22','eMs','sgc-plot-scroll','.e-legend_live','','_isCardFieldRelevantForMode','auto_hide','extrema_bg_color','\x22\x20fill=\x22transparent\x22/>','signal','primary_state_as','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','forecast_horizon','','exec','Trend\x20Icon','body','Add\x20reference\x20lines,\x20event\x20markers,\x20active-period\x20bands,\x20and\x20comfort\x20zone\x20highlights\x20to\x20the\x20graph.','./translations/','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','touchstart','_onIntervalPick','_fillRaf','Lower\x20Bound','\x22\x20aria-label=\x22','pointerleave','display:flex;align-items:center;gap:10px;padding:7px\x208px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--tx)','.cstc','sgc-tooltip','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','bottom-center','Show\x20the\x20time\x20the\x20extreme\x20value\x20was\x20recorded\x20next\x20to\x20the\x20primary\x20value.\x20Only\x20meaningful\x20when\x20Primary\x20Value\x20is\x20Last,\x20First,\x20Min,\x20or\x20Max\x20—\x20those\x20have\x20a\x20single\x20point\x20in\x20time.','ddd\x20DD/MM','_findEnergyCollection','_shouldAlignToClock','now','\x22>px','show_label','No\x20numeric\x20data\x20for\x20box\x20plot.','ha-icon-picker','sgc-dp-open','\x22use\x20strict\x22;\x20','Color\x20of\x20the\x20numeric\x20value\x20text\x20in\x20the\x20state\x20row.\x20Enter\x20threshold\x20to\x20change\x20the\x20text\x20color\x20dynamically\x20based\x20on\x20the\x20current\x20value.','endAngle','carryStateInGaps','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','activeElement','plain','globalAlpha','getContext','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','dpRollingDays','calendar','rows','data_attribute','Opacity\x20of\x20the\x20now\x20line\x20(0-1).\x20Leave\x20empty\x20for\x20default\x200.3.','\x22\x20data-tab=\x22data\x22>','\x20L\x20','','(prefers-color-scheme:\x20dark)','>h\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','getBoundingClientRect','The\x20gauge\x20dial\x20scale\x20—\x20the\x20value\x20at\x20the\x20start\x20(Min)\x20and\x20end\x20(Max)\x20of\x20the\x20arc.\x20Accepts\x20a\x20number,\x20a\x20~soft\x20bound,\x20or\x20an\x20entity\x20ID.\x20Defaults\x20to\x200–100.','','\x22>›','','freeze','weekInfo','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20','Opacity\x20of\x20vertical\x20grid\x20lines.\x200\x20=\x20invisible,\x201\x20=\x20fully\x20opaque.\x20Default\x20is\x200.15\x20—\x20subtle,\x20just\x20enough\x20to\x20anchor\x20the\x20eye\x20without\x20competing\x20with\x20the\x20data.','debug','Last\x2012\x20months','_getStatId','+-*/%(),','Show\x20the\x20minimum\x20value\x20label.\x20Disable\x20to\x20hide\x20just\x20the\x20min\x20—\x20useful\x20for\x20sensors\x20where\x20the\x20minimum\x20is\x20always\x20zero\x20(e.g.\x20solar\x20power,\x20rain).','_isCounterEntity','Opacity\x20of\x20the\x20extrema\x20label\x20background\x20(0\x20=\x20transparent,\x201\x20=\x20solid).\x20Use\x200\x20to\x20show\x20only\x20the\x20text\x20without\x20any\x20visible\x20box.\x20Default\x20is\x201.','barThickness','.sgc-bar{opacity:0.85}','annotations','Hide\x20on\x20Load','_suppressScrollDispatch','action','show_cell_values','\x22>','_lastTplKey','data_time_year','precision','>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','_liveStateRaw','Line\x20/\x20Fill\x20Color','sgc-plot-scroll-wheel','orange','>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','visibilityState','statistic_id','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','color','opacity:\x20','data-band-x','\x0a\x20\x20:host\x20{\x20display:\x20block;\x20}\x0a\x20\x20ha-card\x20{\x0a\x20\x20\x20\x20padding:\x2016px;\x0a\x20\x20\x20\x20position:\x20relative;\x20/*\x20anchors\x20the\x20export\x20button\x20to\x20the\x20card\x27s\x20top-right\x20*/\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color,\x20#212121);\x0a\x20\x20\x20\x20font-family:\x20var(--primary-font-family,\x20Roboto,\x20sans-serif);\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20border-radius:\x20var(--ha-card-border-radius,\x2012px);\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20}\x0a\x20\x20.sgc-header\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-header\x20.sgc-title-wrap\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20flex:\x201\x201\x20auto;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20}\x0a\x20\x20.sgc-header\x20.sgc-title-wrap.pos-left\x20\x20\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-header\x20.sgc-title-wrap.pos-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-header\x20.sgc-title-wrap.pos-right\x20\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-header\x20.sgc-battery-wrap\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20\x20\x20margin-left:\x20auto;\x0a\x20\x20}\x0a\x20\x20.sgc-header\x20ha-icon\x20{\x20--mdc-icon-size:\x2020px;\x20}\x0a\x20\x20.sgc-header-icon,\x20.sgc-header-icon-img\x20{\x0a\x20\x20\x20\x20opacity:\x200.85;\x0a\x20\x20\x20\x20transition:\x20opacity\x200.2s;\x0a\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-header-icon-img\x20{\x20border-radius:\x204px;\x20}\x0a\x20\x20ha-card:hover\x20.sgc-header-icon,\x0a\x20\x20ha-card:hover\x20.sgc-header-icon-img\x20{\x20opacity:\x201;\x20}\x0a\x20\x20.sgc-title\x20{\x0a\x20\x20\x20\x20font-size:\x201.1em;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-plot-wrap\x20{\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20width:\x20auto;\x0a\x20\x20\x20\x20margin:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-plot-wrap.sgc-spark-mode,\x0a\x20\x20.sgc-plot-wrap.sgc-no-bleed\x20{\x0a\x20\x20\x20\x20margin:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-container\x20{\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-canvas\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-tooltip\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20opacity:\x200;\x0a\x20\x20\x20\x20background:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#1c1c1c));\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(255,255,255,0.12));\x0a\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20padding:\x208px\x2010px;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20z-index:\x2010;\x0a\x20\x20\x20\x20box-shadow:\x200\x204px\x2016px\x20rgba(0,0,0,0.2);\x0a\x20\x20\x20\x20transition:\x20opacity\x200.12s\x20ease;\x0a\x20\x20\x20\x20min-width:\x20120px;\x0a\x20\x20\x20\x20backdrop-filter:\x20blur(8px);\x0a\x20\x20\x20\x20-webkit-backdrop-filter:\x20blur(8px);\x0a\x20\x20}\x0a\x20\x20.sgc-pie-tt-row\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20padding:\x202px\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-tt-dot\x20{\x0a\x20\x20\x20\x20width:\x207px;\x0a\x20\x20\x20\x20height:\x207px;\x0a\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-tt-name\x20{\x0a\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20max-width:\x20120px;\x0a\x20\x20}\x0a\x20\x20.sgc-pie-tt-val\x20{\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20}\x0a\x20\x20.sgc-y-axis-label\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x2050%;\x0a\x20\x20\x20\x20writing-mode:\x20vertical-rl;\x0a\x20\x20\x20\x20transform:\x20rotate(180deg);\x0a\x20\x20\x20\x20transform-origin:\x20center;\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20opacity:\x200.55;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20z-index:\x203;\x0a\x20\x20\x20\x20translate:\x200\x20-50%;\x0a\x20\x20}\x0a\x20\x20.sgc-y-axis-label-left\x20\x20{\x20left:\x200;\x20}\x0a\x20\x20.sgc-y-axis-label-right\x20{\x20right:\x200;\x20}\x0a\x20\x20.sgc-zoom-brush\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20background:\x20rgba(74,144,217,0.15);\x0a\x20\x20\x20\x20border-left:\x201.5px\x20solid\x20rgba(74,144,217,0.7);\x0a\x20\x20\x20\x20border-right:\x201.5px\x20solid\x20rgba(74,144,217,0.7);\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20z-index:\x205;\x0a\x20\x20}\x0a\x20\x20.sgc-export-btn\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x204px;\x0a\x20\x20\x20\x20right:\x2018px;\x0a\x20\x20\x20\x20z-index:\x206;\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20width:\x2024px;\x0a\x20\x20\x20\x20height:\x2024px;\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color,\x20#888);\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20opacity:\x200.4;\x0a\x20\x20\x20\x20transition:\x20opacity\x200.15s\x20ease,\x20background\x200.15s\x20ease;\x0a\x20\x20}\x0a\x20\x20.sgc-export-btn:hover\x20{\x0a\x20\x20\x20\x20opacity:\x201;\x0a\x20\x20\x20\x20background:\x20rgba(127,127,127,0.15);\x0a\x20\x20}\x0a\x20\x20.sgc-export-menu\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x2030px;\x0a\x20\x20\x20\x20right:\x204px;\x0a\x20\x20\x20\x20z-index:\x207;\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20background:\x20var(--card-background-color,\x20var(--ha-card-background,\x20#fff));\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(127,127,127,0.3));\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20box-shadow:\x200\x202px\x208px\x20rgba(0,0,0,0.25);\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20}\x0a\x20\x20.sgc-export-menu\x20button\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color,\x20#333);\x0a\x20\x20\x20\x20font:\x20inherit;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20padding:\x207px\x2012px;\x0a\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20}\x0a\x20\x20.sgc-export-menu\x20button:hover\x20{\x0a\x20\x20\x20\x20background:\x20rgba(127,127,127,0.12);\x0a\x20\x20}\x0a\x20\x20.sgc-zoom-brush-label\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20top:\x204px;\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20color:\x20rgba(74,144,217,0.95);\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20padding:\x201px\x204px;\x0a\x20\x20\x20\x20border-radius:\x203px;\x0a\x20\x20\x20\x20background:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#fff));\x0a\x20\x20}\x0a\x20\x20.sgc-zoom-brush-label-left\x20{\x20left:\x204px;\x20}\x0a\x20\x20.sgc-zoom-brush-label-right\x20{\x20right:\x204px;\x20}\x0a\x20\x20.sgc-plot\x20{\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20touch-action:\x20pan-y;\x0a\x20\x20}\x0a\x20\x20:host(.sgc-fill-height)\x20{\x20height:\x20100%;\x20}\x0a\x20\x20ha-card.sgc-fill-height\x20{\x20height:\x20100%;\x20}\x0a\x20\x20ha-card.sgc-fill-height\x20.sgc-plot-wrap\x20{\x20flex:\x201\x201\x20auto;\x20min-height:\x200;\x20display:\x20flex;\x20}\x0a\x20\x20ha-card.sgc-fill-height\x20.sgc-plot-wrap\x20>\x20.sgc-plot\x20{\x20flex:\x201\x201\x20auto;\x20min-height:\x200;\x20}\x0a\x20\x20ha-card.sgc-natural-height\x20.sgc-plot-wrap\x20>\x20.sgc-plot\x20{\x20min-height:\x20200px;\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll\x20{\x0a\x20\x20\x20\x20overflow-x:\x20auto;\x0a\x20\x20\x20\x20overflow-y:\x20hidden;\x0a\x20\x20\x20\x20-webkit-overflow-scrolling:\x20touch;\x0a\x20\x20\x20\x20scrollbar-width:\x20thin;\x0a\x20\x20\x20\x20scrollbar-color:\x20rgba(127,127,127,0.4)\x20transparent;\x0a\x20\x20\x20\x20padding-bottom:\x2010px;\x0a\x20\x20\x20\x20touch-action:\x20pan-x\x20pan-y;\x0a\x20\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll\x20.sgc-svg\x20{\x0a\x20\x20\x20\x20width:\x20auto;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20max-width:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll::-webkit-scrollbar\x20{\x20height:\x208px;\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll::-webkit-scrollbar-track\x20{\x20background:\x20transparent;\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll::-webkit-scrollbar-thumb\x20{\x0a\x20\x20\x20\x20background:\x20rgba(127,127,127,0.4);\x0a\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll-wheel\x20{\x0a\x20\x20\x20\x20scrollbar-width:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-plot.sgc-plot-scroll-wheel::-webkit-scrollbar\x20{\x20display:\x20none;\x20}\x0a\x20\x20.sgc-svg\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20overflow:\x20visible;\x0a\x20\x20}\x0a\x20\x20.sgc-grid-line\x20{\x0a\x20\x20\x20\x20stroke:\x20rgba(127,127,127,0.5);\x0a\x20\x20\x20\x20stroke-width:\x201;\x0a\x20\x20\x20\x20stroke-dasharray:\x202\x203;\x0a\x20\x20}\x0a\x20\x20.sgc-axis-label\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20fill:\x20var(--secondary-text-color,\x20#727272);\x0a\x20\x20}\x0a\x20\x20.sgc-line,\x20.sgc-area,\x20.sgc-point\x20{\x20pointer-events:\x20none;\x20}\x0a\x20\x20.sgc-bar\x20{\x0a\x20\x20\x20\x20opacity:\x200.85;\x0a\x20\x20\x20\x20transition:\x20stroke-width\x200.12s\x20ease,\x20filter\x200.15s\x20ease,\x20opacity\x200.15s\x20ease;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20stroke:\x20rgba(255,255,255,0.95);\x0a\x20\x20\x20\x20stroke-width:\x200;\x0a\x20\x20\x20\x20paint-order:\x20stroke\x20fill;\x0a\x20\x20}\x0a\x20\x20@media\x20(hover:\x20hover)\x20{\x0a\x20\x20\x20\x20.sgc-bar:hover\x20{\x0a\x20\x20\x20\x20\x20\x20opacity:\x201;\x0a\x20\x20\x20\x20\x20\x20stroke-width:\x201.25;\x0a\x20\x20\x20\x20\x20\x20filter:\x20brightness(1.08)\x20drop-shadow(0\x200\x204px\x20rgba(255,255,255,0.3));\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20.sgc-bar-active\x20{\x0a\x20\x20\x20\x20opacity:\x201;\x0a\x20\x20\x20\x20stroke-width:\x201.25;\x0a\x20\x20\x20\x20filter:\x20brightness(1.08)\x20drop-shadow(0\x200\x204px\x20rgba(255,255,255,0.3));\x0a\x20\x20}\x0a\x20\x20.sgc-ann-threshold,\x0a\x20\x20.sgc-ann-event,\x0a\x20\x20.sgc-ann-band,\x0a\x20\x20.sgc-ann-span,\x0a\x20\x20.sgc-ann-label\x20{\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-ann-label\x20{\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20\x20\x20paint-order:\x20stroke;\x0a\x20\x20\x20\x20stroke:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#fff));\x0a\x20\x20\x20\x20stroke-width:\x203;\x0a\x20\x20\x20\x20stroke-linejoin:\x20round;\x0a\x20\x20\x20\x20stroke-linecap:\x20round;\x0a\x20\x20}\x0a\x20\x20.sgc-crosshair\x20{\x0a\x20\x20\x20\x20stroke:\x20var(--secondary-text-color,\x20#888);\x0a\x20\x20\x20\x20stroke-width:\x201;\x0a\x20\x20\x20\x20stroke-dasharray:\x202\x203;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-period-highlight\x20{\x0a\x20\x20\x20\x20fill:\x20var(--sgc-period-highlight-color,\x20rgba(128,128,128,0.22));\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-hover-dot\x20{\x0a\x20\x20\x20\x20stroke:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#fff));\x0a\x20\x20\x20\x20stroke-width:\x202;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20filter:\x20drop-shadow(0\x201px\x202px\x20rgba(0,0,0,0.25));\x0a\x20\x20}\x0a\x20\x20@keyframes\x20sgc-draw\x20{\x0a\x20\x20\x20\x20from\x20{\x20stroke-dashoffset:\x20var(--sgc-path-len,\x203000);\x20}\x0a\x20\x20\x20\x20to\x20{\x20stroke-dashoffset:\x200;\x20}\x0a\x20\x20}\x0a\x20\x20.sgc-animated\x20{\x0a\x20\x20\x20\x20stroke-dasharray:\x20var(--sgc-path-len,\x203000);\x0a\x20\x20\x20\x20stroke-dashoffset:\x20var(--sgc-path-len,\x203000);\x0a\x20\x20\x20\x20animation:\x20sgc-draw\x201.2s\x20ease-out\x20forwards;\x0a\x20\x20}\x0a\x20\x20@keyframes\x20sgc-bar-grow\x20{\x0a\x20\x20\x20\x20from\x20{\x20transform:\x20scaleY(0);\x20}\x0a\x20\x20\x20\x20to\x20{\x20transform:\x20scaleY(1);\x20}\x0a\x20\x20}\x0a\x20\x20.sgc-bar-animated\x20{\x0a\x20\x20\x20\x20transform-box:\x20fill-box;\x0a\x20\x20\x20\x20transform-origin:\x20center\x20bottom;\x0a\x20\x20\x20\x20animation:\x20sgc-bar-grow\x200.6s\x20ease-out\x20forwards;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-list\x20{\x20display:\x20block;\x20}\x0a\x20\x20.sgc-battery-wrap\x20{\x0a\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20margin-left:\x208px;\x0a\x20\x20}\x0a\x20\x20.sgc-battery-icon\x20{\x0a\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x202px;\x0a\x20\x20\x20\x20cursor:\x20default;\x0a\x20\x20\x20\x20opacity:\x200.85;\x0a\x20\x20\x20\x20font-size:\x20inherit;\x0a\x20\x20}\x0a\x20\x20.sgc-battery-icon:hover\x20{\x20opacity:\x201;\x20}\x0a\x20\x20.sgc-battery-pct\x20{\x0a\x20\x20\x20\x20font-size:\x200.65em;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-group\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20flex-start;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-group\x20.sgc-state-rows\x20{\x20flex:\x201;\x20min-width:\x200;\x20}\x0a\x20\x20.sgc-battery-in-states\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20\x20\x20align-self:\x20flex-start;\x0a\x20\x20\x20\x20margin-top:\x205px;\x0a\x20\x20}\x0a\x20\x20.sgc-state-battery-zone\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20\x20\x20margin-left:\x20auto;\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20justify-content:\x20flex-end;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-row\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x2010px;\x0a\x20\x20\x20\x20padding:\x204px\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-info\x20{\x20flex:\x200\x200\x20auto;\x20min-width:\x2080px;\x20}\x0a\x20\x20.sgc-spark-name\x20{\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20max-width:\x20120px;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-val\x20{\x0a\x20\x20\x20\x20font-size:\x2017px;\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20line-height:\x201.2;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-unit\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20margin-left:\x202px;\x0a\x20\x20\x20\x20font-weight:\x20400;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-trend\x20{\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20margin-left:\x204px;\x0a\x20\x20\x20\x20font-weight:\x20400;\x0a\x20\x20}\x0a\x20\x20.sgc-spark-graph\x20{\x0a\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20height:\x2036px;\x0a\x20\x20\x20\x20min-width:\x2060px;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20{\x0a\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20margin-bottom:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20.sgc-state-row-group\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20flex-start;\x0a\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20.sgc-state-row-group\x20.sgc-state-row\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20.sgc-state-align-left\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20align-items:\x20flex-start;\x0a\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20.sgc-state-align-center\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap\x20.sgc-state-align-right\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20align-items:\x20flex-end;\x0a\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-left,\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-center,\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-right\x20{\x0a\x20\x20\x20\x20flex-direction:\x20row;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20gap:\x202px\x2012px;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20}\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-left\x20\x20\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-align-right\x20\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-state-row\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20padding:\x205px\x204px;\x0a\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20transition:\x20background\x200.15s,\x20opacity\x200.15s;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20margin:\x200\x20-4px;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row:hover\x20{\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.04));\x0a\x20\x20}\x0a\x20\x20.sgc-state-row.sgc-state-row-hidden\x20{\x20opacity:\x200.35;\x20}\x0a\x20\x20.sgc-state-row.sgc-state-row-hidden:hover\x20{\x20opacity:\x200.55;\x20}\x0a\x20\x20.sgc-state-wrap.horizontal\x20.sgc-state-row\x20{\x0a\x20\x20\x20\x20padding:\x204px\x206px;\x0a\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20flex:\x200\x201\x20auto;\x0a\x20\x20}\x0a\x20\x20.sgc-state-color\x20{\x0a\x20\x20\x20\x20width:\x2010px;\x0a\x20\x20\x20\x20height:\x2010px;\x0a\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20transition:\x20transform\x200.2s\x20ease;\x0a\x20\x20\x20\x20box-shadow:\x200\x200\x200\x202px\x20var(--ha-card-background,\x20var(--card-background-color,\x20#1c1c1c));\x0a\x20\x20}\x0a\x20\x20.sgc-state-row:hover\x20.sgc-state-color\x20{\x20transform:\x20scale(1.25);\x20}\x0a\x20\x20.sgc-state-icon\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20--mdc-icon-size:\x2018px;\x0a\x20\x20}\x0a\x20\x20.sgc-state-icon\x20ha-icon\x20{\x20--mdc-icon-size:\x2018px;\x20}\x0a\x20\x20.sgc-state-name\x20{\x0a\x20\x20\x20\x20flex:\x200\x201\x20auto;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-state-value\x20{\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20margin-left:\x204px;\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20}\x0a\x20\x20.sgc-state-unit\x20{\x0a\x20\x20\x20\x20font-size:\x200.5em;\x0a\x20\x20\x20\x20margin-left:\x202px;\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20}\x0a\x20\x20.sgc-state-second\x20{\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20margin-left:\x206px;\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20}\x0a\x20\x20.sgc-state-second-label\x20{\x0a\x20\x20\x20\x20font-size:\x200.5em;\x0a\x20\x20\x20\x20opacity:\x200.6;\x0a\x20\x20\x20\x20margin-right:\x202px;\x0a\x20\x20}\x0a\x20\x20.sgc-trend-indicator\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20transition:\x20transform\x200.3s\x20ease;\x0a\x20\x20\x20\x20flex:\x200\x200\x20auto;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row:hover\x20.sgc-trend-indicator\x20{\x20transform:\x20scale(1.15);\x20}\x0a\x20\x20.sgc-state-row.sgc-state-row-stacked\x20{\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-stacked\x20.sgc-state-stack\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20line-height:\x201.15;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-stacked\x20.sgc-state-stack-top\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20baseline;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-stacked\x20.sgc-state-stack-top\x20.sgc-state-value\x20{\x0a\x20\x20\x20\x20margin-left:\x200;\x0a\x20\x20\x20\x20font-size:\x201.1em;\x0a\x20\x20}\x0a\x20\x20.sgc-state-row-stacked\x20.sgc-state-stack-bot\x20.sgc-state-name\x20{\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20opacity:\x200.75;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20margin-top:\x201px;\x0a\x20\x20}\x0a\x20\x20.sgc-tooltip\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20background:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#fff));\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(0,0,0,0.1));\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20padding:\x206px\x208px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20box-shadow:\x200\x202px\x208px\x20rgba(0,0,0,0.15);\x0a\x20\x20\x20\x20z-index:\x2010;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20}\x0a\x20\x20.sgc-tt-time\x20{\x0a\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20margin-bottom:\x204px;\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20}\x0a\x20\x20.sgc-tt-row\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20margin:\x202px\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-tt-swatch\x20{\x0a\x20\x20\x20\x20width:\x208px;\x20height:\x208px;\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20}\x0a\x20\x20.sgc-tt-name\x20{\x20flex:\x201;\x20}\x0a\x20\x20.sgc-tt-val\x20{\x20font-weight:\x20500;\x20margin-left:\x208px;\x20}\x0a\x20\x20.sgc-tt-total\x20{\x0a\x20\x20\x20\x20border-top:\x201px\x20solid\x20var(--divider-color,\x20rgba(0,0,0,0.1));\x0a\x20\x20\x20\x20padding-top:\x203px;\x0a\x20\x20\x20\x20margin-top:\x203px;\x0a\x20\x20}\x0a\x20\x20.sgc-legend\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20gap:\x2012px;\x0a\x20\x20\x20\x20margin-top:\x2010px;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20}\x0a\x20\x20.sgc-legend.position-left\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-legend.position-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-legend.position-right\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-legend-item\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-legend-item.hidden\x20{\x20opacity:\x200.4;\x20}\x0a\x20\x20.sgc-legend-swatch\x20{\x0a\x20\x20\x20\x20width:\x2010px;\x20height:\x2010px;\x20border-radius:\x202px;\x0a\x20\x20}\x0a\x20\x20.sgc-legend-stats\x20{\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20font-size:\x200.9em;\x0a\x20\x20}\x0a\x20\x20.sgc-detail-legend\x20{\x0a\x20\x20\x20\x20display:\x20grid;\x0a\x20\x20\x20\x20grid-template-columns:\x20repeat(auto-fit,\x20minmax(130px,\x201fr));\x0a\x20\x20\x20\x20gap:\x2012px;\x0a\x20\x20\x20\x20margin-top:\x2014px;\x0a\x20\x20\x20\x20padding-top:\x2014px;\x0a\x20\x20\x20\x20border-top:\x201px\x20solid\x20var(--divider-color,\x20rgba(255,255,255,0.08));\x0a\x20\x20}\x0a\x20\x20.sgc-detail-legend-entity\x20{\x0a\x20\x20\x20\x20border-left:\x203px\x20solid;\x0a\x20\x20\x20\x20padding-left:\x2010px;\x0a\x20\x20\x20\x20transition:\x20opacity\x200.2s;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-detail-legend-entity:hover\x20{\x20opacity:\x200.8;\x20}\x0a\x20\x20.sgc-detail-legend-entity.legend-hidden\x20{\x20opacity:\x200.3;\x20}\x0a\x20\x20.sgc-detail-legend-entity.legend-hidden:hover\x20{\x20opacity:\x200.5;\x20}\x0a\x20\x20.sgc-detail-legend-name\x20{\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20margin-bottom:\x202px;\x0a\x20\x20}\x0a\x20\x20.sgc-detail-legend-stats\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20gap:\x2012px;\x0a\x20\x20\x20\x20row-gap:\x202px;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20}\x0a\x20\x20.sgc-detail-legend-stats\x20span\x20{\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20opacity:\x200.8;\x0a\x20\x20}\x0a\x20\x20.sgc-detail-stat-label\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20text-transform:\x20uppercase;\x0a\x20\x20\x20\x20opacity:\x200.5;\x0a\x20\x20\x20\x20margin-right:\x202px;\x0a\x20\x20}\x0a\x20\x20.sgc-ip\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20margin-bottom:\x2010px;\x0a\x20\x20}\x0a\x20\x20.sgc-ip.align-left\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-ip.align-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-ip.align-right\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-ip-btn\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20padding:\x204px\x208px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20\x20\x20transition:\x20all\x200.15s;\x0a\x20\x20}\x0a\x20\x20.sgc-ip-btn:hover\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-ip-btn.active\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-al\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20gap:\x206px\x2010px;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20margin-bottom:\x2010px;\x0a\x20\x20}\x0a\x20\x20.sgc-al.align-left\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-al.align-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-al.align-right\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-al-item\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20}\x0a\x20\x20.sgc-al-dot\x20{\x0a\x20\x20\x20\x20width:\x208px;\x0a\x20\x20\x20\x20height:\x208px;\x0a\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-al-select\x20{\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(255,255,255,0.12));\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20\x20\x20padding:\x203px\x206px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20outline:\x20none;\x0a\x20\x20\x20\x20transition:\x20border-color\x200.15s;\x0a\x20\x20\x20\x20max-width:\x20140px;\x0a\x20\x20}\x0a\x20\x20.sgc-al-select:focus\x20{\x20border-color:\x20var(--primary-color,\x20#4A90D9);\x20}\x0a\x20\x20.sgc-qp\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20padding:\x202px\x204px\x204px;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20}\x0a\x20\x20.sgc-qp.align-left\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.sgc-qp.align-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.sgc-qp.align-right\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-qp-item\x20{\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x205px;\x20}\x0a\x20\x20.sgc-qp-lbl\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20opacity:\x200.6;\x0a\x20\x20\x20\x20text-transform:\x20uppercase;\x0a\x20\x20\x20\x20letter-spacing:\x200.4px;\x0a\x20\x20}\x0a\x20\x20.sgc-qp-select\x20{\x0a\x20\x20\x20\x20background:\x20var(--card-background-color,\x20rgba(0,\x200,\x200,\x200.05));\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color,\x20inherit);\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(120,\x20120,\x20120,\x200.3));\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20padding:\x202px\x206px;\x0a\x20\x20\x20\x20outline:\x20none;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20max-width:\x20140px;\x0a\x20\x20}\x0a\x20\x20.sgc-qp-select:focus\x20{\x20border-color:\x20var(--primary-color,\x20#4A90D9);\x20}\x0a\x20\x20.sgc-al-select\x20option\x20{\x0a\x20\x20\x20\x20background:\x20var(--ha-card-background,\x20#1c1c1c);\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20}\x0a\x20\x20.sgc-dp\x20{\x0a\x20\x20\x20\x20margin:\x204px\x200\x202px;\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20}\x0a\x20\x20.sgc-dp.position-bottom\x20{\x0a\x20\x20\x20\x20order:\x2010;\x0a\x20\x20\x20\x20margin:\x206px\x200\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-bar\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-bar.dp-centered\x20{\x0a\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-zone\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20flex:\x201\x201\x20auto;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20row-gap:\x204px;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-zone:empty\x20{\x0a\x20\x20\x20\x20flex:\x201\x201\x200;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-zone.sgc-dp-center-abs\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20left:\x2050%;\x0a\x20\x20\x20\x20top:\x2050%;\x0a\x20\x20\x20\x20transform:\x20translate(-50%,\x20-50%);\x0a\x20\x20}\x0a\x20\x20.dp-zone-left\x20{\x20justify-content:\x20flex-start;\x20}\x0a\x20\x20.dp-zone-center\x20{\x20justify-content:\x20center;\x20}\x0a\x20\x20.dp-zone-right\x20{\x20justify-content:\x20flex-end;\x20}\x0a\x20\x20.sgc-dp-nav,\x0a\x20\x20.sgc-dp-shortcuts\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-zone\x20.sgc-dp-modes\x20{\x20margin-left:\x200;\x20}\x0a\x20\x20.sgc-dp-shortcuts\x20{\x20flex-wrap:\x20wrap;\x20row-gap:\x204px;\x20}\x0a\x20\x20.sgc-dp-modes\x20{\x20flex-wrap:\x20wrap;\x20row-gap:\x202px;\x20}\x0a\x20\x20/*\x20narrow-card\x20fallback:\x20when\x20the\x20absolutely-centered\x20shortcuts\x20zone\x20cannot\x20fit\x20beside\x0a\x20\x20\x20\x20\x20the\x20nav,\x20it\x20degrades\x20to\x20an\x20in-flow,\x20full-width,\x20centered\x20row\x20below\x20the\x20other\x20zones\x20*/\x0a\x20\x20.sgc-dp-bar.dp-center-stacked\x20{\x20flex-wrap:\x20wrap;\x20row-gap:\x204px;\x20}\x0a\x20\x20.sgc-dp-bar.dp-center-stacked\x20.dp-zone-center\x20{\x20flex:\x201\x201\x20100%;\x20justify-content:\x20center;\x20order:\x209;\x20}\x0a\x20\x20.sgc-dp-bar.dp-centered\x20.sgc-dp-toggle\x20{\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20right:\x208px;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-prev,\x0a\x20\x20.sgc-dp-next\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20width:\x2026px;\x0a\x20\x20\x20\x20height:\x2026px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20transition:\x20all\x200.15s;\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-prev:hover:not(:disabled),\x0a\x20\x20.sgc-dp-next:hover:not(:disabled)\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-prev:disabled,\x0a\x20\x20.sgc-dp-next:disabled\x20{\x0a\x20\x20\x20\x20opacity:\x200.2;\x0a\x20\x20\x20\x20cursor:\x20default;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-label\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20\x20\x20padding:\x204px\x208px;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-label:hover\x20{\x0a\x20\x20\x20\x20color:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20}\x0a\x20\x20.sgc-dp-label.dp-label-past\x20{\x0a\x20\x20\x20\x20opacity:\x200.85;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-modes\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20gap:\x202px;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20margin-left:\x20auto;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-mode-sep\x20{\x0a\x20\x20\x20\x20width:\x201px;\x0a\x20\x20\x20\x20align-self:\x20stretch;\x0a\x20\x20\x20\x20margin:\x201px\x204px;\x0a\x20\x20\x20\x20background:\x20var(--divider-color,\x20rgba(128,128,128,0.4));\x0a\x20\x20}\x0a\x20\x20.sgc-dp-mode\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20padding:\x204px\x209px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20transition:\x20all\x200.15s;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-mode:hover,\x0a\x20\x20.sgc-dp-mode.active\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-toggle\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20width:\x2028px;\x0a\x20\x20\x20\x20height:\x2026px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20transition:\x20all\x200.15s;\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20margin-left:\x202px;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20\x20\x20padding:\x200;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-toggle:hover,\x0a\x20\x20.sgc-dp-toggle.active\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-panel\x20{\x0a\x20\x20\x20\x20background:\x20var(--ha-card-background,\x20var(--card-background-color,\x20#1c1c1c));\x0a\x20\x20\x20\x20border:\x201px\x20solid\x20var(--divider-color,\x20rgba(255,255,255,0.12));\x0a\x20\x20\x20\x20border-radius:\x2010px;\x0a\x20\x20\x20\x20padding:\x2012px;\x0a\x20\x20\x20\x20margin-top:\x206px;\x0a\x20\x20\x20\x20box-shadow:\x200\x204px\x2016px\x20rgba(0,0,0,0.18);\x0a\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20right:\x200;\x0a\x20\x20\x20\x20top:\x20100%;\x0a\x20\x20\x20\x20z-index:\x205;\x0a\x20\x20}\x0a\x20\x20.sgc-dp.position-bottom\x20.sgc-dp-panel\x20{\x0a\x20\x20\x20\x20top:\x20auto;\x0a\x20\x20\x20\x20bottom:\x20100%;\x0a\x20\x20\x20\x20margin-top:\x200;\x0a\x20\x20\x20\x20margin-bottom:\x206px;\x0a\x20\x20}\x0a\x20\x20ha-card.sgc-dp-open\x20{\x20overflow:\x20visible;\x20}\x0a\x20\x20.sgc-dp-cal-header\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20justify-content:\x20space-between;\x0a\x20\x20\x20\x20margin-bottom:\x208px;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-nav\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20none;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20padding:\x204px\x208px;\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20\x20\x20transition:\x20background\x200.15s;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-nav:hover\x20{\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-title\x20{\x0a\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-grid\x20{\x0a\x20\x20\x20\x20display:\x20grid;\x0a\x20\x20\x20\x20grid-template-columns:\x20repeat(7,\x201fr);\x0a\x20\x20\x20\x20gap:\x201px;\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-hd\x20{\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20opacity:\x200.5;\x0a\x20\x20\x20\x20padding:\x204px\x200;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-empty\x20{\x20padding:\x204px;\x20}\x0a\x20\x20.sgc-dp-cal-day\x20{\x0a\x20\x20\x20\x20padding:\x205px\x202px;\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20transition:\x20all\x200.12s;\x0a\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20\x20\x20color:\x20var(--primary-text-color);\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-day:hover\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-day.dp-today\x20{\x0a\x20\x20\x20\x20font-weight:\x20700;\x0a\x20\x20\x20\x20box-shadow:\x20inset\x200\x200\x200\x201.5px\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-day.dp-in-range\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20\x20\x20opacity:\x200.75;\x0a\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-day.dp-range-sel\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-day.dp-future\x20{\x0a\x20\x20\x20\x20opacity:\x200.2;\x0a\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-cal-hint\x20{\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20color:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20margin-top:\x206px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-presets\x20{\x0a\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20margin-top:\x2010px;\x0a\x20\x20\x20\x20padding-top:\x2010px;\x0a\x20\x20\x20\x20border-top:\x201px\x20solid\x20var(--divider-color,\x20rgba(255,255,255,0.08));\x0a\x20\x20}\x0a\x20\x20.sgc-dp-preset\x20{\x0a\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20background:\x20var(--secondary-background-color,\x20rgba(255,255,255,0.06));\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20\x20\x20padding:\x205px\x2010px;\x0a\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20transition:\x20all\x200.15s;\x0a\x20\x20\x20\x20font-family:\x20inherit;\x0a\x20\x20}\x0a\x20\x20.sgc-dp-preset:hover,\x0a\x20\x20.sgc-dp-preset.active\x20{\x0a\x20\x20\x20\x20background:\x20var(--primary-color,\x20#4A90D9);\x0a\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20}\x0a\x20\x20.sgc-stub\x20{\x0a\x20\x20\x20\x20padding:\x2024px;\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20color:\x20var(--secondary-text-color);\x0a\x20\x20}\x0a\x20\x20.sgc-stub\x20code\x20{\x0a\x20\x20\x20\x20background:\x20var(--divider-color,\x20rgba(0,0,0,0.08));\x0a\x20\x20\x20\x20padding:\x201px\x204px;\x0a\x20\x20\x20\x20border-radius:\x203px;\x0a\x20\x20}\x0a\x20\x20.sgc-stub-hint\x20{\x20font-size:\x2012px;\x20margin-top:\x206px;\x20}\x0a\x20\x20.sgc-error\x20{\x0a\x20\x20\x20\x20padding:\x2016px;\x0a\x20\x20\x20\x20color:\x20var(--error-color,\x20#db4437);\x0a\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20}\x0a','statistics_unit_of_measurement','.e-invert','No\x20entity\x20to\x20display.','base','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Renders\x20N\x20times\x20the\x20selected\x20period\x20and\x20opens\x20scrolled\x20to\x20the\x20newest\x20part:\x20the\x20screen\x20shows\x20exactly\x20the\x20period\x20you\x20picked\x20-\x20same\x20scale\x20and\x20buckets\x20as\x20without\x20scrolling\x20-\x20and\x20you\x20can\x20scroll\x20back\x20through\x20the\x20extra\x20history.\x20Follows\x20the\x20date\x20picker:\x20on\x20a\x20Week\x20view\x20with\x202,\x20one\x20extra\x20week\x20is\x20scrollable\x20behind\x20the\x20current\x20one.\x201\x20or\x20empty\x20=\x20off.\x20Overrides\x20Visible\x20Window\x20while\x20active.','Border\x20Color','thr-col','sgc-query-sync','show_y_ticks','var(--divider-color,\x20rgba(127,127,127,.28))','\x20stroke=\x22none\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','price_entity','map','Use\x20a\x20custom\x20image\x20instead\x20of\x20an\x20MDI\x20icon.\x20Paste\x20a\x20full\x20URL\x20to\x20any\x20PNG/SVG/WebP.\x20Takes\x20priority\x20over\x20the\x20MDI\x20icon\x20field.','&minimal_response&no_attributes','\x20L\x200\x20','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hide\x20Name\x20toggle.','','\x22>','matches','dec:','show_graph','offsetHeight','\x22\x20is\x20invalid\x20(','--mdc-icon-size:','sgc-y-axis-label\x20sgc-y-axis-label-left','.e-align_state','','_priceTrailTimer','\x22\x20preserveAspectRatio=\x22none\x22\x20overflow=\x22visible\x22\x20style=\x22width:100%;height:100%;display:block;overflow:visible\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','','TL_SC_RD','_hasAnyAggregatedEntity','period_highlight','red','','_sanitizeEntities','split','dp-today','Last\x207\x20Days','\x22>‹','compare','soft','.e-ref_attribute','font-weight:500;opacity:0.8','butt','card_background_color','timeline','_drawAnnotationsBackground','.e-value_factor','callWS','tooltip_order','mean','\x22\x20x1=\x220\x22\x20y1=\x220\x22\x20x2=\x220\x22\x20y2=\x221\x22>','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_renderDatePicker','applyPostBucketTransform','_onDatePickerMode','primary','dp-range-sel','has_mean','\x200\x20?\x20-x\x20:\x200\x20(extract\x20export).','_drawGrid','--card-background-color','May','band','Time\x20span','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','sgc-y-label','Battery','_counterDayRowsSafe','show_now_line','\x22>','','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','sgc-chrome-clip-','_energyStart','statistics-graph-chart-card','\x22\x20x2=\x22','[data-panel=\x22cardset\x22]','_yearEqualSpace','_refRefIds','>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.e-fill_opacity','Last\x20Month','.e-extrema_color-picker','_ltsWarned','border-radius:','Gauge','weekday','gauge','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','last_3d','_drawSeries','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(non-numeric\x20→\x20numeric)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20One\x20line\x20per\x20state,\x20as\x20value,\x20label,\x20color\x20—\x20label\x20and\x20color\x20are\x20optional.\x20Line\x20order\x20=\x20graph\x20value\x20(0,\x201,\x202…).\x20Color\x20accepts\x20any\x20CSS\x20color\x20(name,\x20hex,\x20or\x20var).\x20Examples:
off
on
off,\x20Stopped
on,\x20Working
Youtube,\x20YouTube,\x20red
Netflix,\x20Netflix,\x20#E50914\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','dashed','reverse_subtract','week','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','update_interval','.e-line_width','change_ignore_zero','trend_up_color','Min/Max\x20value\x20labels\x20overlaid\x20on\x20the\x20graph.\x20Configure\x20when\x20they\x20appear,\x20which\x20extremes\x20to\x20show,\x20whether\x20timestamps\x20are\x20included,\x20and\x20full\x20styling\x20control\x20over\x20font\x20and\x20background.','int','Download\x20PNG\x20(Chart)','Chart\x20mode,\x20display\x20and\x20data\x20configuration','_renderIntervalPicker','getDate','\x20','rise_fall_colors','.sgc-grid','sgc-fill-height','area','\x20buckets\x20do\x20not.','carryPastNow','Shows\x20total\x20value\x20in\x20the\x20center\x20of\x20the\x20chart.\x20When\x20off,\x20Pie\x20becomes\x20a\x20full\x20pie\x20instead\x20of\x20donut.','hist','revokeObjectURL','\x22/>\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20','_entities','tot','How\x20to\x20bucket\x20raw\x20history\x20data\x20before\x20aggregation.\x20Interval\x20=\x20equal-width\x20buckets\x20across\x20the\x20full\x20time\x20range\x20(most\x20common).\x20Hour\x20=\x20one\x20bucket\x20per\x20clock\x20hour.\x20Date\x20=\x20one\x20per\x20calendar\x20day.\x20Week\x20=\x20one\x20per\x20calendar\x20week\x20(Mon–Sun).\x20Month\x20=\x20one\x20per\x20calendar\x20month.\x20Raw\x20=\x20no\x20bucketing\x20at\x20all:\x20every\x20recorded\x20sample\x20is\x20drawn\x20at\x20its\x20exact\x20timestamp\x20—\x20ideal\x20for\x20step\x20graphs\x20of\x20binary/state\x20sensors\x20where\x20each\x20transition\x20matters.','\x22>','HA-CARD','Roundness\x20of\x20each\x20state\x20segment\x20corners\x20in\x20pixels.\x200\x20=\x20perfectly\x20sharp.\x203\x20=\x20default.\x20Larger\x20values\x20round\x20into\x20a\x20pill\x20shape\x20(capped\x20at\x20half\x20the\x20row\x20height).\x20Advanced\x20users\x20can\x20also\x20target\x20the\x20sgc-stl-cell\x20class\x20from\x20card_mod\x20for\x20per-state\x20styling.','_resolveCanvasColor','[sgc]\x20annotation\x20history\x20fetch\x20failed','hass',';\x20}','','localeCompare','state_row','call','','style=\x22opacity:.35;pointer-events:none\x22','inv','Print\x20each\x20cell\x27s\x20value\x20inside\x20the\x20heatmap\x20or\x20calendar\x20boxes.\x20Turn\x20off\x20for\x20a\x20cleaner\x20color-only\x20grid\x20-\x20exact\x20values\x20stay\x20available\x20in\x20the\x20hover\x20tooltip.','time_zone','toggle','charAt','Snap\x20Y-axis\x20tick\x20values\x20to\x20clean\x20multiples\x20of\x201,\x202,\x20or\x205\x20(×\x2010^n)\x20—\x20for\x20example\x200.1\x20/\x200.2\x20/\x200.3\x20instead\x20of\x200.11\x20/\x200.22\x20/\x200.33.\x20Stays\x20within\x20bounds,\x20does\x20not\x20change\x20the\x20plot\x20scale.\x20Disable\x20for\x20strict\x20equal-spacing.','>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Jul','','Advanced','#sgc-extras','.sgc-dp-bar','_pendingSyntheticRefresh','_extendWindowForForecastData','dragover','','touchcancel','\x20→\x20','','interval_picker_group','_visHandler','findIndex','[sgc]\x20ws\x20handler\x20error','No\x20data\x20for\x20histogram.','left','periods_back','str','_instanceKey','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','sgc-grid','','_fpForceExact','baselineByIdx','mdi:chart-line','Y\x20Axis\x20Ticks','Area\x20names','Peak','Color\x20used\x20when\x20the\x20value\x20is\x20decreasing.','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','_color','','_showExtremaOnClick','\x22>px\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Change','card_header_color','state_timeline_corner_radius','Y-Axis','radius','rgba(74,144,217,','_showTooltipAtTime','Scrollbar\x20=\x20visible\x20scrollbar\x20at\x20the\x20bottom.\x20Wheel\x20=\x20mouse\x20wheel\x20scrolls\x20horizontally.','resolve','Points/Hour\x20Picker','divide',':host\x20{\x20display:\x20block;\x20font-family:\x20','cloneNode','.e-aggregate_func','recorder/statistics_during_period','.e-z_index','alignItems','_edLang','Last\x203D','Top\x20Center','.thr-list','#378ADD','paint-order:stroke;stroke:var(--ha-card-background,\x20var(--card-background-color,\x20#1c1c1c));stroke-width:3px;stroke-linejoin:round;','stroke-dasharray:','dblclick','Auto','show_tooltip_total','Thick','_computeXAxisTicksAuto','linear-gradient(','\x22\x20fill=\x22none\x22\x20','hasOwnProperty','\x22\x20data-id=\x22','39104980EtBunX','Graph','firstWd','querySelectorAll','input[type=\x22color\x22]','?end_time=','pointermove','','#1D9E75','>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
','last','Height\x20of\x20the\x20graph\x20area\x20in\x20pixels,\x20or\x20auto\x20to\x20fill\x20the\x20grid\x20cell\x20(size\x20the\x20card\x20via\x20the\x20Layout\x20tab).\x20Clearing\x20the\x20field\x20sets\x20auto.','sgc-datepicker-sync-request','blue-grey','sgc-averages','label_position','sgc-svg','#ffffff','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Localization','rgb(','','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','setAttribute','Graph\x20Data','.sgc-card','\x22>
\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','Gauge\x20Range','gridColumn','dpCal','add-entity','Previous\x20month','deep-purple','backgroundColor','both','.e-show_extrema_min','cmp-hol','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','every','Color','sgc-datepicker-sync','Minutes','\x22>','_drillBucketAt','_pairs','Shows\x20a\x20Total\x20row\x20at\x20the\x20bottom\x20of\x20the\x20tooltip\x20summing\x20all\x20visible\x20entity\x20values.\x20The\x20unit\x20is\x20appended\x20when\x20every\x20visible\x20entity\x20shares\x20it.','no-','Duplicate','\x22>','_downloadBlob','.ha-entity-picker-wrap[data-battery]','Min','h\x20exceeds\x20the\x20','Custom\x20unit\x20label\x20(e.g.\x20kWh,\x20°C,\x20%).\x20Overrides\x20the\x20auto-detected\x20unit.\x20Useful\x20for\x20attributes\x20or\x20unitless\x20sensors.','_updateQueued','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_haCMap','range','entities','Last\x2015\x20days','calendarGroup','Rising','config','history/period/','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','align_header','download','from','','box','Previous\x20Period','cellW','bad\x20number\x20\x22','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','down','_refreshLiveLegend','removeAttribute','YYYY','_renderLegend','','auto_hide_entities','day_of_month','\x0a\x20\x20\x20\x20','6\x20or\x20sensor.x','','_stopEnergyDateSync','show_state','moveTo','effectAllowed','__sgcActiveRule','viewBox','\x20stroke-linejoin=\x22round\x22\x20stroke-linecap=\x22round\x22\x20vector-effect=\x22non-scaling-stroke\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','include_attribute_name','','data','_schedulePriceRefetch','Extrema','display','_applyRefTo','border-color:','.cs-tb','0.75','xaxis','','unexpected\x20','_withAlpha','date_picker_step','','[sgc]\x20ref_op\x20\x22','Reference\x20Year','Add\x20Rule','\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Entities','_annotationRefs','graph_type','x_grid_width','\x0a\x20\x20\x20\x20\x20\x20','dpRollingMonths','sgc-hf:','charCodeAt','device_id','parentElement','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','.e-show_data_labels','fill=\x22url(#','Header\x20text\x20font\x20weight.\x20Accepts\x20CSS\x20keywords\x20(light/normal/bold)\x20or\x20numbers\x20(300,\x20400,\x20600,\x20700).\x20Leave\x20empty\x20for\x20theme\x20default.','\x22\x20stroke-width=\x222\x22/>','createRadialGradient','firstDay','Now\x20Line','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','sMap','var(--primary-text-color)','_ioVisible','Add\x20Moving\x20Average','Tooltip','dataTransfer','scatter','formatEntityAttributeName','right','_renderExportButton','Live','Smooth','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20px_0x40dfd6(_0x161af1['v'],_0x46fd51[_0x39be75(0x2c8)]??'below',_0x161af1['l']))[_0x39be75(0x718)]('')+_0x39be75(0x634)+this[_0x39be75(0x2df)](_0x39be75(0x570))+'\x20'+_0x432a25(_0x39be75(0x8b2))+'':'')+_0x39be75(0xd8d)+(_0x3113c1===_0x39be75(0xa76)?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)]('Axis\x20Labels')+'\x20'+_0x432a25(_0x39be75(0xb01))+_0x39be75(0x1c4)+(_0x197bd2?_0x39be75(0x34a)+(_0x46fd51['logarithmic']?'checked':'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)]('Logarithmic')+'\x20'+_0x432a25('Switches\x20the\x20Y\x20axis\x20to\x20a\x20logarithmic\x20scale.\x20Ideal\x20for\x20data\x20spanning\x20several\x20orders\x20of\x20magnitude\x20(e.g.\x201\x20to\x2010000).\x20Not\x20suitable\x20for\x20zero\x20or\x20negative\x20values.')+'':'')+_0x39be75(0x4e6)+this[_0x39be75(0x2df)](_0x39be75(0xd55))+_0x39be75(0x391)+(_0x46fd51[_0x39be75(0x37a)]?'':'')+_0x39be75(0xb2b)+(_0x46fd51['y_axis_round_ticks']!==![]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)](_0x39be75(0xd86))+'\x20'+_0x432a25(_0x39be75(0xa08))+_0x39be75(0x406)+this[_0x39be75(0x2df)](_0x39be75(0xa68))+'\x20'+_0x432a25(_0x39be75(0xdb9))+_0x39be75(0xd8c)+escapeHtml(_0x46fd51[_0x39be75(0x632)]??'')+'\x22>_0x40dfd6(_0x3f8b71,_0x46fd51[_0x39be75(0x6e7)]??'s',_0x52e6e9))[_0x39be75(0x718)]('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20px\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)](_0x39be75(0x2d3))+_0x39be75(0xdaf)+this[_0x39be75(0x2df)](_0x39be75(0x443))+'\x20'+_0x432a25(_0x39be75(0x71e))+_0x39be75(0x739)+[_0x39be75(0x9ab),_0x39be75(0x971),_0x39be75(0x4bf),_0x39be75(0x3df)]['map'](_0x58c7a4=>_0x40dfd6(_0x58c7a4,_0x46fd51[_0x39be75(0xd8b)]??_0x39be75(0x9ab),this[_0x39be75(0x2df)](_0x58c7a4[_0x39be75(0xa07)](0x0)['toUpperCase']()+_0x58c7a4[_0x39be75(0x53c)](0x1)[_0x39be75(0x934)]('-','\x20'))))['join']('')+''+['',_0x39be75(0xaef),_0x39be75(0x1cd),_0x39be75(0x9ad),_0x39be75(0x4b3),_0x39be75(0xf0)]['map'](_0x869ccd=>_0x40dfd6(_0x869ccd,_0x46fd51[_0x39be75(0xb8)]??'',{'':this[_0x39be75(0x2df)](_0x39be75(0xc40)),'day':this[_0x39be75(0x2df)](_0x39be75(0x809)),'tomorrow':this[_0x39be75(0x2df)](_0x39be75(0xe2a)),'week':this['_eT']('Week'),'month':this['_eT'](_0x39be75(0xb29)),'year':this[_0x39be75(0x2df)]('Year')}[_0x869ccd]))[_0x39be75(0x718)]('')+_0x39be75(0x491)+(_0x46fd51[_0x39be75(0x509)]?_0x39be75(0x233):'')+'>'+this[_0x39be75(0x2df)]('Show\x20Full\x20Period')+'\x20'+_0x432a25('Extends\x20the\x20X-axis\x20end\x20to\x20cover\x20the\x20full\x20period\x20from\x20the\x20graph\x20start,\x20even\x20when\x20\x22now\x22\x20is\x20earlier.\x20With\x20Graph\x20Start:\x20tomorrow\x20→\x20end\x20of\x20tomorrow,\x20week\x20→\x20next\x20Monday\x2000:00,\x20month\x20→\x201st\x20of\x20next\x20month,\x20year\x20→\x201\x20Jan\x20next\x20year.\x20With\x20Graph\x20Start\x20Hour\x20or\x20no\x20anchor:\x20end\x20of\x20today\x20(midnight).\x20Active\x20in\x20Date\x20Picker\x20(current\x20period\x20only)\x20and\x20Energy\x20Sync\x20as\x20well.\x20Bypassed\x20when\x20the\x20Interval\x20Picker\x20is\x20active.\x20Note:\x20graph_start=tomorrow\x20automatically\x20extends\x20the\x20window\x20without\x20this\x20flag.')+_0x39be75(0x818)+(_0x50cd17===_0x39be75(0x78c)?_0x39be75(0x504):'')+'\x22\x20data-mtc=\x22overlay\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(!_0x1cb60a?_0x39be75(0xcbb)+this[_0x39be75(0x2df)](_0x39be75(0x717))+_0x39be75(0x7fc)+(_0x46fd51[_0x39be75(0x328)]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)]('Interval\x20Picker')+'\x20'+_0x432a25(_0x39be75(0xcb4))+_0x39be75(0x9a0)+(_0x46fd51['show_interval_picker']?'':_0x39be75(0xcb))+'\x22>'+[_0x39be75(0xa52),_0x39be75(0x308),'right']['map'](_0x3e5eab=>_0x40dfd6(_0x3e5eab,_0x46fd51[_0x39be75(0xcce)]??'left',this[_0x39be75(0x2df)](_0x3e5eab[_0x39be75(0xa07)](0x0)[_0x39be75(0x158)]()+_0x3e5eab[_0x39be75(0x53c)](0x1))))['join']('')+''+this['_eT'](_0x39be75(0x948))+'\x20'+_0x432a25('Shows\x20a\x20compact\x20dropdown\x20list\x20of\x20attributes\x20for\x20entities.')+_0x39be75(0x9a0)+(_0x46fd51['show_attribute_list']?'':_0x39be75(0xcb))+_0x39be75(0xba8)+[_0x39be75(0xa52),'center',_0x39be75(0xd44)][_0x39be75(0x89f)](_0x2f549d=>_0x40dfd6(_0x2f549d,_0x46fd51['attribute_list_position']??_0x39be75(0xa52),this[_0x39be75(0x2df)](_0x2f549d[_0x39be75(0xa07)](0x0)['toUpperCase']()+_0x2f549d[_0x39be75(0x53c)](0x1))))[_0x39be75(0x718)]('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20_0x40dfd6(_0x2791a9,_0x46fd51[_0x39be75(0x3ef)]??_0x39be75(0xa52),this[_0x39be75(0x2df)](_0x2791a9[_0x39be75(0xa07)](0x0)[_0x39be75(0x158)]()+_0x2791a9['slice'](0x1))))[_0x39be75(0x718)]('')+_0x39be75(0x166)+this['_eT']('Group')+'\x22\x20value=\x22'+escapeHtml(_0x46fd51[_0x39be75(0xd2e)]??'')+_0x39be75(0xac9)+(_0x46fd51[_0x39be75(0x3a0)]?'checked':'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)]('Group\x20By\x20Picker')+'\x20'+_0x432a25('Shows\x20a\x20Group\x20By\x20dropdown\x20on\x20the\x20card\x20itself\x20—\x20switch\x20between\x20Interval,\x20Hour,\x202H/3H/4H/6H/12H,\x20Date,\x20Week,\x20Month\x20or\x20Year\x20bucketing\x20without\x20opening\x20the\x20editor.\x20Auto\x20returns\x20to\x20the\x20configured\x20value.\x20The\x20selection\x20persists\x20per\x20card\x20and\x20takes\x20priority\x20over\x20Auto\x20Scale\x20while\x20active.\x20The\x20Group\x20field\x20keeps\x20the\x20Group\x20By\x20selection\x20in\x20sync\x20across\x20every\x20card\x20sharing\x20that\x20name\x20—\x20independent\x20from\x20the\x20Points/Hour\x20picker\x27s\x20group.\x20The\x20Group\x20field\x20is\x20shared\x20with\x20the\x20Points/Hour\x20picker\x20—\x20one\x20name\x20keeps\x20BOTH\x20selections\x20in\x20sync\x20across\x20cards.')+_0x39be75(0x9a0)+(_0x46fd51[_0x39be75(0x3a0)]?'':_0x39be75(0xcb))+_0x39be75(0x92f)+['left',_0x39be75(0x308),_0x39be75(0xd44)][_0x39be75(0x89f)](_0x152b91=>_0x40dfd6(_0x152b91,_0x46fd51['group_by_picker_position']??_0x39be75(0xa52),this[_0x39be75(0x2df)](_0x152b91[_0x39be75(0xa07)](0x0)[_0x39be75(0x158)]()+_0x152b91['slice'](0x1))))[_0x39be75(0x718)]('')+_0x39be75(0x820)+this[_0x39be75(0x2df)]('Group')+_0x39be75(0x804)+escapeHtml(_0x46fd51[_0x39be75(0xd7b)]??'')+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x197bd2&&!_0x1cb60a?'':'')+_0x39be75(0x76c)+(_0x197bd2&&!_0x1cb60a?_0x39be75(0xc19)+(_0x46fd51[_0x39be75(0x16a)]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this['_eT'](_0x39be75(0x7d6))+'\x20'+_0x432a25(_0x39be75(0xa9))+_0x39be75(0x227):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x510f4d?_0x39be75(0x5b5)+(_0x46fd51[_0x39be75(0xa93)]!==![]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)](_0x39be75(0x2b0))+'\x20'+_0x432a25(_0x39be75(0x9d8))+_0x39be75(0x227):'')+_0x39be75(0x76c)+(_0x3113c1==='ranking'?_0x39be75(0x5b5)+(_0x46fd51[_0x39be75(0xa93)]!==![]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this['_eT'](_0x39be75(0x965))+'\x20'+_0x432a25(_0x39be75(0x4c3))+_0x39be75(0x227):'')+_0x39be75(0x76c)+(_0x3113c1===_0x39be75(0x8af)?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{const _0x421f0e=_0x39be75,_0x4cf789=_0x46fd51[_0x421f0e(0x927)],_0x3e91ea=['1H','2H','4H','8H',_0x421f0e(0x312),_0x421f0e(0x3e8),'7D'],_0x301351=_0x4cf789&&Array[_0x421f0e(0x557)](_0x4cf789)&&_0x4cf789[_0x421f0e(0x942)]?_0x4cf789[_0x421f0e(0x9b)](_0x2d44d9):_0x3e91ea[_0x421f0e(0x9b)](_0x2d44d9);return _0x421f0e(0xabc)+_0x2d44d9+'\x22\x20'+(_0x301351?_0x421f0e(0x233):'')+_0x421f0e(0x42e)+_0x2d44d9+_0x421f0e(0x227);})[_0x39be75(0x718)]('')+_0x39be75(0x68a):'')+_0x39be75(0xda6):_0x39be75(0x3a4)+this[_0x39be75(0x2df)](_0x39be75(0x45c))+_0x39be75(0x68a))+_0x39be75(0xb8a)+(_0x2c7553&&!_0x1cb60a?_0x39be75(0xcbb)+this[_0x39be75(0x2df)](_0x39be75(0xd40))+_0x39be75(0x5ac)+(_0x20bfd4?_0x39be75(0xaf)+(_0x46fd51[_0x39be75(0x8dd)]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)]('Period\x20Highlight')+'\x20'+_0x432a25(_0x39be75(0x482))+_0x39be75(0x227)+(_0x46fd51[_0x39be75(0x8dd)]?_0x39be75(0x841)+this[_0x39be75(0x2df)](_0x39be75(0xa92))+_0x39be75(0x804)+escapeHtml(_0x46fd51[_0x39be75(0x848)]??'')+_0x39be75(0xaec)+escapeHtml(this['_coerceColor'](_0x46fd51['period_highlight_color']||_0x39be75(0x329)))+_0x39be75(0x95a):''):'')+_0x39be75(0x407)+(_0x46fd51[_0x39be75(0x2d2)]!==![]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)](_0x39be75(0xd40))+'\x20'+_0x432a25('Shows\x20a\x20floating\x20info\x20box\x20with\x20exact\x20values\x20when\x20hovering.')+''+(_0x46fd51[_0x39be75(0x2d2)]!==![]?''+(_0x46fd51[_0x39be75(0xb76)]?_0x39be75(0xb0f)+(_0x46fd51[_0x39be75(0x386)]!==![]?'checked':'')+'>'+this['_eT'](_0x39be75(0xb92))+'\x20'+_0x432a25(_0x39be75(0x561))+'':''):'')+(_0x197bd2&&_0x46fd51[_0x39be75(0x2d2)]!==![]?_0x39be75(0x297)+(_0x46fd51[_0x39be75(0xbb7)]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)](_0x39be75(0x3d7))+'\x20'+_0x432a25(_0x39be75(0x303))+_0x39be75(0x227):'')+(_0x197bd2&&_0x46fd51[_0x39be75(0x2d2)]!==![]?_0x39be75(0xc7)+(_0x46fd51[_0x39be75(0x4ef)]?_0x39be75(0x233):'')+_0x39be75(0x1aa)+this[_0x39be75(0x2df)](_0x39be75(0x686))+'\x20'+_0x432a25('Hovering\x20broadcasts\x20the\x20timestamp\x20to\x20all\x20synced\x20cards.')+_0x39be75(0x409)+(_0x46fd51['tooltip_sync']?'':'\x20off')+_0x39be75(0x58e)+this[_0x39be75(0x2df)](_0x39be75(0x96d))+_0x39be75(0x804)+escapeHtml(_0x46fd51[_0x39be75(0xbfa)]??'')+'\x22>':'')+_0x39be75(0x79f)+(_0x197bd2&&_0x46fd51['show_tooltip']!==![]?_0x39be75(0x608)+this[_0x39be75(0x2df)](_0x39be75(0x6b2))+'\x20'+_0x432a25(_0x39be75(0x3d9))+_0x39be75(0xf3)+[[_0x39be75(0x91e),this[_0x39be75(0x2df)](_0x39be75(0x772))],[_0x39be75(0x232),this['_eT'](_0x39be75(0xb6))],[_0x39be75(0x4be),this[_0x39be75(0x2df)](_0x39be75(0xe18))]][_0x39be75(0x89f)](([_0x1232db,_0x328265])=>_0x40dfd6(_0x1232db,_0x46fd51[_0x39be75(0x8f0)]??_0x39be75(0x91e),_0x328265))[_0x39be75(0x718)]('')+'':'')+_0x39be75(0x79f):'')+_0x39be75(0xb8a)+(!_0x1cb60a?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)](_0x39be75(0x923))+_0x39be75(0xdaf)+this['_eT'](_0x39be75(0x41d))+'\x20'+_0x432a25(_0x39be75(0x731))+_0x39be75(0xc55)+(_0x46fd51[_0x39be75(0x710)]||'')+_0x39be75(0xb54)+this['_eT'](_0x39be75(0x436))+'\x20'+_0x432a25(_0x39be75(0x37d))+_0x39be75(0x901)+escapeHtml(_0x46fd51[_0x39be75(0x3c9)]??'')+_0x39be75(0x5cd):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x197bd2&&!_0x1cb60a?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_eT'](_0x39be75(0xaa3))+'\x20'+_0x432a25(_0x39be75(0x5bf))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)](_0x39be75(0xd0f))+_0x39be75(0x261)+this[_0x39be75(0x2df)](_0x39be75(0x1fc))+_0x39be75(0xcd2)+(_0x46fd51['show_now_line']!==![]?'checked':'')+_0x39be75(0x4cb)+this[_0x39be75(0x2df)](_0x39be75(0xb16))+'\x20'+_0x432a25('Color\x20of\x20the\x20vertical\x20now\x20marker\x20line.\x20Leave\x20empty\x20for\x20theme\x20default\x20(primary\x20text\x20color).')+_0x39be75(0x15d)+this[_0x39be75(0x2df)]('Auto')+_0x39be75(0x804)+escapeHtml(_0x46fd51[_0x39be75(0x905)]??'')+_0x39be75(0x96c)+escapeHtml(this[_0x39be75(0x87b)](_0x46fd51[_0x39be75(0x905)]||'#888888'))+_0x39be75(0xb54)+this[_0x39be75(0x2df)]('Opacity')+'\x20'+_0x432a25(_0x39be75(0x73e))+_0x39be75(0xafc)+escapeHtml(_0x46fd51[_0x39be75(0x61a)]??'')+_0x39be75(0x3cf)+this[_0x39be75(0x2df)](_0x39be75(0x785))+'\x20'+_0x432a25(_0x39be75(0xbaf))+_0x39be75(0x9cb)+escapeHtml(_0x46fd51[_0x39be75(0x939)]??'')+_0x39be75(0xdd)+this['_eT'](_0x39be75(0x5a3))+'\x20'+_0x432a25(_0x39be75(0x982))+_0x39be75(0x751)+['','dashed',_0x39be75(0x971),_0x39be75(0x4bf),'long-dash']['map'](_0x1602ab=>_0x40dfd6(_0x1602ab,_0x46fd51['now_line_style']??'',_0x1602ab===''?this[_0x39be75(0x2df)](_0x39be75(0x772)):this[_0x39be75(0x2df)](_0x1602ab[_0x39be75(0xa07)](0x0)[_0x39be75(0x158)]()+_0x1602ab[_0x39be75(0x53c)](0x1)[_0x39be75(0x934)]('-','\x20'))))['join']('')+_0x39be75(0x6bc)+((_0x46fd51[_0x39be75(0x761)]||[])[_0x39be75(0x89f)]((_0x236027,_0x4ce79e)=>{const _0x5256a3=_0x39be75,_0x4085de=_0x236027['type']===_0x5256a3(0xd79)||_0x236027[_0x5256a3(0x46c)]===_0x5256a3(0x2ef),_0xba3b30=_0x4085de&&(_0x5256a3(0xa33)in _0x236027||'end'in _0x236027||_0x5256a3(0x87c)in _0x236027),_0x199d9a=_0x236027[_0x5256a3(0x46c)]===_0x5256a3(0x5e4);return _0x5256a3(0xc45)+_0x4ce79e+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+({'event':this[_0x5256a3(0x2df)](_0x5256a3(0x15f)),'span':this[_0x5256a3(0x2df)]('Span'),'threshold':this['_eT']('Threshold'),'band':this['_eT'](_0x5256a3(0xb61))}[_0x236027['type']]||this[_0x5256a3(0x2df)](_0x5256a3(0x15f)))+_0x5256a3(0x2c2)+this['_eT'](_0x5256a3(0xb5b))+_0x5256a3(0xb7)+this[_0x5256a3(0x2df)](_0x5256a3(0x690))+_0x5256a3(0xc05)+[_0x5256a3(0xd79),_0x5256a3(0x2ef),_0x5256a3(0x5e4),_0x5256a3(0x90e)]['map'](_0x1946cc=>_0x5256a3(0xab4)+escapeHtml(_0x1946cc)+'\x22\x20'+(_0x236027[_0x5256a3(0x46c)]===_0x1946cc?_0x5256a3(0x335):'')+'>'+{'event':this['_eT'](_0x5256a3(0x995)),'span':this[_0x5256a3(0x2df)](_0x5256a3(0x90f)),'threshold':this[_0x5256a3(0x2df)](_0x5256a3(0x37e)),'band':this[_0x5256a3(0x2df)]('H-band')}[_0x1946cc]+_0x5256a3(0x741))['join']('')+_0x5256a3(0xd56)+(_0x4085de?_0x5256a3(0x384)+this['_eT'](_0x5256a3(0x6a0))+_0x5256a3(0xb26)+(!_0xba3b30?_0x5256a3(0x335):'')+'>'+this[_0x5256a3(0x2df)](_0x5256a3(0x6ad))+''+this[_0x5256a3(0x2df)](_0x5256a3(0xd89))+_0x5256a3(0xe36):''+[['',this[_0x3aa99b(0x2df)](_0x3aa99b(0xcca))],[_0x3aa99b(0xad0),this[_0x3aa99b(0x2df)](_0x3aa99b(0x13d))],[_0x3aa99b(0x834),this[_0x3aa99b(0x2df)](_0x3aa99b(0x589))],[_0x3aa99b(0x648),this[_0x3aa99b(0x2df)](_0x3aa99b(0xb72))],[_0x3aa99b(0x102),this[_0x3aa99b(0x2df)](_0x3aa99b(0xb31))],['max',this[_0x3aa99b(0x2df)](_0x3aa99b(0x613))],[_0x3aa99b(0xa58),this[_0x3aa99b(0x2df)](_0x3aa99b(0x85b))]][_0x3aa99b(0x89f)](([_0x4cb0ff,_0x5192b8])=>_0x40dfd6(_0x4cb0ff,_0x438f50[_0x3aa99b(0x5b2)]??(_0x438f50[_0x3aa99b(0x120)]?'last':''),_0x5192b8))[_0x3aa99b(0x718)]('')+''+([_0x3aa99b(0x900),'ranking',_0x3aa99b(0x7ef),_0x3aa99b(0x56f),'radar',_0x3aa99b(0x7c5),'calendar'][_0x3aa99b(0x9b)](_0x3113c1)&&((_0x438f50[_0x3aa99b(0x5b2)]??(_0x438f50['show_state_last']?_0x3aa99b(0xad0):''))===_0x3aa99b(0xad0)||(_0x438f50[_0x3aa99b(0x5b2)]??'')===_0x3aa99b(0xa58))?_0x3aa99b(0x26d)+this[_0x3aa99b(0x2df)]('⚠\x20Last\x20/\x20First\x20show\x20the\x20endpoint\x20of\x20the\x20raw\x20series\x20—\x20not\x20the\x20displayed\x20slice\x20or\x20cell.\x20Consider\x20Sum\x20/\x20Avg\x20/\x20Min\x20/\x20Max\x20in\x20this\x20chart\x20mode.')+_0x3aa99b(0x79f):'')+''+this[_0x19959f(0x2df)]('Solid')+_0x19959f(0x693)+(_0x438f50[_0x19959f(0x7e1)]===_0x19959f(0x4bf)?_0x19959f(0x335):'')+'>'+this[_0x19959f(0x2df)]('Dotted')+_0x19959f(0x9be)+(_0x438f50[_0x19959f(0x7e1)]===_0x19959f(0x9ab)?_0x19959f(0x335):'')+'>'+this[_0x19959f(0x2df)](_0x19959f(0x7fd))+_0x19959f(0x481)+(_0x438f50[_0x19959f(0x3fc)]?_0x19959f(0x233):'')+_0x19959f(0x1aa)+this[_0x19959f(0x2df)](_0x19959f(0x9a7))+'\x20'+_0x432a25(_0x19959f(0x50c))+_0x19959f(0x8ff)+(_0x4faa15?_0x19959f(0x233):'')+_0x19959f(0x1aa)+this['_eT'](_0x19959f(0xa1b))+'\x20'+_0x432a25(_0x19959f(0x964))+_0x19959f(0x74e)+(_0x4faa15?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x12b1a5?.['enabled']?_0x3aa99b(0xca6)+this[_0x3aa99b(0x2df)](_0x3aa99b(0xbd6))+'':'')+_0x3aa99b(0x243)+(!_0x37a839?.['enabled']||_0x12b1a5?.[_0x3aa99b(0x408)]?'style=\x22opacity:.35;pointer-events:none\x22':'')+_0x3aa99b(0x82d)+this[_0x3aa99b(0x2df)](_0x3aa99b(0xb3b))+'\x20'+_0x432a25(_0x3aa99b(0x748))+_0x3aa99b(0xc8c)+escapeHtml(this[_0x3aa99b(0x87b)](_0x37a839?.['increase']??_0x3aa99b(0x57f)))+_0x3aa99b(0x427)+this[_0x3aa99b(0x2df)]('Falling')+'\x20'+_0x432a25(_0x3aa99b(0xa6b))+_0x3aa99b(0xc82)+escapeHtml(this[_0x3aa99b(0x87b)](_0x37a839?.[_0x3aa99b(0x371)]??_0x3aa99b(0x790)))+_0x3aa99b(0x427)+this[_0x3aa99b(0x2df)]('Stable')+'\x20'+_0x432a25(_0x3aa99b(0x62a))+_0x3aa99b(0xab6)+escapeHtml(this[_0x3aa99b(0x87b)](_0x37a839?.[_0x3aa99b(0x9eb)]??_0x3aa99b(0x17e)))+_0x3aa99b(0x9ae):'')+(this[_0x3aa99b(0x9fa)](_0x3aa99b(0x41b),_0x3113c1)?_0x3aa99b(0x2fb)+(_0x37a839?.[_0x3aa99b(0x408)]?'lk':'')+'\x22>'+this[_0x3aa99b(0x2df)](_0x3aa99b(0x5d1))+'\x20'+_0x432a25(_0x3aa99b(0x4a7))+_0x3aa99b(0x9e7)+(_0x12b1a5?.[_0x3aa99b(0x408)]?_0x3aa99b(0x233):'')+'\x20'+(_0x37a839?.[_0x3aa99b(0x408)]?_0x3aa99b(0xb22):'')+_0x3aa99b(0x5d6)+(_0x37a839?.[_0x3aa99b(0x408)]?_0x3aa99b(0xca6)+this[_0x3aa99b(0x2df)](_0x3aa99b(0xaf7))+_0x3aa99b(0x79f):'')+_0x3aa99b(0x243)+(!_0x12b1a5?.[_0x3aa99b(0x408)]||_0x37a839?.[_0x3aa99b(0x408)]?'style=\x22opacity:.35;pointer-events:none\x22':'')+_0x3aa99b(0x14b)+this['_eT'](_0x3aa99b(0x2ab))+'\x20'+_0x432a25(_0x3aa99b(0x6bf))+_0x3aa99b(0x307)+_0x40dfd6(_0x3aa99b(0x39f),_0x12b1a5?.[_0x3aa99b(0x6b8)]??_0x3aa99b(0x39f),this['_eT'](_0x3aa99b(0xdf2)))+_0x40dfd6(_0x3aa99b(0xc42),_0x12b1a5?.[_0x3aa99b(0x6b8)]??_0x3aa99b(0x39f),this['_eT']('Horizontal'))+_0x3aa99b(0x634)+this[_0x3aa99b(0x2df)](_0x3aa99b(0xdc))+'\x20'+_0x432a25(_0x3aa99b(0xa72))+_0x3aa99b(0x819)+_0x40dfd6('smooth',_0x12b1a5?.[_0x3aa99b(0xd02)]??_0x3aa99b(0xc8e),this[_0x3aa99b(0x2df)](_0x3aa99b(0xd47)))+_0x40dfd6(_0x3aa99b(0x63b),_0x12b1a5?.[_0x3aa99b(0xd02)]??_0x3aa99b(0xc8e),this[_0x3aa99b(0x2df)](_0x3aa99b(0xd92)))+_0x3aa99b(0x720)+(_0x12b1a5?.['last_color']?_0x3aa99b(0x233):'')+_0x3aa99b(0x1aa)+this['_eT']('Last\x20Color')+'\x20'+_0x432a25(_0x3aa99b(0x96e))+''+(_0x29b347||''+this[_0x3aa99b(0x2df)]('No\x20thresholds\x20yet')+'')+_0x3aa99b(0xd04)+(_0x37a839?.[_0x3aa99b(0x408)]?_0x3aa99b(0xb22):'')+_0x3aa99b(0x8cb)+this['_eT'](_0x3aa99b(0xc49))+_0x3aa99b(0xb9d):'')+_0x3aa99b(0x756);})[_0x39be75(0x718)](''),_0x9eb69f=_0x39be75(0x20f)+(this[_0x39be75(0x522)][_0x39be75(0x628)]('entities')?_0x39be75(0xcaf):'')+_0x39be75(0xc4a)+this[_0x39be75(0x2df)](_0x39be75(0xced))+_0x39be75(0x495)+this[_0x39be75(0x9dd)]['length']+'\x20'+this[_0x39be75(0x2df)]('configured\x20—\x20add,\x20reorder\x20and\x20customize')+_0x39be75(0x527)+_0x197314+_0x39be75(0xa78)+(_0x46fd51['chart_mode']===_0x39be75(0xd42)&&this[_0x39be75(0x9dd)][_0x39be75(0x942)]>=0x2||_0x46fd51[_0x39be75(0xc14)]===_0x39be75(0x7c5)&&this[_0x39be75(0x9dd)][_0x39be75(0x942)]>=0x1||_0x46fd51[_0x39be75(0xc14)]==='calendar'&&this[_0x39be75(0x9dd)][_0x39be75(0x942)]>=0x1?'':_0x39be75(0xc24)+this['_eT'](_0x39be75(0x368))+_0x39be75(0x3e2))+_0x39be75(0xbd9),_0x1204a2='';this[_0x39be75(0x70e)]=(this[_0x39be75(0x70e)]||0x0)+0x1;const _0x5efd11=_0x39be75(0x20f)+(this['_openPanels'][_0x39be75(0x628)]('cardset')?'open':'')+'\x22\x20data-panel=\x22cardset\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)]('Card\x20Settings')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x39be75(0x2df)]('Header,\x20icon,\x20styling\x20and\x20language')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(!_0x1cb60a?_0x39be75(0x2ca)+(_0x15f6bb===_0x39be75(0xda7)?_0x39be75(0x504):'')+'\x22\x20data-cstab=\x22headericon\x22>'+this['_eT'](_0x39be75(0xc44))+'':'')+_0x39be75(0x957)+(_0x15f6bb===_0x39be75(0x7cb)?_0x39be75(0x504):'')+'\x22\x20data-cstab=\x22styling\x22>'+this[_0x39be75(0x2df)](_0x39be75(0x692))+_0x39be75(0x296)+(_0x15f6bb==='locale'?'active':'')+'\x22\x20data-cstab=\x22locale\x22>'+this[_0x39be75(0x2df)]('Localization')+_0x39be75(0xb84)+(_0x15f6bb===_0x39be75(0xda7)?_0x39be75(0x504):'')+_0x39be75(0x99d)+(!_0x1cb60a?_0x39be75(0xc3e)+this[_0x39be75(0x2df)]('Header')+_0x39be75(0xdc8)+this[_0x39be75(0x2df)](_0x39be75(0x542))+'\x20'+_0x432a25(_0x39be75(0xdd2))+''+[_0x39be75(0xa52),'center',_0x39be75(0xd44)][_0x39be75(0x89f)](_0xc0248c=>_0x40dfd6(_0xc0248c,_0x46fd51[_0x39be75(0xc71)]??_0x39be75(0xa52),this[_0x39be75(0x2df)](_0xc0248c[_0x39be75(0xa07)](0x0)[_0x39be75(0x158)]()+_0xc0248c['slice'](0x1))))[_0x39be75(0x718)]('')+_0x39be75(0xc35)+this[_0x39be75(0x2df)](_0x39be75(0xb2d))+'\x20'+_0x432a25(_0x39be75(0x52c))+_0x39be75(0x38d)+[_0x39be75(0x91e),'horizontal'][_0x39be75(0x89f)](_0x2465eb=>_0x40dfd6(_0x2465eb,_0x46fd51[_0x39be75(0x3f3)]??_0x39be75(0x91e),{'default':this['_eT'](_0x39be75(0xc21)),'horizontal':this[_0x39be75(0x2df)](_0x39be75(0x33d))}[_0x2465eb]))[_0x39be75(0x718)]('')+_0x39be75(0x634)+this['_eT'](_0x39be75(0x3c2))+'\x20'+_0x432a25('Custom\x20color\x20for\x20the\x20header\x20text.\x20Accepts\x20any\x20CSS\x20color\x20or\x20variable.\x20Leave\x20empty\x20for\x20theme\x20default.')+_0x39be75(0x428)+this[_0x39be75(0x2df)]('Auto')+'\x22\x20value=\x22'+escapeHtml(_0x46fd51[_0x39be75(0xa7a)]??'')+_0x39be75(0x1b5)+escapeHtml(this['_coerceColor'](_0x46fd51[_0x39be75(0xa7a)]||_0x39be75(0x4c9)))+'\x22>'+_0x4841e2('card-icon-color',_0x46fd51['card_icon_color']??'')+''+[{'v':_0x39be75(0x5fc),'l':this[_0x39be75(0x2df)](_0x39be75(0x1d4))},{'v':'local','l':this[_0x39be75(0x2df)](_0x39be75(0x9d0))},{'v':_0x39be75(0x469),'l':this[_0x39be75(0x2df)](_0x39be75(0x214))},..._0x46fd51[_0x39be75(0xa05)]&&!['auto','local',_0x39be75(0x469)]['includes'](_0x46fd51['time_zone'])?[{'v':_0x46fd51[_0x39be75(0xa05)],'l':_0x46fd51[_0x39be75(0xa05)]}]:[]][_0x39be75(0x89f)](_0x1b7206=>_0x40dfd6(_0x1b7206['v'],_0x46fd51['time_zone']??_0x39be75(0x5fc),_0x1b7206['l']))[_0x39be75(0x718)]('')+_0x39be75(0xb9c);this[_0x39be75(0xd5d)][_0x39be75(0x7ed)]=_0x1204a2+_0x39be75(0xc5f)+this['_eT']('Search\x20settings')+_0x39be75(0x804)+escapeHtml(this['_searchQ']||'')+_0x39be75(0xbe5)+_0x4ec2f3+_0x5efd11+_0x9eb69f+'',this[_0x39be75(0xc0)](),this[_0x39be75(0x7f8)]();if(_0x398bc9?.[_0x39be75(0x30b)]){const _0x2b1e94=this[_0x39be75(0xd5d)]['querySelector'](_0x398bc9[_0x39be75(0x30b)]);if(_0x2b1e94){_0x2b1e94[_0x39be75(0xc47)]();if(_0x398bc9['ss']!==void 0x0)try{_0x2b1e94[_0x39be75(0x446)](_0x398bc9['ss'],_0x398bc9['se']);}catch{}}}}[_0x51ece7(0x36b)](_0x37994c,_0x9a8863,_0x4c2e82,_0x174d58={}){const _0x5c2684=_0x51ece7;if(!_0x37994c||_0x37994c[_0x5c2684(0x202)])return;_0x37994c[_0x5c2684(0x202)]=!![],_0x37994c[_0x5c2684(0x7ed)]='';const _0x7ece61=!!_0x174d58[_0x5c2684(0xb22)],_0x42ad1b=document[_0x5c2684(0xe28)](_0x5c2684(0xa34));_0x42ad1b[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]='position:relative;width:100%;max-width:125px';const _0x5efd0f=document[_0x5c2684(0xe28)]('button');_0x5efd0f[_0x5c2684(0x46c)]=_0x5c2684(0x5a1),_0x5efd0f[_0x5c2684(0xb22)]=_0x7ece61,_0x5efd0f[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]=_0x5c2684(0x3eb)+(_0x7ece61?';opacity:.5;cursor:not-allowed':'');const _0x43eaaf=document[_0x5c2684(0xe28)](_0x5c2684(0x784));_0x43eaaf[_0x5c2684(0x91c)]['cssText']=_0x5c2684(0x5ca);const _0x534b7c=document[_0x5c2684(0xe28)](_0x5c2684(0x2ef));_0x534b7c[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]=_0x5c2684(0x829);const _0x2765a8=document[_0x5c2684(0xe28)](_0x5c2684(0x2ef));_0x2765a8[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]=_0x5c2684(0x689),_0x2765a8[_0x5c2684(0x7ed)]=_0x5c2684(0x3bf),_0x5efd0f['append'](_0x43eaaf,_0x534b7c,_0x2765a8);const _0x25bb65=document[_0x5c2684(0xe28)](_0x5c2684(0xa34));_0x25bb65[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]='position:absolute;top:calc(100%\x20+\x204px);left:0;width:230px;max-width:70vw;z-index:100;background:var(--bg);border:1px\x20solid\x20var(--bd);border-radius:8px;box-shadow:0\x206px\x2024px\x20rgba(0,0,0,.25);padding:8px;display:none';const _0x2828f3=_0x4bae7=>typeof _0x4bae7===_0x5c2684(0x355)&&(_0x4bae7['includes']('{{')||_0x4bae7[_0x5c2684(0x9b)]('{%')),_0x2541f1=()=>{const _0x5a7540=_0x5c2684,_0x134844=(_0x9a8863()||'')[_0x5a7540(0xe46)]();if(_0x2828f3(_0x134844))_0x43eaaf['setAttribute'](_0x5a7540(0x116),_0x5a7540(0x954)),_0x43eaaf[_0x5a7540(0x91c)][_0x5a7540(0x93d)]='visible',_0x534b7c[_0x5a7540(0x564)]=this[_0x5a7540(0x2df)](_0x5a7540(0x6c7)),_0x534b7c['style'][_0x5a7540(0x81a)]='var(--tx)';else _0x134844?(_0x43eaaf[_0x5a7540(0xae9)](_0x5a7540(0x116),_0x134844),_0x43eaaf[_0x5a7540(0x91c)]['visibility']=_0x5a7540(0x4c2),_0x534b7c['textContent']=_0x134844,_0x534b7c['style'][_0x5a7540(0x81a)]=_0x5a7540(0xe06)):(_0x43eaaf[_0x5a7540(0xc7f)](_0x5a7540(0x116)),_0x43eaaf[_0x5a7540(0x91c)][_0x5a7540(0x93d)]=_0x5a7540(0xd5b),_0x534b7c['textContent']=_0x174d58[_0x5a7540(0x7d0)]||this[_0x5a7540(0x2df)](_0x5a7540(0x904)),_0x534b7c['style'][_0x5a7540(0x81a)]=_0x5a7540(0x816));},_0x240d63=document[_0x5c2684(0xe28)]('input');_0x240d63[_0x5c2684(0x46c)]=_0x5c2684(0xca3),_0x240d63[_0x5c2684(0x7d0)]=_0x174d58[_0x5c2684(0xc13)]||'mdi:icon\x20or\x20{{\x20template\x20}}',_0x240d63[_0x5c2684(0xbab)]=_0x9a8863()||'',_0x240d63[_0x5c2684(0x91c)]['cssText']=_0x5c2684(0x301);let _0x1e9ae0=![];_0x240d63[_0x5c2684(0x2cc)](_0x5c2684(0x2c1),()=>{const _0x2de8c2=_0x5c2684;_0x4c2e82(_0x240d63[_0x2de8c2(0xbab)]||void 0x0),_0x2541f1(),_0x1e9ae0=!![];}),_0x240d63[_0x5c2684(0x2cc)](_0x5c2684(0x7ac),()=>{_0x1e9ae0&&(_0x1e9ae0=![],this['_valueChanged']());});const _0xce9c2=document[_0x5c2684(0xe28)](_0x5c2684(0xa34));_0xce9c2[_0x5c2684(0x564)]=this[_0x5c2684(0x2df)]('Type\x20an\x20icon\x20or\x20Jinja\x20template,\x20or\x20browse\x20below.'),_0xce9c2[_0x5c2684(0x91c)][_0x5c2684(0xdd1)]=_0x5c2684(0xe0),_0x25bb65[_0x5c2684(0x468)](_0x240d63,_0xce9c2);let _0x227aec=null;const _0x2b1a05=_0x216ad9=>{const _0x5cffa5=_0x5c2684;_0x4c2e82(_0x216ad9||void 0x0);if(_0x240d63)_0x240d63[_0x5cffa5(0xbab)]=_0x216ad9||'';_0x2541f1(),this['_valueChanged'](),_0x51c134();},_0x425dd9=()=>{const _0x43a97d=_0x5c2684;if(_0x227aec)return;const _0x10158a=(_0x9a8863()||'')['trim']();if(this[_0x43a97d(0x372)]&&customElements[_0x43a97d(0x6be)]('ha-icon-picker'))_0x227aec=document[_0x43a97d(0xe28)](_0x43a97d(0x602)),_0x227aec[_0x43a97d(0x9e5)]=this[_0x43a97d(0x372)],_0x227aec[_0x43a97d(0xbab)]=_0x2828f3(_0x10158a)?'':_0x10158a,_0x227aec[_0x43a97d(0xb60)]='',_0x227aec['style'][_0x43a97d(0xdd1)]=_0x43a97d(0xbd1),_0x227aec[_0x43a97d(0x2cc)]('value-changed',_0x593362=>{const _0x33f93f=_0x43a97d;_0x593362['stopPropagation'](),_0x2b1a05(_0x593362[_0x33f93f(0x127)]['value']);});else{if(this[_0x43a97d(0x372)]&&customElements['get'](_0x43a97d(0x64f)))_0x227aec=document[_0x43a97d(0xe28)]('ha-selector'),_0x227aec[_0x43a97d(0x9e5)]=this[_0x43a97d(0x372)],_0x227aec[_0x43a97d(0x4f4)]={'icon':{}},_0x227aec[_0x43a97d(0xbab)]=_0x2828f3(_0x10158a)?'':_0x10158a,_0x227aec[_0x43a97d(0xb60)]='',_0x227aec[_0x43a97d(0x91c)][_0x43a97d(0xdd1)]=_0x43a97d(0xbd1),_0x227aec['addEventListener']('value-changed',_0x23921f=>{const _0x109ffc=_0x43a97d;_0x23921f[_0x109ffc(0x56e)](),_0x2b1a05(_0x23921f[_0x109ffc(0x127)][_0x109ffc(0xbab)]);});else return;}_0x25bb65[_0x43a97d(0x715)](_0x227aec);},_0x395d2=()=>{const _0x4e2d56=_0x5c2684;if(_0x7ece61)return;if(this[_0x4e2d56(0x59d)]&&this[_0x4e2d56(0x59d)][_0x4e2d56(0x774)]!==_0x42ad1b)this['_cpdOpen']['close']();_0x425dd9(),_0x25bb65[_0x4e2d56(0x91c)]['display']='block',this[_0x4e2d56(0x59d)]={'wrap':_0x42ad1b,'close':_0x51c134},setTimeout(()=>{const _0x556bd7=_0x4e2d56;try{_0x240d63[_0x556bd7(0xc47)]();}catch(_0x5b58f0){}},0x1e);},_0x51c134=()=>{const _0x471c80=_0x5c2684;_0x25bb65[_0x471c80(0x91c)][_0x471c80(0xcda)]='none';if(this[_0x471c80(0x59d)]&&this[_0x471c80(0x59d)]['wrap']===_0x42ad1b)this[_0x471c80(0x59d)]=null;_0x1e9ae0&&(_0x1e9ae0=![],this[_0x471c80(0x207)]());};_0x5efd0f['addEventListener'](_0x5c2684(0x57a),()=>{const _0x14401c=_0x5c2684;_0x25bb65['style']['display']===_0x14401c(0xdf4)?_0x51c134():_0x395d2();}),_0x42ad1b[_0x5c2684(0x468)](_0x5efd0f,_0x25bb65),_0x37994c[_0x5c2684(0x715)](_0x42ad1b),_0x2541f1(),!this[_0x5c2684(0xfb)]&&(this[_0x5c2684(0xfb)]=!![],this[_0x5c2684(0xd5d)][_0x5c2684(0x2cc)](_0x5c2684(0x57a),_0x45f848=>{const _0x1e7310=_0x5c2684;if(!this['_cpdOpen'])return;const _0x159c45=_0x45f848['composedPath']?_0x45f848[_0x1e7310(0x82f)]():[_0x45f848[_0x1e7310(0xdc9)]];if(_0x159c45[_0x1e7310(0xaf3)](_0x2c3d1f=>_0x2c3d1f&&_0x2c3d1f[_0x1e7310(0x516)]&&/COMBO-BOX|OVERLAY/i[_0x1e7310(0xc00)](_0x2c3d1f[_0x1e7310(0x516)])))return;if(!_0x159c45[_0x1e7310(0x9b)](this[_0x1e7310(0x59d)]['wrap']))this[_0x1e7310(0x59d)][_0x1e7310(0xc9b)]();},!![]));}[_0x51ece7(0x7f8)](){const _0x59dd03=_0x51ece7,_0x4cab75=this[_0x59dd03(0x25a)](()=>this[_0x59dd03(0x207)](),0x190),_0x36ca54=()=>this['_valueChanged']();[['include_attribute_name','use_only_attribute_name'],[_0x59dd03(0x6dd),_0x59dd03(0xcc3)]][_0x59dd03(0x9c6)](([_0x27c00d,_0x1e8ef6])=>{const _0x55cf77=_0x59dd03;this[_0x55cf77(0xc63)](_0x27c00d,'change',()=>{const _0x4760fe=_0x55cf77,_0x492ffe=this['shadowRoot'][_0x4760fe(0x7d9)](_0x27c00d),_0xbda94=this['shadowRoot']['getElementById'](_0x1e8ef6);if(_0x492ffe?.[_0x4760fe(0x233)]&&_0xbda94?.[_0x4760fe(0x233)])_0xbda94[_0x4760fe(0x233)]=![];});}),this[_0x59dd03(0xd5d)][_0x59dd03(0xa9d)](_0x59dd03(0xbe3))[_0x59dd03(0x9c6)](_0x12e2cf=>{const _0x11150d=_0x59dd03;_0x12e2cf[_0x11150d(0x2cc)](_0x11150d(0x57a),()=>{const _0x3c7156=_0x11150d,_0x1560b7=_0x12e2cf['dataset'][_0x3c7156(0xa06)];if(this[_0x3c7156(0x522)]['has'](_0x1560b7))this[_0x3c7156(0x522)][_0x3c7156(0x172)](_0x1560b7);else this[_0x3c7156(0x522)][_0x3c7156(0x951)](_0x1560b7);_0x12e2cf['closest'](_0x3c7156(0xccc))[_0x3c7156(0x543)][_0x3c7156(0xa06)](_0x3c7156(0xcaf));});}),this[_0x59dd03(0xd5d)][_0x59dd03(0xa9d)]('.main-tb')[_0x59dd03(0x9c6)](_0x13a63f=>{const _0x5ee3dc=_0x59dd03;_0x13a63f[_0x5ee3dc(0x2cc)](_0x5ee3dc(0x57a),()=>{const _0xab453=_0x5ee3dc;this[_0xab453(0x1d8)]=_0x13a63f[_0xab453(0x383)][_0xab453(0x4d3)],this['shadowRoot'][_0xab453(0xa9d)](_0xab453(0x579))[_0xab453(0x9c6)](_0x11527f=>_0x11527f[_0xab453(0x543)]['toggle']('active',_0x11527f['dataset'][_0xab453(0x4d3)]===this['_mainTab'])),this['shadowRoot']['querySelectorAll'](_0xab453(0xdc0))['forEach'](_0x5cdaba=>_0x5cdaba['classList'][_0xab453(0xa06)]('active',_0x5cdaba[_0xab453(0x383)][_0xab453(0x1a1)]===this[_0xab453(0x1d8)]));});}),this['shadowRoot'][_0x59dd03(0xa9d)]('.cs-tb')['forEach'](_0x798376=>{const _0xefdec6=_0x59dd03;_0x798376[_0xefdec6(0x2cc)]('click',()=>{const _0x4b16d3=_0xefdec6;this['_cardTab']=_0x798376['dataset'][_0x4b16d3(0xdbf)],this[_0x4b16d3(0xd5d)][_0x4b16d3(0xa9d)](_0x4b16d3(0xcdd))[_0x4b16d3(0x9c6)](_0x2832cc=>_0x2832cc[_0x4b16d3(0x543)][_0x4b16d3(0xa06)](_0x4b16d3(0x504),_0x2832cc['dataset']['cstab']===this['_cardTab'])),this[_0x4b16d3(0xd5d)]['querySelectorAll'](_0x4b16d3(0x5de))[_0x4b16d3(0x9c6)](_0x5638c0=>_0x5638c0[_0x4b16d3(0x543)][_0x4b16d3(0xa06)](_0x4b16d3(0x504),_0x5638c0['dataset'][_0x4b16d3(0x15c)]===this[_0x4b16d3(0x4af)]));});});const _0x15f356=this['shadowRoot'][_0x59dd03(0x7d9)](_0x59dd03(0x585));_0x15f356&&_0x15f356[_0x59dd03(0x2cc)](_0x59dd03(0x2c1),()=>{const _0x410903=_0x59dd03;this[_0x410903(0x122)]=_0x15f356['value'],this[_0x410903(0x84f)]();});[_0x59dd03(0x4d6),'card_header_size',_0x59dd03(0x8eb),_0x59dd03(0xd99),_0x59dd03(0xc43),'battery_low_threshold']['forEach'](_0x171950=>this['_on'](_0x171950,_0x59dd03(0x2c1),_0x4cab75)),['card_padding',_0x59dd03(0x2a6),_0x59dd03(0x9c),_0x59dd03(0x624),_0x59dd03(0x105),'card_background_blur','card_header_color',_0x59dd03(0x749),_0x59dd03(0x870)][_0x59dd03(0x9c6)](_0x5b73c1=>this[_0x59dd03(0xc63)](_0x5b73c1,'input',_0x4cab75)),[_0x59dd03(0xb45),_0x59dd03(0x973),_0x59dd03(0x253),_0x59dd03(0x9af),_0x59dd03(0xdc5),_0x59dd03(0x952),_0x59dd03(0xdae),_0x59dd03(0xd7d),_0x59dd03(0x6df),_0x59dd03(0xce3),'state_timeline_corner_radius',_0x59dd03(0x369),_0x59dd03(0xab0),_0x59dd03(0x80d),_0x59dd03(0x55d),_0x59dd03(0x3fb)][_0x59dd03(0x9c6)](_0x3f4028=>this[_0x59dd03(0xc63)](_0x3f4028,_0x59dd03(0x2c1),_0x4cab75)),this[_0x59dd03(0xc63)]('graph_start_hour','input',_0x4cab75),this[_0x59dd03(0xc63)](_0x59dd03(0xbe8),_0x59dd03(0x2c1),_0x4cab75),[_0x59dd03(0x6f6),_0x59dd03(0x9c2),_0x59dd03(0x827),_0x59dd03(0xd0),_0x59dd03(0xbfa),_0x59dd03(0x850),_0x59dd03(0x684),_0x59dd03(0xd00),_0x59dd03(0xa44),_0x59dd03(0xd2e),_0x59dd03(0xd7b)][_0x59dd03(0x9c6)](_0x28fe58=>this[_0x59dd03(0xc63)](_0x28fe58,_0x59dd03(0x2c1),_0x4cab75)),[_0x59dd03(0x632),_0x59dd03(0x2ea)][_0x59dd03(0x9c6)](_0xc4081b=>this[_0x59dd03(0xc63)](_0xc4081b,'input',_0x4cab75)),[_0x59dd03(0x24c),'y2_axis_label','y_axis_format',_0x59dd03(0x203)][_0x59dd03(0x9c6)](_0x3f374e=>this[_0x59dd03(0xc63)](_0x3f374e,_0x59dd03(0x2c1),_0x4cab75)),[_0x59dd03(0xdaa),_0x59dd03(0x4e7),_0x59dd03(0x401),'x_axis_font_opacity',_0x59dd03(0x512),_0x59dd03(0x65f),_0x59dd03(0x199),'pie_spacing',_0x59dd03(0x5e9),_0x59dd03(0xaaa),'pie_center_font_size','pie_center_color',_0x59dd03(0x8eb),'y_grid_width',_0x59dd03(0x6bd),_0x59dd03(0xcb8),_0x59dd03(0xcf0),_0x59dd03(0x9cd),_0x59dd03(0x459),'now_line_color','now_line_opacity',_0x59dd03(0x939),'period_highlight_color']['forEach'](_0x33c590=>this[_0x59dd03(0xc63)](_0x33c590,_0x59dd03(0x2c1),_0x4cab75)),[_0x59dd03(0x512),'x_axis_color','x_axis_date_color',_0x59dd03(0xaaa),_0x59dd03(0x6f9),_0x59dd03(0x8eb),'y_grid_color',_0x59dd03(0x9cd),_0x59dd03(0x905),'card_border_color','card_header_color',_0x59dd03(0x848)][_0x59dd03(0x9c6)](_0x2469cc=>{const _0x1a6b8b=_0x59dd03,_0x4a4721=this[_0x1a6b8b(0xd5d)][_0x1a6b8b(0x7d9)](_0x2469cc+_0x1a6b8b(0xa2)),_0x4c58ef=this[_0x1a6b8b(0xd5d)][_0x1a6b8b(0x7d9)](_0x2469cc);if(_0x4a4721&&_0x4c58ef){const _0x527132=()=>{const _0xe21f11=_0x1a6b8b,_0x5134f4=_0x4c58ef['value']['trim'](),_0x3f3766=_0x5134f4[_0xe21f11(0x9b)]('{{');_0x4a4721[_0xe21f11(0x91c)][_0xe21f11(0xa5b)]=_0x3f3766?_0xe21f11(0xe38):'',_0x4a4721[_0xe21f11(0x91c)][_0xe21f11(0x11f)]=_0x3f3766?_0xe21f11(0xc8b):'';if(!_0x3f3766&&/^#[0-9a-fA-F]{6}$/[_0xe21f11(0xc00)](_0x5134f4))_0x4a4721[_0xe21f11(0xbab)]=_0x5134f4;};_0x4a4721[_0x1a6b8b(0x2cc)]('input',()=>{const _0x1d0e94=_0x1a6b8b;_0x4c58ef[_0x1d0e94(0xbab)]=_0x4a4721[_0x1d0e94(0xbab)],_0x4cab75();}),_0x4c58ef[_0x1a6b8b(0x2cc)](_0x1a6b8b(0x2c1),()=>{_0x527132();}),_0x527132();}}),['align_header','state_layout',_0x59dd03(0x5fe),_0x59dd03(0xa05),'language','chart_mode',_0x59dd03(0x63e),'interval_picker_position',_0x59dd03(0x822),_0x59dd03(0x3ef),_0x59dd03(0x940),'scroll_mode',_0x59dd03(0x93a),_0x59dd03(0x11e),_0x59dd03(0xb8),_0x59dd03(0xd2),'date_picker_position','date_picker_default_mode','date_picker_nav_position',_0x59dd03(0xdff),_0x59dd03(0x722),_0x59dd03(0xd5e),'gauge_value_position',_0x59dd03(0x508),'y_grid_style',_0x59dd03(0xd53),_0x59dd03(0x8b1),_0x59dd03(0x779),_0x59dd03(0x6e7),_0x59dd03(0x8f0)][_0x59dd03(0x9c6)](_0x1c8776=>this['_on'](_0x1c8776,_0x59dd03(0x7ac),_0x36ca54)),[_0x59dd03(0x17b),_0x59dd03(0x765),_0x59dd03(0x2d2),_0x59dd03(0xa93),_0x59dd03(0x386),_0x59dd03(0xbd7),_0x59dd03(0x56c),_0x59dd03(0x148),_0x59dd03(0x6e3),_0x59dd03(0x82e),_0x59dd03(0x89a),_0x59dd03(0x37a),'logarithmic','animate_graph','stacked','sparkline','show_interval_picker','show_attribute_list','show_pph_picker',_0x59dd03(0x3a0),'auto_scale_points','auto_hide_entities',_0x59dd03(0xbb7),_0x59dd03(0x723),_0x59dd03(0x16a),_0x59dd03(0x4ef),_0x59dd03(0xe48),'scroll_sync',_0x59dd03(0x7de),_0x59dd03(0x509),_0x59dd03(0x212),_0x59dd03(0x5cf),'card_shadow',_0x59dd03(0x615),_0x59dd03(0x925),_0x59dd03(0x259),_0x59dd03(0x8dd),_0x59dd03(0x4f5),_0x59dd03(0x733),'show_export',_0x59dd03(0x9f),_0x59dd03(0xcc3),'use_only_attribute_name'][_0x59dd03(0x9c6)](_0x5c4c38=>this[_0x59dd03(0xc63)](_0x5c4c38,_0x59dd03(0x7ac),_0x36ca54)),[_0x59dd03(0x2d2),'show_interval_picker',_0x59dd03(0x6f0),_0x59dd03(0x856),'show_group_by_picker',_0x59dd03(0x4ef),'zoom_sync',_0x59dd03(0x49a),'show_y_axis_label',_0x59dd03(0xbd7),'show_date_picker',_0x59dd03(0x8dd),_0x59dd03(0x9f),_0x59dd03(0xcc3),_0x59dd03(0x6dd),_0x59dd03(0x733)][_0x59dd03(0x9c6)](_0x4dc063=>this[_0x59dd03(0xc63)](_0x4dc063,_0x59dd03(0x7ac),()=>{this['_render']();})),this['shadowRoot'][_0x59dd03(0xa9d)](_0x59dd03(0x1a7))['forEach'](_0x3f4b6c=>_0x3f4b6c['addEventListener']('change',_0x36ca54)),this['shadowRoot'][_0x59dd03(0xa9d)]('[data-dpmode]')[_0x59dd03(0x9c6)](_0x1f7f1a=>_0x1f7f1a[_0x59dd03(0x2cc)]('change',_0x36ca54));const _0x4199b3=this[_0x59dd03(0xd5d)]['querySelector'](_0x59dd03(0x2bf));_0x4199b3?.['addEventListener'](_0x59dd03(0x7ac),()=>{const _0x1cb7bf=_0x59dd03;this[_0x1cb7bf(0x13a)][_0x1cb7bf(0x41e)]=_0x4199b3['value']||void 0x0,_0x36ca54();});const _0xb72c8c=this[_0x59dd03(0xd5d)][_0x59dd03(0x9f7)](_0x59dd03(0x878));_0xb72c8c?.['addEventListener']('input',this[_0x59dd03(0x25a)](()=>{const _0x56fb0f=_0x59dd03;this[_0x56fb0f(0x13a)]['card_icon_color']=_0xb72c8c[_0x56fb0f(0xbab)][_0x56fb0f(0xe46)]()||void 0x0,_0x36ca54();},0x190));if(!this[_0x59dd03(0xd5d)][_0x59dd03(0x7d9)](_0x59dd03(0x7ca))){const _0x274fc1=document[_0x59dd03(0xe28)]('style');_0x274fc1['id']='sgc-h32',_0x274fc1['textContent']=_0x59dd03(0x7b3),this['shadowRoot'][_0x59dd03(0x715)](_0x274fc1);}const _0x1ae6bb=()=>{const _0x23fac4=_0x59dd03,_0x4b07a9=this[_0x23fac4(0x4ac)](),_0x55e441=[_0x23fac4(0x8f7),_0x23fac4(0x306),_0x23fac4(0x8de),_0x23fac4(0xab1),'purple',_0x23fac4(0xb0a),_0x23fac4(0x239),_0x23fac4(0x582),_0x23fac4(0xd4f),_0x23fac4(0x9a2),_0x23fac4(0x440),_0x23fac4(0x447),_0x23fac4(0x894),_0x23fac4(0xc9e),'yellow',_0x23fac4(0x319),'orange',_0x23fac4(0x5cb),_0x23fac4(0x395),_0x23fac4(0x560),_0x23fac4(0x19a),_0x23fac4(0x71c),_0x23fac4(0xad3),'black','white'],_0x4f5ea2=_0x3b1c47=>this['_eT'](_0x3b1c47[_0x23fac4(0xa07)](0x0)[_0x23fac4(0x158)]()+_0x3b1c47[_0x23fac4(0x53c)](0x1)[_0x23fac4(0x934)](/-/g,'\x20'));this['_cpdOpen']=null,!this[_0x23fac4(0xfb)]&&(this[_0x23fac4(0xfb)]=!![],this[_0x23fac4(0xd5d)][_0x23fac4(0x2cc)]('click',_0x84cf8=>{const _0x20b60c=_0x23fac4;if(!this['_cpdOpen'])return;const _0x2f14de=_0x84cf8[_0x20b60c(0x82f)]?_0x84cf8[_0x20b60c(0x82f)]():[_0x84cf8['target']];if(_0x2f14de[_0x20b60c(0xaf3)](_0x47ece0=>_0x47ece0&&_0x47ece0[_0x20b60c(0x516)]&&/COMBO-BOX|OVERLAY/i['test'](_0x47ece0['nodeName'])))return;if(!_0x2f14de[_0x20b60c(0x9b)](this[_0x20b60c(0x59d)][_0x20b60c(0x774)]))this[_0x20b60c(0x59d)][_0x20b60c(0xc9b)]();},!![])),this['shadowRoot'][_0x23fac4(0xa9d)]('.ci')[_0x23fac4(0x9c6)](_0x526b18=>{const _0x2706a8=_0x23fac4;if(_0x526b18['_sgcCp']||!_0x526b18['parentNode'])return;_0x526b18[_0x2706a8(0xb42)]=!![];const _0x2ba6a5=_0x526b18[_0x2706a8(0x9f7)](_0x2706a8(0x490)),_0x3ea155=_0x526b18['querySelector'](_0x2706a8(0xa9e));if(!_0x2ba6a5&&!_0x3ea155)return;const _0x5e4101=document[_0x2706a8(0xe28)]('div');_0x5e4101[_0x2706a8(0x91c)][_0x2706a8(0xdd1)]=_0x2706a8(0xb99);const _0x3ca1fd=document[_0x2706a8(0xe28)](_0x2706a8(0x5a1));_0x3ca1fd[_0x2706a8(0x46c)]=_0x2706a8(0x5a1),_0x3ca1fd[_0x2706a8(0x91c)][_0x2706a8(0xdd1)]=_0x2706a8(0x1e0);const _0x246ab0=document['createElement'](_0x2706a8(0x2ef));_0x246ab0[_0x2706a8(0x91c)]['cssText']=_0x2706a8(0xd7c);const _0x43da8d=document[_0x2706a8(0xe28)](_0x2706a8(0x2ef));_0x43da8d[_0x2706a8(0x91c)][_0x2706a8(0xdd1)]='flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';const _0x391859=document[_0x2706a8(0xe28)](_0x2706a8(0x2ef));_0x391859[_0x2706a8(0x91c)][_0x2706a8(0xdd1)]=_0x2706a8(0x689),_0x391859[_0x2706a8(0x7ed)]=_0x2706a8(0x3bf),_0x3ca1fd[_0x2706a8(0x468)](_0x246ab0,_0x43da8d,_0x391859);const _0x432c7d=document['createElement'](_0x2706a8(0xa34));_0x432c7d[_0x2706a8(0x91c)][_0x2706a8(0xdd1)]=_0x2706a8(0xab3);const _0x421b40=(_0x288ddf,_0x4ba59e)=>{const _0x1e0549=_0x2706a8;if(_0x288ddf)_0x43da8d[_0x1e0549(0x564)]=_0x4f5ea2(_0x288ddf),_0x246ab0[_0x1e0549(0x91c)][_0x1e0549(0xde)]=_0x1e0549(0x437)+_0x288ddf+_0x1e0549(0x1b8);else _0x4ba59e?(_0x43da8d['textContent']=this[_0x1e0549(0x2df)](_0x1e0549(0xa50)),_0x246ab0[_0x1e0549(0x91c)][_0x1e0549(0xde)]=_0x4ba59e):(_0x43da8d[_0x1e0549(0x564)]=this[_0x1e0549(0x2df)](_0x1e0549(0x772)),_0x246ab0['style'][_0x1e0549(0xde)]=_0x1e0549(0x66c));},_0x5507c3=_0x4aac35=>{const _0x3fbc20=_0x2706a8;if(!_0x4aac35){_0x2ba6a5&&(_0x2ba6a5['value']='',_0x2ba6a5[_0x3fbc20(0x179)](new Event('input',{'bubbles':!![]})));_0x421b40('','');return;}const _0x56a947=_0x4b07a9[_0x3fbc20(0x9e8)][_0x4aac35]||'';_0x2ba6a5&&(_0x2ba6a5[_0x3fbc20(0xbab)]=_0x56a947||_0x3fbc20(0x437)+_0x4aac35+'-color)',_0x2ba6a5[_0x3fbc20(0x179)](new Event(_0x3fbc20(0x2c1),{'bubbles':!![]}))),_0x3ea155&&/^#[0-9a-f]{6}$/i[_0x3fbc20(0xc00)](_0x56a947)&&(_0x3ea155[_0x3fbc20(0xbab)]=_0x56a947,_0x3ea155['dispatchEvent'](new Event(_0x3fbc20(0x7ac),{'bubbles':!![]}))),_0x421b40(_0x4aac35);},_0x2b38df=(_0xe7c172,_0x5b5842,_0xf0a360)=>{const _0x1c97fe=_0x2706a8,_0x49ba8b=document[_0x1c97fe(0xe28)](_0x1c97fe(0xa34));_0x49ba8b['style'][_0x1c97fe(0xdd1)]=_0x1c97fe(0x5dd),_0x49ba8b[_0x1c97fe(0x2cc)]('mouseenter',()=>{const _0x12285e=_0x1c97fe;_0x49ba8b[_0x12285e(0x91c)][_0x12285e(0xde)]=_0x12285e(0x2c7);}),_0x49ba8b['addEventListener']('mouseleave',()=>{const _0x2a2851=_0x1c97fe;_0x49ba8b[_0x2a2851(0x91c)][_0x2a2851(0xde)]='';});const _0x226783=document['createElement'](_0x1c97fe(0x2ef));_0x226783['style'][_0x1c97fe(0xdd1)]=_0x1c97fe(0x571)+(_0xf0a360?_0x1c97fe(0xd6a)+_0xf0a360:_0x1c97fe(0x654));const _0xc6402e=document[_0x1c97fe(0xe28)](_0x1c97fe(0x2ef));return _0xc6402e[_0x1c97fe(0x564)]=_0x5b5842,_0x49ba8b[_0x1c97fe(0x468)](_0x226783,_0xc6402e),_0x49ba8b[_0x1c97fe(0x2cc)]('click',()=>{_0x5507c3(_0xe7c172),_0x3a9ea0();}),_0x49ba8b;};_0x432c7d[_0x2706a8(0x715)](_0x2b38df(null,this[_0x2706a8(0x2df)]('Default'),'')),_0x55e441[_0x2706a8(0x9c6)](_0x3796a2=>_0x432c7d[_0x2706a8(0x715)](_0x2b38df(_0x3796a2,_0x4f5ea2(_0x3796a2),'var(--'+_0x3796a2+'-color)')));const _0x5af65b=()=>{const _0x3c6efb=_0x2706a8;if(this[_0x3c6efb(0x59d)]&&this['_cpdOpen']['wrap']!==_0x5e4101)this[_0x3c6efb(0x59d)][_0x3c6efb(0xc9b)]();_0x432c7d[_0x3c6efb(0x91c)][_0x3c6efb(0xcda)]=_0x3c6efb(0xdf4),this['_cpdOpen']={'wrap':_0x5e4101,'close':_0x3a9ea0};},_0x3a9ea0=()=>{const _0xee2a4f=_0x2706a8;_0x432c7d['style'][_0xee2a4f(0xcda)]=_0xee2a4f(0xc8b);if(this[_0xee2a4f(0x59d)]&&this[_0xee2a4f(0x59d)]['wrap']===_0x5e4101)this[_0xee2a4f(0x59d)]=null;};_0x3ca1fd[_0x2706a8(0x2cc)](_0x2706a8(0x57a),()=>{const _0x1835e5=_0x2706a8;_0x432c7d[_0x1835e5(0x91c)][_0x1835e5(0xcda)]===_0x1835e5(0xdf4)?_0x3a9ea0():_0x5af65b();});const _0x357e23=(_0x2ba6a5&&_0x2ba6a5['value']||_0x3ea155&&_0x3ea155[_0x2706a8(0xbab)]||'')[_0x2706a8(0xe46)](),_0x404f8d=_0x357e23[_0x2706a8(0xb69)](/^var\(\s*--([a-z-]+)-color\s*\)$/i);if(_0x404f8d)_0x421b40(_0x404f8d[0x1]);else{if(/^#[0-9a-f]{6}$/i['test'](_0x357e23)&&_0x4b07a9[_0x2706a8(0x5c3)][_0x357e23[_0x2706a8(0x192)]()])_0x421b40(_0x4b07a9['h2n'][_0x357e23['toLowerCase']()]);else _0x421b40('',_0x357e23);}_0x5e4101['append'](_0x3ca1fd,_0x432c7d),_0x526b18[_0x2706a8(0x91c)][_0x2706a8(0xa89)]=_0x2706a8(0x308),_0x526b18[_0x2706a8(0x536)](_0x5e4101,_0x526b18[_0x2706a8(0x863)]);const _0x31af30=_0x526b18['closest']('.f');if(_0x31af30){_0x31af30[_0x2706a8(0x91c)][_0x2706a8(0xb06)]='1\x20/\x20-1';const _0x44bfef=_0x31af30['parentElement'];if(_0x44bfef&&(_0x44bfef[_0x2706a8(0x543)][_0x2706a8(0x52a)]('r2')||_0x44bfef[_0x2706a8(0x543)]['contains']('r3')))_0x44bfef[_0x2706a8(0x91c)][_0x2706a8(0xdd8)]=_0x2706a8(0x3cc);}});};_0x1ae6bb(),this['shadowRoot'][_0x59dd03(0x7d9)](_0x59dd03(0xb08))?.[_0x59dd03(0x2cc)](_0x59dd03(0x57a),()=>{const _0x245f92=_0x59dd03;this['_tmp'][_0x245f92(0xb38)]=[...this[_0x245f92(0x9dd)],this['_makeEntityBlank']()];const _0x3b2726=this[_0x245f92(0x9dd)]['length']-0x1;this[_0x245f92(0x522)][_0x245f92(0x951)]('e-'+_0x3b2726),this[_0x245f92(0x80a)][_0x3b2726]=_0x245f92(0x27d),this[_0x245f92(0x32f)](),this['_valueChanged']();});const _0x469021=this[_0x59dd03(0xd5d)][_0x59dd03(0x9f7)](_0x59dd03(0xb30));if(_0x469021&&this[_0x59dd03(0x372)]){let _0x548699=0x0;const _0x2779ba=()=>{const _0x5a5dac=_0x59dd03;if(!_0x469021[_0x5a5dac(0x6ab)]&&_0x548699++<0x3c){setTimeout(_0x2779ba,0x32);return;}if(customElements['get'](_0x5a5dac(0x64f))){const _0x5e2376=document[_0x5a5dac(0xe28)](_0x5a5dac(0x64f));_0x5e2376[_0x5a5dac(0x9e5)]=this[_0x5a5dac(0x372)],_0x5e2376[_0x5a5dac(0x4f4)]={'entity':{'filter':{'device_class':_0x5a5dac(0xcb2)}}},_0x5e2376['value']=this['_config'][_0x5a5dac(0x710)]||'',_0x5e2376[_0x5a5dac(0xb60)]='',_0x5e2376[_0x5a5dac(0x91c)]['cssText']=_0x5a5dac(0xbd1),_0x469021[_0x5a5dac(0x715)](_0x5e2376),_0x5e2376[_0x5a5dac(0x2cc)](_0x5a5dac(0x6aa),_0x3c831d=>{const _0x2ef066=_0x5a5dac;_0x3c831d[_0x2ef066(0x56e)](),this[_0x2ef066(0x13a)][_0x2ef066(0x710)]=_0x3c831d['detail'][_0x2ef066(0xbab)]||void 0x0,this[_0x2ef066(0x207)]();});}else{const _0x1fd34c=document[_0x5a5dac(0xe28)](_0x5a5dac(0x2c1));_0x1fd34c[_0x5a5dac(0x46c)]=_0x5a5dac(0xca3),_0x1fd34c[_0x5a5dac(0x7d0)]=_0x5a5dac(0x60a),_0x1fd34c[_0x5a5dac(0xbab)]=this['_config'][_0x5a5dac(0x710)]||'',_0x1fd34c[_0x5a5dac(0x91c)]['cssText']=_0x5a5dac(0x35a),_0x469021[_0x5a5dac(0x715)](_0x1fd34c),_0x1fd34c[_0x5a5dac(0x2cc)](_0x5a5dac(0x2c1),()=>{const _0x56aae9=_0x5a5dac;this[_0x56aae9(0x13a)][_0x56aae9(0x710)]=_0x1fd34c[_0x56aae9(0xbab)]||void 0x0,this[_0x56aae9(0x207)]();});}};if(customElements[_0x59dd03(0x6be)]('ha-selector'))_0x2779ba();else customElements[_0x59dd03(0xd4)](_0x59dd03(0x64f))[_0x59dd03(0xc2d)](_0x2779ba)[_0x59dd03(0x354)](_0x2779ba);}this[_0x59dd03(0x36b)](this[_0x59dd03(0xd5d)][_0x59dd03(0x9f7)]('.ha-icon-picker-wrap[data-card-icon]'),()=>(this[_0x59dd03(0x13a)][_0x59dd03(0xdcc)]!=null?this['_tmp'][_0x59dd03(0xdcc)]:this[_0x59dd03(0xc5c)]['card_icon'])||'',_0x5e8b58=>{const _0x2504f2=_0x59dd03;this[_0x2504f2(0x13a)]['card_icon']=_0x5e8b58;},{'placeholder2':_0x59dd03(0xa67)});const _0x13da63=()=>{const _0x2b13ca=_0x59dd03;return!this['_tmp'][_0x2b13ca(0xcc)]&&(this[_0x2b13ca(0x13a)][_0x2b13ca(0xcc)]=(this[_0x2b13ca(0xc5c)][_0x2b13ca(0xcc)]||[])['map'](_0x550054=>({..._0x550054}))),this[_0x2b13ca(0x13a)][_0x2b13ca(0xcc)];};this[_0x59dd03(0xd5d)][_0x59dd03(0x9f7)](_0x59dd03(0x6de))?.[_0x59dd03(0x2cc)](_0x59dd03(0x57a),()=>{const _0x5c2cca=_0x59dd03,_0x3ed35d=_0x13da63(),_0x2df868=_0x3ed35d[_0x5c2cca(0x97b)]((_0x55a9de,_0x32fdec)=>Math[_0x5c2cca(0x617)](_0x55a9de,toNum(_0x32fdec?.['up_to_hours'])||0x0),0x0);_0x3ed35d['push']({'up_to_hours':_0x2df868>0x0?_0x2df868*0x2:0x18,'group_by':_0x5c2cca(0x36a)}),this[_0x5c2cca(0x32f)](),this[_0x5c2cca(0x207)]();});const _0x1ec5df=this[_0x59dd03(0xd5d)][_0x59dd03(0x9f7)](_0x59dd03(0x584));_0x1ec5df?.[_0x59dd03(0x2cc)](_0x59dd03(0x7ac),_0x4536cc=>{const _0x2ca49a=_0x59dd03,_0x24d578=_0x4536cc[_0x2ca49a(0xdc9)]['closest']('.asr-row');if(!_0x24d578)return;const _0x2e6ecb=parseInt(_0x24d578['dataset'][_0x2ca49a(0xd84)]),_0x23a161=_0x13da63(),_0xf58a5f=_0x23a161[_0x2e6ecb];if(!_0xf58a5f)return;const _0x57f045=_0x4536cc[_0x2ca49a(0xdc9)][_0x2ca49a(0x543)];if(_0x57f045[_0x2ca49a(0x52a)](_0x2ca49a(0x916))){const _0x499fb7=parseFloat(_0x4536cc[_0x2ca49a(0xdc9)][_0x2ca49a(0xbab)]);if(!isNaN(_0x499fb7)&&_0x499fb7>0x0)_0xf58a5f[_0x2ca49a(0x980)]=_0x499fb7;}if(_0x57f045[_0x2ca49a(0x52a)](_0x2ca49a(0xbc0))){_0xf58a5f['group_by']=_0x4536cc[_0x2ca49a(0xdc9)][_0x2ca49a(0xbab)];if(_0xf58a5f[_0x2ca49a(0x5fe)]!=='interval')delete _0xf58a5f[_0x2ca49a(0x973)];this[_0x2ca49a(0x207)](),this['_render']();return;}if(_0x57f045['contains'](_0x2ca49a(0x83d))){const _0x1ab1aa=parseFloat(_0x4536cc['target'][_0x2ca49a(0xbab)]);if(isNaN(_0x1ab1aa)||_0x1ab1aa<=0x0)delete _0xf58a5f[_0x2ca49a(0x973)];else _0xf58a5f[_0x2ca49a(0x973)]=_0x1ab1aa;}this[_0x2ca49a(0x207)]();}),_0x1ec5df?.[_0x59dd03(0x2cc)]('click',_0x2d92f0=>{const _0x3880d5=_0x59dd03,_0x4d151b=_0x2d92f0['target'][_0x3880d5(0xc53)]('.asr-del');if(!_0x4d151b)return;const _0x1193b1=parseInt(_0x4d151b[_0x3880d5(0xc53)](_0x3880d5(0xdfb))['dataset'][_0x3880d5(0xd84)]);_0x13da63()['splice'](_0x1193b1,0x1),this[_0x3880d5(0x32f)](),this[_0x3880d5(0x207)]();}),this['shadowRoot']['querySelector'](_0x59dd03(0x34e))?.[_0x59dd03(0x2cc)](_0x59dd03(0x57a),()=>{const _0x1bd79c=_0x59dd03;if(!this[_0x1bd79c(0x13a)][_0x1bd79c(0x761)])this[_0x1bd79c(0x13a)][_0x1bd79c(0x761)]=[...this[_0x1bd79c(0xc5c)][_0x1bd79c(0x761)]||[]];this[_0x1bd79c(0x13a)][_0x1bd79c(0x761)][_0x1bd79c(0x6b5)]({'type':_0x1bd79c(0x5e4),'value':0x0,'label':'','color':'#1D9E75'}),this[_0x1bd79c(0x32f)](),this[_0x1bd79c(0x207)]();}),this[_0x59dd03(0xd5d)][_0x59dd03(0xa9d)](_0x59dd03(0x941))[_0x59dd03(0x9c6)](_0x329054=>{const _0x25bc56=_0x59dd03,_0x48e79c=parseInt(_0x329054['dataset'][_0x25bc56(0x161)]),_0xbbd44b=()=>{const _0x4c391f=_0x25bc56;if(!this[_0x4c391f(0x13a)][_0x4c391f(0x761)])this[_0x4c391f(0x13a)]['annotations']=[...this['_config']['annotations']||[]];return this[_0x4c391f(0x13a)]['annotations'];};_0x329054['querySelector'](_0x25bc56(0x373))?.[_0x25bc56(0x2cc)]('click',()=>{const _0x35597d=_0x25bc56;_0xbbd44b()[_0x35597d(0xe7)](_0x48e79c,0x1),this[_0x35597d(0x32f)](),this[_0x35597d(0x207)]();}),_0x329054['querySelector'](_0x25bc56(0x94e))?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),_0x3dd6f6=>{const _0x31cb54=_0x25bc56,_0x2e4069=_0xbbd44b();_0x2e4069[_0x48e79c][_0x31cb54(0x46c)]=_0x3dd6f6[_0x31cb54(0xdc9)][_0x31cb54(0xbab)];if(_0x2e4069[_0x48e79c][_0x31cb54(0x46c)]==='event'||_0x2e4069[_0x48e79c][_0x31cb54(0x46c)]===_0x31cb54(0x2ef)){delete _0x2e4069[_0x48e79c][_0x31cb54(0xbab)],delete _0x2e4069[_0x48e79c][_0x31cb54(0x4ab)];if(!_0x2e4069[_0x48e79c][_0x31cb54(0x8c6)]&&!_0x2e4069[_0x48e79c][_0x31cb54(0xa33)]&&!_0x2e4069[_0x48e79c][_0x31cb54(0x87c)]){_0x2e4069[_0x48e79c][_0x31cb54(0x8c6)]='';if(!_0x2e4069[_0x48e79c][_0x31cb54(0x19c)])_0x2e4069[_0x48e79c][_0x31cb54(0x19c)]='on';}}else{delete _0x2e4069[_0x48e79c][_0x31cb54(0x8c6)],delete _0x2e4069[_0x48e79c][_0x31cb54(0x19c)],delete _0x2e4069[_0x48e79c]['start'],delete _0x2e4069[_0x48e79c][_0x31cb54(0x84c)],delete _0x2e4069[_0x48e79c][_0x31cb54(0x87c)];if(_0x2e4069[_0x48e79c][_0x31cb54(0xbab)]===void 0x0)_0x2e4069[_0x48e79c][_0x31cb54(0xbab)]=0x0;}this[_0x31cb54(0x32f)](),this['_valueChanged']();}),_0x329054[_0x25bc56(0x9f7)]('.ann-source')?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),_0x1ee47a=>{const _0x6ee84a=_0x25bc56,_0x1768c9=_0xbbd44b();if(_0x1ee47a[_0x6ee84a(0xdc9)][_0x6ee84a(0xbab)]===_0x6ee84a(0xde9)){delete _0x1768c9[_0x48e79c]['entity'],delete _0x1768c9[_0x48e79c][_0x6ee84a(0x19c)];if(_0x1768c9[_0x48e79c][_0x6ee84a(0x46c)]===_0x6ee84a(0x2ef)){if(!_0x1768c9[_0x48e79c][_0x6ee84a(0xa33)])_0x1768c9[_0x48e79c][_0x6ee84a(0xa33)]='';if(!_0x1768c9[_0x48e79c][_0x6ee84a(0x84c)])_0x1768c9[_0x48e79c]['end']='';}else{if(!_0x1768c9[_0x48e79c][_0x6ee84a(0x87c)])_0x1768c9[_0x48e79c][_0x6ee84a(0x87c)]='';}}else{delete _0x1768c9[_0x48e79c][_0x6ee84a(0xa33)],delete _0x1768c9[_0x48e79c][_0x6ee84a(0x84c)],delete _0x1768c9[_0x48e79c][_0x6ee84a(0x87c)];if(!_0x1768c9[_0x48e79c][_0x6ee84a(0x8c6)])_0x1768c9[_0x48e79c][_0x6ee84a(0x8c6)]='';if(!_0x1768c9[_0x48e79c][_0x6ee84a(0x19c)])_0x1768c9[_0x48e79c][_0x6ee84a(0x19c)]='on';}this[_0x6ee84a(0x32f)](),this['_valueChanged']();}),_0x329054[_0x25bc56(0x9f7)](_0x25bc56(0xcd3))?.[_0x25bc56(0x2cc)]('change',()=>{const _0x2015cb=_0x25bc56,_0xa62bb=_0xbbd44b(),_0x467f8d=_0xa62bb[_0x48e79c][_0x2015cb(0x46c)]===_0x2015cb(0xd79)||_0xa62bb[_0x48e79c][_0x2015cb(0x46c)]===_0x2015cb(0x2ef),_0x48738e=_0x467f8d&&(_0x2015cb(0xa33)in _0xa62bb[_0x48e79c]||'end'in _0xa62bb[_0x48e79c]||_0x2015cb(0x87c)in _0xa62bb[_0x48e79c]),_0x1a8182=_0x329054['querySelector'](_0x2015cb(0xcd3))[_0x2015cb(0xbab)];if(_0x467f8d&&!_0x48738e)_0xa62bb[_0x48e79c][_0x2015cb(0x8c6)]=_0x1a8182;else{if(_0x467f8d&&_0x48738e){if(_0xa62bb[_0x48e79c]['type']===_0x2015cb(0x2ef))_0xa62bb[_0x48e79c][_0x2015cb(0xa33)]=_0x1a8182;else _0xa62bb[_0x48e79c][_0x2015cb(0x87c)]=_0x1a8182;}else _0xa62bb[_0x48e79c]['value']=isNaN(parseFloat(_0x1a8182))?_0x1a8182:parseFloat(_0x1a8182);}this[_0x2015cb(0x207)]();}),_0x329054[_0x25bc56(0x9f7)]('.ann-val2')?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),()=>{const _0x437d03=_0x25bc56,_0x1dcc10=_0xbbd44b(),_0x30f033=_0x1dcc10[_0x48e79c][_0x437d03(0x46c)]==='event'||_0x1dcc10[_0x48e79c][_0x437d03(0x46c)]===_0x437d03(0x2ef),_0x29c5fc=_0x30f033&&(_0x437d03(0xa33)in _0x1dcc10[_0x48e79c]||_0x437d03(0x84c)in _0x1dcc10[_0x48e79c]||_0x437d03(0x87c)in _0x1dcc10[_0x48e79c]),_0x3033af=_0x329054[_0x437d03(0x9f7)]('.ann-val2')['value'];if(_0x30f033&&!_0x29c5fc)_0x1dcc10[_0x48e79c][_0x437d03(0x19c)]=_0x3033af;else{if(_0x30f033&&_0x29c5fc){if(_0x1dcc10[_0x48e79c]['type']===_0x437d03(0x2ef))_0x1dcc10[_0x48e79c][_0x437d03(0x84c)]=_0x3033af;}else _0x1dcc10[_0x48e79c][_0x437d03(0x4ab)]=isNaN(parseFloat(_0x3033af))?_0x3033af:parseFloat(_0x3033af);}this[_0x437d03(0x207)]();}),_0x329054[_0x25bc56(0x9f7)](_0x25bc56(0x423))?.['addEventListener'](_0x25bc56(0x7ac),()=>{const _0x27d828=_0x25bc56;_0xbbd44b()[_0x48e79c][_0x27d828(0xb60)]=_0x329054['querySelector'](_0x27d828(0x423))[_0x27d828(0xbab)],this[_0x27d828(0x207)]();}),_0x329054['querySelector'](_0x25bc56(0xd90))?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),()=>{const _0x2d4e25=_0x25bc56;_0xbbd44b()[_0x48e79c][_0x2d4e25(0x81a)]=_0x329054[_0x2d4e25(0x9f7)](_0x2d4e25(0xd90))['value'],this[_0x2d4e25(0x207)]();}),_0x329054[_0x25bc56(0x9f7)](_0x25bc56(0x302))?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),()=>{const _0x51bbbb=_0x25bc56,_0x2ae716=parseFloat(_0x329054[_0x51bbbb(0x9f7)]('.ann-opacity')['value']);_0xbbd44b()[_0x48e79c][_0x51bbbb(0xa5b)]=isNaN(_0x2ae716)?undefined:_0x2ae716,this[_0x51bbbb(0x207)]();}),_0x329054[_0x25bc56(0x9f7)](_0x25bc56(0x28b))?.[_0x25bc56(0x2cc)](_0x25bc56(0x7ac),_0xb350d5=>{const _0x2dee91=_0x25bc56;_0xbbd44b()[_0x48e79c][_0x2dee91(0xc2f)]=_0xb350d5[_0x2dee91(0xdc9)]['checked'],this[_0x2dee91(0x207)]();});}),this[_0x59dd03(0xd5d)][_0x59dd03(0xa9d)]('input[type=\x22number\x22]')[_0x59dd03(0x9c6)](_0x45258c=>{const _0x18e793=_0x59dd03;_0x45258c['addEventListener'](_0x18e793(0xb20),_0x207968=>{const _0x2daf11=_0x18e793;_0x207968[_0x2daf11(0x56e)]();},{'passive':![]});}),this[_0x59dd03(0xd5d)]['querySelectorAll'](_0x59dd03(0xafe))[_0x59dd03(0x9c6)](_0x25a694=>{const _0x428d8e=_0x59dd03,_0x35bf10=parseInt(_0x25a694[_0x428d8e(0x383)][_0x428d8e(0xb48)]);_0x25a694['querySelector'](_0x428d8e(0x705))?.[_0x428d8e(0x2cc)]('click',_0x3f037e=>{const _0x56e4a4=_0x428d8e;if(_0x3f037e[_0x56e4a4(0xdc9)][_0x56e4a4(0xc53)]('.edb')||_0x3f037e[_0x56e4a4(0xdc9)][_0x56e4a4(0xc53)](_0x56e4a4(0x309)))return;const _0x2f1b60='e-'+_0x35bf10;if(this['_openPanels'][_0x56e4a4(0x628)](_0x2f1b60))this[_0x56e4a4(0x522)][_0x56e4a4(0x172)](_0x2f1b60);else this[_0x56e4a4(0x522)][_0x56e4a4(0x951)](_0x2f1b60);_0x25a694[_0x56e4a4(0x543)][_0x56e4a4(0xa06)](_0x56e4a4(0xcaf));}),_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xc30))?.[_0x428d8e(0x2cc)](_0x428d8e(0x57a),_0xdb808f=>{const _0x2654e8=_0x428d8e;_0xdb808f[_0x2654e8(0x56e)]();const _0x1dd06c=[...this[_0x2654e8(0x9dd)]];_0x1dd06c['splice'](_0x35bf10,0x1),this[_0x2654e8(0x13a)]['entities']=_0x1dd06c,this['_openPanels'][_0x2654e8(0x172)]('e-'+_0x35bf10),this[_0x2654e8(0x32f)](),this[_0x2654e8(0x207)]();}),_0x25a694['querySelector'](_0x428d8e(0x309))?.[_0x428d8e(0x2cc)](_0x428d8e(0x57a),_0x1a3a6e=>{const _0x5a6c0a=_0x428d8e;_0x1a3a6e[_0x5a6c0a(0x56e)]();const _0xb4d956=StatisticsGraphChartCard[_0x5a6c0a(0x944)],_0x47924b=structuredClone(this[_0x5a6c0a(0x9dd)][_0x35bf10]);_0x47924b[_0x5a6c0a(0x81a)]=_0xb4d956[this['_entities'][_0x5a6c0a(0x942)]%_0xb4d956[_0x5a6c0a(0x942)]];const _0x4cf662=[...this[_0x5a6c0a(0x9dd)]];_0x4cf662[_0x5a6c0a(0xe7)](_0x35bf10+0x1,0x0,_0x47924b),this['_tmp'][_0x5a6c0a(0xb38)]=_0x4cf662;const _0x3ddc27=_0x35bf10+0x1;this[_0x5a6c0a(0x522)][_0x5a6c0a(0x951)]('e-'+_0x3ddc27),this[_0x5a6c0a(0x80a)][_0x3ddc27]=_0x5a6c0a(0x27d),this[_0x5a6c0a(0x32f)](),this[_0x5a6c0a(0x207)]();}),_0x25a694[_0x428d8e(0xa9d)](_0x428d8e(0xbcc))['forEach'](_0x22c7cd=>{const _0x14af90=_0x428d8e;_0x22c7cd[_0x14af90(0x2cc)]('click',()=>{const _0x2fe222=_0x14af90,_0x192187=_0x22c7cd[_0x2fe222(0x383)]['tab'];this[_0x2fe222(0x80a)][_0x35bf10]=_0x192187,_0x25a694[_0x2fe222(0xa9d)]('.tb')['forEach'](_0x30969d=>_0x30969d[_0x2fe222(0x543)]['toggle']('active',_0x30969d[_0x2fe222(0x383)]['tab']===_0x192187)),_0x25a694['querySelectorAll'](_0x2fe222(0x838))[_0x2fe222(0x9c6)](_0x20134c=>_0x20134c[_0x2fe222(0x543)][_0x2fe222(0xa06)](_0x2fe222(0x504),_0x20134c[_0x2fe222(0x383)]['tc']===_0x192187));});});const _0x2b67c2=(_0x4bfb63,_0x1251cf,_0x3d70ba=_0x428d8e(0xca3))=>{const _0x1c593d=_0x428d8e,_0x1a4521=_0x25a694['querySelector'](_0x4bfb63);if(!_0x1a4521)return;const _0x23def3=_0x1a4521[_0x1c593d(0x46c)]==='checkbox'||_0x1a4521[_0x1c593d(0xbc3)]===_0x1c593d(0xdb1);if(_0x1a4521['type']===_0x1c593d(0x425)){_0x1a4521[_0x1c593d(0x2cc)](_0x1c593d(0x2c1),()=>{const _0x432f6d=_0x1c593d;this[_0x432f6d(0x9dd)][_0x35bf10][_0x1251cf]=this['_read'](_0x1a4521,_0x3d70ba);}),_0x1a4521[_0x1c593d(0x2cc)]('change',()=>{const _0x5bbac5=_0x1c593d;this[_0x5bbac5(0x9dd)][_0x35bf10][_0x1251cf]=this['_read'](_0x1a4521,_0x3d70ba),this[_0x5bbac5(0x207)]();});return;}const _0x1f0fb1=()=>{const _0x3d6a11=_0x1c593d;this['_entities'][_0x35bf10][_0x1251cf]=this[_0x3d6a11(0x99c)](_0x1a4521,_0x3d70ba),this[_0x3d6a11(0x207)]();};_0x1a4521['addEventListener'](_0x23def3?_0x1c593d(0x7ac):_0x1c593d(0x2c1),_0x23def3?_0x1f0fb1:this[_0x1c593d(0x25a)](_0x1f0fb1,0x190));};_0x2b67c2(_0x428d8e(0xc2a),_0x428d8e(0x408),_0x428d8e(0x625));const _0x52ad01=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x680));if(_0x52ad01)_0x52ad01['addEventListener'](_0x428d8e(0x2c1),this[_0x428d8e(0x25a)](()=>{const _0x554286=_0x428d8e,_0x177b5f=_0x52ad01['value'];if(_0x177b5f==='')delete this['_entities'][_0x35bf10]['name'];else this['_entities'][_0x35bf10][_0x554286(0xd82)]=_0x177b5f;this[_0x554286(0x207)]();},0x190));_0x2b67c2(_0x428d8e(0x1ca),_0x428d8e(0xe37),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x556),_0x428d8e(0x4b7)),_0x2b67c2(_0x428d8e(0x34f),_0x428d8e(0xf2)),_0x2b67c2(_0x428d8e(0xc0b),'statistic_id'),_0x2b67c2(_0x428d8e(0x9b0),_0x428d8e(0x96),_0x428d8e(0xd70)),_0x2b67c2('.e-line_style','line_style'),_0x2b67c2(_0x428d8e(0xa88),_0x428d8e(0x5c9),_0x428d8e(0x9b4)),_0x2b67c2(_0x428d8e(0x1b7),_0x428d8e(0x891)),_0x2b67c2('.e-graph_type',_0x428d8e(0xcef)),_0x2b67c2('.e-smooth','smooth','bool'),_0x2b67c2(_0x428d8e(0x844),_0x428d8e(0x719),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x642),_0x428d8e(0x873),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0xa20),_0x428d8e(0x6da),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x986),_0x428d8e(0xba6),_0x428d8e(0xd70)),_0x2b67c2(_0x428d8e(0x3c0),_0x428d8e(0x531),_0x428d8e(0x625)),_0x2b67c2('.e-point_size',_0x428d8e(0x846),_0x428d8e(0xd70)),_0x2b67c2('.e-show_range_band','show_range_band',_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x6f4),_0x428d8e(0x10b),'bool'),_0x2b67c2(_0x428d8e(0xd09),_0x428d8e(0x1d7),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x5cc),_0x428d8e(0xaa9),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x2ee),_0x428d8e(0x9b1),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x137),_0x428d8e(0x89e)),_0x2b67c2('.e-price_attribute',_0x428d8e(0x1d1)),_0x2b67c2('.e-ref_entity',_0x428d8e(0x4a4)),_0x2b67c2(_0x428d8e(0x8e8),_0x428d8e(0xae)),_0x2b67c2(_0x428d8e(0xd26),_0x428d8e(0xbac));const _0x2bdf95=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xec)),_0x4cc687=_0x25a694['querySelector'](_0x428d8e(0xe33)),_0xba27cf=()=>{const _0x52128b=_0x428d8e,_0x94d9c9=this[_0x52128b(0x9dd)][_0x35bf10],_0x436850=_0x94d9c9[_0x52128b(0x8e6)],_0x1b1a16=_0x9c0cf2=>_0x9c0cf2&&typeof _0x9c0cf2==='object'?_0x9c0cf2:{'period':_0x9c0cf2===!![]?_0x52128b(0x5e5):String(_0x9c0cf2)};if(!Array[_0x52128b(0x557)](_0x436850))_0x94d9c9[_0x52128b(0x8e6)]=_0x436850?[_0x436850&&typeof _0x436850===_0x52128b(0x4a6)?{..._0x436850}:_0x1b1a16(_0x436850)]:[];else for(let _0x522da5=0x0;_0x522da5<_0x436850[_0x52128b(0x942)];_0x522da5++){if(_0x436850[_0x522da5]!=null&&typeof _0x436850[_0x522da5]!==_0x52128b(0x4a6))_0x436850[_0x522da5]=_0x1b1a16(_0x436850[_0x522da5]);}return _0x94d9c9[_0x52128b(0x8e6)];};_0x4cc687?.[_0x428d8e(0x2cc)](_0x428d8e(0x57a),()=>{const _0x2fab84=_0x428d8e,_0x42e776=_0xba27cf();_0x42e776['push']({}),this[_0x2fab84(0x32f)](),this[_0x2fab84(0x207)]();}),_0x2bdf95?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),_0x35fd20=>{const _0x3723fb=_0x428d8e,_0x40e870=_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xc53)](_0x3723fb(0x2b2));if(!_0x40e870)return;const _0xeb43ae=parseInt(_0x40e870[_0x3723fb(0x383)][_0x3723fb(0xd84)]),_0x59a920=_0xba27cf(),_0x37e717=_0x59a920[_0xeb43ae];if(!_0x37e717||typeof _0x37e717!==_0x3723fb(0x4a6))return;const _0x584fce=(_0x2c544c,_0xecf69)=>{if(_0xecf69===undefined)delete _0x37e717[_0x2c544c];else _0x37e717[_0x2c544c]=_0xecf69;},_0x101d13=_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0x543)];if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0xd8f))){_0x584fce(_0x3723fb(0x500),_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]===_0x3723fb(0x5e5)?undefined:_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]);const _0x5f1892=_0x40e870[_0x3723fb(0x9f7)](_0x3723fb(0x8c9));_0x5f1892&&(_0x5f1892[_0x3723fb(0xb22)]=_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]!==_0x3723fb(0x5e5),_0x5f1892[_0x3723fb(0xb22)]&&(_0x5f1892[_0x3723fb(0xbab)]=_0x3723fb(0x78c),_0x584fce(_0x3723fb(0x4ec),undefined)));}if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0xb7a))){const _0x572cf6=Math['max'](0x1,parseInt(_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)])||0x1);_0x584fce(_0x3723fb(0xa53),_0x572cf6===0x1?undefined:_0x572cf6);}if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x200)))_0x584fce(_0x3723fb(0x7e1),_0x35fd20['target']['value']===_0x3723fb(0x9ab)?undefined:_0x35fd20['target'][_0x3723fb(0xbab)]);if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x7a2)))_0x584fce('layout',_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]===_0x3723fb(0x68f)?_0x3723fb(0x68f):undefined);if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x5a0))){const _0x57ea08=_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]['trim']();_0x584fce(_0x3723fb(0x81a),_0x57ea08||undefined);}if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0xa4e))){const _0x2b288a=_0x40e870[_0x3723fb(0x9f7)]('.cmp-col');if(!_0x2b288a||!_0x2b288a[_0x3723fb(0xbab)]['includes']('{{')){if(_0x2b288a)_0x2b288a['value']=_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)];_0x584fce(_0x3723fb(0x81a),_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0xbab)]||undefined);}}if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x884))){const _0x3447c8=parseFloat(_0x35fd20['target']['value']);_0x584fce(_0x3723fb(0xa5b),isNaN(_0x3447c8)?undefined:_0x3447c8);}if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x125)))_0x584fce(_0x3723fb(0xacd),_0x35fd20['target'][_0x3723fb(0x233)]?undefined:![]);if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0xb0e)))_0x584fce(_0x3723fb(0xb90),_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0x233)]?!![]:undefined);if(_0x101d13['contains']('cmp-fill'))_0x584fce(_0x3723fb(0x873),_0x35fd20[_0x3723fb(0xdc9)][_0x3723fb(0x233)]?!![]:undefined);if(_0x101d13[_0x3723fb(0x52a)](_0x3723fb(0x2f4)))_0x584fce(_0x3723fb(0x706),_0x35fd20[_0x3723fb(0xdc9)]['checked']?!![]:undefined);this['_valueChanged']();}),_0x2bdf95?.[_0x428d8e(0x2cc)](_0x428d8e(0x2c1),_0x1df8b0=>{const _0x16a59f=_0x428d8e;if(!_0x1df8b0[_0x16a59f(0xdc9)]['classList'][_0x16a59f(0x52a)]('cmp-col'))return;const _0x1dfa2e=_0x1df8b0[_0x16a59f(0xdc9)][_0x16a59f(0xc53)](_0x16a59f(0x2b2))?.[_0x16a59f(0x9f7)]('.cmp-col-pick');if(!_0x1dfa2e)return;const _0x967373=_0x1df8b0[_0x16a59f(0xdc9)]['value'][_0x16a59f(0x9b)]('{{');_0x1dfa2e[_0x16a59f(0x91c)][_0x16a59f(0xa5b)]=_0x967373?_0x16a59f(0xe38):'',_0x1dfa2e[_0x16a59f(0x91c)][_0x16a59f(0x11f)]=_0x967373?_0x16a59f(0xc8b):'';}),_0x2bdf95?.[_0x428d8e(0x2cc)](_0x428d8e(0x57a),_0x24d19e=>{const _0x541e9d=_0x428d8e,_0x1c85ee=_0x24d19e[_0x541e9d(0xdc9)][_0x541e9d(0xc53)](_0x541e9d(0x8a6));if(!_0x1c85ee)return;const _0x597675=parseInt(_0x1c85ee['closest'](_0x541e9d(0x2b2))[_0x541e9d(0x383)][_0x541e9d(0xd84)]),_0x2d5bb2=_0xba27cf();_0x2d5bb2[_0x541e9d(0xe7)](_0x597675,0x1);if(!_0x2d5bb2['length'])delete this[_0x541e9d(0x9dd)][_0x35bf10][_0x541e9d(0x8e6)];this[_0x541e9d(0x32f)](),this[_0x541e9d(0x207)]();});const _0x58df21=_0x25a694[_0x428d8e(0x9f7)]('.e-show_state');if(_0x58df21)_0x58df21[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),()=>{const _0x2a17dd=_0x428d8e,_0x3ecbf6=_0x58df21[_0x2a17dd(0xbab)];this[_0x2a17dd(0x9dd)][_0x35bf10][_0x2a17dd(0xcbd)]=_0x3ecbf6!==_0x2a17dd(0xae0),this[_0x2a17dd(0x207)]();});_0x2b67c2(_0x428d8e(0x3a3),_0x428d8e(0x8d0),'bool'),_0x2b67c2(_0x428d8e(0x367),_0x428d8e(0x5ae),'bool'),_0x2b67c2(_0x428d8e(0x729),_0x428d8e(0x120),_0x428d8e(0x625));const _0x4f7098=_0x25a694['querySelector']('.e-primary_state_as');if(_0x4f7098)_0x4f7098[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),()=>{const _0x4b2c66=_0x428d8e;this['_entities'][_0x35bf10][_0x4b2c66(0x5b2)]=this[_0x4b2c66(0x99c)](_0x4f7098,'text'),this[_0x4b2c66(0x32f)](),this['_valueChanged']();});_0x2b67c2(_0x428d8e(0xc3c),'name_position'),_0x2b67c2('.e-state_adaptive_color',_0x428d8e(0x7a5),_0x428d8e(0x625)),_0x2b67c2('.e-show_color_dot','show_color_dot',_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x44d),_0x428d8e(0x6b3),_0x428d8e(0x625)),_0x2b67c2('.e-show_range_values',_0x428d8e(0xbb0),_0x428d8e(0x625)),_0x2b67c2('.e-show_in_legend','show_in_legend',_0x428d8e(0x625));const _0x279d82=()=>{const _0x1f6fcd=_0x428d8e,_0x83f281=[];if(_0x25a694['querySelector'](_0x1f6fcd(0x2a8))?.[_0x1f6fcd(0x233)])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0x102));if(_0x25a694[_0x1f6fcd(0x9f7)](_0x1f6fcd(0x4a8))?.[_0x1f6fcd(0x233)])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0x648));if(_0x25a694[_0x1f6fcd(0x9f7)]('.e-legend_max')?.['checked'])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0x617));if(_0x25a694[_0x1f6fcd(0x9f7)]('.e-legend_last')?.[_0x1f6fcd(0x233)])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0xad0));if(_0x25a694[_0x1f6fcd(0x9f7)](_0x1f6fcd(0x413))?.[_0x1f6fcd(0x233)])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0x834));if(_0x25a694[_0x1f6fcd(0x9f7)](_0x1f6fcd(0x5ab))?.[_0x1f6fcd(0x233)])_0x83f281[_0x1f6fcd(0x6b5)](_0x1f6fcd(0x2a4));this[_0x1f6fcd(0x9dd)][_0x35bf10][_0x1f6fcd(0xca)]=_0x83f281,this[_0x1f6fcd(0x207)]();};['.e-legend_min',_0x428d8e(0x4a8),'.e-legend_max',_0x428d8e(0xca1),'.e-legend_sum','.e-legend_live']['forEach'](_0x49b1de=>{const _0xdb93b2=_0x428d8e,_0x59fcb0=_0x25a694[_0xdb93b2(0x9f7)](_0x49b1de);if(_0x59fcb0)_0x59fcb0[_0xdb93b2(0x2cc)](_0xdb93b2(0x7ac),_0x279d82);}),_0x2b67c2(_0x428d8e(0x7ce),_0x428d8e(0xc50),'bool'),_0x2b67c2('.e-decimals',_0x428d8e(0xde5),_0x428d8e(0x9b4)),_0x2b67c2(_0x428d8e(0xa86),_0x428d8e(0x4bd)),_0x2b67c2(_0x428d8e(0x414),'points_per_hour',_0x428d8e(0x9b4)),_0x2b67c2(_0x428d8e(0x63c),_0x428d8e(0xaff),_0x428d8e(0xd70)),_0x2b67c2('.e-number_format',_0x428d8e(0x194)),_0x2b67c2(_0x428d8e(0x77a),'show_extrema'),_0x2b67c2(_0x428d8e(0xb0d),_0x428d8e(0xb4a),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x97c),'show_extrema_max','bool'),_0x2b67c2('.e-extrema_show_timestamp',_0x428d8e(0x35e),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x352),_0x428d8e(0x378)),_0x2b67c2(_0x428d8e(0xc0a),_0x428d8e(0x57e),_0x428d8e(0xd70)),_0x2b67c2('.e-extrema_bg_color',_0x428d8e(0x5af)),_0x2b67c2(_0x428d8e(0x2a0),_0x428d8e(0x5ba),_0x428d8e(0xd70)),_0x2b67c2(_0x428d8e(0xa5e),_0x428d8e(0x706),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x255),'lower_bound'),_0x2b67c2(_0x428d8e(0x5d2),_0x428d8e(0xd0)),_0x2b67c2('.e-name_size',_0x428d8e(0xd17)),_0x2b67c2('.e-icon_size',_0x428d8e(0xd9c)),_0x2b67c2(_0x428d8e(0xe2),'state_size'),_0x2b67c2(_0x428d8e(0x977),_0x428d8e(0xbe1)),_0x2b67c2(_0x428d8e(0xdc3),_0x428d8e(0xc61)),_0x2b67c2(_0x428d8e(0x8ee),'value_factor',_0x428d8e(0xd70)),_0x2b67c2(_0x428d8e(0xa10),_0x428d8e(0x53a)),_0x2b67c2('.e-offset',_0x428d8e(0x8c0)),_0x2b67c2(_0x428d8e(0xc04),_0x428d8e(0x5b4),_0x428d8e(0xd70)),_0x2b67c2(_0x428d8e(0x177),_0x428d8e(0x73d)),_0x2b67c2(_0x428d8e(0x9ef),_0x428d8e(0x54c)),_0x2b67c2(_0x428d8e(0x4cc),_0x428d8e(0xc8f)),_0x2b67c2(_0x428d8e(0x3a8),'data_value_expression'),_0x2b67c2(_0x428d8e(0x106),_0x428d8e(0x1e7)),_0x2b67c2(_0x428d8e(0x4e4),_0x428d8e(0x7bd),_0x428d8e(0x9b4)),_0x2b67c2(_0x428d8e(0x6e1),_0x428d8e(0xe0a),'bool'),_0x2b67c2(_0x428d8e(0x81f),_0x428d8e(0x287),_0x428d8e(0x625)),_0x2b67c2(_0x428d8e(0x8d5),_0x428d8e(0xac7)),_0x2b67c2(_0x428d8e(0x882),_0x428d8e(0x420)),_0x2b67c2(_0x428d8e(0x709),_0x428d8e(0x640));const _0xba574c=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x483));if(_0xba574c&&this[_0x428d8e(0x372)]){_0xba574c['innerHTML']=_0x428d8e(0x67d)+this[_0x428d8e(0x2df)](_0x428d8e(0x6ad))+'';const _0x139769=this['_renderId'];let _0x1cd8c8=0x0;const _0x294632=()=>{const _0x14db61=_0x428d8e;if(this[_0x14db61(0x70e)]!==_0x139769)return;if(!_0xba574c[_0x14db61(0x6ab)]&&_0x1cd8c8++<0x3c){setTimeout(_0x294632,0x32);return;}if(customElements[_0x14db61(0x6be)]('ha-selector')){const _0x177dab=document[_0x14db61(0xe28)](_0x14db61(0x64f));_0x177dab[_0x14db61(0x9e5)]=this['_hass'],_0x177dab[_0x14db61(0x4f4)]={'entity':{}},_0x177dab[_0x14db61(0xbab)]=this[_0x14db61(0x9dd)][_0x35bf10]?.[_0x14db61(0x8c6)]||'',_0x177dab[_0x14db61(0xb60)]='',_0x177dab[_0x14db61(0x91c)]['cssText']='display:block;width:100%',_0xba574c[_0x14db61(0x715)](_0x177dab),_0x177dab[_0x14db61(0x2cc)](_0x14db61(0x6aa),_0x358a88=>{const _0x1df9e2=_0x14db61;_0x358a88[_0x1df9e2(0x56e)]();if(this[_0x1df9e2(0x9dd)][_0x35bf10])this['_entities'][_0x35bf10]['entity']=_0x358a88[_0x1df9e2(0x127)][_0x1df9e2(0xbab)]||'';this[_0x1df9e2(0x207)](),this[_0x1df9e2(0x32f)]();});}else{const _0x2cb6dc=document[_0x14db61(0xe28)]('select');_0x2cb6dc[_0x14db61(0x627)]=_0x14db61(0x1a2),_0x2cb6dc[_0x14db61(0x91c)][_0x14db61(0xdd1)]=_0x14db61(0x35a),_0x2cb6dc[_0x14db61(0x7ed)]='—\x20Select\x20entity\x20—'+this[_0x14db61(0xdfe)]()[_0x14db61(0x89f)](_0x26429f=>_0x14db61(0xab4)+escapeHtml(_0x26429f)+'\x22\x20'+(_0x26429f===(this[_0x14db61(0x9dd)][_0x35bf10]?.['entity']||'')?'selected':'')+'>'+escapeHtml(_0x26429f)+'')['join'](''),_0xba574c[_0x14db61(0x715)](_0x2cb6dc),_0x2cb6dc[_0x14db61(0x2cc)](_0x14db61(0x7ac),()=>{const _0x4f6c1f=_0x14db61;if(this['_entities'][_0x35bf10])this[_0x4f6c1f(0x9dd)][_0x35bf10][_0x4f6c1f(0x8c6)]=_0x2cb6dc['value'];this[_0x4f6c1f(0x207)]();});}};setTimeout(_0x294632,0x0);}this[_0x428d8e(0x36b)](_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x50f)),()=>this[_0x428d8e(0x9dd)][_0x35bf10]?.['icon']||'',_0x262ec2=>{const _0x4134aa=_0x428d8e;if(this[_0x4134aa(0x9dd)][_0x35bf10])this[_0x4134aa(0x9dd)][_0x35bf10][_0x4134aa(0x116)]=_0x262ec2;},{'disabled':this[_0x428d8e(0x9dd)][_0x35bf10]?.[_0x428d8e(0xcbd)]===![],'placeholder2':_0x428d8e(0x398)});const _0x536c02=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xe3));if(_0x536c02&&this['_hass']){_0x536c02[_0x428d8e(0x7ed)]='';const _0xa4064e=this[_0x428d8e(0x70e)];let _0x9b5755=0x0;const _0x3ae691=()=>{const _0x1b74f0=_0x428d8e;if(this['_renderId']!==_0xa4064e)return;if(!_0x536c02[_0x1b74f0(0x6ab)]&&_0x9b5755++<0x3c){setTimeout(_0x3ae691,0x32);return;}if(customElements['get']('ha-selector')){const _0x349b65=document[_0x1b74f0(0xe28)](_0x1b74f0(0x64f));_0x349b65[_0x1b74f0(0x9e5)]=this[_0x1b74f0(0x372)],_0x349b65[_0x1b74f0(0x4f4)]={'ui-action':{}},_0x349b65[_0x1b74f0(0xbab)]=this[_0x1b74f0(0x9dd)][_0x35bf10]?.[_0x1b74f0(0x115)]||{'action':_0x1b74f0(0xc8b)},_0x349b65['label']=this[_0x1b74f0(0x2df)](_0x1b74f0(0x84a)),_0x349b65[_0x1b74f0(0x91c)][_0x1b74f0(0xdd1)]='display:block;width:100%',_0x536c02[_0x1b74f0(0x715)](_0x349b65),_0x349b65[_0x1b74f0(0x2cc)](_0x1b74f0(0x6aa),_0x1cf90c=>{const _0x2941e3=_0x1b74f0;_0x1cf90c['stopPropagation']();const _0x34cbd6=_0x1cf90c[_0x2941e3(0x127)][_0x2941e3(0xbab)];if(this[_0x2941e3(0x9dd)][_0x35bf10])this[_0x2941e3(0x9dd)][_0x35bf10][_0x2941e3(0x115)]=_0x34cbd6&&_0x34cbd6[_0x2941e3(0x764)]&&_0x34cbd6[_0x2941e3(0x764)]!=='none'?_0x34cbd6:null;this[_0x2941e3(0x207)]();});}else{const _0x3d5cee=this[_0x1b74f0(0x9dd)][_0x35bf10]?.['tap_action']?.[_0x1b74f0(0x764)]||_0x1b74f0(0xc8b);_0x536c02[_0x1b74f0(0x7ed)]=''+[_0x1b74f0(0xc8b),_0x1b74f0(0x6e5),_0x1b74f0(0xd81),_0x1b74f0(0xe1b),'call-service'][_0x1b74f0(0x89f)](_0xd8ba46=>_0x1b74f0(0xab4)+escapeHtml(_0xd8ba46)+'\x22\x20'+(_0x3d5cee===_0xd8ba46?'selected':'')+'>'+{'none':_0x1b74f0(0x904),'more-info':'More\x20Info','url':_0x1b74f0(0x3ba),'navigate':_0x1b74f0(0x1c8),'call-service':'Call\x20Service'}[_0xd8ba46]+_0x1b74f0(0x741))[_0x1b74f0(0x718)]('')+'';const _0x29a91e=_0x536c02['querySelector'](_0x1b74f0(0x155));if(_0x29a91e)_0x29a91e[_0x1b74f0(0x2cc)]('change',()=>{const _0x366274=_0x1b74f0,_0x5ee157=_0x29a91e[_0x366274(0xbab)];if(this[_0x366274(0x9dd)][_0x35bf10])this['_entities'][_0x35bf10]['tap_action']=_0x5ee157&&_0x5ee157!=='none'?{'action':_0x5ee157}:null;this['_valueChanged']();});}};setTimeout(_0x3ae691,0x0);}const _0x18b3d7=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x697));if(_0x18b3d7)_0x18b3d7['addEventListener'](_0x428d8e(0x2c1),()=>{const _0xc59a8c=_0x428d8e,_0x2c76ff=_0x18b3d7[_0xc59a8c(0xbab)][_0xc59a8c(0x8e1)]('\x0a')[_0xc59a8c(0x89f)](_0x488422=>_0x488422[_0xc59a8c(0xe46)]())[_0xc59a8c(0x101)](Boolean);this[_0xc59a8c(0x9dd)][_0x35bf10][_0xc59a8c(0x875)]=_0x2c76ff[_0xc59a8c(0x942)]?_0x2c76ff[_0xc59a8c(0x89f)](_0x14d8e3=>{const _0x967155=_0xc59a8c,_0x240484=_0x14d8e3[_0x967155(0x8e1)](','),_0x484d8f=(_0x240484[0x0]||'')[_0x967155(0xe46)](),_0x483249=_0x240484[_0x967155(0x942)]>0x1?_0x240484[0x1][_0x967155(0xe46)]():'',_0x197543=_0x240484[_0x967155(0x942)]>0x2?_0x240484[_0x967155(0x53c)](0x2)[_0x967155(0x718)](',')[_0x967155(0xe46)]():'',_0x926847={'value':_0x484d8f};if(_0x483249)_0x926847[_0x967155(0xb60)]=_0x483249;if(_0x197543)_0x926847[_0x967155(0x81a)]=_0x197543;return _0x926847;}):null,this[_0xc59a8c(0x207)]();});const _0x334d89=_0x25a694['querySelector'](_0x428d8e(0x83e));if(_0x334d89)_0x334d89[_0x428d8e(0x2cc)](_0x428d8e(0x2c1),()=>{const _0x42bc20=_0x428d8e,_0x593455=_0x334d89[_0x42bc20(0xbab)]['split']('\x0a')['map'](_0x3f3a71=>_0x3f3a71[_0x42bc20(0xe46)]())[_0x42bc20(0x101)](Boolean),_0x1e7b11={};for(const _0x4b9bf9 of _0x593455){const _0x2b814c=_0x4b9bf9[_0x42bc20(0x190)](':');if(_0x2b814c<0x0)continue;const _0x21ac54=_0x4b9bf9[_0x42bc20(0x53c)](0x0,_0x2b814c)[_0x42bc20(0xe46)](),_0x1b8b63=_0x4b9bf9[_0x42bc20(0x53c)](_0x2b814c+0x1)[_0x42bc20(0xe46)]();if(_0x21ac54&&_0x1b8b63)_0x1e7b11[_0x21ac54]=_0x1b8b63;}this['_entities'][_0x35bf10][_0x42bc20(0x668)]=Object['keys'](_0x1e7b11)[_0x42bc20(0x942)]?_0x1e7b11:null,this[_0x42bc20(0x207)]();});const _0x4fc966=(_0x4fca85,_0x199d35)=>{const _0x2141c2=_0x428d8e,_0x520baf=_0x25a694[_0x2141c2(0x9f7)](_0x4fca85),_0x5e8ede=_0x25a694[_0x2141c2(0x9f7)](_0x4fca85[_0x2141c2(0x934)](_0x2141c2(0xbfc),''));if(!_0x520baf)return;const _0x5d65b0=()=>{const _0x319a54=_0x2141c2,_0x365ab4=(_0x5e8ede?.[_0x319a54(0xbab)]||'')[_0x319a54(0xe46)](),_0x427e37=_0x365ab4[_0x319a54(0x9b)]('{{');_0x520baf[_0x319a54(0x91c)][_0x319a54(0xa5b)]=_0x427e37?_0x319a54(0xe38):'',_0x520baf[_0x319a54(0x91c)][_0x319a54(0x11f)]=_0x427e37?_0x319a54(0xc8b):'';};_0x520baf[_0x2141c2(0x2cc)](_0x2141c2(0x7ac),()=>{const _0x140930=_0x2141c2;if(_0x5e8ede)_0x5e8ede[_0x140930(0xbab)]=_0x520baf[_0x140930(0xbab)];this[_0x140930(0x9dd)][_0x35bf10][_0x199d35]=_0x520baf[_0x140930(0xbab)]||void 0x0,this[_0x140930(0x207)]();}),_0x5e8ede&&(_0x5e8ede[_0x2141c2(0x2cc)](_0x2141c2(0x2c1),this['_debounce'](()=>{const _0x3403d0=_0x2141c2,_0x9c63c8=_0x5e8ede[_0x3403d0(0xbab)]['trim']();_0x5d65b0();if(!_0x9c63c8[_0x3403d0(0x9b)]('{{')&&/^#[0-9a-fA-F]{6}$/[_0x3403d0(0xc00)](_0x9c63c8))_0x520baf[_0x3403d0(0xbab)]=_0x9c63c8;this['_entities'][_0x35bf10][_0x199d35]=_0x9c63c8||void 0x0,this[_0x3403d0(0x207)]();},0x190)),_0x5d65b0());};_0x4fc966(_0x428d8e(0x549),_0x428d8e(0x81a)),_0x4fc966(_0x428d8e(0x2af),_0x428d8e(0x7ee)),_0x4fc966(_0x428d8e(0x558),'point_colors'),_0x4fc966('.e-icon_color-picker',_0x428d8e(0x99)),_0x4fc966('.e-state_color-picker',_0x428d8e(0x3f6)),_0x4fc966(_0x428d8e(0x988),_0x428d8e(0x378)),_0x4fc966('.e-extrema_bg_color-picker',_0x428d8e(0x5af)),_0x4fc966(_0x428d8e(0x93),'trend_up_color'),_0x4fc966(_0x428d8e(0xf4),_0x428d8e(0xc0f)),_0x4fc966(_0x428d8e(0x4e5),'trend_stable_color');const _0xf39084=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xb67)),_0x582243=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x60c)),_0x4ad36d=_0x25a694['querySelector'](_0x428d8e(0x933)),_0x20ffb1=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x43b)),_0xf88f42=()=>{const _0x3fb204=_0x428d8e;if(!this['_entities'][_0x35bf10][_0x3fb204(0x9d2)])this[_0x3fb204(0x9dd)][_0x35bf10][_0x3fb204(0x9d2)]={'enabled':![],'increase':_0x3fb204(0x57f),'decrease':_0x3fb204(0x790),'stable':_0x3fb204(0x17e)};};_0xf39084?.[_0x428d8e(0x2cc)]('change',()=>{const _0x386ddf=_0x428d8e;_0xf88f42(),this['_entities'][_0x35bf10][_0x386ddf(0x9d2)][_0x386ddf(0x408)]=_0xf39084[_0x386ddf(0x233)];if(_0xf39084[_0x386ddf(0x233)]){if(!this[_0x386ddf(0x9dd)][_0x35bf10][_0x386ddf(0x41b)])this[_0x386ddf(0x9dd)][_0x35bf10][_0x386ddf(0x41b)]={'enabled':![],'values':[]};this[_0x386ddf(0x9dd)][_0x35bf10][_0x386ddf(0x41b)]['enabled']=![];}this[_0x386ddf(0x32f)](),this[_0x386ddf(0x207)]();}),_0x582243?.[_0x428d8e(0x2cc)]('change',()=>{const _0x3af548=_0x428d8e;_0xf88f42(),this[_0x3af548(0x9dd)][_0x35bf10][_0x3af548(0x9d2)][_0x3af548(0x7f1)]=_0x582243['value'],this[_0x3af548(0x207)]();}),_0x4ad36d?.[_0x428d8e(0x2cc)]('change',()=>{const _0xcf431=_0x428d8e;_0xf88f42(),this['_entities'][_0x35bf10][_0xcf431(0x9d2)][_0xcf431(0x371)]=_0x4ad36d[_0xcf431(0xbab)],this[_0xcf431(0x207)]();}),_0x20ffb1?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),()=>{const _0x523aee=_0x428d8e;_0xf88f42(),this[_0x523aee(0x9dd)][_0x35bf10]['rise_fall_colors'][_0x523aee(0x9eb)]=_0x20ffb1['value'],this[_0x523aee(0x207)]();});const _0x56fd1a=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xd69)),_0x4ecb90=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0xa8d)),_0x2fbbb8=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x7ec)),_0x2eaa0c=()=>{const _0x559f11=_0x428d8e;if(!this[_0x559f11(0x9dd)][_0x35bf10]['color_thresholds'])this[_0x559f11(0x9dd)][_0x35bf10]['color_thresholds']={'enabled':![],'values':[]};if(!Array[_0x559f11(0x557)](this[_0x559f11(0x9dd)][_0x35bf10]['color_thresholds'][_0x559f11(0x55c)]))this[_0x559f11(0x9dd)][_0x35bf10]['color_thresholds'][_0x559f11(0x55c)]=[];};_0x56fd1a?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),()=>{const _0x4eec94=_0x428d8e;_0x2eaa0c(),this[_0x4eec94(0x9dd)][_0x35bf10][_0x4eec94(0x41b)][_0x4eec94(0x408)]=_0x56fd1a[_0x4eec94(0x233)],_0x56fd1a[_0x4eec94(0x233)]&&(_0xf88f42(),this[_0x4eec94(0x9dd)][_0x35bf10][_0x4eec94(0x9d2)]['enabled']=![]),this[_0x4eec94(0x32f)](),this[_0x4eec94(0x207)]();}),_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x4de))?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),_0x206d3d=>{const _0x5da397=_0x428d8e;_0x2eaa0c(),this['_entities'][_0x35bf10][_0x5da397(0x41b)]['transition']=_0x206d3d['target'][_0x5da397(0xbab)],this[_0x5da397(0x207)]();}),_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x868))?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),_0x1ad534=>{const _0x409775=_0x428d8e;_0x2eaa0c(),this['_entities'][_0x35bf10][_0x409775(0x41b)]['direction']=_0x1ad534[_0x409775(0xdc9)]['value'],this[_0x409775(0x207)]();}),_0x25a694['querySelector'](_0x428d8e(0x3a9))?.[_0x428d8e(0x2cc)]('change',_0x94ad42=>{const _0x2decd2=_0x428d8e;_0x2eaa0c(),this[_0x2decd2(0x9dd)][_0x35bf10]['color_thresholds'][_0x2decd2(0x4fd)]=_0x94ad42[_0x2decd2(0xdc9)][_0x2decd2(0x233)],this[_0x2decd2(0x207)]();}),_0x2fbbb8?.['addEventListener'](_0x428d8e(0x57a),()=>{const _0x477df8=_0x428d8e;_0x2eaa0c(),this[_0x477df8(0x9dd)][_0x35bf10][_0x477df8(0x41b)][_0x477df8(0x55c)][_0x477df8(0x6b5)]({'value':0x0,'color':'#ff4757'}),this['_render'](),this['_valueChanged']();}),_0x4ecb90?.[_0x428d8e(0x2cc)]('change',_0x273a05=>{const _0x1b45bc=_0x428d8e,_0x4ef408=_0x273a05[_0x1b45bc(0xdc9)][_0x1b45bc(0xc53)](_0x1b45bc(0xda4));if(!_0x4ef408)return;const _0x1bc15e=parseInt(_0x4ef408[_0x1b45bc(0x383)]['row']);_0x2eaa0c();if(_0x273a05[_0x1b45bc(0xdc9)][_0x1b45bc(0x543)][_0x1b45bc(0x52a)](_0x1b45bc(0x3b1))){const _0xe11514=_0x273a05['target'][_0x1b45bc(0xbab)][_0x1b45bc(0xe46)]();this[_0x1b45bc(0x9dd)][_0x35bf10]['color_thresholds'][_0x1b45bc(0x55c)][_0x1bc15e][_0x1b45bc(0xbab)]=/^[a-z_]+\.[a-z0-9_]+/i[_0x1b45bc(0xc00)](_0xe11514)?_0xe11514:parseFloat(_0xe11514),this[_0x1b45bc(0x207)]();}_0x273a05['target'][_0x1b45bc(0x543)][_0x1b45bc(0x52a)](_0x1b45bc(0x898))&&(this['_entities'][_0x35bf10]['color_thresholds'][_0x1b45bc(0x55c)][_0x1bc15e][_0x1b45bc(0x81a)]=_0x273a05[_0x1b45bc(0xdc9)][_0x1b45bc(0xbab)],this['_valueChanged']()),_0x273a05[_0x1b45bc(0xdc9)]['classList']['contains']('thr-col-pick')&&(this['_entities'][_0x35bf10][_0x1b45bc(0x41b)][_0x1b45bc(0x55c)][_0x1bc15e]['color']=_0x273a05[_0x1b45bc(0xdc9)][_0x1b45bc(0xbab)],this[_0x1b45bc(0x32f)](),this[_0x1b45bc(0x207)]());}),_0x4ecb90?.[_0x428d8e(0x2cc)]('click',_0x41da0c=>{const _0x540d4f=_0x428d8e,_0x24880c=_0x41da0c[_0x540d4f(0xdc9)][_0x540d4f(0xc53)]('.thr-del');if(!_0x24880c)return;const _0x3098e=parseInt(_0x24880c[_0x540d4f(0xc53)](_0x540d4f(0xda4))[_0x540d4f(0x383)]['row']);_0x2eaa0c(),this[_0x540d4f(0x9dd)][_0x35bf10][_0x540d4f(0x41b)][_0x540d4f(0x55c)][_0x540d4f(0xe7)](_0x3098e,0x1),this['_render'](),this[_0x540d4f(0x207)]();});const _0x31426a=_0x25a694['querySelector'](_0x428d8e(0xd16)),_0x1d8d83=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x698)),_0x51c367=()=>{const _0x19e49c=_0x428d8e;if(!Array[_0x19e49c(0x557)](this[_0x19e49c(0x9dd)][_0x35bf10][_0x19e49c(0x5e8)]))this[_0x19e49c(0x9dd)][_0x35bf10]['moving_averages']=[];};_0x1d8d83?.[_0x428d8e(0x2cc)](_0x428d8e(0x57a),()=>{const _0x34e7ca=_0x428d8e;_0x51c367();const _0x49e063=['#f1c40f',_0x34e7ca(0xbee),_0x34e7ca(0xc41),_0x34e7ca(0x48f),_0x34e7ca(0xbb6)],_0x27752f=this[_0x34e7ca(0x9dd)][_0x35bf10][_0x34e7ca(0x5e8)][_0x34e7ca(0x942)];this[_0x34e7ca(0x9dd)][_0x35bf10][_0x34e7ca(0x5e8)][_0x34e7ca(0x6b5)]({'period':_0x27752f===0x0?0x7:0x1a,'color':_0x49e063[_0x27752f%_0x49e063[_0x34e7ca(0x942)]]}),this[_0x34e7ca(0x32f)](),this[_0x34e7ca(0x207)]();}),_0x31426a?.[_0x428d8e(0x2cc)](_0x428d8e(0x7ac),_0x1e6fe4=>{const _0x190b67=_0x428d8e,_0x8f2e6=_0x1e6fe4[_0x190b67(0xdc9)][_0x190b67(0xc53)](_0x190b67(0xd4b));if(!_0x8f2e6)return;const _0x31d2e2=parseInt(_0x8f2e6[_0x190b67(0x383)][_0x190b67(0xd84)]);_0x51c367(),_0x1e6fe4[_0x190b67(0xdc9)][_0x190b67(0x543)][_0x190b67(0x52a)](_0x190b67(0x8c7))&&(this['_entities'][_0x35bf10][_0x190b67(0x5e8)][_0x31d2e2][_0x190b67(0x500)]=Math['max'](0x1,parseInt(_0x1e6fe4['target']['value'])||0x1),this[_0x190b67(0x207)]()),_0x1e6fe4['target']['classList']['contains'](_0x190b67(0x1e8))&&(this[_0x190b67(0x9dd)][_0x35bf10][_0x190b67(0x5e8)][_0x31d2e2][_0x190b67(0x81a)]=_0x1e6fe4[_0x190b67(0xdc9)][_0x190b67(0xbab)],this[_0x190b67(0x207)]()),_0x1e6fe4['target'][_0x190b67(0x543)][_0x190b67(0x52a)](_0x190b67(0x6d5))&&(this[_0x190b67(0x9dd)][_0x35bf10][_0x190b67(0x5e8)][_0x31d2e2][_0x190b67(0x5fa)]=_0x1e6fe4[_0x190b67(0xdc9)]['checked'],this[_0x190b67(0x207)]());}),_0x31426a?.['addEventListener']('click',_0x21ac95=>{const _0x929e37=_0x428d8e,_0x1e9395=_0x21ac95[_0x929e37(0xdc9)]['closest'](_0x929e37(0x23e));if(!_0x1e9395)return;const _0x1458db=parseInt(_0x1e9395[_0x929e37(0xc53)](_0x929e37(0xd4b))[_0x929e37(0x383)][_0x929e37(0xd84)]);_0x51c367(),this[_0x929e37(0x9dd)][_0x35bf10]['moving_averages']['splice'](_0x1458db,0x1),this[_0x929e37(0x32f)](),this[_0x929e37(0x207)]();}),_0x25a694[_0x428d8e(0xa9d)](_0x428d8e(0x2b8))[_0x428d8e(0x9c6)](_0x37f57b=>{const _0x20cb21=_0x428d8e;_0x37f57b[_0x20cb21(0x2cc)](_0x20cb21(0xb20),_0x190cbd=>{const _0x35e142=_0x20cb21;_0x190cbd[_0x35e142(0x56e)]();},{'passive':![]});});const _0x49ba4b=_0x25a694[_0x428d8e(0x9f7)](_0x428d8e(0x51a));_0x49ba4b?.['addEventListener'](_0x428d8e(0xa19),_0x5ed088=>{const _0x4cc019=_0x428d8e;this[_0x4cc019(0x168)]=_0x35bf10,_0x5ed088['dataTransfer'][_0x4cc019(0xcbf)]=_0x4cc019(0x117),_0x25a694['style'][_0x4cc019(0xa5b)]=_0x4cc019(0x677);}),_0x49ba4b?.[_0x428d8e(0x2cc)]('dragend',()=>{const _0x11e8d0=_0x428d8e;this[_0x11e8d0(0x168)]=null,_0x25a694[_0x11e8d0(0x91c)]['opacity']='1',this['shadowRoot'][_0x11e8d0(0xa9d)](_0x11e8d0(0xafe))[_0x11e8d0(0x9c6)](_0x159c7f=>_0x159c7f['classList'][_0x11e8d0(0x996)]('drag-over'));}),_0x25a694[_0x428d8e(0x2cc)](_0x428d8e(0xa3f),_0x1e07c6=>{const _0x18ac2b=_0x428d8e;if(this[_0x18ac2b(0x168)]===null||this[_0x18ac2b(0x168)]===_0x35bf10)return;_0x1e07c6[_0x18ac2b(0xe3d)](),_0x1e07c6[_0x18ac2b(0xd41)]['dropEffect']=_0x18ac2b(0x117),_0x25a694[_0x18ac2b(0x543)]['add'](_0x18ac2b(0xafa));}),_0x25a694[_0x428d8e(0x2cc)](_0x428d8e(0xb95),()=>{const _0x20d5aa=_0x428d8e;_0x25a694[_0x20d5aa(0x543)][_0x20d5aa(0x996)]('drag-over');}),_0x25a694['addEventListener'](_0x428d8e(0x5f3),_0x388861=>{const _0x2f5a3c=_0x428d8e;_0x388861[_0x2f5a3c(0xe3d)](),_0x25a694[_0x2f5a3c(0x543)][_0x2f5a3c(0x996)](_0x2f5a3c(0xafa));if(this[_0x2f5a3c(0x168)]!==null&&this[_0x2f5a3c(0x168)]!==_0x35bf10){const _0x4e17bb=[...this['_entities']],[_0xd03bd7]=_0x4e17bb[_0x2f5a3c(0xe7)](this[_0x2f5a3c(0x168)],0x1);_0x4e17bb[_0x2f5a3c(0xe7)](_0x35bf10,0x0,_0xd03bd7),this['_tmp'][_0x2f5a3c(0xb38)]=_0x4e17bb,this[_0x2f5a3c(0x32f)](),this['_valueChanged']();}});});const _0x354692=(_0x8fb992,_0x4a9451)=>{const _0x579122=_0x59dd03;if(!_0x8fb992)return;_0x8fb992['disabled']=!![];const _0x5f5c46=_0x8fb992[_0x579122(0xc53)](_0x579122(0xb60))||_0x8fb992[_0x579122(0xcf6)];if(!_0x5f5c46)return;_0x5f5c46[_0x579122(0x91c)]['opacity']=_0x579122(0xaab),_0x5f5c46[_0x579122(0x915)]=this[_0x579122(0x2df)](_0x579122(0x48c))+':\x0a'+_0x4a9451;const _0x1820f6=_0x5f5c46['querySelector'](_0x579122(0x29a))||_0x5f5c46;if(_0x1820f6&&!_0x1820f6[_0x579122(0x9f7)](_0x579122(0x26c))){const _0x3aff82=document['createElement'](_0x579122(0x2ef));_0x3aff82['className']='tpl-badge',_0x3aff82[_0x579122(0x564)]=_0x579122(0xbc2),_0x3aff82['style']['cssText']=_0x579122(0x7ea),_0x1820f6[_0x579122(0x715)](_0x3aff82);}};for(const _0x2e5a40 of TEMPLATABLE_BOOL_CARD_KEYS){isTemplateString(this[_0x59dd03(0x13a)]?.[_0x2e5a40])&&_0x354692(this['shadowRoot'][_0x59dd03(0x7d9)](_0x2e5a40),this[_0x59dd03(0x13a)][_0x2e5a40]);}this[_0x59dd03(0xd5d)][_0x59dd03(0xa9d)]('.ec')['forEach']((_0xe4b324,_0x554f27)=>{const _0x1ab1a9=_0x59dd03,_0x57d5db=this[_0x1ab1a9(0x9dd)][_0x554f27];if(!_0x57d5db)return;for(const _0x232ec5 of TEMPLATABLE_BOOL_ENTITY_KEYS){isTemplateString(_0x57d5db[_0x232ec5])&&_0x354692(_0xe4b324[_0x1ab1a9(0x9f7)](_0x1ab1a9(0xac2)+_0x232ec5),_0x57d5db[_0x232ec5]);}});}['_on'](_0x45d4cb,_0x238b64,_0x23c143){const _0x8a565c=_0x51ece7,_0x4cc15f=this[_0x8a565c(0xd5d)][_0x8a565c(0x7d9)](_0x45d4cb);if(!_0x4cc15f)return;if(_0x238b64===_0x8a565c(0x2c1)&&_0x4cc15f[_0x8a565c(0x46c)]==='number'){_0x4cc15f['addEventListener'](_0x8a565c(0x7ac),_0x23c143);return;}_0x4cc15f[_0x8a565c(0x2cc)](_0x238b64,_0x23c143);}[_0x51ece7(0x99c)](_0x147eb2,_0x3fedea='text'){const _0x48f0cc=_0x51ece7;if(_0x3fedea===_0x48f0cc(0x625))return!!_0x147eb2[_0x48f0cc(0x233)];if(_0x3fedea===_0x48f0cc(0x9b4)){const _0x24ffb1=parseInt(_0x147eb2[_0x48f0cc(0xbab)],0xa);return isNaN(_0x24ffb1)?null:_0x24ffb1;}if(_0x3fedea==='float'){const _0x57b08c=parseFloat(_0x147eb2[_0x48f0cc(0xbab)]);return isNaN(_0x57b08c)?null:_0x57b08c;}return _0x147eb2[_0x48f0cc(0xbab)];}['_valueChanged'](){const _0x5f4f11=_0x51ece7,_0x5a7c4d=this[_0x5f4f11(0x13a)]||this[_0x5f4f11(0xc5c)]||{},_0x16fe79=_0x2c6a49=>this[_0x5f4f11(0xd5d)][_0x5f4f11(0x7d9)](_0x2c6a49)||(_0x5a7c4d&&_0x2c6a49 in _0x5a7c4d?{'value':_0x5a7c4d[_0x2c6a49]==null?'':String(_0x5a7c4d[_0x2c6a49]),'checked':_0x5a7c4d[_0x2c6a49]===!![]}:null),_0x19c559=_0x3a1fa6=>_0x16fe79(_0x3a1fa6)?.[_0x5f4f11(0xbab)],_0x19f772=(_0x41533a,_0x430e86)=>{const _0x2a428e=_0x5f4f11,_0x172f82=this[_0x2a428e(0x13a)]?.[_0x41533a];return isTemplateString(_0x172f82)?_0x172f82:_0x430e86;},_0x499255={'type':_0x5f4f11(0x651),'card_header':_0x19c559(_0x5f4f11(0x4d6))||void 0x0,'card_header_size':_0x19c559(_0x5f4f11(0xbe6))||void 0x0,'card_background_color':_0x19c559('card_background_color')||void 0x0,'card_shadow':_0x16fe79(_0x5f4f11(0x4fc))?.['checked']??!![],'card_border':_0x16fe79(_0x5f4f11(0x615))?.[_0x5f4f11(0x233)]??!![],'card_padding':((()=>{const _0x1c61e0=_0x5f4f11,_0x2c7e9f=_0x19c559(_0x1c61e0(0x9c5));if(!_0x2c7e9f)return void 0x0;return/^-?\d+\.?\d*$/[_0x1c61e0(0xc00)](_0x2c7e9f['trim']())?parseFloat(_0x2c7e9f):_0x2c7e9f;})()),'card_border_radius':((()=>{const _0x380fcc=_0x5f4f11,_0x7d4827=_0x19c559(_0x380fcc(0x2a6));if(!_0x7d4827)return void 0x0;return/^-?\d+\.?\d*$/[_0x380fcc(0xc00)](_0x7d4827[_0x380fcc(0xe46)]())?parseFloat(_0x7d4827):_0x7d4827;})()),'card_border_color':_0x19c559(_0x5f4f11(0x9c))||void 0x0,'card_border_width':((()=>{const _0x45146c=_0x5f4f11,_0x46ea22=_0x19c559('card_border_width');if(!_0x46ea22)return void 0x0;return/^-?\d+\.?\d*$/[_0x45146c(0xc00)](_0x46ea22[_0x45146c(0xe46)]())?parseFloat(_0x46ea22):_0x46ea22;})()),'card_background_image':_0x19c559(_0x5f4f11(0x105))||void 0x0,'card_background_blur':((()=>{const _0x2dc211=_0x5f4f11,_0x57aa39=_0x19c559(_0x2dc211(0xcfc));if(_0x57aa39===''||_0x57aa39==null)return void 0x0;const _0x237f6f=parseFloat(_0x57aa39);return isNaN(_0x237f6f)?void 0x0:_0x237f6f;})()),'card_header_color':_0x19c559(_0x5f4f11(0xa7a))||void 0x0,'card_header_weight':_0x19c559(_0x5f4f11(0x749))||void 0x0,'card_header_letter_spacing':((()=>{const _0xb1db8e=_0x5f4f11,_0x2657bc=_0x19c559(_0xb1db8e(0x870));if(!_0x2657bc)return void 0x0;return/^-?\d+\.?\d*$/['test'](_0x2657bc[_0xb1db8e(0xe46)]())?parseFloat(_0x2657bc):_0x2657bc;})()),'show_now_line':_0x19f772('show_now_line',_0x16fe79('show_now_line')?.[_0x5f4f11(0x233)]??!![]),'now_line_color':_0x19c559(_0x5f4f11(0x905))||void 0x0,'period_highlight':_0x19f772(_0x5f4f11(0x8dd),_0x16fe79(_0x5f4f11(0x8dd))?.['checked']||void 0x0),'period_highlight_color':_0x19c559(_0x5f4f11(0x848))||void 0x0,'now_line_opacity':((()=>{const _0x592f72=_0x19c559('now_line_opacity');if(_0x592f72===''||_0x592f72==null)return void 0x0;const _0x32ba52=parseFloat(_0x592f72);return isNaN(_0x32ba52)?void 0x0:_0x32ba52;})()),'now_line_width':((()=>{const _0x1a204b=_0x5f4f11,_0x426c3c=_0x19c559(_0x1a204b(0x939));if(_0x426c3c===''||_0x426c3c==null)return void 0x0;const _0x20580c=parseFloat(_0x426c3c);return isNaN(_0x20580c)?void 0x0:_0x20580c;})()),'now_line_style':_0x19c559(_0x5f4f11(0x8b1))||void 0x0,'card_icon':this['_tmp'][_0x5f4f11(0xdcc)]||void 0x0,'card_icon_size':_0x19c559('card_icon_size')||void 0x0,'card_icon_image':_0x19c559(_0x5f4f11(0xc43))||void 0x0,'card_icon_color':this[_0x5f4f11(0x13a)]['card_icon_color']||void 0x0,'card_icon_position':_0x19c559(_0x5f4f11(0x63e))||void 0x0,'battery_entity':this[_0x5f4f11(0x13a)][_0x5f4f11(0x710)]!==void 0x0?this[_0x5f4f11(0x13a)][_0x5f4f11(0x710)]:this['_config']['battery_entity']||void 0x0,'battery_low_threshold':((()=>{const _0x4868ee=_0x5f4f11,_0x1160a1=_0x19c559(_0x4868ee(0x3c9));if(!_0x1160a1)return;const _0x72aeee=parseFloat(_0x1160a1);return isNaN(_0x72aeee)?_0x1160a1:_0x72aeee;})()),'show_grid':_0x19f772(_0x5f4f11(0x17b),_0x16fe79('show_grid')?.['checked']??!![]),'show_cell_values':_0x19f772(_0x5f4f11(0x765),_0x16fe79(_0x5f4f11(0x765))?.[_0x5f4f11(0x233)]??!![]),'show_tooltip':_0x19f772(_0x5f4f11(0x2d2),_0x16fe79(_0x5f4f11(0x2d2))?.[_0x5f4f11(0x233)]??!![]),'show_tooltip_total':_0x19f772(_0x5f4f11(0xa93),_0x16fe79(_0x5f4f11(0xa93))?.[_0x5f4f11(0x233)]??!![]),'tooltip_stacked_total':_0x19f772('tooltip_stacked_total',_0x16fe79(_0x5f4f11(0x386))?.[_0x5f4f11(0x233)]??!![]),'show_legend':_0x19f772(_0x5f4f11(0xbd7),_0x16fe79('show_legend')?.['checked']??![]),'include_area_names':_0x16fe79(_0x5f4f11(0x9f))?.[_0x5f4f11(0x233)]||void 0x0,'include_attribute_name':_0x16fe79(_0x5f4f11(0xcc3))?.[_0x5f4f11(0x233)]||void 0x0,'use_only_attribute_name':_0x16fe79(_0x5f4f11(0x6dd))?.[_0x5f4f11(0x233)]||void 0x0,'legend_position':_0x19c559(_0x5f4f11(0x11e))||void 0x0,'show_y_axis':_0x19f772(_0x5f4f11(0x56c),_0x16fe79(_0x5f4f11(0x56c))?.[_0x5f4f11(0x233)]??!![]),'show_y2_axis':_0x19f772(_0x5f4f11(0x148),_0x16fe79(_0x5f4f11(0x148))?.[_0x5f4f11(0x233)]??![]),'show_y_axis_label':_0x19f772(_0x5f4f11(0x37a),_0x16fe79(_0x5f4f11(0x37a))?.[_0x5f4f11(0x233)]??![]),'show_x_axis':_0x19f772(_0x5f4f11(0x6e3),_0x16fe79(_0x5f4f11(0x6e3))?.[_0x5f4f11(0x233)]??!![]),'show_x_ticks':_0x19f772('show_x_ticks',_0x16fe79(_0x5f4f11(0x82e))?.['checked']??![]),'show_y_ticks':_0x19f772('show_y_ticks',_0x16fe79('show_y_ticks')?.[_0x5f4f11(0x233)]??![]),'logarithmic':_0x19f772(_0x5f4f11(0x113),_0x16fe79(_0x5f4f11(0x113))?.[_0x5f4f11(0x233)]??![]),'animate_graph':_0x16fe79('animate_graph')?.['checked']??![],'auto_hide_entities':_0x16fe79(_0x5f4f11(0xca7))?.[_0x5f4f11(0x233)]??![],'brush_zoom':_0x16fe79('brush_zoom')?.[_0x5f4f11(0x233)]??!![],'drill_down':_0x16fe79(_0x5f4f11(0x16a))?.['checked']?!![]:undefined,'stacked':_0x19f772(_0x5f4f11(0xb76),_0x16fe79('stacked')?.[_0x5f4f11(0x233)]??![]),'sparkline':_0x16fe79(_0x5f4f11(0x69f))?.[_0x5f4f11(0x233)]??![],'max_visible_interval':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xd7d))),'extended_window_multiplier':this['_numOrNull'](_0x19c559(_0x5f4f11(0x6df))),'scroll_mode':_0x19c559(_0x5f4f11(0x293))||'scrollbar','show_interval_picker':_0x16fe79(_0x5f4f11(0x328))?.[_0x5f4f11(0x233)]??![],'interval_picker_position':_0x19c559(_0x5f4f11(0xcce))||void 0x0,'interval_options':((()=>{const _0x35c77c=_0x5f4f11,_0x2265b0=this[_0x35c77c(0xd5d)][_0x35c77c(0xa9d)](_0x35c77c(0x1a7));if(!_0x2265b0[_0x35c77c(0x942)])return _0x5a7c4d[_0x35c77c(0x927)];const _0x1426f1=['1H','2H','4H','8H',_0x35c77c(0x312),_0x35c77c(0x3e8),'7D'],_0x5c7794=[];_0x2265b0['forEach'](_0x49dc0e=>{const _0x3f2658=_0x35c77c;if(_0x49dc0e['checked'])_0x5c7794[_0x3f2658(0x6b5)](_0x49dc0e[_0x3f2658(0x383)]['intlabel']);});if(_0x5c7794['length']===_0x1426f1[_0x35c77c(0x942)]&&_0x1426f1[_0x35c77c(0xb15)](_0x44a1be=>_0x5c7794['includes'](_0x44a1be)))return;return _0x5c7794;})()),'show_attribute_list':_0x16fe79(_0x5f4f11(0x6f0))?.[_0x5f4f11(0x233)]??![],'attribute_list_position':_0x19c559(_0x5f4f11(0x822))||void 0x0,'show_pph_picker':_0x16fe79(_0x5f4f11(0x856))?.[_0x5f4f11(0x233)]??![],'pph_picker_position':_0x19c559(_0x5f4f11(0x3ef))||void 0x0,'show_group_by_picker':_0x16fe79('show_group_by_picker')?.[_0x5f4f11(0x233)]??![],'group_by_picker_position':_0x19c559(_0x5f4f11(0x940))||void 0x0,'pph_picker_group':_0x19c559('pph_picker_group')||void 0x0,'group_by_picker_group':_0x19c559(_0x5f4f11(0xd7b))||void 0x0,'hours_to_show':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xb45))),'points_per_hour':this[_0x5f4f11(0x15a)](_0x19c559('points_per_hour')),'auto_scale_points':_0x16fe79('auto_scale_points')?.[_0x5f4f11(0x233)]??![],'tooltip_match_axis':_0x16fe79(_0x5f4f11(0xbb7))?.[_0x5f4f11(0x233)]??![],'tooltip_order':_0x19c559(_0x5f4f11(0x8f0))||void 0x0,'height':((()=>{const _0x45f2cf=_0x5f4f11,_0x23db27=_0x19c559('height');if(_0x23db27===void 0x0||_0x23db27===null||String(_0x23db27)[_0x45f2cf(0xe46)]()==='')return _0x45f2cf(0x5fc);const _0x16fe5c=Number(_0x23db27);return isNaN(_0x16fe5c)?'auto':_0x16fe5c;})()),'update_interval':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x9af))),'graph_start_hour':((()=>{const _0x469fe9=_0x5f4f11,_0x3c7417=_0x19c559(_0x469fe9(0x85e));if(!_0x3c7417)return null;const _0x5040e7=parseFloat(_0x3c7417);return isNaN(_0x5040e7)?_0x3c7417:_0x5040e7;})()),'graph_end_hour':((()=>{const _0x6cbd6e=_0x5f4f11,_0x2d8f0e=_0x19c559(_0x6cbd6e(0xbe8));if(!_0x2d8f0e)return null;const _0x252bac=parseFloat(_0x2d8f0e);return isNaN(_0x252bac)?_0x2d8f0e:_0x252bac;})()),'graph_start':_0x19c559(_0x5f4f11(0xb8))||void 0x0,'show_full_period':_0x16fe79('show_full_period')?.[_0x5f4f11(0x233)]??![],'bar_spacing':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xdc5))),'state_timeline_corner_radius':this[_0x5f4f11(0x15a)](_0x19c559('state_timeline_corner_radius')),'state_timeline_show_labels':_0x19f772('state_timeline_show_labels',_0x16fe79(_0x5f4f11(0x733))?.['checked']??!![]),'state_timeline_label_font_size':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x369))),'show_export':_0x19f772(_0x5f4f11(0xe2c),_0x16fe79(_0x5f4f11(0xe2c))?.[_0x5f4f11(0x233)]||void 0x0),'ranking_min_value':this[_0x5f4f11(0x15a)](_0x19c559('ranking_min_value')),'pie_style':_0x19c559(_0x5f4f11(0x722))||void 0x0,'pie_spacing':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x919))),'pie_3d':_0x16fe79(_0x5f4f11(0x5cf))?.[_0x5f4f11(0x233)]??![],'pie_label_font_size':this['_numOrNull'](_0x19c559('pie_label_font_size')),'pie_label_color':_0x19c559(_0x5f4f11(0xaaa))||void 0x0,'pie_label_format':_0x19c559(_0x5f4f11(0xd5e))||void 0x0,'gauge_columns':this[_0x5f4f11(0x15a)](_0x19c559('gauge_columns')),'gauge_value_position':_0x19c559(_0x5f4f11(0x2c8))||void 0x0,'gauge_value_size':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x3fb))),'gauge_span':this['_numOrNull'](_0x19c559(_0x5f4f11(0x55d))),'gauge_show_minmax':_0x16fe79('gauge_show_minmax')?.[_0x5f4f11(0x233)]||void 0x0,'pie_center_font_size':this[_0x5f4f11(0x15a)](_0x19c559('pie_center_font_size')),'pie_center_color':_0x19c559(_0x5f4f11(0x6f9))||void 0x0,'min_bound_range':this['_numOrNull'](_0x19c559(_0x5f4f11(0x952))),'min_bound_range_secondary':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xdae))),'lower_bound_secondary':_0x19c559(_0x5f4f11(0x6f6))||void 0x0,'upper_bound_secondary':_0x19c559('upper_bound_secondary')||void 0x0,'lower_bound':_0x19c559(_0x5f4f11(0x827))||void 0x0,'upper_bound':_0x19c559(_0x5f4f11(0xd0))||void 0x0,'y_axis_ticks':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x632))),'y_axis_round_ticks':_0x16fe79(_0x5f4f11(0x259))?.[_0x5f4f11(0x233)]??!![],'y_axis_decimals':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x2ea))),'y_axis_number_format':_0x19c559(_0x5f4f11(0x779))||_0x5f4f11(0xd28),'y_axis_label':_0x19c559('y_axis_label')||void 0x0,'y_axis_format':_0x19c559('y_axis_format')||void 0x0,'y2_axis_format':_0x19c559('y2_axis_format')||void 0x0,'duration_unit':_0x19c559(_0x5f4f11(0x6e7))==='s'?void 0x0:_0x19c559(_0x5f4f11(0x6e7))||void 0x0,'y2_axis_label':_0x19c559('y2_axis_label')||void 0x0,'y_axis_font_size':this[_0x5f4f11(0x15a)](_0x19c559('y_axis_font_size')),'y_axis_font_opacity':this['_numOrNull'](_0x19c559(_0x5f4f11(0x4e7))),'y_axis_color':_0x19c559(_0x5f4f11(0x512))||void 0x0,'x_axis_font_size':this[_0x5f4f11(0x15a)](_0x19c559('x_axis_font_size')),'x_axis_font_opacity':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xc22))),'x_axis_color':_0x19c559(_0x5f4f11(0x65f))||void 0x0,'x_axis_date_color':_0x19c559('x_axis_date_color')||void 0x0,'x_axis_interval':_0x19c559(_0x5f4f11(0xd2))||void 0x0,'datetime_format':_0x19c559(_0x5f4f11(0x93a))||void 0x0,'time_zone':_0x19c559(_0x5f4f11(0xa05))&&_0x19c559('time_zone')!=='auto'?_0x19c559(_0x5f4f11(0xa05)):void 0x0,'language':_0x19c559(_0x5f4f11(0x444))&&_0x19c559(_0x5f4f11(0x444))!==_0x5f4f11(0x5fc)?_0x19c559(_0x5f4f11(0x444)):void 0x0,'x_grid_style':_0x19c559(_0x5f4f11(0xd53))||void 0x0,'x_grid_width':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xcf0))),'x_grid_color':_0x19c559(_0x5f4f11(0x9cd))||void 0x0,'x_grid_opacity':this['_numOrNull'](_0x19c559(_0x5f4f11(0x459))),'y_grid_style':_0x19c559('y_grid_style')||void 0x0,'y_grid_width':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0x7a7))),'y_grid_color':_0x19c559(_0x5f4f11(0x6bd))||void 0x0,'y_grid_opacity':this[_0x5f4f11(0x15a)](_0x19c559(_0x5f4f11(0xcb8))),'tooltip_sync':_0x16fe79(_0x5f4f11(0x4ef))?.[_0x5f4f11(0x233)]??![],'zoom_sync':_0x16fe79('zoom_sync')?.[_0x5f4f11(0x233)]??![],'scroll_sync':_0x16fe79(_0x5f4f11(0x49a))?.[_0x5f4f11(0x233)]??![],'energy_date_sync':_0x16fe79(_0x5f4f11(0x7de))?.[_0x5f4f11(0x233)]??![],'energy_collection_key':(_0x19c559(_0x5f4f11(0xcc7))||'')['trim']()||void 0x0,'show_date_picker':_0x16fe79(_0x5f4f11(0x212))?.['checked']??![],'date_picker_position':_0x19c559(_0x5f4f11(0x541))||void 0x0,'date_picker_nav_position':_0x19c559(_0x5f4f11(0x62f))===_0x5f4f11(0xa52)?void 0x0:_0x19c559('date_picker_nav_position')||void 0x0,'date_picker_shortcuts_position':_0x19c559(_0x5f4f11(0xdff))===_0x5f4f11(0xd44)?void 0x0:_0x19c559('date_picker_shortcuts_position')||void 0x0,'date_picker_default_mode':_0x19c559('date_picker_default_mode')||void 0x0,'date_picker_group':_0x19c559('date_picker_group')||void 0x0,'interval_picker_group':_0x19c559('interval_picker_group')||void 0x0,'date_picker_modes':((()=>{const _0x373877=_0x5f4f11,_0x5dae2c=this[_0x373877(0xd5d)][_0x373877(0xa9d)](_0x373877(0xe16));if(!_0x5dae2c[_0x373877(0x942)])return _0x5a7c4d[_0x373877(0xc26)];const _0x202bb7=[_0x373877(0xaef),'week',_0x373877(0x4b3),'year'],_0x3a4a40=[];_0x5dae2c[_0x373877(0x9c6)](_0x1f9148=>{const _0x432bad=_0x373877;if(_0x1f9148['checked'])_0x3a4a40[_0x432bad(0x6b5)](_0x1f9148[_0x432bad(0x383)]['dpmode']);});if(_0x3a4a40[_0x373877(0x942)]===_0x202bb7[_0x373877(0x942)]&&_0x202bb7[_0x373877(0xb15)](_0x97f12=>_0x3a4a40[_0x373877(0x9b)](_0x97f12)))return;if(_0x3a4a40[_0x373877(0x942)]===0x0)return;return _0x3a4a40;})()),'date_picker_step':((()=>{const _0x150fe0=_0x5f4f11,_0x3af965=this[_0x150fe0(0x15a)](_0x19c559('date_picker_step'));return _0x3af965&&_0x3af965>0x1?_0x3af965:void 0x0;})()),'tooltip_sync_group':_0x19c559(_0x5f4f11(0xbfa))||void 0x0,'zoom_sync_group':_0x19c559(_0x5f4f11(0x850))||void 0x0,'scroll_sync_group':_0x19c559(_0x5f4f11(0x684))||void 0x0,'align_header':_0x19c559(_0x5f4f11(0xc71))||void 0x0,'state_layout':_0x19c559(_0x5f4f11(0x3f3))||void 0x0,'group_by':_0x19c559('group_by')||void 0x0,'chart_mode':_0x19c559('chart_mode')||_0x5f4f11(0x8ec),'chart_align':_0x19c559(_0x5f4f11(0x508))||void 0x0,'entities':this[_0x5f4f11(0x8e0)](this[_0x5f4f11(0x9dd)],!![]),'annotations':this['_tmp'][_0x5f4f11(0x761)]||this[_0x5f4f11(0xc5c)][_0x5f4f11(0x761)]||[],'auto_scale_rules':(_0x29fe6f=>_0x29fe6f['length']?_0x29fe6f:void 0x0)((this[_0x5f4f11(0x13a)]['auto_scale_rules']||this[_0x5f4f11(0xc5c)][_0x5f4f11(0xcc)]||[])[_0x5f4f11(0x101)](_0x20eec5=>_0x20eec5&&typeof _0x20eec5===_0x5f4f11(0x4a6)&&isNum(toNum(_0x20eec5[_0x5f4f11(0x980)]))&&toNum(_0x20eec5[_0x5f4f11(0x980)])>0x0)[_0x5f4f11(0x89f)](_0x5e078b=>{const _0x5e09c7=_0x5f4f11,_0x26ed7d={'up_to_hours':toNum(_0x5e078b[_0x5e09c7(0x980)]),'group_by':_0x5e078b['group_by']||_0x5e09c7(0x36a)},_0x6fbb2f=toNum(_0x5e078b[_0x5e09c7(0x973)]);if(isNum(_0x6fbb2f)&&_0x6fbb2f>0x0)_0x26ed7d[_0x5e09c7(0x973)]=_0x6fbb2f;if(typeof _0x5e078b[_0x5e09c7(0xd2)]===_0x5e09c7(0x355)&&_0x5e078b[_0x5e09c7(0xd2)]['trim']())_0x26ed7d[_0x5e09c7(0xd2)]=_0x5e078b[_0x5e09c7(0xd2)][_0x5e09c7(0xe46)]();if(typeof _0x5e078b[_0x5e09c7(0x93a)]===_0x5e09c7(0x355)&&_0x5e078b[_0x5e09c7(0x93a)][_0x5e09c7(0xe46)]())_0x26ed7d[_0x5e09c7(0x93a)]=_0x5e078b[_0x5e09c7(0x93a)][_0x5e09c7(0xe46)]();if(typeof _0x5e078b['x_axis_datetime_format']==='string'&&_0x5e078b['x_axis_datetime_format']['trim']())_0x26ed7d[_0x5e09c7(0x826)]=_0x5e078b[_0x5e09c7(0x826)][_0x5e09c7(0xe46)]();return _0x26ed7d;}))};for(const _0x143fb4 of Object['keys'](this[_0x5f4f11(0xc5c)]))if(!(_0x143fb4 in _0x499255))_0x499255[_0x143fb4]=this[_0x5f4f11(0xc5c)][_0x143fb4];Object['keys'](_0x499255)[_0x5f4f11(0x9c6)](_0x1294a6=>_0x499255[_0x1294a6]===void 0x0&&delete _0x499255[_0x1294a6]);const _0x4ae0b3=StatisticsGraphChartCard[_0x5f4f11(0xa26)];for(const _0x1c0d60 of Object[_0x5f4f11(0x7c3)](_0x499255)){if(!(_0x1c0d60 in _0x4ae0b3))continue;if(_0x1c0d60==='height')continue;const _0x2d278d=_0x499255[_0x1c0d60],_0x5e674b=_0x4ae0b3[_0x1c0d60],_0x261158=(_0x2d278d===null||_0x2d278d===''||_0x2d278d===void 0x0)&&(_0x5e674b===null||_0x5e674b===''||_0x5e674b===void 0x0);if(_0x261158||_0x2d278d===_0x5e674b)delete _0x499255[_0x1c0d60];}this['_tmp']=structuredClone(_0x499255);const _0x5192bb=structuredClone(_0x499255);_0x5192bb['entities']=this[_0x5f4f11(0x8e0)](this[_0x5f4f11(0x9dd)],![]),JSON[_0x5f4f11(0x2a7)](this[_0x5f4f11(0xc5c)])!==JSON[_0x5f4f11(0x2a7)](_0x5192bb)&&(this[_0x5f4f11(0xc5c)]=structuredClone(_0x5192bb),this[_0x5f4f11(0x179)](new CustomEvent(_0x5f4f11(0xaf0),{'detail':{'config':_0x5192bb},'bubbles':!![],'composed':!![]})));}[_0x51ece7(0x8e0)](_0x436189,_0x27c865=![]){const _0x38a2ae=_0x51ece7,_0x5ec7c7=[],_0xbaa2de=StatisticsGraphChartCard[_0x38a2ae(0x587)](),_0x15e886=new Set([_0x38a2ae(0x8c6),_0x38a2ae(0x7fb),_0x38a2ae(0xd82),'color']);for(const _0x203c58 of _0x436189){if(!_0x203c58)continue;if(!_0x203c58[_0x38a2ae(0x8c6)]&&!_0x203c58['statistic_id']&&!_0x27c865)continue;const _0xae9354={..._0x203c58};[_0x38a2ae(0x96),_0x38a2ae(0x846),_0x38a2ae(0xde5),_0x38a2ae(0xaff),_0x38a2ae(0x973),_0x38a2ae(0x80e),_0x38a2ae(0x5b4),'fill_opacity'][_0x38a2ae(0x9c6)](_0x307f9b=>{if(_0xae9354[_0x307f9b]!==void 0x0&&_0xae9354[_0x307f9b]!==null&&_0xae9354[_0x307f9b]!=='')_0xae9354[_0x307f9b]=Number(_0xae9354[_0x307f9b]);});_0xae9354[_0x38a2ae(0x5c9)]===''||_0xae9354[_0x38a2ae(0x5c9)]===null||Number(_0xae9354[_0x38a2ae(0x5c9)])===0x0||isNaN(Number(_0xae9354['z_index']))?delete _0xae9354['z_index']:_0xae9354[_0x38a2ae(0x5c9)]=Number(_0xae9354['z_index']);Object[_0x38a2ae(0x7c3)](_0xae9354)[_0x38a2ae(0x9c6)](_0x4ca870=>_0xae9354[_0x4ca870]===''&&_0x4ca870!==_0x38a2ae(0x8c6)&&_0x4ca870!==_0x38a2ae(0xd82)?delete _0xae9354[_0x4ca870]:0x0),delete _0xae9354[_0x38a2ae(0x93a)];if(_0xae9354[_0x38a2ae(0x41b)]){if(!Array['isArray'](_0xae9354[_0x38a2ae(0x41b)]['values']))_0xae9354[_0x38a2ae(0x41b)][_0x38a2ae(0x55c)]=[];const _0x34e787=_0x31ca43=>typeof _0x31ca43==='string'&&(/^[a-z_]+\.[a-z0-9_]+/i['test'](_0x31ca43)||_0x31ca43[_0x38a2ae(0x9b)]('{{'));_0xae9354[_0x38a2ae(0x41b)][_0x38a2ae(0x55c)]=_0xae9354[_0x38a2ae(0x41b)][_0x38a2ae(0x55c)][_0x38a2ae(0x101)](_0x455e49=>_0x455e49&&(_0x34e787(_0x455e49[_0x38a2ae(0xbab)])||!isNaN(parseFloat(_0x455e49[_0x38a2ae(0xbab)]))))[_0x38a2ae(0x89f)](_0x3ecac1=>({'value':_0x34e787(_0x3ecac1[_0x38a2ae(0xbab)])?_0x3ecac1[_0x38a2ae(0xbab)]:Number(_0x3ecac1[_0x38a2ae(0xbab)]),'color':_0x3ecac1[_0x38a2ae(0x81a)]||'#ff4757'}));if(_0xae9354[_0x38a2ae(0x41b)]['transition']&&_0xae9354[_0x38a2ae(0x41b)][_0x38a2ae(0xd02)]!==_0x38a2ae(0xc8e));else delete _0xae9354['color_thresholds']['transition'];if(!_0xae9354[_0x38a2ae(0x41b)]['last_color'])delete _0xae9354[_0x38a2ae(0x41b)][_0x38a2ae(0x4fd)];}if(_0xae9354[_0x38a2ae(0x8e6)]!==undefined){const _0x1fa68a=_0xae9354[_0x38a2ae(0x8e6)],_0x121014=_0xc75bba=>{const _0x34e8fd=_0x38a2ae;if(!_0xc75bba||typeof _0xc75bba!=='object')return null;const _0x3108d7={};for(const _0xf4e8e0 of[_0x34e8fd(0x500),_0x34e8fd(0x81a),_0x34e8fd(0xa5b),_0x34e8fd(0x96),_0x34e8fd(0x873),_0x34e8fd(0x531),_0x34e8fd(0x635),_0x34e8fd(0xacd),_0x34e8fd(0xb90),_0x34e8fd(0x706)]){if(_0xc75bba[_0xf4e8e0]!==undefined&&_0xc75bba[_0xf4e8e0]!==null&&_0xc75bba[_0xf4e8e0]!=='')_0x3108d7[_0xf4e8e0]=_0xc75bba[_0xf4e8e0];}if(_0xc75bba[_0x34e8fd(0x7e1)]&&_0xc75bba[_0x34e8fd(0x7e1)]!==_0x34e8fd(0x9ab))_0x3108d7[_0x34e8fd(0x7e1)]=_0xc75bba[_0x34e8fd(0x7e1)];if(_0xc75bba[_0x34e8fd(0x4ec)]===_0x34e8fd(0x68f))_0x3108d7['layout']=_0x34e8fd(0x68f);const _0xc71544=parseInt(_0xc75bba[_0x34e8fd(0xa53)]);if(!isNaN(_0xc71544)&&_0xc71544>0x1)_0x3108d7[_0x34e8fd(0xa53)]=_0xc71544;return _0x3108d7;};if(!_0x1fa68a)delete _0xae9354[_0x38a2ae(0x8e6)];else{if(Array[_0x38a2ae(0x557)](_0x1fa68a)){const _0x484a02=_0x1fa68a[_0x38a2ae(0x101)](Boolean)['map'](_0x2e9b6e=>_0x2e9b6e&&typeof _0x2e9b6e===_0x38a2ae(0x4a6)?_0x2e9b6e:{'period':_0x2e9b6e===!![]?_0x38a2ae(0x5e5):String(_0x2e9b6e)})[_0x38a2ae(0x89f)](_0x121014);if(!_0x484a02[_0x38a2ae(0x942)])delete _0xae9354[_0x38a2ae(0x8e6)];else{if(_0x484a02[_0x38a2ae(0x942)]===0x1){const _0x8bd1b7=_0x484a02[0x0],_0x187f67=Object[_0x38a2ae(0x7c3)](_0x8bd1b7);if(!_0x187f67[_0x38a2ae(0x942)])_0xae9354['compare']=_0x38a2ae(0x5e5);else{if(_0x187f67['length']===0x1&&_0x8bd1b7[_0x38a2ae(0x500)])_0xae9354['compare']=_0x8bd1b7[_0x38a2ae(0x500)];else _0xae9354['compare']=_0x8bd1b7;}}else _0xae9354[_0x38a2ae(0x8e6)]=_0x484a02;}}else{if(typeof _0x1fa68a===_0x38a2ae(0x4a6)){const _0x1a7346=_0x121014(_0x1fa68a);if(!_0x1a7346[_0x38a2ae(0x500)]&&Object['keys'](_0x1a7346)[_0x38a2ae(0x942)])_0x1a7346['period']=_0x38a2ae(0x5e5);if(!_0x1a7346['period'])delete _0xae9354['compare'];else{if(Object[_0x38a2ae(0x7c3)](_0x1a7346)[_0x38a2ae(0x942)]===0x1)_0xae9354[_0x38a2ae(0x8e6)]=_0x1a7346[_0x38a2ae(0x500)];else _0xae9354['compare']=_0x1a7346;}}}}}if(Array[_0x38a2ae(0x557)](_0xae9354[_0x38a2ae(0x5e8)])){_0xae9354['moving_averages']=_0xae9354[_0x38a2ae(0x5e8)][_0x38a2ae(0x101)](_0x1607ff=>_0x1607ff&&!isNaN(parseInt(_0x1607ff[_0x38a2ae(0x500)]))&&parseInt(_0x1607ff[_0x38a2ae(0x500)])>0x0)['map'](_0x45b496=>{const _0x353b00=_0x38a2ae,_0x4f62e9={'period':parseInt(_0x45b496[_0x353b00(0x500)])};if(_0x45b496[_0x353b00(0x81a)])_0x4f62e9[_0x353b00(0x81a)]=_0x45b496['color'];if(_0x45b496[_0x353b00(0x97e)]!=null&&_0x45b496['width']!==''&&!isNaN(Number(_0x45b496[_0x353b00(0x97e)])))_0x4f62e9[_0x353b00(0x97e)]=Number(_0x45b496[_0x353b00(0x97e)]);if(_0x45b496[_0x353b00(0x5fa)])_0x4f62e9[_0x353b00(0x5fa)]=!![];return _0x4f62e9;});if(!_0xae9354[_0x38a2ae(0x5e8)]['length'])delete _0xae9354[_0x38a2ae(0x5e8)];}if(!_0x27c865)for(const _0x888091 of Object[_0x38a2ae(0x7c3)](_0xae9354)){if(_0x15e886[_0x38a2ae(0x628)](_0x888091))continue;if(!(_0x888091 in _0xbaa2de))continue;const _0x1212b5=_0xae9354[_0x888091],_0x41d567=_0xbaa2de[_0x888091],_0x2b56a6=(_0x1212b5===null||_0x1212b5===''||_0x1212b5===void 0x0)&&(_0x41d567===null||_0x41d567===''||_0x41d567===void 0x0);if(Array['isArray'](_0x1212b5)&&Array[_0x38a2ae(0x557)](_0x41d567)){if(JSON[_0x38a2ae(0x2a7)](_0x1212b5)===JSON[_0x38a2ae(0x2a7)](_0x41d567))delete _0xae9354[_0x888091];continue;}if(_0x2b56a6||_0x1212b5===_0x41d567)delete _0xae9354[_0x888091];}_0x5ec7c7[_0x38a2ae(0x6b5)](_0xae9354);}return _0x5ec7c7;}[_0x51ece7(0x15a)](_0x3b0da3){if(_0x3b0da3===void 0x0||_0x3b0da3===null||_0x3b0da3==='')return;const _0x3f2269=Number(_0x3b0da3);return isNaN(_0x3f2269)?void 0x0:_0x3f2269;}[_0x51ece7(0x703)](){const _0x4209e0=_0x51ece7,_0x445290=StatisticsGraphChartCard[_0x4209e0(0x944)],_0x234d1a=this[_0x4209e0(0x9dd)]?.[_0x4209e0(0x942)]||0x0;return{...StatisticsGraphChartCard[_0x4209e0(0x587)](),'color':_0x445290[_0x234d1a%_0x445290[_0x4209e0(0x942)]]};}[_0x51ece7(0x9fa)](_0x2f085f,_0x2d1f56){const _0x4ae69c=_0x51ece7;return isEditorFieldRelevant(_0x4ae69c(0x8c6),_0x2f085f,_0x2d1f56);}[_0x51ece7(0x5ad)](_0x5f5590,_0x3c8c46){const _0x101169=_0x51ece7;return isEditorFieldRelevant(_0x101169(0x713),_0x5f5590,_0x3c8c46);}[_0x51ece7(0xc0)](){const _0x3c5240=_0x51ece7,_0x3a61c1=this[_0x3c5240(0xd5d)];if(!_0x3a61c1)return;const _0x3d0ba8=this[_0x3c5240(0xc5c)]?.[_0x3c5240(0xc14)]||_0x3c5240(0x8ec),_0x570c95='sgc-mode-off',_0x482250=_0x59b642=>{const _0xa1138=_0x3c5240,_0x4124e5=_0x59b642[_0xa1138(0xc53)](_0xa1138(0x8fb))||_0x59b642;_0x4124e5[_0xa1138(0x543)][_0xa1138(0x951)](_0x570c95);};for(const _0xe965a1 of _0x3a61c1[_0x3c5240(0xa9d)](_0x3c5240(0xaba))){if(!_0xe965a1['id'])continue;const _0x100bef=_0xe965a1['id'][_0x3c5240(0x934)](/(_pick|-picker)$/,'');if(!this[_0x3c5240(0x5ad)](_0x100bef,_0x3d0ba8))_0x482250(_0xe965a1);}for(const _0xbda81c of _0x3a61c1['querySelectorAll'](_0x3c5240(0x1c9))){for(const _0x1bfb64 of _0xbda81c[_0x3c5240(0x543)]){if(_0x1bfb64[_0x3c5240(0x942)]<0x3||_0x1bfb64[_0x3c5240(0x53c)](0x0,0x2)!=='e-')continue;const _0x3fe683=_0x1bfb64[_0x3c5240(0x53c)](0x2)[_0x3c5240(0x934)](/(_pick|-picker)$/,'');if(!this[_0x3c5240(0x9fa)](_0x3fe683,_0x3d0ba8)){_0x482250(_0xbda81c);break;}}}const _0x3f07e8=_0x3c5240(0x7d5)+_0x3c5240(0x502),_0x11f18c=_0x2dd1dc=>[..._0x2dd1dc[_0x3c5240(0xa9d)](_0x3f07e8)][_0x3c5240(0xaf3)](_0x4e3020=>!_0x4e3020['closest']('.'+_0x570c95)),_0x11fedc=_0x555a58=>{const _0x21296f=_0x3c5240;for(const _0x18bdb0 of _0x3a61c1[_0x21296f(0xa9d)](_0x555a58)){if(_0x18bdb0[_0x21296f(0x543)][_0x21296f(0x52a)](_0x570c95))continue;if(!_0x11f18c(_0x18bdb0))_0x18bdb0[_0x21296f(0x543)][_0x21296f(0x951)](_0x570c95);}};_0x11fedc('.r2,\x20.r3,\x20.sg'),_0x11fedc(_0x3c5240(0x36d));const _0x55af3c=(_0x1f8683,_0x399998,_0x448545,_0x345e75)=>{const _0x5b8423=_0x3c5240;let _0x384cc3=null,_0x29e224=![];const _0x3faa09=[..._0x1f8683[_0x5b8423(0xa9d)]('['+_0x399998+']')];for(const _0xd47ff of _0x3faa09){const _0x32e2ac=_0x1f8683['querySelector']('['+_0x448545+'=\x22'+_0xd47ff[_0x5b8423(0xd2f)](_0x399998)+'\x22]');if(!_0x11f18c(_0xd47ff)){_0xd47ff['classList'][_0x5b8423(0x951)](_0x570c95);if(_0x32e2ac)_0x32e2ac[_0x5b8423(0x543)][_0x5b8423(0x951)](_0x570c95);continue;}if(!_0x384cc3)_0x384cc3={'pane':_0xd47ff,'btn':_0x32e2ac};if(_0xd47ff[_0x5b8423(0x543)]['contains'](_0x5b8423(0x504)))_0x29e224=!![];}if(!_0x29e224&&_0x384cc3){for(const _0x5453fb of _0x3faa09)_0x5453fb[_0x5b8423(0x543)][_0x5b8423(0x996)](_0x5b8423(0x504));for(const _0x2a0a6c of _0x1f8683[_0x5b8423(0xa9d)]('['+_0x448545+']'))_0x2a0a6c[_0x5b8423(0x543)]['remove'](_0x5b8423(0x504));_0x384cc3['pane']['classList']['add'](_0x5b8423(0x504));if(_0x384cc3[_0x5b8423(0xba3)])_0x384cc3[_0x5b8423(0xba3)][_0x5b8423(0x543)]['add'](_0x5b8423(0x504));_0x345e75?.(_0x384cc3[_0x5b8423(0x68d)][_0x5b8423(0xd2f)](_0x399998));}};_0x55af3c(_0x3a61c1,_0x3c5240(0x3bc),_0x3c5240(0x653),_0x5552f8=>{this['_mainTab']=_0x5552f8;});const _0x4d5729=this[_0x3c5240(0xd5d)]?.['querySelector'](_0x3c5240(0x95f));if(_0x4d5729)_0x55af3c(_0x4d5729,_0x3c5240(0x958),_0x3c5240(0xd93),_0x4ac0ea=>{const _0x56c80e=_0x3c5240;this[_0x56c80e(0x4af)]=_0x4ac0ea;});for(const _0x5505db of _0x3a61c1['querySelectorAll'](_0x3c5240(0xafe))){const _0x285c6e=parseInt(_0x5505db[_0x3c5240(0x383)]['index'],0xa);_0x55af3c(_0x5505db,_0x3c5240(0x953),_0x3c5240(0x97a),_0x52f7ab=>{if(this['_activeTab']&&Number['isFinite'](_0x285c6e))this['_activeTab'][_0x285c6e]=_0x52f7ab;});}this[_0x3c5240(0x318)]();if(this[_0x3c5240(0x122)])this[_0x3c5240(0x84f)]();}[_0x51ece7(0x4ac)](){const _0x4f27d9=_0x51ece7;if(this['_haCMap'])return this[_0x4f27d9(0xb36)];const _0x245733=[_0x4f27d9(0x8f7),_0x4f27d9(0x306),_0x4f27d9(0x8de),_0x4f27d9(0xab1),_0x4f27d9(0x31c),_0x4f27d9(0xb0a),_0x4f27d9(0x239),_0x4f27d9(0x582),_0x4f27d9(0xd4f),_0x4f27d9(0x9a2),_0x4f27d9(0x440),_0x4f27d9(0x447),'light-green',_0x4f27d9(0xc9e),_0x4f27d9(0xdda),_0x4f27d9(0x319),_0x4f27d9(0x7e7),_0x4f27d9(0x5cb),_0x4f27d9(0x395),_0x4f27d9(0x560),_0x4f27d9(0x19a),_0x4f27d9(0x71c),_0x4f27d9(0xad3),_0x4f27d9(0x967),_0x4f27d9(0xabe)],_0x4bfa42={},_0x4a2d90={};try{const _0x360bfe=this[_0x4f27d9(0xd5d)]||document[_0x4f27d9(0x5be)],_0x444bb0=document['createElement'](_0x4f27d9(0x2ef));_0x444bb0[_0x4f27d9(0x91c)][_0x4f27d9(0xdd1)]=_0x4f27d9(0x305),_0x360bfe[_0x4f27d9(0x715)](_0x444bb0);for(const _0x52e5dc of _0x245733){_0x444bb0[_0x4f27d9(0x91c)][_0x4f27d9(0x81a)]=_0x4f27d9(0x969),_0x444bb0['style']['color']=_0x4f27d9(0x437)+_0x52e5dc+'-color)';const _0x499e0e=getComputedStyle(_0x444bb0)[_0x4f27d9(0x81a)]||'',_0x5bc1e3=_0x499e0e[_0x4f27d9(0xb69)](/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/i);if(_0x5bc1e3){const _0x2b1bb3='#'+[_0x5bc1e3[0x1],_0x5bc1e3[0x2],_0x5bc1e3[0x3]][_0x4f27d9(0x89f)](_0xdd947b=>(+_0xdd947b)[_0x4f27d9(0xbd0)](0x10)[_0x4f27d9(0x2db)](0x2,'0'))[_0x4f27d9(0x718)]('');if(_0x2b1bb3===_0x4f27d9(0x969))continue;_0x4bfa42[_0x52e5dc]=_0x2b1bb3;if(!(_0x2b1bb3 in _0x4a2d90))_0x4a2d90[_0x2b1bb3]=_0x52e5dc;}}_0x444bb0[_0x4f27d9(0x996)]();}catch(_0x29d41e){}return this[_0x4f27d9(0xb36)]={'n2h':_0x4bfa42,'h2n':_0x4a2d90},this[_0x4f27d9(0xb36)];}[_0x51ece7(0x87b)](_0x3c3aeb){const _0x3731ba=_0x51ece7;if(!_0x3c3aeb)return _0x3731ba(0x4c9);if(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i[_0x3731ba(0xc00)](_0x3c3aeb))return _0x3c3aeb;const _0x4d740c=String(_0x3c3aeb)[_0x3731ba(0xb69)](/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);if(_0x4d740c)return'#'+[_0x4d740c[0x1],_0x4d740c[0x2],_0x4d740c[0x3]][_0x3731ba(0x89f)](_0x12aa6e=>parseInt(_0x12aa6e)[_0x3731ba(0xbd0)](0x10)[_0x3731ba(0x2db)](0x2,'0'))[_0x3731ba(0x718)]('');return _0x3731ba(0x4c9);}[_0x51ece7(0x25a)](_0x3cca23,_0x2d7c17){let _0x3da328;return(..._0x255ebd)=>{clearTimeout(_0x3da328),_0x3da328=setTimeout(()=>_0x3cca23(..._0x255ebd),_0x2d7c17);};}[_0x51ece7(0xd9b)](_0x19963a){const _0x403fec=_0x51ece7;if(!_0x19963a)return'';let _0x1011d7='';for(;_0x19963a&&_0x19963a!==this['shadowRoot'];_0x19963a=_0x19963a[_0x403fec(0xcf6)]){let _0x3d9d09=_0x19963a[_0x403fec(0xbc3)]['toLowerCase']();if(_0x19963a['id'])_0x3d9d09+='#'+_0x19963a['id'];if(_0x19963a['classList'][_0x403fec(0x942)])_0x3d9d09+='.'+[..._0x19963a[_0x403fec(0x543)]][_0x403fec(0x718)]('.');if(_0x19963a[_0x403fec(0x383)]){if(_0x19963a[_0x403fec(0x383)][_0x403fec(0xb48)]!==undefined)_0x3d9d09+=_0x403fec(0x5d3)+_0x19963a[_0x403fec(0x383)][_0x403fec(0xb48)]+'\x22]';else{if(_0x19963a[_0x403fec(0x383)][_0x403fec(0xd84)]!==undefined)_0x3d9d09+=_0x403fec(0xe0f)+_0x19963a[_0x403fec(0x383)]['row']+'\x22]';}}_0x1011d7=_0x3d9d09+(_0x1011d7?'\x20>\x20'+_0x1011d7:'');}return _0x1011d7;}[_0x51ece7(0x88d)](){const _0x568518=_0x51ece7;return this[_0x568518(0xc5c)];}}!customElements[_0x51ece7(0x6be)]('statistics-graph-chart-card')&&customElements[_0x51ece7(0x6f5)](_0x51ece7(0x95d),StatisticsGraphChartCard);!customElements[_0x51ece7(0x6be)](_0x51ece7(0x411))&&customElements[_0x51ece7(0x6f5)](_0x51ece7(0x411),StatisticsGraphChartCardEditor);window[_0x51ece7(0x66d)]=window[_0x51ece7(0x66d)]||[],window[_0x51ece7(0x66d)]['push']({'type':_0x51ece7(0x95d),'name':_0x51ece7(0x6ed),'description':'The\x20Best\x20graph\x20chart\x20card\x20for\x20HA\x20entities\x20and\x20long-term\x20statistics','preview':!![],'documentationURL':'https://github.com/cataseven/statistics-graph-chart-card'}),console[_0x51ece7(0x8a4)]('%c\x20STATISTICS-GRAPH-CHART-CARD\x20%c\x20'+VERSION+'\x20',_0x51ece7(0xc65),_0x51ece7(0xdc7)); diff --git a/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js.gz b/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js.gz index 4965a322..7102744f 100644 Binary files a/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js.gz and b/www/community/Statistics-Graph-Chart-Card/statistics-graph-chart-card.js.gz differ diff --git a/www/community/Statistics-Graph-Chart-Card/translations.js b/www/community/Statistics-Graph-Chart-Card/translations.js index dac55fed..bcbc2e29 100644 --- a/www/community/Statistics-Graph-Chart-Card/translations.js +++ b/www/community/Statistics-Graph-Chart-Card/translations.js @@ -1,4 +1,4 @@ -export const T_VERSION = "4.01"; +export const T_VERSION = "4.02"; export const LANG_NAMES = Object.freeze({ en: "English", cs: "Čeština", da: "Dansk", de: "Deutsch", es: "Español", @@ -480,6 +480,7 @@ export const I18N = Object.freeze({ "End": "Bitiş", "End value": "Bitiş değeri", "Energy Date Sync": "Enerji Tarih Senkronu", + "Key": "Anahtar", "Entities": "Varlıklar", "Entity": "Varlık", "Falling": "Düşen", @@ -573,6 +574,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Çizginin altındaki dolgunun gücü: 0 (görünmez) ile 1 (tam dolu) arası. Varsayılan 0.4 için boş bırakın. Gradient açıkken bu üstteki opaklıktır, aşağı doğru sekizde birine solar; Gradient kapalıyken düz dolgu bunun yarısını kullanır.", "Overlay": "Katman", "Overlays are hidden in sparkline mode": "Katmanlar sparkline modunda gizlidir", + "Layout": "Yerleşim", + "Sequential": "Ardışık", "Padding": "İç Boşluk", "Percentage": "Yüzde", "Percentages": "Yüzdeler", @@ -1259,6 +1262,7 @@ export const I18N = Object.freeze({ "End": "Ende", "End value": "Endwert", "Energy Date Sync": "Energie-Datumssynchronisierung", + "Key": "Schlüssel", "Entities": "Entitäten", "Entity": "Entität", "Falling": "Fallend", @@ -1352,6 +1356,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Wie kräftig die Füllung unter der Linie ist, von 0 (unsichtbar) bis 1 (deckend). Leer lassen für den Standardwert 0,4. Mit Farbverlauf ist dies die Deckkraft oben, die nach unten auf ein Achtel davon ausblendet; ohne Farbverlauf nutzt die flache Füllung die Hälfte davon.", "Overlay": "Overlay", "Overlays are hidden in sparkline mode": "Overlays sind im Sparkline-Modus ausgeblendet", + "Layout": "Layout", + "Sequential": "Sequenziell", "Padding": "Innenabstand", "Percentage": "Prozentsatz", "Percentages": "Prozentwerte", @@ -2063,6 +2069,7 @@ export const I18N = Object.freeze({ "End": "Konec", "End value": "Koncová hodnota", "Energy Date Sync": "Synchronizace s daty Energie", + "Key": "Klíč", "Entities": "Entity", "Entity": "Entita", "Falling": "Klesající", @@ -2156,6 +2163,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Jak silná je výplň pod čarou, od 0 (neviditelná) do 1 (plná). Ponechte prázdné pro výchozí 0,4. Se zapnutým přechodem je to krytí nahoře, které dolů slábne na osminu; s vypnutým přechodem používá plochá výplň polovinu této hodnoty.", "Overlay": "Překryv", "Overlays are hidden in sparkline mode": "Překryvy jsou v režimu sparkline skryté", + "Layout": "Rozvržení", + "Sequential": "Sekvenční", "Padding": "Vnitřní okraj", "Percentage": "Procento", "Percentages": "Procenta", @@ -2867,6 +2876,7 @@ export const I18N = Object.freeze({ "End": "Slut", "End value": "Slutværdi", "Energy Date Sync": "Synkronisering med Energi-datoer", + "Key": "Nøgle", "Entities": "Enheder", "Entity": "Enhed", "Falling": "Faldende", @@ -2960,6 +2970,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Hvor kraftig udfyldningen under linjen er, fra 0 (usynlig) til 1 (helt dækkende). Lad feltet stå tomt for standardværdien 0,4. Med gradient er dette dækkraften i toppen, der falmer til en ottendedel nederst; uden gradient bruger den flade udfyldning halvdelen.", "Overlay": "Overlejring", "Overlays are hidden in sparkline mode": "Overlejringer er skjult i sparkline-tilstand", + "Layout": "Layout", + "Sequential": "Sekventiel", "Padding": "Indre margen", "Percentage": "Procent", "Percentages": "Procentdele", @@ -3671,6 +3683,7 @@ export const I18N = Object.freeze({ "End": "Fin", "End value": "Valor final", "Energy Date Sync": "Sincronización con fechas de Energía", + "Key": "Clave", "Entities": "Entidades", "Entity": "Entidad", "Falling": "Descendente", @@ -3764,6 +3777,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Qué tan intenso es el relleno bajo la línea, de 0 (invisible) a 1 (sólido). Déjalo vacío para el valor predeterminado 0,4. Con degradado es la opacidad en la parte superior, que se desvanece hasta un octavo abajo; sin degradado el relleno plano usa la mitad.", "Overlay": "Superposición", "Overlays are hidden in sparkline mode": "Las superposiciones están ocultas en modo sparkline", + "Layout": "Disposición", + "Sequential": "Secuencial", "Padding": "Relleno interior", "Percentage": "Porcentaje", "Percentages": "Porcentajes", @@ -4475,6 +4490,7 @@ export const I18N = Object.freeze({ "End": "Loppu", "End value": "Loppuarvo", "Energy Date Sync": "Synkronointi Energia-päivämääriin", + "Key": "Avain", "Entities": "Entiteetit", "Entity": "Entiteetti", "Falling": "Laskeva", @@ -4568,6 +4584,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Kuinka vahva viivan alapuolinen täyttö on, väliltä 0 (näkymätön) ja 1 (täysin peittävä). Jätä tyhjäksi oletusarvolle 0,4. Liukuvärin kanssa tämä on peittävyys ylhäällä, joka häipyy alas kahdeksasosaan; ilman liukuväriä tasainen täyttö käyttää tästä puolet.", "Overlay": "Päällys", "Overlays are hidden in sparkline mode": "Päällykset on piilotettu sparkline-tilassa", + "Layout": "Asettelu", + "Sequential": "Peräkkäinen", "Padding": "Sisäreunus", "Percentage": "Prosentti", "Percentages": "Prosentit", @@ -5279,6 +5297,7 @@ export const I18N = Object.freeze({ "End": "Fin", "End value": "Valeur finale", "Energy Date Sync": "Synchronisation des dates Énergie", + "Key": "Clé", "Entities": "Entités", "Entity": "Entité", "Falling": "En baisse", @@ -5372,6 +5391,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Intensité du remplissage sous la courbe, de 0 (invisible) à 1 (opaque). Laissez vide pour la valeur par défaut 0,4. Avec le dégradé, c'est l'opacité en haut, qui s'estompe jusqu'au huitième en bas ; sans dégradé, le remplissage uni en utilise la moitié.", "Overlay": "Superposition", "Overlays are hidden in sparkline mode": "Les superpositions sont masquées en mode sparkline", + "Layout": "Disposition", + "Sequential": "Séquentiel", "Padding": "Marge intérieure", "Percentage": "Pourcentage", "Percentages": "Pourcentages", @@ -6083,6 +6104,7 @@ export const I18N = Object.freeze({ "End": "Fine", "End value": "Valore finale", "Energy Date Sync": "Sincronizzazione date Energia", + "Key": "Chiave", "Entities": "Entità", "Entity": "Entità", "Falling": "In discesa", @@ -6176,6 +6198,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Quanto è intenso il riempimento sotto la linea, da 0 (invisibile) a 1 (pieno). Lascia vuoto per il valore predefinito 0,4. Con il gradiente è l'opacità in alto, che sfuma fino a un ottavo in basso; senza gradiente il riempimento piatto ne usa la metà.", "Overlay": "Overlay", "Overlays are hidden in sparkline mode": "Gli overlay sono nascosti in modalità sparkline", + "Layout": "Layout", + "Sequential": "Sequenziale", "Padding": "Spaziatura interna", "Percentage": "Percentuale", "Percentages": "Percentuali", @@ -6887,6 +6911,7 @@ export const I18N = Object.freeze({ "End": "Einde", "End value": "Eindwaarde", "Energy Date Sync": "Synchronisatie met Energie-datums", + "Key": "Sleutel", "Entities": "Entiteiten", "Entity": "Entiteit", "Falling": "Dalend", @@ -6980,6 +7005,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Hoe sterk de vulling onder de lijn is, van 0 (onzichtbaar) tot 1 (dekkend). Laat leeg voor de standaardwaarde 0,4. Met gradiënt is dit de dekking bovenaan, die naar onderen vervaagt tot een achtste; zonder gradiënt gebruikt de vlakke vulling de helft.", "Overlay": "Overlay", "Overlays are hidden in sparkline mode": "Overlays zijn verborgen in sparkline-modus", + "Layout": "Indeling", + "Sequential": "Sequentieel", "Padding": "Binnenmarge", "Percentage": "Percentage", "Percentages": "Percentages", @@ -7691,6 +7718,7 @@ export const I18N = Object.freeze({ "End": "Slutt", "End value": "Sluttverdi", "Energy Date Sync": "Synkronisering med Energi-datoer", + "Key": "Nøkkel", "Entities": "Entiteter", "Entity": "Entitet", "Falling": "Fallende", @@ -7784,6 +7812,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Hvor kraftig fyllet under linjen er, fra 0 (usynlig) til 1 (dekkende). La feltet stå tomt for standardverdien 0,4. Med gradient er dette dekkevnen øverst, som toner ned til en åttedel nederst; uten gradient bruker det flate fyllet halvparten.", "Overlay": "Overlegg", "Overlays are hidden in sparkline mode": "Overlegg er skjult i sparkline-modus", + "Layout": "Oppsett", + "Sequential": "Sekvensiell", "Padding": "Indre marg", "Percentage": "Prosent", "Percentages": "Prosentandeler", @@ -8495,6 +8525,7 @@ export const I18N = Object.freeze({ "End": "Koniec", "End value": "Wartość końcowa", "Energy Date Sync": "Synchronizacja z datami Energii", + "Key": "Klucz", "Entities": "Encje", "Entity": "Encja", "Falling": "Spadek", @@ -8588,6 +8619,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Jak mocne jest wypełnienie pod linią, od 0 (niewidoczne) do 1 (pełne). Pozostaw puste, aby użyć domyślnej wartości 0,4. Przy gradiencie jest to krycie u góry, zanikające do jednej ósmej na dole; bez gradientu płaskie wypełnienie używa połowy tej wartości.", "Overlay": "Nakładka", "Overlays are hidden in sparkline mode": "Nakładki są ukryte w trybie sparkline", + "Layout": "Układ", + "Sequential": "Sekwencyjny", "Padding": "Margines wewnętrzny", "Percentage": "Procent", "Percentages": "Procenty", @@ -9299,6 +9332,7 @@ export const I18N = Object.freeze({ "End": "Fim", "End value": "Valor final", "Energy Date Sync": "Sincronização com datas de Energia", + "Key": "Chave", "Entities": "Entidades", "Entity": "Entidade", "Falling": "Em queda", @@ -9392,6 +9426,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Qual a intensidade do preenchimento abaixo da linha, de 0 (invisível) a 1 (sólido). Deixe vazio para o padrão 0,4. Com gradiente esta é a opacidade no topo, esbatendo até um oitavo na base; sem gradiente o preenchimento liso usa metade.", "Overlay": "Sobreposição", "Overlays are hidden in sparkline mode": "As sobreposições ficam ocultas no modo sparkline", + "Layout": "Disposição", + "Sequential": "Sequencial", "Padding": "Espaçamento interno", "Percentage": "Porcentagem", "Percentages": "Porcentagens", @@ -10103,6 +10139,7 @@ export const I18N = Object.freeze({ "End": "Конец", "End value": "Конечное значение", "Energy Date Sync": "Синхронизация с датами Энергии", + "Key": "Ключ", "Entities": "Объекты", "Entity": "Объект", "Falling": "Падение", @@ -10196,6 +10233,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Насколько плотная заливка под линией: от 0 (невидимая) до 1 (сплошная). Оставьте пустым для значения по умолчанию 0,4. С градиентом это непрозрачность вверху, затухающая до одной восьмой внизу; без градиента сплошная заливка использует половину.", "Overlay": "Оверлей", "Overlays are hidden in sparkline mode": "Оверлеи скрыты в режиме спарклайна", + "Layout": "Компоновка", + "Sequential": "Последовательно", "Padding": "Внутренний отступ", "Percentage": "Процент", "Percentages": "Проценты", @@ -10907,6 +10946,7 @@ export const I18N = Object.freeze({ "End": "Slut", "End value": "Slutvärde", "Energy Date Sync": "Synkronisering med Energi-datum", + "Key": "Nyckel", "Entities": "Entiteter", "Entity": "Entitet", "Falling": "Fallande", @@ -11000,6 +11040,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "Hur kraftig fyllningen under linjen är, från 0 (osynlig) till 1 (heltäckande). Lämna tomt för standardvärdet 0,4. Med gradient är detta opaciteten upptill, som tonar ned till en åttondel nertill; utan gradient använder den platta fyllningen hälften.", "Overlay": "Överlägg", "Overlays are hidden in sparkline mode": "Överlägg är dolda i sparkline-läge", + "Layout": "Layout", + "Sequential": "Sekventiell", "Padding": "Inre marginal", "Percentage": "Procent", "Percentages": "Procentandelar", @@ -11711,6 +11753,7 @@ export const I18N = Object.freeze({ "End": "结束", "End value": "结束值", "Energy Date Sync": "能源日期同步", + "Key": "键", "Entities": "实体", "Entity": "实体", "Falling": "下降", @@ -11804,6 +11847,8 @@ export const I18N = Object.freeze({ "How strong the fill under the line is, from 0 (invisible) to 1 (solid). Leave empty for the default 0.4. With Gradient on this is the opacity at the top, fading down to an eighth of it at the bottom; with Gradient off the flat fill uses half of it.": "折线下方填充的强度,从 0(不可见)到 1(完全不透明)。留空则使用默认值 0.4。启用渐变时,这是顶部的不透明度,向下渐隐至其八分之一;关闭渐变时,纯色填充使用其一半。", "Overlay": "叠加层", "Overlays are hidden in sparkline mode": "迷你图模式下叠加层已隐藏", + "Layout": "布局", + "Sequential": "顺序", "Padding": "内边距", "Percentage": "百分比", "Percentages": "百分比", diff --git a/www/community/Statistics-Graph-Chart-Card/translations.js.gz b/www/community/Statistics-Graph-Chart-Card/translations.js.gz index ad35ae0b..2b39788f 100644 Binary files a/www/community/Statistics-Graph-Chart-Card/translations.js.gz and b/www/community/Statistics-Graph-Chart-Card/translations.js.gz differ diff --git a/zigbee2mqtt/state.json b/zigbee2mqtt/state.json index 66f152bb..b0fb3adf 100644 --- a/zigbee2mqtt/state.json +++ b/zigbee2mqtt/state.json @@ -4,10 +4,10 @@ "state": "ON", "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 120.9, + "voltage": 121.3, "countdown_to_turn_on": 0, "ac_frequency": 60, - "power_factor": 0.11, + "power_factor": 0.14, "update": { "state": "idle", "installed_version": 268513381, @@ -22,15 +22,15 @@ }, "0xffffb40e0607af27": { "state": "ON", - "voltage": 120.5, + "voltage": 121.6, "ac_frequency": 60, "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "power": 2, + "power": 2.4, "current": 0.12, - "energy": 28.31, - "power_factor": 0.15, + "energy": 28.32, + "power_factor": 0.17, "update": { "state": "idle", "installed_version": 268513381, @@ -45,10 +45,10 @@ "state": "ON", "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 119.8, + "voltage": 121.1, "countdown_to_turn_on": 0, - "energy": 54.49, - "power_factor": 0.99, + "energy": 54.57, + "power_factor": 0.2, "ac_frequency": 60, "update": { "state": "idle", @@ -58,8 +58,8 @@ "latest_release_notes": null }, "linkquality": 134, - "power": 200.4, - "current": 1.66, + "power": 0.2, + "current": 0.01, "power_on_behavior": "on" }, "0xb40e060fffe031e3": { @@ -74,12 +74,12 @@ "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "voltage": 118.8, + "voltage": 119.7, "state": "ON", "ac_frequency": 60, - "energy": 112.09, - "power": 99.9, - "current": 0.88, + "energy": 112.17, + "power": 94.6, + "current": 0.84, "power_factor": 0.94, "update": { "state": "idle", @@ -95,13 +95,13 @@ "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "voltage": 120.5, - "energy": 49.37, + "voltage": 121.5, + "energy": 49.43, "state": "ON", - "power": 42.7, - "current": 0.47, + "power": 39.2, + "current": 0.5, "ac_frequency": 60, - "power_factor": 0.75, + "power_factor": 0.68, "update": { "state": "idle", "installed_version": 268513381, @@ -114,12 +114,12 @@ }, "0xffffb40e060895b3": { "state": "ON", - "voltage": 120.7, + "voltage": 121.2, "ac_frequency": 60, "energy": 7.14, "current": 0.01, "power": 0.1, - "power_factor": 0.13, + "power_factor": 0.11, "linkquality": 123, "update": { "state": "idle", @@ -136,14 +136,14 @@ "0xffffb40e0608864e": { "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 120.5, + "voltage": 121.5, "energy": 17.5, "countdown_to_turn_on": 0, "state": "ON", "current": 0.02, "ac_frequency": 60, "power": 0.3, - "power_factor": 0.14, + "power_factor": 0.2, "update": { "state": "idle", "installed_version": 268513381, @@ -172,13 +172,13 @@ "0xffffb40e060893d8": { "state": "ON", "led_brightness": 100, - "voltage": 120.8, + "voltage": 121.9, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, "energy": 3.1, "power_on_behavior": "on", "linkquality": 87, - "current": 0.03, + "current": 0.01, "ac_frequency": 60, "update": { "state": "idle", @@ -187,8 +187,8 @@ "latest_source": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/SmartPlug_Zigbee_PROD_OTA_V101_1.01.01.ota", "latest_release_notes": null }, - "power_factor": 0.13, - "power": 0.1 + "power_factor": 0, + "power": 0.2 }, "0xa4c1380d0679ffff": { "battery": 100,