homeassistant-stubs 2024.4.4__py3-none-any.whl → 2024.5.0__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/aseko_pool_live/binary_sensor.pyi +0 -1
- 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 +6 -12
- 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 +6 -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 +61 -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 +9 -6
- 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 +4 -4
- 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/local_todo/todo.pyi +1 -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/matter/config_flow.pyi +4 -0
- homeassistant-stubs/components/matter/light.pyi +3 -0
- 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 +37 -12
- 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/mysensors/gateway.pyi +1 -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/onewire/model.pyi +1 -1
- homeassistant-stubs/components/onewire/onewirehub.pyi +2 -2
- 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/rfxtrx/event.pyi +1 -0
- 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/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +1 -0
- 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/withings/coordinator.pyi +1 -0
- 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 +57 -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/script.pyi +1 -1
- 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.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0.dist-info}/RECORD +372 -315
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
from . import RingData as RingData
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import RingDataCoordinator as RingDataCoordinator
|
4
|
+
from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
+
from ring_doorbell import RingStickUpCam
|
11
|
+
from typing import Any
|
12
|
+
|
13
|
+
_LOGGER: Incomplete
|
14
|
+
SKIP_UPDATES_DELAY: Incomplete
|
15
|
+
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
|
18
|
+
class BaseRingSwitch(RingEntity[RingStickUpCam], SwitchEntity):
|
19
|
+
_device_type: Incomplete
|
20
|
+
_attr_unique_id: Incomplete
|
21
|
+
def __init__(self, device: RingStickUpCam, coordinator: RingDataCoordinator, device_type: str) -> None: ...
|
22
|
+
|
23
|
+
class SirenSwitch(BaseRingSwitch):
|
24
|
+
_attr_translation_key: str
|
25
|
+
_no_updates_until: Incomplete
|
26
|
+
_attr_is_on: Incomplete
|
27
|
+
def __init__(self, device: RingStickUpCam, coordinator: RingDataCoordinator) -> None: ...
|
28
|
+
def _handle_coordinator_update(self) -> None: ...
|
29
|
+
def _set_switch(self, new_state: int) -> None: ...
|
30
|
+
def turn_on(self, **kwargs: Any) -> None: ...
|
31
|
+
def turn_off(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import RomyVacuumCoordinator as RomyVacuumCoordinator
|
3
|
+
from .entity import RomyEntity as RomyEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
|
10
|
+
BINARY_SENSORS: list[BinarySensorEntityDescription]
|
11
|
+
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
|
+
|
14
|
+
class RomyBinarySensor(RomyEntity, BinarySensorEntity):
|
15
|
+
entity_description: BinarySensorEntityDescription
|
16
|
+
_attr_unique_id: Incomplete
|
17
|
+
def __init__(self, coordinator: RomyVacuumCoordinator, entity_description: BinarySensorEntityDescription) -> None: ...
|
18
|
+
@property
|
19
|
+
def is_on(self) -> bool: ...
|
@@ -1,16 +1,16 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
-
from homeassistant import config_entries as config_entries
|
3
2
|
from homeassistant.components import zeroconf as zeroconf
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
4
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD
|
5
5
|
|
6
|
-
class RomyConfigFlow(
|
6
|
+
class RomyConfigFlow(ConfigFlow, domain=DOMAIN):
|
7
7
|
VERSION: int
|
8
8
|
host: str
|
9
9
|
password: str
|
10
10
|
robot_name_given_by_user: str
|
11
11
|
def __init__(self) -> None: ...
|
12
|
-
async def async_step_user(self, user_input: dict[str, str] | None = None) ->
|
13
|
-
async def async_step_password(self, user_input: dict[str, str] | None = None) ->
|
14
|
-
async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) ->
|
15
|
-
async def async_step_zeroconf_confirm(self, user_input: dict[str, str] | None = None) ->
|
16
|
-
async def _async_step_finish_config(self) ->
|
12
|
+
async def async_step_user(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
13
|
+
async def async_step_password(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
14
|
+
async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_zeroconf_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
16
|
+
async def _async_step_finish_config(self) -> ConfigFlowResult: ...
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import RomyVacuumCoordinator as RomyVacuumCoordinator
|
3
|
+
from .entity import RomyEntity as RomyEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.const import AREA_SQUARE_METERS as AREA_SQUARE_METERS, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfLength as UnitOfLength, UnitOfTime as UnitOfTime
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
+
|
11
|
+
SENSORS: list[SensorEntityDescription]
|
12
|
+
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
14
|
+
|
15
|
+
class RomySensor(RomyEntity, SensorEntity):
|
16
|
+
entity_description: SensorEntityDescription
|
17
|
+
_attr_unique_id: Incomplete
|
18
|
+
def __init__(self, coordinator: RomyVacuumCoordinator, entity_description: SensorEntityDescription) -> None: ...
|
19
|
+
@property
|
20
|
+
def native_value(self) -> int: ...
|
@@ -80,7 +80,7 @@ class SensorEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
80
80
|
def unit_of_measurement(self) -> str | None: ...
|
81
81
|
@property
|
82
82
|
def state(self) -> Any: ...
|
83
|
-
def
|
83
|
+
def _display_precision_or_none(self) -> int | None: ...
|
84
84
|
def _update_suggested_precision(self) -> None: ...
|
85
85
|
def _custom_unit_or_undef(self, primary_key: str, secondary_key: str) -> str | None | UndefinedType: ...
|
86
86
|
def async_registry_entry_updated(self) -> None: ...
|
@@ -4,5 +4,5 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
4
4
|
from homeassistant.helpers.significant_change import check_absolute_change as check_absolute_change, check_percentage_change as check_percentage_change, check_valid_float as check_valid_float
|
5
5
|
from typing import Any
|
6
6
|
|
7
|
-
def _absolute_and_relative_change(old_state:
|
7
|
+
def _absolute_and_relative_change(old_state: float | None, new_state: float | None, absolute_change: float, percentage_change: float) -> bool: ...
|
8
8
|
def async_check_significant_change(hass: HomeAssistant, old_state: str, old_attrs: dict, new_state: str, new_attrs: dict, **kwargs: Any) -> bool | None: ...
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from .const import BLOCK_EXPECTED_SLEEP_PERIOD as BLOCK_EXPECTED_SLEEP_PERIOD, BLOCK_WRONG_SLEEP_PERIOD as BLOCK_WRONG_SLEEP_PERIOD, CONF_COAP_PORT as CONF_COAP_PORT, CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DATA_CONFIG_ENTRY as DATA_CONFIG_ENTRY, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, LOGGER as LOGGER, MODELS_WITH_WRONG_SLEEP_PERIOD as MODELS_WITH_WRONG_SLEEP_PERIOD, PUSH_UPDATE_ISSUE_ID as PUSH_UPDATE_ISSUE_ID
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyEntryData as ShellyEntryData, ShellyRestCoordinator as ShellyRestCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, ShellyRpcPollingCoordinator as ShellyRpcPollingCoordinator, get_entry_data as get_entry_data
|
3
|
-
from .utils import async_create_issue_unsupported_firmware as async_create_issue_unsupported_firmware,
|
3
|
+
from .utils import async_create_issue_unsupported_firmware as async_create_issue_unsupported_firmware, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_ws_context as get_ws_context
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from aioshelly.block_device import BlockUpdateType as BlockUpdateType
|
6
|
-
from aioshelly.rpc_device import RpcUpdateType as RpcUpdateType
|
7
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
6
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
12
10
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
|
@@ -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_task(self) -> bool: ...
|
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
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, GAS_VALVE_OPEN_STATES as GAS_VALVE_OPEN_STATES
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, get_entry_data as get_entry_data
|
3
3
|
from .entity import BlockEntityDescription as BlockEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyBlockEntity as ShellyBlockEntity, ShellyRpcEntity as ShellyRpcEntity, async_setup_block_attribute_entities as async_setup_block_attribute_entities
|
4
|
-
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_block_channel_type_light as is_block_channel_type_light, is_rpc_channel_type_light as is_rpc_channel_type_light, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
|
4
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_block_channel_type_light as is_block_channel_type_light, is_rpc_channel_type_light as is_rpc_channel_type_light, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator, is_rpc_thermostat_mode as is_rpc_thermostat_mode
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from dataclasses import dataclass
|
@@ -59,3 +59,4 @@ def is_rpc_wifi_stations_disabled(config: dict[str, Any], _status: dict[str, Any
|
|
59
59
|
def get_http_port(data: MappingProxyType[str, Any]) -> int: ...
|
60
60
|
async def async_shutdown_device(device: BlockDevice | RpcDevice) -> None: ...
|
61
61
|
def async_remove_shelly_rpc_entities(hass: HomeAssistant, domain: str, mac: str, keys: list[str]) -> None: ...
|
62
|
+
def is_rpc_thermostat_mode(ident: int, status: dict[str, Any]) -> bool: ...
|
@@ -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: ...
|