homeassistant-stubs 2024.4.4__py3-none-any.whl → 2024.5.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +3 -1
- homeassistant-stubs/auth/jwt_wrapper.pyi +1 -1
- homeassistant-stubs/auth/permissions/__init__.pyi +1 -2
- homeassistant-stubs/auth/permissions/events.pyi +3 -2
- homeassistant-stubs/auth/session.pyi +46 -0
- homeassistant-stubs/backports/enum.pyi +6 -2
- homeassistant-stubs/backports/functools.pyi +5 -15
- homeassistant-stubs/block_async_io.pyi +8 -1
- homeassistant-stubs/bootstrap.pyi +7 -1
- homeassistant-stubs/components/accuweather/__init__.pyi +9 -13
- homeassistant-stubs/components/accuweather/config_flow.pyi +2 -10
- homeassistant-stubs/components/accuweather/const.pyi +2 -2
- homeassistant-stubs/components/accuweather/coordinator.pyi +27 -0
- homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +29 -8
- homeassistant-stubs/components/accuweather/weather.pyi +9 -5
- homeassistant-stubs/components/adax/climate.pyi +3 -1
- homeassistant-stubs/components/adguard/__init__.pyi +9 -1
- homeassistant-stubs/components/adguard/const.pyi +0 -2
- homeassistant-stubs/components/adguard/entity.pyi +4 -3
- homeassistant-stubs/components/adguard/sensor.pyi +3 -3
- homeassistant-stubs/components/adguard/switch.pyi +3 -3
- homeassistant-stubs/components/airtouch5/config_flow.pyi +3 -3
- homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -0
- homeassistant-stubs/components/airzone_cloud/select.pyi +38 -0
- homeassistant-stubs/components/airzone_cloud/water_heater.pyi +35 -0
- homeassistant-stubs/components/alert/__init__.pyi +2 -2
- homeassistant-stubs/components/alexa/config.pyi +2 -0
- homeassistant-stubs/components/alexa/entities.pyi +0 -2
- homeassistant-stubs/components/alexa/intent.pyi +2 -1
- homeassistant-stubs/components/alexa/resources.pyi +3 -3
- homeassistant-stubs/components/alexa/state_report.pyi +3 -4
- homeassistant-stubs/components/ambient_network/__init__.pyi +10 -0
- homeassistant-stubs/components/ambient_network/config_flow.pyi +22 -0
- homeassistant-stubs/components/ambient_network/const.pyi +12 -0
- homeassistant-stubs/components/ambient_network/coordinator.pyi +18 -0
- homeassistant-stubs/components/ambient_network/entity.pyi +20 -0
- homeassistant-stubs/components/ambient_network/helper.pyi +4 -0
- homeassistant-stubs/components/ambient_network/sensor.pyi +46 -0
- homeassistant-stubs/components/ambient_station/sensor.pyi +3 -1
- homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -2
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -0
- homeassistant-stubs/components/api/__init__.pyi +2 -2
- homeassistant-stubs/components/apple_tv/remote.pyi +1 -1
- homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +5 -4
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -3
- homeassistant-stubs/components/auth/__init__.pyi +9 -2
- homeassistant-stubs/components/auth/login_flow.pyi +2 -2
- homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
- homeassistant-stubs/components/automation/__init__.pyi +7 -9
- homeassistant-stubs/components/automation/logbook.pyi +3 -1
- homeassistant-stubs/components/axis/hub/event_source.pyi +23 -0
- homeassistant-stubs/components/axis/hub/hub.pyi +4 -9
- homeassistant-stubs/components/baf/fan.pyi +1 -0
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/bluetooth/config_flow.pyi +6 -0
- homeassistant-stubs/components/bluetooth/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bluetooth/util.pyi +2 -1
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +4 -3
- homeassistant-stubs/components/camera/__init__.pyi +2 -2
- homeassistant-stubs/components/cloud/__init__.pyi +9 -4
- homeassistant-stubs/components/cloud/alexa_config.pyi +2 -2
- homeassistant-stubs/components/cloud/const.pyi +2 -1
- homeassistant-stubs/components/cloud/google_config.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +2 -2
- homeassistant-stubs/components/cloud/prefs.pyi +5 -3
- homeassistant-stubs/components/cloud/stt.pyi +1 -0
- homeassistant-stubs/components/cloud/tts.pyi +1 -0
- homeassistant-stubs/components/cloud/util.pyi +7 -0
- homeassistant-stubs/components/command_line/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/command_line/const.pyi +4 -1
- homeassistant-stubs/components/command_line/cover.pyi +3 -3
- homeassistant-stubs/components/command_line/sensor.pyi +4 -5
- homeassistant-stubs/components/command_line/switch.pyi +3 -3
- homeassistant-stubs/components/config/__init__.pyi +1 -1
- homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/demo/notify.pyi +12 -10
- homeassistant-stubs/components/demo/sensor.pyi +1 -1
- homeassistant-stubs/components/derivative/sensor.pyi +2 -2
- homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
- homeassistant-stubs/components/device_tracker/legacy.pyi +2 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -2
- homeassistant-stubs/components/dlna_dms/dms.pyi +2 -1
- homeassistant-stubs/components/ecovacs/event.pyi +1 -0
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +5 -1
- homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -0
- homeassistant-stubs/components/emulated_hue/config.pyi +2 -2
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -2
- homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +12 -0
- homeassistant-stubs/components/energenie_power_sockets/config_flow.pyi +6 -0
- homeassistant-stubs/components/energenie_power_sockets/const.pyi +5 -0
- homeassistant-stubs/components/energenie_power_sockets/switch.pyi +27 -0
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/energy/sensor.pyi +4 -4
- homeassistant-stubs/components/energy/websocket_api.pyi +1 -1
- homeassistant-stubs/components/enigma2/__init__.pyi +11 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +17 -0
- homeassistant-stubs/components/enigma2/const.pyi +1 -0
- homeassistant-stubs/components/enigma2/media_player.pyi +9 -6
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
- homeassistant-stubs/components/eq3btsmart/__init__.pyi +18 -0
- homeassistant-stubs/components/eq3btsmart/climate.pyi +55 -0
- homeassistant-stubs/components/eq3btsmart/config_flow.pyi +17 -0
- homeassistant-stubs/components/eq3btsmart/const.pyi +38 -0
- homeassistant-stubs/components/eq3btsmart/entity.pyi +10 -0
- homeassistant-stubs/components/eq3btsmart/models.pyi +20 -0
- homeassistant-stubs/components/eq3btsmart/schemas.pyi +6 -0
- homeassistant-stubs/components/esphome/datetime.pyi +14 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -5
- homeassistant-stubs/components/esphome/event.pyi +16 -0
- homeassistant-stubs/components/esphome/manager.pyi +5 -4
- homeassistant-stubs/components/esphome/update.pyi +0 -1
- homeassistant-stubs/components/esphome/valve.pyi +30 -0
- homeassistant-stubs/components/esphome/voice_assistant.pyi +24 -8
- homeassistant-stubs/components/filter/sensor.pyi +2 -2
- homeassistant-stubs/components/fritz/__init__.pyi +2 -2
- homeassistant-stubs/components/fritz/button.pyi +16 -3
- homeassistant-stubs/components/fritz/common.pyi +6 -3
- homeassistant-stubs/components/fritz/config_flow.pyi +7 -2
- homeassistant-stubs/components/fritz/const.pyi +5 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
- homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -0
- homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -2
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +4 -2
- homeassistant-stubs/components/generic_thermostat/climate.pyi +2 -2
- homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
- homeassistant-stubs/components/glances/coordinator.pyi +1 -0
- homeassistant-stubs/components/glances/sensor.pyi +6 -5
- homeassistant-stubs/components/group/entity.pyi +9 -13
- homeassistant-stubs/components/group/event.pyi +2 -2
- homeassistant-stubs/components/group/media_player.pyi +2 -2
- homeassistant-stubs/components/group/notify.pyi +2 -1
- homeassistant-stubs/components/group/registry.pyi +7 -4
- homeassistant-stubs/components/history/websocket_api.pyi +6 -6
- homeassistant-stubs/components/history_stats/coordinator.pyi +2 -2
- homeassistant-stubs/components/history_stats/data.pyi +1 -2
- homeassistant-stubs/components/homeassistant/logbook.pyi +5 -3
- homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
- homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -9
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +60 -6
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +8 -0
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +23 -2
- homeassistant-stubs/components/homekit/accessories.pyi +2 -2
- homeassistant-stubs/components/homekit/type_cameras.pyi +3 -2
- homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -2
- homeassistant-stubs/components/homekit/type_thermostats.pyi +2 -2
- homeassistant-stubs/components/homekit/util.pyi +3 -4
- homeassistant-stubs/components/homeworks/__init__.pyi +7 -2
- homeassistant-stubs/components/homeworks/button.pyi +1 -1
- homeassistant-stubs/components/http/__init__.pyi +11 -7
- homeassistant-stubs/components/http/auth.pyi +11 -3
- homeassistant-stubs/components/http/const.pyi +7 -0
- homeassistant-stubs/components/http/session.pyi +29 -0
- homeassistant-stubs/components/hydrawise/__init__.pyi +3 -6
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -4
- homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -9
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +2 -5
- homeassistant-stubs/components/image/__init__.pyi +2 -2
- homeassistant-stubs/components/imap/__init__.pyi +20 -4
- homeassistant-stubs/components/imap/config_flow.pyi +2 -1
- homeassistant-stubs/components/imap/const.pyi +5 -2
- homeassistant-stubs/components/imap/coordinator.pyi +5 -2
- homeassistant-stubs/components/integration/sensor.pyi +12 -13
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -3
- homeassistant-stubs/components/islamic_prayer_times/coordinator.pyi +2 -2
- homeassistant-stubs/components/isy994/helpers.pyi +1 -1
- homeassistant-stubs/components/jvc_projector/select.pyi +30 -0
- homeassistant-stubs/components/knx/expose.pyi +2 -2
- homeassistant-stubs/components/knx/helpers/__init__.pyi +0 -0
- homeassistant-stubs/components/knx/notify.pyi +16 -3
- homeassistant-stubs/components/knx/repairs.pyi +7 -0
- homeassistant-stubs/components/logbook/__init__.pyi +1 -0
- homeassistant-stubs/components/logbook/helpers.pyi +5 -4
- homeassistant-stubs/components/logbook/models.pyi +4 -3
- homeassistant-stubs/components/logbook/processor.pyi +3 -2
- homeassistant-stubs/components/logger/helpers.pyi +4 -1
- homeassistant-stubs/components/media_extractor/__init__.pyi +4 -4
- homeassistant-stubs/components/media_extractor/const.pyi +5 -0
- homeassistant-stubs/components/min_max/sensor.pyi +2 -2
- homeassistant-stubs/components/minecraft_server/sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/base_platform.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +9 -3
- homeassistant-stubs/components/modbus/const.pyi +7 -0
- homeassistant-stubs/components/modbus/modbus.pyi +1 -0
- homeassistant-stubs/components/modbus/validators.pyi +2 -1
- homeassistant-stubs/components/mqtt/__init__.pyi +1 -2
- homeassistant-stubs/components/mqtt/client.pyi +30 -9
- homeassistant-stubs/components/mqtt/config_flow.pyi +9 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +7 -4
- homeassistant-stubs/components/mqtt/models.pyi +1 -1
- homeassistant-stubs/components/mqtt/notify.pyi +31 -0
- homeassistant-stubs/components/netatmo/__init__.pyi +2 -0
- homeassistant-stubs/components/netatmo/binary_sensor.pyi +20 -0
- homeassistant-stubs/components/netatmo/camera.pyi +8 -11
- homeassistant-stubs/components/netatmo/climate.pyi +11 -19
- homeassistant-stubs/components/netatmo/cover.pyi +5 -7
- homeassistant-stubs/components/netatmo/entity.pyi +40 -10
- homeassistant-stubs/components/netatmo/fan.pyi +5 -8
- homeassistant-stubs/components/netatmo/light.pyi +11 -19
- homeassistant-stubs/components/netatmo/select.pyi +4 -7
- homeassistant-stubs/components/netatmo/sensor.pyi +36 -49
- homeassistant-stubs/components/netatmo/switch.pyi +5 -7
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -38
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +1 -1
- homeassistant-stubs/components/nextdns/coordinator.pyi +42 -0
- homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/switch.pyi +1 -1
- homeassistant-stubs/components/nfandroidtv/notify.pyi +2 -1
- homeassistant-stubs/components/notify/__init__.pyi +31 -2
- homeassistant-stubs/components/notify/const.pyi +2 -0
- homeassistant-stubs/components/number/const.pyi +1 -0
- homeassistant-stubs/components/number/significant_change.pyi +1 -1
- homeassistant-stubs/components/oncue/__init__.pyi +2 -1
- homeassistant-stubs/components/oncue/config_flow.pyi +7 -1
- homeassistant-stubs/components/open_meteo/weather.pyi +2 -1
- homeassistant-stubs/components/prometheus/__init__.pyi +1 -2
- homeassistant-stubs/components/proximity/__init__.pyi +1 -1
- homeassistant-stubs/components/proximity/coordinator.pyi +2 -2
- homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
- homeassistant-stubs/components/rabbitair/config_flow.pyi +4 -4
- homeassistant-stubs/components/recorder/__init__.pyi +1 -0
- homeassistant-stubs/components/recorder/auto_repairs/states/__init__.pyi +0 -0
- homeassistant-stubs/components/recorder/core.pyi +6 -5
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -3
- homeassistant-stubs/components/recorder/history/__init__.pyi +5 -6
- homeassistant-stubs/components/recorder/history/legacy.pyi +7 -7
- homeassistant-stubs/components/recorder/history/modern.pyi +7 -7
- homeassistant-stubs/components/recorder/models/event.pyi +4 -1
- homeassistant-stubs/components/recorder/pool.pyi +1 -1
- homeassistant-stubs/components/recorder/services.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +4 -4
- homeassistant-stubs/components/recorder/table_managers/__init__.pyi +4 -3
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +5 -3
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -2
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +3 -3
- homeassistant-stubs/components/recorder/tasks.pyi +2 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/rest/__init__.pyi +2 -2
- homeassistant-stubs/components/rest/const.pyi +1 -0
- homeassistant-stubs/components/rest/data.pyi +1 -0
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -2
- homeassistant-stubs/components/ring/__init__.pyi +25 -0
- homeassistant-stubs/components/ring/binary_sensor.pyi +35 -0
- homeassistant-stubs/components/ring/button.pyi +20 -0
- homeassistant-stubs/components/ring/camera.pyi +43 -0
- homeassistant-stubs/components/ring/config_flow.pyi +26 -0
- homeassistant-stubs/components/ring/const.pyi +12 -0
- homeassistant-stubs/components/ring/coordinator.pyi +25 -0
- homeassistant-stubs/components/ring/diagnostics.pyi +11 -0
- homeassistant-stubs/components/ring/entity.pyi +33 -0
- homeassistant-stubs/components/ring/light.pyi +34 -0
- homeassistant-stubs/components/ring/sensor.pyi +39 -0
- homeassistant-stubs/components/ring/siren.pyi +23 -0
- homeassistant-stubs/components/ring/switch.pyi +31 -0
- homeassistant-stubs/components/romy/binary_sensor.pyi +19 -0
- homeassistant-stubs/components/romy/config_flow.pyi +7 -7
- homeassistant-stubs/components/romy/sensor.pyi +20 -0
- homeassistant-stubs/components/sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/sensor/significant_change.pyi +1 -1
- homeassistant-stubs/components/shelly/__init__.pyi +2 -4
- homeassistant-stubs/components/shelly/coordinator.pyi +8 -7
- homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
- homeassistant-stubs/components/statistics/sensor.pyi +2 -2
- homeassistant-stubs/components/switch/light.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/__init__.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/camera.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/common.pyi +6 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +4 -4
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +0 -1
- homeassistant-stubs/components/system_log/__init__.pyi +3 -3
- homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -0
- homeassistant-stubs/components/tplink/coordinator.pyi +2 -0
- homeassistant-stubs/components/tplink/entity.pyi +1 -0
- homeassistant-stubs/components/tplink/light.pyi +1 -1
- homeassistant-stubs/components/tplink/sensor.pyi +4 -3
- homeassistant-stubs/components/tplink_omada/switch.pyi +12 -14
- homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/unifi/__init__.pyi +2 -0
- homeassistant-stubs/components/unifi/button.pyi +2 -1
- homeassistant-stubs/components/unifi/hub/entity_helper.pyi +44 -0
- homeassistant-stubs/components/unifi/hub/hub.pyi +8 -13
- homeassistant-stubs/components/unifi/sensor.pyi +2 -1
- homeassistant-stubs/components/velbus/cover.pyi +2 -0
- homeassistant-stubs/components/weather/significant_change.pyi +1 -1
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
- homeassistant-stubs/components/websocket_api/messages.pyi +1 -2
- homeassistant-stubs/components/websocket_api/sensor.pyi +3 -7
- homeassistant-stubs/components/withings/__init__.pyi +2 -8
- homeassistant-stubs/components/withings/config_flow.pyi +1 -1
- homeassistant-stubs/components/withings/const.pyi +0 -2
- homeassistant-stubs/components/zone/__init__.pyi +8 -10
- homeassistant-stubs/components/zone/trigger.pyi +2 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -1
- homeassistant-stubs/config.pyi +1 -1
- homeassistant-stubs/config_entries.pyi +32 -29
- homeassistant-stubs/const.pyi +11 -6
- homeassistant-stubs/core.pyi +56 -24
- homeassistant-stubs/data_entry_flow.pyi +3 -3
- homeassistant-stubs/exceptions.pyi +4 -2
- homeassistant-stubs/helpers/aiohttp_client.pyi +1 -0
- homeassistant-stubs/helpers/area_registry.pyi +28 -6
- homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
- homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +21 -0
- homeassistant-stubs/helpers/category_registry.pyi +16 -6
- homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
- homeassistant-stubs/helpers/deprecation.pyi +5 -0
- homeassistant-stubs/helpers/device_registry.pyi +25 -12
- homeassistant-stubs/helpers/dispatcher.pyi +1 -1
- homeassistant-stubs/helpers/entity.pyi +6 -3
- homeassistant-stubs/helpers/entity_registry.pyi +24 -16
- homeassistant-stubs/helpers/event.pyi +10 -17
- homeassistant-stubs/helpers/floor_registry.pyi +14 -3
- homeassistant-stubs/helpers/frame.pyi +2 -2
- homeassistant-stubs/helpers/httpx_client.pyi +1 -1
- homeassistant-stubs/helpers/icon.pyi +3 -2
- homeassistant-stubs/helpers/intent.pyi +1 -2
- homeassistant-stubs/helpers/label_registry.pyi +14 -3
- homeassistant-stubs/helpers/network.pyi +2 -2
- homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -6
- homeassistant-stubs/helpers/registry.pyi +19 -4
- homeassistant-stubs/helpers/reload.pyi +1 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
- homeassistant-stubs/helpers/service.pyi +4 -1
- homeassistant-stubs/helpers/significant_change.pyi +4 -4
- homeassistant-stubs/helpers/start.pyi +3 -1
- homeassistant-stubs/helpers/template.pyi +6 -3
- homeassistant-stubs/helpers/translation.pyi +5 -9
- homeassistant-stubs/helpers/typing.pyi +11 -7
- homeassistant-stubs/requirements.pyi +2 -0
- homeassistant-stubs/setup.pyi +1 -0
- homeassistant-stubs/util/async_.pyi +1 -6
- homeassistant-stubs/util/dt.pyi +5 -4
- homeassistant-stubs/util/event_type.pyi +14 -0
- homeassistant-stubs/util/logging.pyi +3 -4
- homeassistant-stubs/util/loop.pyi +15 -0
- homeassistant-stubs/util/signal_type.pyi +1 -1
- homeassistant-stubs/util/timeout.pyi +6 -6
- homeassistant-stubs/util/yaml/loader.pyi +3 -4
- homeassistant-stubs/util/yaml/objects.pyi +12 -2
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/RECORD +360 -303
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/WHEEL +0 -0
@@ -1,13 +1,13 @@
|
|
1
1
|
from .bluetooth import async_connect_scanner as async_connect_scanner
|
2
2
|
from .const import ATTR_CHANNEL as ATTR_CHANNEL, ATTR_CLICK_TYPE as ATTR_CLICK_TYPE, ATTR_DEVICE as ATTR_DEVICE, ATTR_GENERATION as ATTR_GENERATION, BATTERY_DEVICES_WITH_PERMANENT_CONNECTION as BATTERY_DEVICES_WITH_PERMANENT_CONNECTION, BLEScannerMode as BLEScannerMode, CONF_BLE_SCANNER_MODE as CONF_BLE_SCANNER_MODE, CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DATA_CONFIG_ENTRY as DATA_CONFIG_ENTRY, DOMAIN as DOMAIN, DUAL_MODE_LIGHT_MODELS as DUAL_MODE_LIGHT_MODELS, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, EVENT_SHELLY_CLICK as EVENT_SHELLY_CLICK, INPUTS_EVENTS_DICT as INPUTS_EVENTS_DICT, LOGGER as LOGGER, MAX_PUSH_UPDATE_FAILURES as MAX_PUSH_UPDATE_FAILURES, MODELS_SUPPORTING_LIGHT_EFFECTS as MODELS_SUPPORTING_LIGHT_EFFECTS, OTA_BEGIN as OTA_BEGIN, OTA_ERROR as OTA_ERROR, OTA_PROGRESS as OTA_PROGRESS, OTA_SUCCESS as OTA_SUCCESS, PUSH_UPDATE_ISSUE_ID as PUSH_UPDATE_ISSUE_ID, REST_SENSORS_UPDATE_INTERVAL as REST_SENSORS_UPDATE_INTERVAL, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, RPC_RECONNECT_INTERVAL as RPC_RECONNECT_INTERVAL, RPC_SENSORS_POLLING_INTERVAL as RPC_SENSORS_POLLING_INTERVAL, SHBTN_MODELS as SHBTN_MODELS, SLEEP_PERIOD_MULTIPLIER as SLEEP_PERIOD_MULTIPLIER, UPDATE_PERIOD_MULTIPLIER as UPDATE_PERIOD_MULTIPLIER
|
3
|
-
from .utils import async_shutdown_device as async_shutdown_device, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, update_device_fw_info as update_device_fw_info
|
3
|
+
from .utils import async_create_issue_unsupported_firmware as async_create_issue_unsupported_firmware, async_shutdown_device as async_shutdown_device, get_block_device_sleep_period as get_block_device_sleep_period, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, update_device_fw_info as update_device_fw_info
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioshelly.block_device import BlockDevice, BlockUpdateType
|
6
6
|
from aioshelly.rpc_device import RpcDevice, RpcUpdateType
|
7
7
|
from collections.abc import Callable as Callable
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
10
|
-
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_HOST as CONF_HOST, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
10
|
+
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_HOST as CONF_HOST, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
11
11
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
13
13
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
@@ -19,11 +19,10 @@ _DeviceT = TypeVar('_DeviceT', bound='BlockDevice|RpcDevice')
|
|
19
19
|
@dataclass
|
20
20
|
class ShellyEntryData:
|
21
21
|
block: ShellyBlockCoordinator | None = ...
|
22
|
-
device: BlockDevice | RpcDevice | None = ...
|
23
22
|
rest: ShellyRestCoordinator | None = ...
|
24
23
|
rpc: ShellyRpcCoordinator | None = ...
|
25
24
|
rpc_poll: ShellyRpcPollingCoordinator | None = ...
|
26
|
-
def __init__(self, block,
|
25
|
+
def __init__(self, block, rest, rpc, rpc_poll) -> None: ...
|
27
26
|
|
28
27
|
def get_entry_data(hass: HomeAssistant) -> dict[str, ShellyEntryData]: ...
|
29
28
|
|
@@ -31,6 +30,7 @@ class ShellyCoordinatorBase(DataUpdateCoordinator[None], Generic[_DeviceT]):
|
|
31
30
|
entry: Incomplete
|
32
31
|
device: Incomplete
|
33
32
|
device_id: Incomplete
|
33
|
+
_pending_platforms: Incomplete
|
34
34
|
_debounced_reload: Incomplete
|
35
35
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry, device: _DeviceT, update_interval: float) -> None: ...
|
36
36
|
@property
|
@@ -41,7 +41,8 @@ class ShellyCoordinatorBase(DataUpdateCoordinator[None], Generic[_DeviceT]):
|
|
41
41
|
def sw_version(self) -> str: ...
|
42
42
|
@property
|
43
43
|
def sleep_period(self) -> int: ...
|
44
|
-
def async_setup(self) -> None: ...
|
44
|
+
def async_setup(self, pending_platforms: list[Platform] | None = None) -> None: ...
|
45
|
+
async def _async_device_connect(self) -> None: ...
|
45
46
|
async def _async_reload_entry(self) -> None: ...
|
46
47
|
last_update_success: bool
|
47
48
|
async def async_shutdown_device_and_start_reauth(self) -> None: ...
|
@@ -60,7 +61,7 @@ class ShellyBlockCoordinator(ShellyCoordinatorBase[BlockDevice]):
|
|
60
61
|
def _async_device_updates_handler(self) -> None: ...
|
61
62
|
async def _async_update_data(self) -> None: ...
|
62
63
|
def _async_handle_update(self, device_: BlockDevice, update_type: BlockUpdateType) -> None: ...
|
63
|
-
def async_setup(self) -> None: ...
|
64
|
+
def async_setup(self, pending_platforms: list[Platform] | None = None) -> None: ...
|
64
65
|
def shutdown(self) -> None: ...
|
65
66
|
def _handle_ha_stop(self, _event: Event) -> None: ...
|
66
67
|
|
@@ -91,7 +92,7 @@ class ShellyRpcCoordinator(ShellyCoordinatorBase[RpcDevice]):
|
|
91
92
|
async def _async_run_connected_events(self) -> None: ...
|
92
93
|
async def _async_connect_ble_scanner(self) -> None: ...
|
93
94
|
def _async_handle_update(self, device_: RpcDevice, update_type: RpcUpdateType) -> None: ...
|
94
|
-
def async_setup(self) -> None: ...
|
95
|
+
def async_setup(self, pending_platforms: list[Platform] | None = None) -> None: ...
|
95
96
|
async def shutdown(self) -> None: ...
|
96
97
|
async def _handle_ha_stop(self, _event: Event) -> None: ...
|
97
98
|
|
@@ -20,6 +20,7 @@ class StarlinkUpdateCoordinator(DataUpdateCoordinator[StarlinkData]):
|
|
20
20
|
channel_context: Incomplete
|
21
21
|
timezone: Incomplete
|
22
22
|
def __init__(self, hass: HomeAssistant, name: str, url: str) -> None: ...
|
23
|
+
def _get_starlink_data(self) -> StarlinkData: ...
|
23
24
|
async def _async_update_data(self) -> StarlinkData: ...
|
24
25
|
async def async_stow_starlink(self, stow: bool) -> None: ...
|
25
26
|
async def async_reboot_starlink(self) -> None: ...
|
@@ -5,9 +5,9 @@ from datetime import datetime, timedelta
|
|
5
5
|
from homeassistant.components.recorder import get_instance as get_instance, history as history
|
6
6
|
from homeassistant.components.sensor import DEVICE_CLASS_STATE_CLASSES as DEVICE_CLASS_STATE_CLASSES, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
|
7
7
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
8
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
8
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from homeassistant.helpers.event import
|
10
|
+
from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event
|
11
11
|
from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
|
12
12
|
from homeassistant.helpers.start import async_at_start as async_at_start
|
13
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, StateType as StateType
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity, PLATFORM_SCHEMA as PLATFORM_SCHEMA
|
3
3
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE
|
4
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
4
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
5
5
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
6
|
-
from homeassistant.helpers.event import
|
6
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
7
7
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
8
8
|
from typing import Any
|
9
9
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .common import SynoApi as SynoApi
|
1
|
+
from .common import SynoApi as SynoApi, raise_config_entry_auth_error as raise_config_entry_auth_error
|
2
2
|
from .const import DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN, EXCEPTION_DETAILS as EXCEPTION_DETAILS, EXCEPTION_UNKNOWN as EXCEPTION_UNKNOWN, PLATFORMS as PLATFORMS, SYNOLOGY_AUTH_FAILED_EXCEPTIONS as SYNOLOGY_AUTH_FAILED_EXCEPTIONS, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
3
3
|
from .coordinator import SynologyDSMCameraUpdateCoordinator as SynologyDSMCameraUpdateCoordinator, SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator, SynologyDSMSwitchUpdateCoordinator as SynologyDSMSwitchUpdateCoordinator
|
4
4
|
from .models import SynologyDSMData as SynologyDSMData
|
@@ -7,7 +7,7 @@ from _typeshed import Incomplete
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import CONF_MAC as CONF_MAC, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
-
from homeassistant.exceptions import
|
10
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
11
11
|
from homeassistant.helpers import device_registry as dr
|
12
12
|
from synology_dsm.api.surveillance_station.camera import SynoCamera as SynoCamera
|
13
13
|
|
@@ -17,7 +17,8 @@ _LOGGER: Incomplete
|
|
17
17
|
|
18
18
|
@dataclass(frozen=True, kw_only=True)
|
19
19
|
class SynologyDSMCameraEntityDescription(CameraEntityDescription, SynologyDSMEntityDescription):
|
20
|
-
|
20
|
+
camera_id: int
|
21
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, api_key, camera_id) -> None: ...
|
21
22
|
|
22
23
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
23
24
|
|
@@ -25,7 +26,7 @@ class SynoDSMCamera(SynologyDSMBaseEntity[SynologyDSMCameraUpdateCoordinator], C
|
|
25
26
|
_attr_supported_features: Incomplete
|
26
27
|
entity_description: SynologyDSMCameraEntityDescription
|
27
28
|
snapshot_quality: Incomplete
|
28
|
-
def __init__(self, api: SynoApi, coordinator: SynologyDSMCameraUpdateCoordinator, camera_id:
|
29
|
+
def __init__(self, api: SynoApi, coordinator: SynologyDSMCameraUpdateCoordinator, camera_id: int) -> None: ...
|
29
30
|
@property
|
30
31
|
def camera_data(self) -> SynoCamera: ...
|
31
32
|
@property
|
@@ -1,20 +1,22 @@
|
|
1
|
-
from .const import CONF_DEVICE_TOKEN as CONF_DEVICE_TOKEN, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
1
|
+
from .const import CONF_DEVICE_TOKEN as CONF_DEVICE_TOKEN, EXCEPTION_DETAILS as EXCEPTION_DETAILS, EXCEPTION_UNKNOWN as EXCEPTION_UNKNOWN, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable as Callable
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_TIMEOUT as CONF_TIMEOUT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
8
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
from synology_dsm import SynologyDSM
|
8
10
|
from synology_dsm.api.dsm.network import SynoDSMNetwork as SynoDSMNetwork
|
9
11
|
from synology_dsm.api.photos import SynoPhotos as SynoPhotos
|
10
12
|
|
11
13
|
LOGGER: Incomplete
|
12
14
|
|
13
15
|
class SynoApi:
|
16
|
+
dsm: SynologyDSM
|
14
17
|
_hass: Incomplete
|
15
18
|
_entry: Incomplete
|
16
19
|
config_url: Incomplete
|
17
|
-
dsm: Incomplete
|
18
20
|
information: Incomplete
|
19
21
|
network: Incomplete
|
20
22
|
security: Incomplete
|
@@ -44,3 +46,5 @@ class SynoApi:
|
|
44
46
|
async def async_unload(self) -> None: ...
|
45
47
|
async def async_update(self) -> None: ...
|
46
48
|
async def _update(self) -> None: ...
|
49
|
+
|
50
|
+
def raise_config_entry_auth_error(err: Exception) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
|
-
from .common import SynoApi as SynoApi
|
2
|
-
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, SIGNAL_CAMERA_SOURCE_CHANGED as SIGNAL_CAMERA_SOURCE_CHANGED, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
1
|
+
from .common import SynoApi as SynoApi, raise_config_entry_auth_error as raise_config_entry_auth_error
|
2
|
+
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, SIGNAL_CAMERA_SOURCE_CHANGED as SIGNAL_CAMERA_SOURCE_CHANGED, SYNOLOGY_AUTH_FAILED_EXCEPTIONS as SYNOLOGY_AUTH_FAILED_EXCEPTIONS, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from datetime import timedelta
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -28,6 +28,6 @@ class SynologyDSMCentralUpdateCoordinator(SynologyDSMUpdateCoordinator[None]):
|
|
28
28
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry, api: SynoApi) -> None: ...
|
29
29
|
async def _async_update_data(self) -> None: ...
|
30
30
|
|
31
|
-
class SynologyDSMCameraUpdateCoordinator(SynologyDSMUpdateCoordinator[dict[str, dict[
|
31
|
+
class SynologyDSMCameraUpdateCoordinator(SynologyDSMUpdateCoordinator[dict[str, dict[int, SynoCamera]]]):
|
32
32
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry, api: SynoApi) -> None: ...
|
33
|
-
async def _async_update_data(self) -> dict[str, dict[
|
33
|
+
async def _async_update_data(self) -> dict[str, dict[int, SynoCamera]]: ...
|
@@ -5,7 +5,6 @@ from homeassistant.components.diagnostics import async_redact_data as async_reda
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from synology_dsm.api.surveillance_station.camera import SynoCamera as SynoCamera
|
9
8
|
from typing import Any
|
10
9
|
|
11
10
|
TO_REDACT: Incomplete
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import logging
|
2
2
|
import re
|
3
|
-
import traceback
|
4
3
|
from _typeshed import Incomplete
|
5
4
|
from collections import OrderedDict
|
6
5
|
from homeassistant.components import websocket_api as websocket_api
|
7
6
|
from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE
|
8
7
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
9
8
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
9
|
+
from types import FrameType
|
10
10
|
from typing import Any
|
11
11
|
|
12
12
|
KeyType: Incomplete
|
@@ -26,7 +26,7 @@ CONFIG_SCHEMA: Incomplete
|
|
26
26
|
SERVICE_CLEAR_SCHEMA: Incomplete
|
27
27
|
SERVICE_WRITE_SCHEMA: Incomplete
|
28
28
|
|
29
|
-
def _figure_out_source(record: logging.LogRecord, paths_re: re.Pattern[str], extracted_tb:
|
29
|
+
def _figure_out_source(record: logging.LogRecord, paths_re: re.Pattern[str], extracted_tb: list[tuple[FrameType, int]] | None = None) -> tuple[str, int]: ...
|
30
30
|
def _safe_get_message(record: logging.LogRecord) -> str: ...
|
31
31
|
|
32
32
|
class LogEntry:
|
@@ -40,7 +40,7 @@ class LogEntry:
|
|
40
40
|
source: Incomplete
|
41
41
|
count: int
|
42
42
|
key: Incomplete
|
43
|
-
def __init__(self, record: logging.LogRecord, paths_re: re.Pattern, figure_out_source: bool = False) -> None: ...
|
43
|
+
def __init__(self, record: logging.LogRecord, paths_re: re.Pattern, formatter: logging.Formatter | None = None, figure_out_source: bool = False) -> None: ...
|
44
44
|
def to_dict(self) -> dict[str, Any]: ...
|
45
45
|
|
46
46
|
class DedupStore(OrderedDict[KeyType, LogEntry]):
|
@@ -3,10 +3,10 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, PLATFORM_SCHEMA as PLATFORM_SCHEMA
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
6
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
6
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
8
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
-
from homeassistant.helpers.event import
|
9
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
11
|
from typing import Any
|
12
12
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from datetime import timedelta
|
3
|
+
from homeassistant import config_entries as config_entries
|
3
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
5
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
5
6
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
@@ -10,6 +11,7 @@ _LOGGER: Incomplete
|
|
10
11
|
REQUEST_REFRESH_DELAY: float
|
11
12
|
|
12
13
|
class TPLinkDataUpdateCoordinator(DataUpdateCoordinator[None]):
|
14
|
+
config_entry: config_entries.ConfigEntry
|
13
15
|
device: Incomplete
|
14
16
|
def __init__(self, hass: HomeAssistant, device: SmartDevice, update_interval: timedelta) -> None: ...
|
15
17
|
async def _async_update_data(self) -> None: ...
|
@@ -2,6 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
5
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
5
6
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
6
7
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
7
8
|
from kasa import SmartDevice as SmartDevice
|
@@ -40,7 +40,7 @@ class TPLinkSmartBulb(CoordinatedTPLinkEntity, LightEntity):
|
|
40
40
|
def __init__(self, device: SmartBulb, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
|
41
41
|
def _async_extract_brightness_transition(self, **kwargs: Any) -> tuple[int | None, int | None]: ...
|
42
42
|
async def _async_set_hsv(self, hs_color: tuple[int, int], brightness: int | None, transition: int | None) -> None: ...
|
43
|
-
async def _async_set_color_temp(self, color_temp: float
|
43
|
+
async def _async_set_color_temp(self, color_temp: float, brightness: int | None, transition: int | None) -> None: ...
|
44
44
|
async def _async_turn_on_with_brightness(self, brightness: int | None, transition: int | None) -> None: ...
|
45
45
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
46
46
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -8,7 +8,7 @@ from dataclasses import dataclass
|
|
8
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
10
|
from homeassistant.const import ATTR_VOLTAGE as ATTR_VOLTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
11
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
13
|
from kasa import SmartDevice as SmartDevice
|
14
14
|
|
@@ -30,5 +30,6 @@ class SmartPlugSensor(CoordinatedTPLinkEntity, SensorEntity):
|
|
30
30
|
_attr_translation_placeholders: Incomplete
|
31
31
|
_attr_translation_key: Incomplete
|
32
32
|
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkSensorEntityDescription, has_parent: bool = False) -> None: ...
|
33
|
-
|
34
|
-
def
|
33
|
+
_attr_native_value: Incomplete
|
34
|
+
def _async_update_attrs(self) -> None: ...
|
35
|
+
def _handle_coordinator_update(self) -> None: ...
|
@@ -24,28 +24,27 @@ def _get_switch_port_base_name(port: OmadaSwitchPortDetails) -> str: ...
|
|
24
24
|
@dataclass(frozen=True, kw_only=True)
|
25
25
|
class OmadaDevicePortSwitchEntityDescription(SwitchEntityDescription, Generic[TCoordinator, TDevice, TPort]):
|
26
26
|
exists_func: Callable[[TDevice, TPort], bool] = ...
|
27
|
-
coordinator_update_func: Callable[[TCoordinator, TDevice,
|
28
|
-
set_func: Callable[[OmadaSiteClient, TDevice, TPort, bool], Awaitable[TPort]]
|
27
|
+
coordinator_update_func: Callable[[TCoordinator, TDevice, TPort], TPort | None]
|
28
|
+
set_func: Callable[[OmadaSiteClient, TDevice, TPort, bool], Awaitable[TPort | None]]
|
29
29
|
update_func: Callable[[TPort], bool]
|
30
|
-
|
31
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func, refresh_after_set) -> None: ...
|
30
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func) -> None: ...
|
32
31
|
|
33
32
|
@dataclass(frozen=True, kw_only=True)
|
34
33
|
class OmadaSwitchPortSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaSwitchPortCoordinator, OmadaSwitch, OmadaSwitchPortDetails]):
|
35
|
-
coordinator_update_func: Callable[[OmadaSwitchPortCoordinator, OmadaSwitch,
|
36
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func
|
34
|
+
coordinator_update_func: Callable[[OmadaSwitchPortCoordinator, OmadaSwitch, OmadaSwitchPortDetails], OmadaSwitchPortDetails | None] = ...
|
35
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func) -> None: ...
|
37
36
|
|
38
37
|
@dataclass(frozen=True, kw_only=True)
|
39
38
|
class OmadaGatewayPortConfigSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortConfig]):
|
40
|
-
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway,
|
41
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func
|
39
|
+
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortConfig], OmadaGatewayPortConfig | None] = ...
|
40
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func) -> None: ...
|
42
41
|
|
43
42
|
@dataclass(frozen=True, kw_only=True)
|
44
43
|
class OmadaGatewayPortStatusSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortStatus]):
|
45
|
-
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway,
|
46
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func
|
44
|
+
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortStatus], OmadaGatewayPortStatus] = ...
|
45
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func) -> None: ...
|
47
46
|
|
48
|
-
def _wan_connect_disconnect(client: OmadaSiteClient, device: OmadaDevice, port: OmadaGatewayPortStatus, enable: bool, ipv6: bool) ->
|
47
|
+
async def _wan_connect_disconnect(client: OmadaSiteClient, device: OmadaDevice, port: OmadaGatewayPortStatus, enable: bool, ipv6: bool) -> None: ...
|
49
48
|
|
50
49
|
SWITCH_PORT_DETAILS_SWITCHES: list[OmadaSwitchPortSwitchEntityDescription]
|
51
50
|
GATEWAY_PORT_STATUS_SWITCHES: list[OmadaGatewayPortStatusSwitchEntityDescription]
|
@@ -53,13 +52,12 @@ GATEWAY_PORT_CONFIG_SWITCHES: list[OmadaGatewayPortConfigSwitchEntityDescription
|
|
53
52
|
|
54
53
|
class OmadaDevicePortSwitchEntity(OmadaDeviceEntity[TCoordinator], SwitchEntity, Generic[TCoordinator, TDevice, TPort]):
|
55
54
|
_attr_has_entity_name: bool
|
56
|
-
_port_details: TPort | None
|
57
55
|
entity_description: OmadaDevicePortSwitchEntityDescription[TCoordinator, TDevice, TPort]
|
58
56
|
_device: Incomplete
|
59
|
-
|
57
|
+
_port_details: Incomplete
|
60
58
|
_attr_unique_id: Incomplete
|
61
59
|
_attr_translation_placeholders: Incomplete
|
62
|
-
def __init__(self, coordinator: TCoordinator, device: TDevice,
|
60
|
+
def __init__(self, coordinator: TCoordinator, device: TDevice, port_details: TPort, port_id: str, entity_description: OmadaDevicePortSwitchEntityDescription[TCoordinator, TDevice, TPort], port_name: str | None = None) -> None: ...
|
63
61
|
async def async_added_to_hass(self) -> None: ...
|
64
62
|
_attr_is_on: Incomplete
|
65
63
|
async def _async_turn_on_off(self, enable: bool) -> None: ...
|
@@ -5,10 +5,10 @@ from collections.abc import Mapping
|
|
5
5
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, PLATFORM_SCHEMA as PLATFORM_SCHEMA
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FRIENDLY_NAME as CONF_FRIENDLY_NAME, CONF_SENSORS as CONF_SENSORS, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
8
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers.entity import generate_entity_id as generate_entity_id
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
-
from homeassistant.helpers.event import
|
11
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
12
12
|
from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
|
13
13
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
14
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
@@ -8,6 +8,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
|
+
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
11
12
|
from homeassistant.helpers.storage import Store as Store
|
12
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
13
14
|
|
@@ -19,6 +20,7 @@ CONFIG_SCHEMA: Incomplete
|
|
19
20
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
20
21
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
21
22
|
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
23
|
+
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: DeviceEntry) -> bool: ...
|
22
24
|
|
23
25
|
class UnifiWirelessClients:
|
24
26
|
hass: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import aiounifi
|
2
|
-
from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
|
2
|
+
from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn, async_wlan_available_fn as async_wlan_available_fn, async_wlan_device_info_fn as async_wlan_device_info_fn
|
3
3
|
from .hub import UnifiHub as UnifiHub
|
4
4
|
from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
|
5
5
|
from aiounifi.models.api import ApiItemT
|
@@ -14,6 +14,7 @@ from typing import Any
|
|
14
14
|
|
15
15
|
async def async_restart_device_control_fn(api: aiounifi.Controller, obj_id: str) -> None: ...
|
16
16
|
async def async_power_cycle_port_control_fn(api: aiounifi.Controller, obj_id: str) -> None: ...
|
17
|
+
async def async_regenerate_password_control_fn(api: aiounifi.Controller, obj_id: str) -> None: ...
|
17
18
|
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class UnifiButtonEntityDescription(ButtonEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import aiounifi
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from datetime import datetime
|
4
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
5
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
6
|
+
from homeassistant.helpers.event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
|
7
|
+
|
8
|
+
class UnifiEntityHelper:
|
9
|
+
hass: Incomplete
|
10
|
+
api: Incomplete
|
11
|
+
_device_command: Incomplete
|
12
|
+
_heartbeat: Incomplete
|
13
|
+
def __init__(self, hass: HomeAssistant, api: aiounifi.Controller) -> None: ...
|
14
|
+
def reset(self) -> None: ...
|
15
|
+
def initialize(self) -> None: ...
|
16
|
+
@property
|
17
|
+
def signal_heartbeat(self) -> str: ...
|
18
|
+
def update_heartbeat(self, unique_id: str, heartbeat_expire_time: datetime) -> None: ...
|
19
|
+
def remove_heartbeat(self, unique_id: str) -> None: ...
|
20
|
+
def queue_poe_port_command(self, device_id: str, port_idx: int, poe_mode: str) -> None: ...
|
21
|
+
|
22
|
+
class UnifiEntityHeartbeat:
|
23
|
+
CHECK_HEARTBEAT_INTERVAL: Incomplete
|
24
|
+
hass: Incomplete
|
25
|
+
_cancel_heartbeat_check: Incomplete
|
26
|
+
_heartbeat_time: Incomplete
|
27
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
28
|
+
def reset(self) -> None: ...
|
29
|
+
def initialize(self) -> None: ...
|
30
|
+
@property
|
31
|
+
def signal(self) -> str: ...
|
32
|
+
def update(self, unique_id: str, heartbeat_expire_time: datetime) -> None: ...
|
33
|
+
def remove(self, unique_id: str) -> None: ...
|
34
|
+
def _check_for_stale(self, *_: datetime) -> None: ...
|
35
|
+
|
36
|
+
class UnifiDeviceCommand:
|
37
|
+
COMMAND_DELAY: int
|
38
|
+
hass: Incomplete
|
39
|
+
api: Incomplete
|
40
|
+
_command_queue: Incomplete
|
41
|
+
_cancel_command: Incomplete
|
42
|
+
def __init__(self, hass: HomeAssistant, api: aiounifi.Controller) -> None: ...
|
43
|
+
def reset(self) -> None: ...
|
44
|
+
def queue_poe_command(self, device_id: str, port_idx: int, poe_mode: str) -> None: ...
|
@@ -1,45 +1,40 @@
|
|
1
1
|
import aiounifi
|
2
2
|
from ..const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, CONF_SITE_ID as CONF_SITE_ID, PLATFORMS as PLATFORMS
|
3
3
|
from .config import UnifiConfig as UnifiConfig
|
4
|
+
from .entity_helper import UnifiEntityHelper as UnifiEntityHelper
|
4
5
|
from .entity_loader import UnifiEntityLoader as UnifiEntityLoader
|
5
6
|
from .websocket import UnifiWebsocket as UnifiWebsocket
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from datetime import datetime
|
8
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
-
from homeassistant.core import
|
10
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
10
11
|
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
11
12
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
12
|
-
from homeassistant.helpers.event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
|
13
|
-
|
14
|
-
CHECK_HEARTBEAT_INTERVAL: Incomplete
|
15
13
|
|
16
14
|
class UnifiHub:
|
17
15
|
hass: Incomplete
|
18
16
|
api: Incomplete
|
19
17
|
config: Incomplete
|
20
18
|
entity_loader: Incomplete
|
19
|
+
_entity_helper: Incomplete
|
21
20
|
websocket: Incomplete
|
22
21
|
site: Incomplete
|
23
22
|
is_admin: bool
|
24
|
-
_cancel_heartbeat_check: Incomplete
|
25
|
-
_heartbeat_time: Incomplete
|
26
|
-
poe_command_queue: Incomplete
|
27
|
-
_cancel_poe_command: Incomplete
|
28
23
|
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: aiounifi.Controller) -> None: ...
|
29
24
|
@staticmethod
|
30
25
|
def get_hub(hass: HomeAssistant, config_entry: ConfigEntry) -> UnifiHub: ...
|
31
26
|
@property
|
32
27
|
def available(self) -> bool: ...
|
33
28
|
@property
|
29
|
+
def signal_heartbeat_missed(self) -> str: ...
|
30
|
+
def update_heartbeat(self, unique_id: str, heartbeat_expire_time: datetime) -> None: ...
|
31
|
+
def remove_heartbeat(self, unique_id: str) -> None: ...
|
32
|
+
def queue_poe_port_command(self, device_id: str, port_idx: int, poe_mode: str) -> None: ...
|
33
|
+
@property
|
34
34
|
def signal_reachable(self) -> str: ...
|
35
35
|
@property
|
36
36
|
def signal_options_update(self) -> str: ...
|
37
|
-
@property
|
38
|
-
def signal_heartbeat_missed(self) -> str: ...
|
39
37
|
async def initialize(self) -> None: ...
|
40
|
-
def async_heartbeat(self, unique_id: str, heartbeat_expire_time: datetime | None = None) -> None: ...
|
41
|
-
def _async_check_for_stale(self, *_: datetime) -> None: ...
|
42
|
-
def async_queue_poe_port_command(self, device_id: str, port_idx: int, poe_mode: str) -> None: ...
|
43
38
|
@property
|
44
39
|
def device_info(self) -> DeviceInfo: ...
|
45
40
|
def async_update_device_registry(self) -> DeviceEntry: ...
|
@@ -13,7 +13,7 @@ from datetime import date, datetime
|
|
13
13
|
from decimal import Decimal
|
14
14
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass, UnitOfTemperature as UnitOfTemperature
|
15
15
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
16
|
-
from homeassistant.const import EntityCategory as EntityCategory, UnitOfDataRate as UnitOfDataRate, UnitOfPower as UnitOfPower
|
16
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfPower as UnitOfPower
|
17
17
|
from homeassistant.core import Event as core_Event, HomeAssistant as HomeAssistant, callback as callback
|
18
18
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
19
19
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -29,6 +29,7 @@ def async_device_uptime_value_fn(hub: UnifiHub, device: Device) -> datetime | No
|
|
29
29
|
def async_device_uptime_value_changed_fn(old: StateType | date | datetime | Decimal, new: datetime | float | str | None) -> bool: ...
|
30
30
|
def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
31
31
|
def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
32
|
+
def device_system_stats_supported_fn(stat_index: int, hub: UnifiHub, obj_id: str) -> bool: ...
|
32
33
|
def async_client_is_connected_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
33
34
|
def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str: ...
|
34
35
|
|
@@ -12,7 +12,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
|
|
12
12
|
|
13
13
|
class VelbusCover(VelbusEntity, CoverEntity):
|
14
14
|
_channel: VelbusBlind
|
15
|
+
_assumed_closed: bool
|
15
16
|
_attr_supported_features: Incomplete
|
17
|
+
_attr_assumed_state: bool
|
16
18
|
def __init__(self, channel: VelbusBlind) -> None: ...
|
17
19
|
@property
|
18
20
|
def is_closed(self) -> bool | None: ...
|
@@ -7,5 +7,5 @@ from typing import Any
|
|
7
7
|
SIGNIFICANT_ATTRIBUTES: set[str]
|
8
8
|
VALID_CARDINAL_DIRECTIONS: list[str]
|
9
9
|
|
10
|
-
def _cardinal_to_degrees(value: str |
|
10
|
+
def _cardinal_to_degrees(value: str | float | None) -> int | float | None: ...
|
11
11
|
def async_check_significant_change(hass: HomeAssistant, old_state: str, old_attrs: dict, new_state: str, new_attrs: dict, **kwargs: Any) -> bool | None: ...
|
@@ -7,11 +7,11 @@ from homeassistant.auth.models import User as User
|
|
7
7
|
from homeassistant.auth.permissions.const import POLICY_READ as POLICY_READ
|
8
8
|
from homeassistant.auth.permissions.events import SUBSCRIBE_ALLOWLIST as SUBSCRIBE_ALLOWLIST
|
9
9
|
from homeassistant.const import EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SIGNAL_BOOTSTRAP_INTEGRATIONS as SIGNAL_BOOTSTRAP_INTEGRATIONS
|
10
|
-
from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State, callback as callback
|
10
|
+
from homeassistant.core import Context as Context, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State, callback as callback
|
11
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, TemplateError as TemplateError, Unauthorized as Unauthorized
|
12
12
|
from homeassistant.helpers import entity as entity, template as template
|
13
13
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
|
-
from homeassistant.helpers.event import
|
14
|
+
from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
|
15
15
|
from homeassistant.helpers.json import ExtendedJSONEncoder as ExtendedJSONEncoder, JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes
|
16
16
|
from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
|
17
17
|
from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integration_descriptions as async_get_integration_descriptions, async_get_integrations as async_get_integrations
|
@@ -1,8 +1,7 @@
|
|
1
1
|
from . import const as const
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.const import COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
|
4
|
-
from homeassistant.core import Event as Event, State as State
|
5
|
-
from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData
|
4
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, State as State
|
6
5
|
from homeassistant.helpers.json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes
|
7
6
|
from homeassistant.util.json import format_unserializable_data as format_unserializable_data
|
8
7
|
from typing import Any, Final
|
@@ -8,13 +8,9 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
8
8
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
9
9
|
|
10
10
|
class APICount(SensorEntity):
|
11
|
-
|
11
|
+
_attr_name: str
|
12
|
+
_attr_native_unit_of_measurement: str
|
13
|
+
_attr_native_value: int
|
12
14
|
def __init__(self) -> None: ...
|
13
15
|
async def async_added_to_hass(self) -> None: ...
|
14
|
-
@property
|
15
|
-
def name(self) -> str: ...
|
16
|
-
@property
|
17
|
-
def native_value(self) -> int: ...
|
18
|
-
@property
|
19
|
-
def native_unit_of_measurement(self) -> str: ...
|
20
16
|
def _update_count(self) -> None: ...
|