SYMBOL INDEX (207 symbols across 24 files) FILE: custom_components/connectlife/__init__.py function async_setup (line 41) | async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: function async_setup_entry (line 49) | async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> ... function update_listener (line 83) | async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: function async_unload_entry (line 89) | async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) ->... FILE: custom_components/connectlife/binary_sensor.py function async_setup_entry (line 24) | async def async_setup_entry( class ConnectLifeBinaryStatusSensor (line 42) | class ConnectLifeBinaryStatusSensor(ConnectLifeEntity, BinarySensorEntity): method __init__ (line 45) | def __init__( method update_state (line 71) | def update_state(self): FILE: custom_components/connectlife/button.py function async_setup_entry (line 17) | async def async_setup_entry( class ConnectLifeButton (line 32) | class ConnectLifeButton(ConnectLifeEntity, ButtonEntity): method __init__ (line 35) | def __init__( method available (line 55) | def available(self) -> bool: method update_state (line 65) | def update_state(self): method async_press (line 68) | async def async_press(self) -> None: FILE: custom_components/connectlife/climate.py function async_setup_entry (line 40) | async def async_setup_entry( function is_climate (line 60) | def is_climate(dictionary: Dictionary): class ConnectLifeClimate (line 67) | class ConnectLifeClimate(ConnectLifeEntity, ClimateEntity): method __init__ (line 89) | def __init__( method update_state (line 204) | def update_state(self) -> None: method get_temperature_limit (line 274) | def get_temperature_limit(self, temperature_map: dict[str, int]) -> in... method async_set_humidity (line 280) | async def async_set_humidity(self, humidity): method async_set_temperature (line 284) | async def async_set_temperature(self, **kwargs) -> None: method async_turn_on (line 291) | async def async_turn_on(self): method async_turn_off (line 296) | async def async_turn_off(self): method async_set_hvac_mode (line 301) | async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: method async_set_fan_mode (line 314) | async def async_set_fan_mode(self, fan_mode: str) -> None: method async_set_preset_mode (line 320) | async def async_set_preset_mode(self, preset_mode: str) -> None: method async_set_swing_mode (line 326) | async def async_set_swing_mode(self, swing_mode: str) -> None: method async_set_swing_horizontal_mode (line 332) | async def async_set_swing_horizontal_mode(self, swing_horizontal_mode:... method add_target_temperature (line 338) | def add_target_temperature(self, request: dict[str, int]) -> dict[str,... FILE: custom_components/connectlife/config_flow.py function validate_input (line 35) | async def validate_input(data: dict[str, Any]) -> dict[str, Any]: class ConnectLifeConfigFlow (line 53) | class ConnectLifeConfigFlow(ConfigFlow, domain=DOMAIN): method async_step_user (line 58) | async def async_step_user( method async_step_reauth (line 80) | async def async_step_reauth( method async_step_reauth_confirm (line 86) | async def async_step_reauth_confirm( method async_get_options_flow (line 114) | def async_get_options_flow( class CannotConnect (line 121) | class CannotConnect(HomeAssistantError): class InvalidAuth (line 125) | class InvalidAuth(HomeAssistantError): class OptionsFlowHandler (line 129) | class OptionsFlowHandler(OptionsFlow): method async_step_init (line 134) | async def async_step_init(self, user_input=None) -> ConfigFlowResult: method async_step_select_device (line 140) | async def async_step_select_device(self, user_input: dict[str, Any] | ... method async_step_configure_device (line 159) | async def async_step_configure_device(self, user_input: dict[str, Any]... method async_step_development (line 180) | async def async_step_development(self, user_input: dict[str, Any] | No... FILE: custom_components/connectlife/coordinator.py class ConnectLifeCoordinator (line 25) | class ConnectLifeCoordinator(DataUpdateCoordinator[dict[str, ConnectLife... method __init__ (line 33) | def __init__(self, hass, api: ConnectLifeApi): method _async_update_data (line 43) | async def _async_update_data(self): method async_update_device (line 81) | async def async_update_device(self, device_id: str, command: Mapping[s... method add_entity (line 87) | def add_entity(self, entity_unique_id: str, platform: Platform): method cleanup_removed_entities (line 91) | async def cleanup_removed_entities(self) -> None: method find_orphaned_statistics (line 143) | async def find_orphaned_statistics(self) -> list[str]: method update_orphaned_statistics_issue (line 176) | async def update_orphaned_statistics_issue(self) -> None: class ConnectLifeEnergyCoordinator (line 208) | class ConnectLifeEnergyCoordinator(DataUpdateCoordinator[dict[str, float... method __init__ (line 211) | def __init__(self, hass, api: ConnectLifeApi, appliance_coordinator: C... method _async_update_data (line 222) | async def _async_update_data(self) -> dict[str, float | None]: FILE: custom_components/connectlife/dictionaries.py class _CombineSourceRequired (line 65) | class _CombineSourceRequired(TypedDict): class CombineSource (line 69) | class CombineSource(_CombineSourceRequired, total=False): function _val (line 74) | def _val(d: dict, key: str, default: Any = None) -> Any: class BinarySensor (line 81) | class BinarySensor: method __init__ (line 85) | def __init__(self, name: str, binary_sensor: dict | None): class Climate (line 97) | class Climate: method __init__ (line 104) | def __init__(self, name: str, climate: dict | None): class Humidifier (line 124) | class Humidifier: method __init__ (line 131) | def __init__(self, name: str, humidifier: dict | None): class Number (line 148) | class Number: method __init__ (line 156) | def __init__(self, name: str, number: dict | None): class Select (line 188) | class Select: method __init__ (line 194) | def __init__(self, name: str, select: dict | None): class Sensor (line 209) | class Sensor: method __init__ (line 220) | def __init__(self, name: str, sensor: dict | None): class Switch (line 271) | class Switch: method __init__ (line 278) | def __init__(self, name: str, switch: dict | None): class WaterHeater (line 292) | class WaterHeater: method __init__ (line 299) | def __init__(self, name: str, water_heater: dict | None): class Property (line 324) | class Property: method __init__ (line 342) | def __init__(self, entry: dict): class Button (line 375) | class Button: method __init__ (line 388) | def __init__(self, entry: dict): function _merge_buttons (line 400) | def _merge_buttons(base: list[dict], override: list[dict]) -> list[dict]: class Dictionary (line 423) | class Dictionary: function _merge_property (line 444) | def _merge_property(base: dict | None, override: dict) -> dict: function _merge_platform_block (line 486) | def _merge_platform_block(base, override): function _load_yaml (line 496) | def _load_yaml(path: str) -> tuple[bool, Any]: class Dictionaries (line 513) | class Dictionaries: method get_dictionary (line 518) | def get_dictionary(cls, appliance: ConnectLifeAppliance) -> Dictionary: FILE: custom_components/connectlife/entity.py class ConnectLifeEntity (line 29) | class ConnectLifeEntity(CoordinatorEntity[ConnectLifeCoordinator]): method __init__ (line 38) | def __init__( method available (line 68) | def available(self) -> bool: method _is_value_unavailable (line 82) | def _is_value_unavailable(self) -> bool: method update_state (line 92) | def update_state(self): method _refresh_state (line 96) | def _refresh_state(self) -> None: method _handle_coordinator_update (line 102) | def _handle_coordinator_update(self) -> None: method async_update_device (line 107) | async def async_update_device(self, command: dict[str, int], propertie... method to_translation_key (line 147) | def to_translation_key(self, property_name: str) -> str: FILE: custom_components/connectlife/humidifier.py function async_setup_entry (line 30) | async def async_setup_entry( function is_humidifier (line 45) | def is_humidifier(dictionary: Dictionary): class ConnectLifeHumidifier (line 52) | class ConnectLifeHumidifier(ConnectLifeEntity, HumidifierEntity): method __init__ (line 61) | def __init__( method update_state (line 115) | def update_state(self) -> None: method async_set_humidity (line 137) | async def async_set_humidity(self, humidity): method async_turn_on (line 141) | async def async_turn_on(self): method async_turn_off (line 149) | async def async_turn_off(self): method async_set_mode (line 157) | async def async_set_mode(self, mode): FILE: custom_components/connectlife/messages.py function format_retry_message (line 14) | def format_retry_message(error: Exception) -> str: FILE: custom_components/connectlife/number.py function async_setup_entry (line 20) | async def async_setup_entry( class ConnectLifeNumberEntity (line 43) | class ConnectLifeNumberEntity(ConnectLifeEntity, NumberEntity): method __init__ (line 48) | def __init__( method update_state (line 84) | def update_state(self): method async_set_native_value (line 89) | async def async_set_native_value(self, value: float) -> None: FILE: custom_components/connectlife/repairs.py class UnavailableDeviceRepairFlow (line 17) | class UnavailableDeviceRepairFlow(RepairsFlow): method __init__ (line 20) | def __init__(self, issue_id: str, data: dict[str, str | int | float | ... method async_step_init (line 25) | async def async_step_init( method async_step_remove (line 35) | async def async_step_remove( method async_step_ignore (line 49) | async def async_step_ignore( class UnsupportedBeepRepairFlow (line 60) | class UnsupportedBeepRepairFlow(RepairsFlow): method __init__ (line 63) | def __init__(self, issue_id: str, data: dict[str, str | int | float | ... method async_step_init (line 68) | async def async_step_init( method async_step_confirm (line 78) | async def async_step_confirm( method async_step_ignore (line 94) | async def async_step_ignore( class OrphanedStatisticsRepairFlow (line 105) | class OrphanedStatisticsRepairFlow(RepairsFlow): method __init__ (line 108) | def __init__(self, issue_id: str, data: dict[str, str | int | float | ... method _mark_migration_done (line 112) | def _mark_migration_done(self) -> None: method async_step_init (line 125) | async def async_step_init( method async_step_clear (line 133) | async def async_step_clear( method async_step_ignore (line 156) | async def async_step_ignore( function async_create_fix_flow (line 167) | async def async_create_fix_flow( FILE: custom_components/connectlife/select.py function async_setup_entry (line 21) | async def async_setup_entry( class ConnectLifeSelect (line 39) | class ConnectLifeSelect(ConnectLifeEntity, SelectEntity): method __init__ (line 44) | def __init__( method update_state (line 78) | def update_state(self): method async_select_option (line 101) | async def async_select_option(self, option: str) -> None: FILE: custom_components/connectlife/sensor.py function async_setup_entry (line 33) | async def async_setup_entry( class ConnectLifeStatusSensor (line 77) | class ConnectLifeStatusSensor(ConnectLifeEntity, SensorEntity): method __init__ (line 80) | def __init__( method update_state (line 127) | def update_state(self): method async_set_value (line 174) | async def async_set_value(self, value: int) -> None: class ConnectLifeEnergySensor (line 188) | class ConnectLifeEnergySensor(CoordinatorEntity[ConnectLifeEnergyCoordin... method __init__ (line 197) | def __init__( method available (line 215) | def available(self) -> bool: method _handle_coordinator_update (line 226) | def _handle_coordinator_update(self) -> None: method _update_native_value (line 231) | def _update_native_value(self) -> None: FILE: custom_components/connectlife/services.py function async_setup_services (line 30) | async def async_setup_services(hass: HomeAssistant) -> None: FILE: custom_components/connectlife/switch.py function async_setup_entry (line 22) | async def async_setup_entry( class ConnectLifeSwitch (line 40) | class ConnectLifeSwitch(ConnectLifeEntity, SwitchEntity): method __init__ (line 43) | def __init__( method update_state (line 76) | def update_state(self): method async_turn_off (line 87) | async def async_turn_off(self, **kwargs): method async_turn_on (line 94) | async def async_turn_on(self, **kwargs): FILE: custom_components/connectlife/utils.py function has_platform (line 9) | def has_platform(platform: Platform, property: Property): function to_unit (line 13) | def to_unit(unit: str | None, appliance: ConnectLifeAppliance, dictionar... function normalize_temperature_unit (line 38) | def normalize_temperature_unit(unit: str) -> UnitOfTemperature | str: function to_temperature_map (line 47) | def to_temperature_map(items: int | dict[str, int] | None) -> dict[str, ... FILE: custom_components/connectlife/water_heater.py class WaterHeaterEntityDescription (line 39) | class WaterHeaterEntityDescription(EntityDescription, frozen_or_thawed=T... function async_setup_entry (line 43) | async def async_setup_entry( function is_water_heater (line 58) | def is_water_heater(dictionary: Dictionary): class ConnectLifeWaterHeater (line 65) | class ConnectLifeWaterHeater(ConnectLifeEntity, WaterHeaterEntity): method __init__ (line 85) | def __init__( method update_state (line 162) | def update_state(self) -> None: method get_temperature_limit (line 208) | def get_temperature_limit(self, temperature_map: dict[str, int]) -> in... method async_set_temperature (line 214) | async def async_set_temperature(self, **kwargs) -> None: method async_turn_on (line 221) | async def async_turn_on(self) -> None: method async_turn_off (line 226) | async def async_turn_off(self) -> None: method async_turn_away_mode_on (line 231) | async def async_turn_away_mode_on(self) -> None: method async_turn_away_mode_off (line 235) | async def async_turn_away_mode_off(self) -> None: method async_set_operation_mode (line 239) | async def async_set_operation_mode(self, operation_mode: str) -> None: FILE: scripts/check_translations.py function main (line 7) | def main(basedir, lang=""): function leaf_keys (line 30) | def leaf_keys(obj, prefix=""): FILE: scripts/gen_strings.py function _is_base_file (line 14) | def _is_base_file(filename: str) -> bool: function _load_base_properties (line 19) | def _load_base_properties(basedir: str, filenames: list[str]) -> dict[st... function _merged_properties (line 39) | def _merged_properties(filename: str, parsed_properties: list[dict], bas... function main (line 52) | def main(basedir): function prune_translations (line 210) | def prune_translations(basedir, reference): function prune_keys (line 223) | def prune_keys(obj, reference): function load_ha_strings (line 229) | def load_ha_strings(): function resolve_key (line 239) | def resolve_key(ha_strings, key): function expand_keys (line 250) | def expand_keys(obj, ha_strings): function is_number (line 263) | def is_number(s: str) -> bool: function include_option (line 270) | def include_option(option: str, filename: str) -> bool: function to_key (line 282) | def to_key(name: str) -> str: function pretty (line 286) | def pretty(name: str) -> str: FILE: scripts/sort_translations.py function main (line 6) | def main(basedir): function sort_json (line 13) | def sort_json(filepath): FILE: scripts/validate_mappings.py function my_construct_mapping (line 15) | def my_construct_mapping(self, node, deep=False): function _is_sensor_platform (line 20) | def _is_sensor_platform(entry): function _check_entity_category_config_on_sensor (line 29) | def _check_entity_category_config_on_sensor(filename, merged_entry): function main (line 46) | def main(basedir): FILE: tests/test_dictionaries.py function test_override_with_no_platform_inherits_everything (line 12) | def test_override_with_no_platform_inherits_everything(): function test_same_platform_merges_field_by_field (line 29) | def test_same_platform_merges_field_by_field(): function test_options_replace_as_whole (line 55) | def test_options_replace_as_whole(): function test_combine_replaces_as_whole (line 79) | def test_combine_replaces_as_whole(): function test_dict_valued_min_max_replace_as_whole (line 94) | def test_dict_valued_min_max_replace_as_whole(): function test_different_platform_replaces_block_but_top_level_inherits (line 114) | def test_different_platform_replaces_block_but_top_level_inherits(): function test_explicit_null_in_platform_unsets_base_field (line 134) | def test_explicit_null_in_platform_unsets_base_field(): function test_explicit_null_at_top_level_unsets_field (line 155) | def test_explicit_null_at_top_level_unsets_field(): function test_bare_platform_in_subtype_inherits_base_block (line 172) | def test_bare_platform_in_subtype_inherits_base_block(): function test_bare_platform_in_subtype_with_no_base_platform (line 192) | def test_bare_platform_in_subtype_with_no_base_platform(): function test_no_base_returns_override_copy (line 205) | def test_no_base_returns_override_copy(): function test_property_constructed_from_merged_dict (line 214) | def test_property_constructed_from_merged_dict(): function test_unknown_value_zero_is_honored (line 236) | def test_unknown_value_zero_is_honored(): function test_unknown_value_null_is_none (line 244) | def test_unknown_value_null_is_none(): function test_unknown_value_absent_is_none (line 249) | def test_unknown_value_absent_is_none(): function test_hide_false_actually_disables_hiding (line 254) | def test_hide_false_actually_disables_hiding(): function test_disable_false_actually_disables_disabling (line 264) | def test_disable_false_actually_disables_disabling(): function test_optional_parsing (line 270) | def test_optional_parsing(): FILE: tests/test_messages.py function test_gateway_rejection_uses_human_friendly_message (line 8) | def test_gateway_rejection_uses_human_friendly_message() -> None: function test_timeout_uses_human_friendly_message (line 22) | def test_timeout_uses_human_friendly_message() -> None: function test_network_error_uses_human_friendly_message (line 31) | def test_network_error_uses_human_friendly_message() -> None: function test_unknown_error_uses_generic_message (line 45) | def test_unknown_error_uses_generic_message() -> None: