SYMBOL INDEX (156 symbols across 16 files) FILE: custom_components/unifiprotect/__init__.py function _async_migrate_data (line 49) | async def _async_migrate_data( function _async_import_options_from_data_if_missing (line 139) | def _async_import_options_from_data_if_missing( function async_setup_entry (line 155) | async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> ... function _async_options_updated (line 209) | async def _async_options_updated(hass: HomeAssistant, entry: ConfigEntry... function async_unload_entry (line 214) | async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) ->... function async_migrate_entry (line 225) | async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigE... FILE: custom_components/unifiprotect/binary_sensor.py class ProtectBinaryEntityDescription (line 36) | class ProtectBinaryEntityDescription( function async_setup_entry (line 139) | async def async_setup_entry( function _async_motion_entities (line 160) | def _async_motion_entities( function _async_nvr_entities (line 177) | def _async_nvr_entities( class ProtectDeviceBinarySensor (line 195) | class ProtectDeviceBinarySensor(ProtectDeviceEntity, BinarySensorEntity): method _async_update_device_from_protect (line 202) | def _async_update_device_from_protect(self) -> None: class ProtectDiskBinarySensor (line 230) | class ProtectDiskBinarySensor(ProtectNVREntity, BinarySensorEntity): method __init__ (line 235) | def __init__( method _async_update_device_from_protect (line 250) | def _async_update_device_from_protect(self) -> None: class ProtectEventBinarySensor (line 262) | class ProtectEventBinarySensor(EventThumbnailMixin, ProtectDeviceBinaryS... method _async_get_event (line 268) | def _async_get_event(self) -> Event | None: FILE: custom_components/unifiprotect/button.py function async_setup_entry (line 19) | async def async_setup_entry( class ProtectButton (line 38) | class ProtectButton(ProtectDeviceEntity, ButtonEntity): method __init__ (line 44) | def __init__( method async_press (line 53) | async def async_press(self) -> None: FILE: custom_components/unifiprotect/camera.py function get_camera_channels (line 29) | def get_camera_channels( function async_setup_entry (line 53) | async def async_setup_entry( class ProtectCamera (line 91) | class ProtectCamera(ProtectDeviceEntity, Camera): method __init__ (line 96) | def __init__( method _async_set_stream_source (line 122) | def _async_set_stream_source(self) -> None: method _async_update_device_from_protect (line 140) | def _async_update_device_from_protect(self) -> None: method async_camera_image (line 160) | async def async_camera_image( method stream_source (line 171) | async def stream_source(self) -> str | None: FILE: custom_components/unifiprotect/config_flow.py class ProtectFlowHandler (line 38) | class ProtectFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): method __init__ (line 43) | def __init__(self) -> None: method async_get_options_flow (line 51) | def async_get_options_flow( method _async_create_entry (line 58) | def _async_create_entry(self, title: str, data: dict[str, Any]) -> Flo... method _async_get_nvr_data (line 69) | async def _async_get_nvr_data( method async_step_reauth (line 111) | async def async_step_reauth(self, user_input: dict[str, Any]) -> FlowR... method async_step_reauth_confirm (line 117) | async def async_step_reauth_confirm( method async_step_user (line 149) | async def async_step_user( class OptionsFlowHandler (line 187) | class OptionsFlowHandler(config_entries.OptionsFlow): method __init__ (line 190) | def __init__(self, config_entry: config_entries.ConfigEntry) -> None: method async_step_init (line 194) | async def async_step_init( FILE: custom_components/unifiprotect/data.py class ProtectData (line 27) | class ProtectData: method __init__ (line 30) | def __init__( method disable_stream (line 52) | def disable_stream(self) -> bool: method get_by_types (line 56) | def get_by_types( method async_setup (line 68) | async def async_setup(self) -> None: method async_stop (line 75) | async def async_stop(self, *args: Any) -> None: method async_refresh (line 85) | async def async_refresh(self, *_: Any, force: bool = False) -> None: method _async_process_ws_message (line 110) | def _async_process_ws_message(self, message: WSSubscriptionMessage) ->... method _async_process_updates (line 139) | def _async_process_updates(self, updates: Bootstrap | None) -> None: method async_subscribe_device_id (line 154) | def async_subscribe_device_id( method async_unsubscribe_device_id (line 170) | def async_unsubscribe_device_id( method async_signal_device_id_update (line 182) | def async_signal_device_id_update(self, device_id: str) -> None: FILE: custom_components/unifiprotect/entity.py function _async_device_entities (line 32) | def _async_device_entities( function async_all_device_entities (line 69) | def async_all_device_entities( class ProtectDeviceEntity (line 93) | class ProtectDeviceEntity(Entity): method __init__ (line 100) | def __init__( method async_update (line 124) | async def async_update(self) -> None: method _async_set_device_info (line 132) | def _async_set_device_info(self) -> None: method _async_update_device_from_protect (line 144) | def _async_update_device_from_protect(self) -> None: method _async_updated_event (line 166) | def _async_updated_event(self) -> None: method async_added_to_hass (line 171) | async def async_added_to_hass(self) -> None: class ProtectNVREntity (line 181) | class ProtectNVREntity(ProtectDeviceEntity): method __init__ (line 187) | def __init__( method _async_set_device_info (line 197) | def _async_set_device_info(self) -> None: method _async_update_device_from_protect (line 209) | def _async_update_device_from_protect(self) -> None: class EventThumbnailMixin (line 216) | class EventThumbnailMixin(ProtectDeviceEntity): method __init__ (line 219) | def __init__(self, *args: Any, **kwarg: Any) -> None: method _async_get_event (line 225) | def _async_get_event(self) -> Event | None: method _async_thumbnail_extra_attrs (line 233) | def _async_thumbnail_extra_attrs(self) -> dict[str, Any]: method _async_update_device_from_protect (line 246) | def _async_update_device_from_protect(self) -> None: FILE: custom_components/unifiprotect/light.py function async_setup_entry (line 24) | async def async_setup_entry( function unifi_brightness_to_hass (line 45) | def unifi_brightness_to_hass(value: int) -> int: function hass_to_unifi_brightness (line 50) | def hass_to_unifi_brightness(value: int) -> int: class ProtectLight (line 55) | class ProtectLight(ProtectDeviceEntity, LightEntity): method _async_update_device_from_protect (line 64) | def _async_update_device_from_protect(self) -> None: method async_turn_on (line 71) | async def async_turn_on(self, **kwargs: Any) -> None: method async_turn_off (line 79) | async def async_turn_off(self, **kwargs: Any) -> None: FILE: custom_components/unifiprotect/media_player.py function async_setup_entry (line 34) | async def async_setup_entry( class ProtectMediaPlayer (line 54) | class ProtectMediaPlayer(ProtectDeviceEntity, MediaPlayerEntity): method __init__ (line 60) | def __init__( method _async_update_device_from_protect (line 81) | def _async_update_device_from_protect(self) -> None: method async_set_volume_level (line 93) | async def async_set_volume_level(self, volume: float) -> None: method async_media_stop (line 99) | async def async_media_stop(self) -> None: method async_play_media (line 110) | async def async_play_media( FILE: custom_components/unifiprotect/models.py class ProtectRequiredKeysMixin (line 18) | class ProtectRequiredKeysMixin: method get_ufp_value (line 26) | def get_ufp_value(self, obj: ProtectAdoptableDeviceModel | NVR) -> Any: method get_ufp_enabled (line 38) | def get_ufp_enabled(self, obj: ProtectAdoptableDeviceModel | NVR) -> b... class ProtectSetableKeysMixin (line 46) | class ProtectSetableKeysMixin(ProtectRequiredKeysMixin): method ufp_set (line 54) | async def ufp_set(self, obj: ProtectAdoptableDeviceModel, value: Any) ... FILE: custom_components/unifiprotect/number.py class NumberKeysMixin (line 22) | class NumberKeysMixin: class ProtectNumberEntityDescription (line 31) | class ProtectNumberEntityDescription( function _get_pir_duration (line 37) | def _get_pir_duration(obj: Any) -> int: function _set_pir_duration (line 42) | async def _set_pir_duration(obj: Any, value: float) -> None: function async_setup_entry (line 129) | async def async_setup_entry( class ProtectNumbers (line 147) | class ProtectNumbers(ProtectDeviceEntity, NumberEntity): method __init__ (line 153) | def __init__( method _async_update_device_from_protect (line 166) | def _async_update_device_from_protect(self) -> None: method async_set_value (line 170) | async def async_set_value(self, value: float) -> None: FILE: custom_components/unifiprotect/select.py class ProtectSelectEntityDescription (line 106) | class ProtectSelectEntityDescription(ProtectSetableKeysMixin, SelectEnti... function _get_viewer_options (line 117) | def _get_viewer_options(api: ProtectApiClient) -> list[dict[str, Any]]: function _get_doorbell_options (line 123) | def _get_doorbell_options(api: ProtectApiClient) -> list[dict[str, Any]]: function _get_paired_camera_options (line 134) | def _get_paired_camera_options(api: ProtectApiClient) -> list[dict[str, ... function _get_viewer_current (line 142) | def _get_viewer_current(obj: Any) -> str: function _get_light_motion_current (line 147) | def _get_light_motion_current(obj: Any) -> str: function _get_doorbell_current (line 158) | def _get_doorbell_current(obj: Any) -> str | None: function _set_light_mode (line 165) | async def _set_light_mode(obj: Any, mode: str) -> None: function _set_paired_camera (line 174) | async def _set_paired_camera( function _set_doorbell_message (line 185) | async def _set_doorbell_message(obj: Any, message: str) -> None: function _set_liveview (line 195) | async def _set_liveview(obj: Any, liveview_id: str) -> None: function async_setup_entry (line 303) | async def async_setup_entry( class ProtectSelects (line 328) | class ProtectSelects(ProtectDeviceEntity, SelectEntity): method __init__ (line 334) | def __init__( method _async_update_device_from_protect (line 346) | def _async_update_device_from_protect(self) -> None: method _async_set_options (line 360) | def _async_set_options(self) -> None: method current_option (line 374) | def current_option(self) -> str: method async_select_option (line 382) | async def async_select_option(self, option: str) -> None: method async_set_doorbell_message (line 396) | async def async_set_doorbell_message(self, message: str, duration: str... FILE: custom_components/unifiprotect/sensor.py class ProtectSensorEntityDescription (line 50) | class ProtectSensorEntityDescription(ProtectRequiredKeysMixin, SensorEnt... method get_ufp_value (line 55) | def get_ufp_value(self, obj: ProtectAdoptableDeviceModel | NVR) -> Any: function _get_uptime (line 64) | def _get_uptime(obj: ProtectAdoptableDeviceModel | NVR) -> datetime | None: function _get_nvr_recording_capacity (line 73) | def _get_nvr_recording_capacity(obj: Any) -> int: function _get_nvr_memory (line 82) | def _get_nvr_memory(obj: Any) -> float | None: function _get_alarm_sound (line 91) | def _get_alarm_sound(obj: ProtectAdoptableDeviceModel | NVR) -> str: function async_setup_entry (line 387) | async def async_setup_entry( function _async_motion_entities (line 408) | def _async_motion_entities( function _async_nvr_entities (line 428) | def _async_nvr_entities( class ProtectDeviceSensor (line 440) | class ProtectDeviceSensor(ProtectDeviceEntity, SensorEntity): method __init__ (line 445) | def __init__( method _async_update_device_from_protect (line 455) | def _async_update_device_from_protect(self) -> None: class ProtectNVRSensor (line 460) | class ProtectNVRSensor(ProtectNVREntity, SensorEntity): method __init__ (line 465) | def __init__( method _async_update_device_from_protect (line 475) | def _async_update_device_from_protect(self) -> None: class ProtectEventSensor (line 480) | class ProtectEventSensor(ProtectDeviceSensor, EventThumbnailMixin): method _async_get_event (line 486) | def _async_get_event(self) -> Event | None: method _async_update_device_from_protect (line 500) | def _async_update_device_from_protect(self) -> None: FILE: custom_components/unifiprotect/services.py function _async_all_ufp_instances (line 43) | def _async_all_ufp_instances(hass: HomeAssistant) -> list[ProtectApiClie... function _async_unifi_mac_from_hass (line 51) | def _async_unifi_mac_from_hass(mac: str) -> str: function _async_get_macs_for_device (line 57) | def _async_get_macs_for_device(device_entry: dr.DeviceEntry) -> list[str]: function _async_get_ufp_instances (line 66) | def _async_get_ufp_instances( function _async_get_protect_from_call (line 91) | def _async_get_protect_from_call( function _async_call_nvr (line 103) | async def _async_call_nvr( function add_doorbell_text (line 117) | async def add_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> N... function remove_doorbell_text (line 124) | async def remove_doorbell_text(hass: HomeAssistant, call: ServiceCall) -... function set_default_doorbell_text (line 131) | async def set_default_doorbell_text(hass: HomeAssistant, call: ServiceCa... function async_setup_services (line 138) | def async_setup_services(hass: HomeAssistant) -> None: function async_cleanup_services (line 163) | def async_cleanup_services(hass: HomeAssistant) -> None: FILE: custom_components/unifiprotect/switch.py class ProtectSwitchEntityDescription (line 25) | class ProtectSwitchEntityDescription(ProtectSetableKeysMixin, SwitchEnti... function _get_is_highfps (line 32) | def _get_is_highfps(obj: Any) -> bool: function _set_highfps (line 37) | async def _set_highfps(obj: Any, value: bool) -> None: function async_setup_entry (line 217) | async def async_setup_entry( class ProtectSwitch (line 235) | class ProtectSwitch(ProtectDeviceEntity, SwitchEntity): method __init__ (line 240) | def __init__( method is_on (line 263) | def is_on(self) -> bool: method async_turn_on (line 267) | async def async_turn_on(self, **kwargs: Any) -> None: method async_turn_off (line 277) | async def async_turn_off(self, **kwargs: Any) -> None: FILE: custom_components/unifiprotect/utils.py function get_nested_attr (line 8) | def get_nested_attr(obj: Any, attr: str) -> Any: