homeassistant-stubs 2024.12.5__py3-none-any.whl → 2025.1.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 +1 -1
- homeassistant-stubs/auth/mfa_modules/__init__.pyi +6 -4
- homeassistant-stubs/auth/mfa_modules/notify.pyi +2 -3
- homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -3
- homeassistant-stubs/auth/providers/__init__.pyi +6 -4
- homeassistant-stubs/auth/providers/command_line.pyi +2 -2
- homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
- homeassistant-stubs/auth/providers/insecure_example.pyi +2 -2
- homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -2
- homeassistant-stubs/backup_restore.pyi +11 -4
- homeassistant-stubs/components/abode/light.pyi +4 -3
- homeassistant-stubs/components/acaia/__init__.pyi +9 -0
- homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
- homeassistant-stubs/components/acaia/button.pyi +24 -0
- homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
- homeassistant-stubs/components/acaia/const.pyi +2 -0
- homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
- homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
- homeassistant-stubs/components/acaia/entity.pyi +17 -0
- homeassistant-stubs/components/acaia/sensor.pyi +44 -0
- homeassistant-stubs/components/adax/climate.pyi +0 -1
- homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
- homeassistant-stubs/components/airzone/climate.pyi +0 -1
- homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
- homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
- homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
- homeassistant-stubs/components/autarco/__init__.pyi +1 -0
- homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
- homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
- homeassistant-stubs/components/automation/__init__.pyi +1 -10
- homeassistant-stubs/components/backup/__init__.pyi +4 -11
- homeassistant-stubs/components/backup/agent.pyi +35 -0
- homeassistant-stubs/components/backup/backup.pyi +29 -0
- homeassistant-stubs/components/backup/config.pyi +117 -0
- homeassistant-stubs/components/backup/const.pyi +2 -0
- homeassistant-stubs/components/backup/http.pyi +3 -2
- homeassistant-stubs/components/backup/manager.pyi +191 -51
- homeassistant-stubs/components/backup/models.pyi +35 -0
- homeassistant-stubs/components/backup/store.pyi +24 -0
- homeassistant-stubs/components/backup/util.pyi +12 -0
- homeassistant-stubs/components/backup/websocket.pyi +9 -1
- homeassistant-stubs/components/baf/climate.pyi +0 -1
- homeassistant-stubs/components/baf/fan.pyi +0 -1
- homeassistant-stubs/components/baf/light.pyi +4 -5
- homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
- homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
- homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
- homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
- homeassistant-stubs/components/bluesound/utils.pyi +2 -0
- homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
- homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
- homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
- homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
- homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
- homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
- homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
- homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
- homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
- homeassistant-stubs/components/camera/__init__.pyi +1 -5
- homeassistant-stubs/components/camera/const.pyi +0 -8
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
- homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
- homeassistant-stubs/components/climate/__init__.pyi +1 -12
- homeassistant-stubs/components/climate/const.pyi +0 -25
- homeassistant-stubs/components/cloud/backup.pyi +36 -0
- homeassistant-stubs/components/cloud/const.pyi +2 -0
- homeassistant-stubs/components/cloud/http_api.pyi +7 -2
- homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
- homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
- homeassistant-stubs/components/cookidoo/const.pyi +1 -0
- homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
- homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
- homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
- homeassistant-stubs/components/cover/__init__.pyi +0 -18
- homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
- homeassistant-stubs/components/deconz/climate.pyi +0 -1
- homeassistant-stubs/components/deconz/fan.pyi +0 -1
- homeassistant-stubs/components/deconz/light.pyi +7 -5
- homeassistant-stubs/components/demo/climate.pyi +0 -1
- homeassistant-stubs/components/demo/fan.pyi +0 -1
- homeassistant-stubs/components/demo/light.pyi +4 -2
- homeassistant-stubs/components/demo/vacuum.pyi +2 -4
- homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
- homeassistant-stubs/components/device_tracker/const.pyi +0 -8
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
- homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
- homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
- homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
- homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
- homeassistant-stubs/components/duotecno/climate.pyi +0 -1
- homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
- homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
- homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
- homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
- homeassistant-stubs/components/easyenergy/services.pyi +4 -4
- homeassistant-stubs/components/ecovacs/button.pyi +13 -2
- homeassistant-stubs/components/ecovacs/const.pyi +1 -0
- homeassistant-stubs/components/ecovacs/number.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +2 -2
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +1 -0
- homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
- homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
- homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
- homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
- homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
- homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
- homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
- homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
- homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
- homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
- homeassistant-stubs/components/elgato/__init__.pyi +3 -5
- homeassistant-stubs/components/elgato/button.pyi +4 -3
- homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
- homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
- homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
- homeassistant-stubs/components/elgato/light.pyi +6 -7
- homeassistant-stubs/components/elgato/sensor.pyi +4 -3
- homeassistant-stubs/components/elgato/switch.pyi +4 -3
- homeassistant-stubs/components/elkm1/climate.pyi +0 -1
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
- homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
- homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
- homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
- homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
- homeassistant-stubs/components/energyzero/services.pyi +4 -4
- homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
- homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
- homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
- homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
- homeassistant-stubs/components/esphome/climate.pyi +0 -1
- homeassistant-stubs/components/esphome/fan.pyi +0 -1
- homeassistant-stubs/components/esphome/light.pyi +0 -2
- homeassistant-stubs/components/evohome/climate.pyi +0 -1
- homeassistant-stubs/components/fan/__init__.pyi +0 -15
- homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
- homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
- homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
- homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
- homeassistant-stubs/components/flux_led/light.pyi +4 -5
- homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
- homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
- homeassistant-stubs/components/fritzbox/light.pyi +3 -4
- homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
- homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
- homeassistant-stubs/components/fronius/__init__.pyi +1 -1
- homeassistant-stubs/components/fronius/const.pyi +3 -3
- homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
- homeassistant-stubs/components/fronius/sensor.pyi +2 -1
- homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
- homeassistant-stubs/components/fyta/__init__.pyi +2 -2
- homeassistant-stubs/components/fyta/entity.pyi +2 -2
- homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
- homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
- homeassistant-stubs/components/group/fan.pyi +0 -1
- homeassistant-stubs/components/group/registry.pyi +1 -1
- homeassistant-stubs/components/history/__init__.pyi +1 -1
- homeassistant-stubs/components/history/helpers.pyi +1 -2
- homeassistant-stubs/components/history/websocket_api.pyi +1 -1
- homeassistant-stubs/components/holiday/__init__.pyi +2 -1
- homeassistant-stubs/components/holiday/calendar.pyi +4 -3
- homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
- homeassistant-stubs/components/holiday/const.pyi +1 -0
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
- homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
- homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
- homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
- homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
- homeassistant-stubs/components/homekit/util.pyi +1 -0
- homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
- homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
- homeassistant-stubs/components/humidifier/const.pyi +0 -9
- homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
- homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
- homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
- homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
- homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
- homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
- homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
- homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
- homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
- homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
- homeassistant-stubs/components/imap/config_flow.pyi +3 -2
- homeassistant-stubs/components/imap/coordinator.pyi +5 -5
- homeassistant-stubs/components/imap/sensor.pyi +1 -0
- homeassistant-stubs/components/intent/__init__.pyi +2 -1
- homeassistant-stubs/components/iotty/switch.pyi +8 -6
- homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
- homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
- homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
- homeassistant-stubs/components/iron_os/const.pyi +7 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
- homeassistant-stubs/components/iron_os/entity.pyi +13 -0
- homeassistant-stubs/components/iron_os/number.pyi +62 -0
- homeassistant-stubs/components/iron_os/select.pyi +49 -0
- homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
- homeassistant-stubs/components/iron_os/update.pyi +29 -0
- homeassistant-stubs/components/isy994/climate.pyi +0 -1
- homeassistant-stubs/components/isy994/fan.pyi +0 -1
- homeassistant-stubs/components/knx/climate.pyi +0 -1
- homeassistant-stubs/components/knx/config_flow.pyi +4 -0
- homeassistant-stubs/components/knx/fan.pyi +0 -1
- homeassistant-stubs/components/knx/services.pyi +5 -5
- homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
- homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
- homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
- homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
- homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
- homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
- homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
- homeassistant-stubs/components/lametric/notify.pyi +2 -1
- homeassistant-stubs/components/lametric/number.pyi +2 -1
- homeassistant-stubs/components/lametric/services.pyi +2 -1
- homeassistant-stubs/components/lametric/switch.pyi +2 -1
- homeassistant-stubs/components/lcn/__init__.pyi +3 -1
- homeassistant-stubs/components/lcn/climate.pyi +0 -1
- homeassistant-stubs/components/lcn/const.pyi +1 -0
- homeassistant-stubs/components/lcn/helpers.pyi +1 -1
- homeassistant-stubs/components/lcn/services.pyi +7 -4
- homeassistant-stubs/components/lifx/const.pyi +1 -0
- homeassistant-stubs/components/lifx/manager.pyi +2 -2
- homeassistant-stubs/components/lifx/util.pyi +2 -2
- homeassistant-stubs/components/light/__init__.pyi +31 -55
- homeassistant-stubs/components/light/const.pyi +33 -0
- homeassistant-stubs/components/light/device_action.pyi +2 -1
- homeassistant-stubs/components/light/device_condition.pyi +1 -1
- homeassistant-stubs/components/light/device_trigger.pyi +1 -1
- homeassistant-stubs/components/light/intent.pyi +2 -1
- homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
- homeassistant-stubs/components/light/significant_change.pyi +1 -1
- homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
- homeassistant-stubs/components/lock/__init__.pyi +1 -2
- homeassistant-stubs/components/lookin/climate.pyi +0 -1
- homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
- homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
- homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
- homeassistant-stubs/components/matter/climate.pyi +0 -1
- homeassistant-stubs/components/matter/fan.pyi +0 -1
- homeassistant-stubs/components/matter/light.pyi +5 -5
- homeassistant-stubs/components/matter/vacuum.pyi +3 -3
- homeassistant-stubs/components/mealie/__init__.pyi +18 -0
- homeassistant-stubs/components/mealie/calendar.pyi +21 -0
- homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
- homeassistant-stubs/components/mealie/const.pyi +14 -0
- homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
- homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
- homeassistant-stubs/components/mealie/entity.pyi +11 -0
- homeassistant-stubs/components/mealie/sensor.pyi +29 -0
- homeassistant-stubs/components/mealie/services.pyi +21 -0
- homeassistant-stubs/components/mealie/todo.pyi +36 -0
- homeassistant-stubs/components/mealie/utils.pyi +3 -0
- homeassistant-stubs/components/media_player/__init__.pyi +0 -2
- homeassistant-stubs/components/modbus/climate.pyi +0 -1
- homeassistant-stubs/components/modbus/fan.pyi +0 -1
- homeassistant-stubs/components/modbus/modbus.pyi +3 -3
- homeassistant-stubs/components/mqtt/client.pyi +1 -1
- homeassistant-stubs/components/mqtt/climate.pyi +0 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
- homeassistant-stubs/components/mqtt/fan.pyi +0 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
- homeassistant-stubs/components/mqtt/switch.pyi +1 -1
- homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
- homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
- homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
- homeassistant-stubs/components/music_assistant/const.pyi +48 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
- homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
- homeassistant-stubs/components/mysensors/climate.pyi +0 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
- homeassistant-stubs/components/myuplink/number.pyi +2 -2
- homeassistant-stubs/components/myuplink/select.pyi +3 -2
- homeassistant-stubs/components/myuplink/switch.pyi +1 -1
- homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
- homeassistant-stubs/components/neato/vacuum.pyi +3 -3
- homeassistant-stubs/components/nest/__init__.pyi +6 -6
- homeassistant-stubs/components/nest/camera.pyi +2 -4
- homeassistant-stubs/components/nest/climate.pyi +2 -5
- homeassistant-stubs/components/nest/const.pyi +0 -2
- homeassistant-stubs/components/nest/device_info.pyi +2 -1
- homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
- homeassistant-stubs/components/nest/event.pyi +2 -4
- homeassistant-stubs/components/nest/sensor.pyi +2 -4
- homeassistant-stubs/components/nest/types.pyi +11 -0
- homeassistant-stubs/components/netatmo/climate.pyi +0 -1
- homeassistant-stubs/components/netatmo/fan.pyi +0 -1
- homeassistant-stubs/components/nordpool/__init__.pyi +6 -0
- homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
- homeassistant-stubs/components/nordpool/entity.pyi +1 -1
- homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
- homeassistant-stubs/components/nordpool/services.pyi +19 -0
- homeassistant-stubs/components/number/const.pyi +0 -8
- homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
- homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
- homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
- homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
- homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/overkiz/button.pyi +4 -5
- homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
- homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
- homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
- homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
- homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
- homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
- homeassistant-stubs/components/overkiz/light.pyi +2 -4
- homeassistant-stubs/components/overkiz/lock.pyi +2 -4
- homeassistant-stubs/components/overkiz/number.pyi +3 -4
- homeassistant-stubs/components/overkiz/scene.pyi +2 -4
- homeassistant-stubs/components/overkiz/select.pyi +3 -4
- homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
- homeassistant-stubs/components/overkiz/siren.pyi +2 -4
- homeassistant-stubs/components/overkiz/switch.pyi +2 -4
- homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
- homeassistant-stubs/components/peblar/__init__.pyi +11 -0
- homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/peblar/button.pyi +27 -0
- homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
- homeassistant-stubs/components/peblar/const.pyi +7 -0
- homeassistant-stubs/components/peblar/coordinator.pyi +50 -0
- homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
- homeassistant-stubs/components/peblar/entity.pyi +15 -0
- homeassistant-stubs/components/peblar/helpers.pyi +7 -0
- homeassistant-stubs/components/peblar/number.pyi +33 -0
- homeassistant-stubs/components/peblar/select.pyi +30 -0
- homeassistant-stubs/components/peblar/sensor.pyi +29 -0
- homeassistant-stubs/components/peblar/switch.pyi +32 -0
- homeassistant-stubs/components/peblar/update.pyi +26 -0
- homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/plugwise/button.pyi +2 -0
- homeassistant-stubs/components/plugwise/climate.pyi +3 -4
- homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
- homeassistant-stubs/components/plugwise/entity.pyi +0 -1
- homeassistant-stubs/components/plugwise/number.pyi +2 -0
- homeassistant-stubs/components/plugwise/select.pyi +2 -0
- homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
- homeassistant-stubs/components/plugwise/switch.pyi +2 -0
- homeassistant-stubs/components/plugwise/util.pyi +1 -0
- homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
- homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
- homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
- homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
- homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
- homeassistant-stubs/components/powerfox/entity.pyi +11 -0
- homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
- homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
- homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
- homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
- homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
- homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
- homeassistant-stubs/components/recorder/migration.pyi +29 -19
- homeassistant-stubs/components/recorder/models/state.pyi +3 -0
- homeassistant-stubs/components/recorder/queries.pyi +3 -4
- homeassistant-stubs/components/recorder/statistics.pyi +2 -2
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
- homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
- homeassistant-stubs/components/remote/__init__.pyi +0 -10
- homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/renault/button.pyi +2 -0
- homeassistant-stubs/components/renault/coordinator.pyi +2 -1
- homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
- homeassistant-stubs/components/renault/select.pyi +2 -0
- homeassistant-stubs/components/renault/sensor.pyi +2 -0
- homeassistant-stubs/components/reolink/button.pyi +1 -2
- homeassistant-stubs/components/reolink/camera.pyi +1 -2
- homeassistant-stubs/components/reolink/light.pyi +1 -2
- homeassistant-stubs/components/reolink/number.pyi +1 -2
- homeassistant-stubs/components/reolink/select.pyi +1 -2
- homeassistant-stubs/components/reolink/services.pyi +2 -2
- homeassistant-stubs/components/reolink/siren.pyi +1 -2
- homeassistant-stubs/components/reolink/switch.pyi +1 -2
- homeassistant-stubs/components/reolink/update.pyi +1 -0
- homeassistant-stubs/components/reolink/util.pyi +7 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
- homeassistant-stubs/components/roku/__init__.pyi +5 -4
- homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
- homeassistant-stubs/components/roku/config_flow.pyi +5 -3
- homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
- homeassistant-stubs/components/roku/media_player.pyi +4 -3
- homeassistant-stubs/components/roku/remote.pyi +4 -4
- homeassistant-stubs/components/roku/select.pyi +4 -4
- homeassistant-stubs/components/roku/sensor.pyi +4 -4
- homeassistant-stubs/components/romy/vacuum.pyi +2 -2
- homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
- homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
- homeassistant-stubs/components/russound_rio/const.pyi +7 -0
- homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
- homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
- homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
- homeassistant-stubs/components/schlage/__init__.pyi +11 -0
- homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
- homeassistant-stubs/components/schlage/const.pyi +6 -0
- homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
- homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
- homeassistant-stubs/components/schlage/entity.pyi +19 -0
- homeassistant-stubs/components/schlage/lock.pyi +21 -0
- homeassistant-stubs/components/schlage/select.pyi +20 -0
- homeassistant-stubs/components/schlage/sensor.pyi +19 -0
- homeassistant-stubs/components/schlage/switch.pyi +32 -0
- homeassistant-stubs/components/sensibo/climate.pyi +2 -3
- homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +0 -7
- homeassistant-stubs/components/senz/climate.pyi +0 -1
- homeassistant-stubs/components/shelly/climate.pyi +0 -2
- homeassistant-stubs/components/siren/__init__.pyi +1 -6
- homeassistant-stubs/components/siren/const.pyi +0 -11
- homeassistant-stubs/components/snooz/fan.pyi +0 -1
- homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
- homeassistant-stubs/components/solarlog/const.pyi +0 -1
- homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
- homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
- homeassistant-stubs/components/starlink/sensor.pyi +1 -1
- homeassistant-stubs/components/statistics/sensor.pyi +43 -40
- homeassistant-stubs/components/stream/__init__.pyi +13 -0
- homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
- homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
- homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
- homeassistant-stubs/components/sun/__init__.pyi +2 -0
- homeassistant-stubs/components/sun/entity.pyi +1 -2
- homeassistant-stubs/components/switch/__init__.pyi +0 -7
- homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
- homeassistant-stubs/components/switchbee/climate.pyi +0 -1
- homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
- homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
- homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
- homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
- homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
- homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
- homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
- homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
- homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
- homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tailwind/button.pyi +1 -1
- homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
- homeassistant-stubs/components/tailwind/cover.pyi +1 -1
- homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
- homeassistant-stubs/components/tailwind/number.pyi +1 -1
- homeassistant-stubs/components/tedee/__init__.pyi +2 -3
- homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/tedee/sensor.pyi +2 -0
- homeassistant-stubs/components/tibber/services.pyi +1 -1
- homeassistant-stubs/components/tolo/climate.pyi +0 -1
- homeassistant-stubs/components/tolo/fan.pyi +0 -1
- homeassistant-stubs/components/tplink/__init__.pyi +1 -1
- homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tplink/button.pyi +2 -2
- homeassistant-stubs/components/tplink/camera.pyi +49 -0
- homeassistant-stubs/components/tplink/climate.pyi +1 -2
- homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
- homeassistant-stubs/components/tplink/const.pyi +2 -0
- homeassistant-stubs/components/tplink/entity.pyi +9 -2
- homeassistant-stubs/components/tplink/fan.pyi +1 -2
- homeassistant-stubs/components/tplink/light.pyi +2 -2
- homeassistant-stubs/components/tplink/models.pyi +4 -1
- homeassistant-stubs/components/tplink/number.pyi +2 -2
- homeassistant-stubs/components/tplink/select.pyi +2 -2
- homeassistant-stubs/components/tplink/sensor.pyi +2 -2
- homeassistant-stubs/components/tplink/siren.pyi +1 -1
- homeassistant-stubs/components/tplink/switch.pyi +2 -2
- homeassistant-stubs/components/tractive/sensor.pyi +1 -1
- homeassistant-stubs/components/tradfri/fan.pyi +0 -1
- homeassistant-stubs/components/tradfri/light.pyi +4 -4
- homeassistant-stubs/components/transmission/__init__.pyi +1 -1
- homeassistant-stubs/components/transmission/const.pyi +1 -0
- homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
- homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
- homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
- homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
- homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
- homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
- homeassistant-stubs/components/unifi/sensor.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
- homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
- homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
- homeassistant-stubs/components/update/__init__.pyi +0 -2
- homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
- homeassistant-stubs/components/vacuum/const.pyi +18 -5
- homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
- homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
- homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
- homeassistant-stubs/components/vallox/fan.pyi +0 -1
- homeassistant-stubs/components/velbus/__init__.pyi +22 -9
- homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
- homeassistant-stubs/components/velbus/button.pyi +4 -3
- homeassistant-stubs/components/velbus/climate.pyi +4 -3
- homeassistant-stubs/components/velbus/cover.pyi +4 -3
- homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
- homeassistant-stubs/components/velbus/light.pyi +4 -3
- homeassistant-stubs/components/velbus/select.pyi +4 -3
- homeassistant-stubs/components/velbus/sensor.pyi +4 -3
- homeassistant-stubs/components/velbus/services.pyi +7 -0
- homeassistant-stubs/components/velbus/switch.pyi +4 -3
- homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
- homeassistant-stubs/components/wemo/fan.pyi +0 -1
- homeassistant-stubs/components/wemo/light.pyi +4 -2
- homeassistant-stubs/components/wiz/light.pyi +4 -5
- homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
- homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
- homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
- homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
- homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +2 -0
- homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
- homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
- homeassistant-stubs/components/zwave_js/light.pyi +7 -9
- homeassistant-stubs/const.pyi +2 -151
- homeassistant-stubs/core.pyi +3 -6
- homeassistant-stubs/core_config.pyi +2 -1
- homeassistant-stubs/data_entry_flow.pyi +0 -13
- homeassistant-stubs/exceptions.pyi +6 -0
- homeassistant-stubs/helpers/device_registry.pyi +1 -9
- homeassistant-stubs/helpers/entity.pyi +1 -2
- homeassistant-stubs/helpers/event.pyi +3 -4
- homeassistant-stubs/helpers/service.pyi +1 -1
- homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
- homeassistant-stubs/helpers/template.pyi +1 -1
- homeassistant-stubs/util/dt.pyi +1 -0
- {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/RECORD +567 -474
- homeassistant-stubs/components/bluesound/services.pyi +0 -21
- homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
- homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
- homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
- homeassistant-stubs/components/tailwind/typing.pyi +0 -4
- {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -24,7 +24,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
|
|
24
24
|
class SwitchBeeClimateEntity(SwitchBeeDeviceEntity[SwitchBeeThermostat], ClimateEntity):
|
25
25
|
_attr_fan_modes = SUPPORTED_FAN_MODES
|
26
26
|
_attr_target_temperature_step: int
|
27
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
28
27
|
_attr_max_temp: Incomplete
|
29
28
|
_attr_min_temp: Incomplete
|
30
29
|
_attr_temperature_unit: Incomplete
|
@@ -28,7 +28,6 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
|
|
28
28
|
_attr_target_temperature_step: int
|
29
29
|
_attr_precision: int
|
30
30
|
_attr_name: Incomplete
|
31
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
32
31
|
async def _do_send_command(self, hvac_mode: HVACMode | None = None, fan_mode: str | None = None, temperature: float | None = None) -> None: ...
|
33
32
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
34
33
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
@@ -5,7 +5,7 @@ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
-
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
|
8
|
+
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
|
@@ -14,8 +14,17 @@ SENSOR_TYPE_TEMPERATURE: str
|
|
14
14
|
SENSOR_TYPE_HUMIDITY: str
|
15
15
|
SENSOR_TYPE_BATTERY: str
|
16
16
|
SENSOR_TYPE_CO2: str
|
17
|
-
|
18
|
-
|
17
|
+
SENSOR_TYPE_POWER: str
|
18
|
+
SENSOR_TYPE_VOLTAGE: str
|
19
|
+
SENSOR_TYPE_CURRENT: str
|
20
|
+
TEMPERATURE_DESCRIPTION: Incomplete
|
21
|
+
HUMIDITY_DESCRIPTION: Incomplete
|
22
|
+
BATTERY_DESCRIPTION: Incomplete
|
23
|
+
POWER_DESCRIPTION: Incomplete
|
24
|
+
VOLATGE_DESCRIPTION: Incomplete
|
25
|
+
CURRENT_DESCRIPTION: Incomplete
|
26
|
+
CO2_DESCRIPTION: Incomplete
|
27
|
+
SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
|
19
28
|
|
20
29
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
30
|
|
@@ -26,4 +26,8 @@ class SwitchBotCloudRemoteSwitch(SwitchBotCloudSwitch):
|
|
26
26
|
class SwitchBotCloudPlugSwitch(SwitchBotCloudSwitch):
|
27
27
|
_attr_device_class: Incomplete
|
28
28
|
|
29
|
+
class SwitchBotCloudRelaySwitchSwitch(SwitchBotCloudSwitch):
|
30
|
+
_attr_is_on: Incomplete
|
31
|
+
def _handle_coordinator_update(self) -> None: ...
|
32
|
+
|
29
33
|
def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudSwitch: ...
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, VACUUM_FAN_SPEED_MAX as VACUUM_FAN_SPEED_MA
|
|
3
3
|
from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
|
4
4
|
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from homeassistant.components.vacuum import
|
6
|
+
from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -12,7 +12,7 @@ from typing import Any
|
|
12
12
|
|
13
13
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
14
14
|
|
15
|
-
VACUUM_SWITCHBOT_STATE_TO_HA_STATE: dict[str,
|
15
|
+
VACUUM_SWITCHBOT_STATE_TO_HA_STATE: dict[str, VacuumActivity]
|
16
16
|
VACUUM_FAN_SPEED_TO_SWITCHBOT_FAN_SPEED: dict[str, str]
|
17
17
|
|
18
18
|
class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
|
@@ -26,7 +26,7 @@ class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
|
|
26
26
|
async def async_start(self) -> None: ...
|
27
27
|
_attr_battery_level: Incomplete
|
28
28
|
_attr_available: Incomplete
|
29
|
-
|
29
|
+
_attr_activity: Incomplete
|
30
30
|
def _handle_coordinator_update(self) -> None: ...
|
31
31
|
|
32
32
|
def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum: ...
|
@@ -4,7 +4,6 @@ from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoor
|
|
4
4
|
from .entity import SwitcherEntity as SwitcherEntity
|
5
5
|
from .utils import get_breeze_remote_manager as get_breeze_remote_manager
|
6
6
|
from _typeshed import Incomplete
|
7
|
-
from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
|
8
7
|
from aioswitcher.api.remotes import SwitcherBreezeRemote as SwitcherBreezeRemote
|
9
8
|
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
|
10
9
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
|
@@ -14,6 +13,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
|
|
14
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
14
|
from typing import Any
|
16
15
|
|
16
|
+
API_CONTROL_BREEZE_DEVICE: str
|
17
17
|
DEVICE_MODE_TO_HA: Incomplete
|
18
18
|
HA_TO_DEVICE_MODE: Incomplete
|
19
19
|
DEVICE_FAN_TO_HA: Incomplete
|
@@ -23,7 +23,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEnt
|
|
23
23
|
|
24
24
|
class SwitcherClimateEntity(SwitcherEntity, ClimateEntity):
|
25
25
|
_attr_name: Incomplete
|
26
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
27
26
|
_remote: Incomplete
|
28
27
|
_attr_unique_id: Incomplete
|
29
28
|
_attr_min_temp: Incomplete
|
@@ -2,16 +2,13 @@ from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
|
|
2
2
|
from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
|
3
3
|
from .entity import SwitcherEntity as SwitcherEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
|
6
5
|
from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
|
7
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
8
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
10
|
from typing import Any
|
13
11
|
|
14
|
-
_LOGGER: Incomplete
|
15
12
|
API_SET_POSITON: str
|
16
13
|
API_STOP: str
|
17
14
|
|
@@ -27,7 +24,6 @@ class SwitcherBaseCoverEntity(SwitcherEntity, CoverEntity):
|
|
27
24
|
_attr_is_closing: Incomplete
|
28
25
|
_attr_is_opening: Incomplete
|
29
26
|
def _update_data(self) -> None: ...
|
30
|
-
async def _async_call_api(self, api: str, *args: Any) -> None: ...
|
31
27
|
async def async_close_cover(self, **kwargs: Any) -> None: ...
|
32
28
|
async def async_open_cover(self, **kwargs: Any) -> None: ...
|
33
29
|
async def async_set_cover_position(self, **kwargs: Any) -> None: ...
|
@@ -1,9 +1,15 @@
|
|
1
1
|
from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
|
2
2
|
from _typeshed import Incomplete
|
3
|
+
from aioswitcher.api.messages import SwitcherBaseResponse as SwitcherBaseResponse
|
4
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
3
5
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
4
6
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
5
10
|
|
6
11
|
class SwitcherEntity(CoordinatorEntity[SwitcherDataUpdateCoordinator]):
|
7
12
|
_attr_has_entity_name: bool
|
8
13
|
_attr_device_info: Incomplete
|
9
14
|
def __init__(self, coordinator: SwitcherDataUpdateCoordinator) -> None: ...
|
15
|
+
async def _async_call_api(self, api: str, *args: Any, **kwargs: Any) -> None: ...
|
@@ -2,16 +2,13 @@ from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
|
|
2
2
|
from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
|
3
3
|
from .entity import SwitcherEntity as SwitcherEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
|
6
5
|
from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
|
7
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
8
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
10
|
from typing import Any
|
13
11
|
|
14
|
-
_LOGGER: Incomplete
|
15
12
|
API_SET_LIGHT: str
|
16
13
|
|
17
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -24,7 +21,6 @@ class SwitcherBaseLightEntity(SwitcherEntity, LightEntity):
|
|
24
21
|
def _handle_coordinator_update(self) -> None: ...
|
25
22
|
@property
|
26
23
|
def is_on(self) -> bool: ...
|
27
|
-
async def _async_call_api(self, api: str, *args: Any) -> None: ...
|
28
24
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
29
25
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
30
26
|
|
@@ -2,7 +2,6 @@ from .const import CONF_AUTO_OFF as CONF_AUTO_OFF, CONF_TIMER_MINUTES as CONF_TI
|
|
2
2
|
from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
|
3
3
|
from .entity import SwitcherEntity as SwitcherEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from aioswitcher.api import SwitcherBaseResponse as SwitcherBaseResponse
|
6
5
|
from datetime import timedelta
|
7
6
|
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
|
8
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -27,7 +26,6 @@ class SwitcherBaseSwitchEntity(SwitcherEntity, SwitchEntity):
|
|
27
26
|
_attr_unique_id: Incomplete
|
28
27
|
def __init__(self, coordinator: SwitcherDataUpdateCoordinator) -> None: ...
|
29
28
|
def _handle_coordinator_update(self) -> None: ...
|
30
|
-
async def _async_call_api(self, api: str, *args: Any) -> None: ...
|
31
29
|
@property
|
32
30
|
def is_on(self) -> bool: ...
|
33
31
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .coordinator import TailwindDataUpdateCoordinator as TailwindDataUpdateCoordinator
|
3
|
-
from .typing import TailwindConfigEntry as TailwindConfigEntry
|
2
|
+
from .coordinator import TailwindConfigEntry as TailwindConfigEntry, TailwindDataUpdateCoordinator as TailwindDataUpdateCoordinator
|
4
3
|
from _typeshed import Incomplete
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
4
|
from homeassistant.const import Platform as Platform
|
7
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
6
|
|
9
7
|
PLATFORMS: Incomplete
|
10
8
|
|
11
9
|
async def async_setup_entry(hass: HomeAssistant, entry: TailwindConfigEntry) -> bool: ...
|
12
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
10
|
+
async def async_unload_entry(hass: HomeAssistant, entry: TailwindConfigEntry) -> bool: ...
|
@@ -1,5 +1,5 @@
|
|
1
|
+
from .coordinator import TailwindConfigEntry as TailwindConfigEntry
|
1
2
|
from .entity import TailwindDoorEntity as TailwindDoorEntity
|
2
|
-
from .typing import TailwindConfigEntry as TailwindConfigEntry
|
3
3
|
from collections.abc import Callable as Callable
|
4
4
|
from dataclasses import dataclass
|
5
5
|
from gotailwind import TailwindDoor as TailwindDoor
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import TailwindConfigEntry as TailwindConfigEntry
|
2
3
|
from .entity import TailwindEntity as TailwindEntity
|
3
|
-
from .typing import TailwindConfigEntry as TailwindConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Awaitable, Callable as Callable
|
6
6
|
from dataclasses import dataclass
|
@@ -8,7 +8,8 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
|
|
8
8
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
9
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
10
10
|
|
11
|
+
type TailwindConfigEntry = ConfigEntry[TailwindDataUpdateCoordinator]
|
11
12
|
class TailwindDataUpdateCoordinator(DataUpdateCoordinator[TailwindDeviceStatus]):
|
12
13
|
tailwind: Incomplete
|
13
|
-
def __init__(self, hass: HomeAssistant, entry:
|
14
|
+
def __init__(self, hass: HomeAssistant, entry: TailwindConfigEntry) -> None: ...
|
14
15
|
async def _async_update_data(self) -> TailwindDeviceStatus: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
+
from .coordinator import TailwindConfigEntry as TailwindConfigEntry
|
2
3
|
from .entity import TailwindDoorEntity as TailwindDoorEntity
|
3
|
-
from .typing import TailwindConfigEntry as TailwindConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import TailwindConfigEntry as TailwindConfigEntry
|
2
3
|
from .entity import TailwindEntity as TailwindEntity
|
3
|
-
from .typing import TailwindConfigEntry as TailwindConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Awaitable, Callable as Callable
|
6
6
|
from dataclasses import dataclass
|
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
|
|
4
4
|
from aiohttp.web import Request as Request, Response as Response
|
5
5
|
from collections.abc import Awaitable, Callable as Callable
|
6
6
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.const import CONF_WEBHOOK_ID as CONF_WEBHOOK_ID, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
9
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
9
|
from homeassistant.helpers.network import get_url as get_url
|
@@ -13,6 +12,6 @@ PLATFORMS: Incomplete
|
|
13
12
|
_LOGGER: Incomplete
|
14
13
|
|
15
14
|
async def async_setup_entry(hass: HomeAssistant, entry: TedeeConfigEntry) -> bool: ...
|
16
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
15
|
+
async def async_unload_entry(hass: HomeAssistant, entry: TedeeConfigEntry) -> bool: ...
|
17
16
|
def get_webhook_handler(coordinator: TedeeApiCoordinator) -> Callable[[HomeAssistant, str, Request], Awaitable[Response | None]]: ...
|
18
|
-
async def async_migrate_entry(hass: HomeAssistant, config_entry:
|
17
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: TedeeConfigEntry) -> bool: ...
|
@@ -8,6 +8,8 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class TedeeBinarySensorEntityDescription(BinarySensorEntityDescription):
|
13
15
|
is_on_fn: Callable[[TedeeLock], bool | None]
|
@@ -8,6 +8,8 @@ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class TedeeSensorEntityDescription(SensorEntityDescription):
|
13
15
|
value_fn: Callable[[TedeeLock], float | None]
|
@@ -10,6 +10,6 @@ ATTR_START: Final[str]
|
|
10
10
|
ATTR_END: Final[str]
|
11
11
|
SERVICE_SCHEMA: Final[Incomplete]
|
12
12
|
|
13
|
-
async def __get_prices(call: ServiceCall
|
13
|
+
async def __get_prices(call: ServiceCall) -> ServiceResponse: ...
|
14
14
|
def __get_date(date_input: str | None, mode: str | None) -> datetime: ...
|
15
15
|
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -24,7 +24,6 @@ class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
|
|
24
24
|
_attr_supported_features: Incomplete
|
25
25
|
_attr_target_temperature_step: int
|
26
26
|
_attr_temperature_unit: Incomplete
|
27
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
28
27
|
_attr_unique_id: Incomplete
|
29
28
|
def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
|
30
29
|
@property
|
@@ -13,7 +13,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
|
|
13
13
|
class ToloFan(ToloSaunaCoordinatorEntity, FanEntity):
|
14
14
|
_attr_translation_key: str
|
15
15
|
_attr_supported_features: Incomplete
|
16
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
17
16
|
_attr_unique_id: Incomplete
|
18
17
|
def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
|
19
18
|
@property
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DISCOVERY_TIMEOUT as DISCOVERY_TIMEOUT, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
1
|
+
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DISCOVERY_TIMEOUT as DISCOVERY_TIMEOUT, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
2
2
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
3
|
from .models import TPLinkData as TPLinkData
|
4
4
|
from _typeshed import Incomplete
|
@@ -9,7 +9,7 @@ from typing import Final
|
|
9
9
|
|
10
10
|
@dataclass(frozen=True, kw_only=True)
|
11
11
|
class TPLinkBinarySensorEntityDescription(BinarySensorEntityDescription, TPLinkFeatureEntityDescription):
|
12
|
-
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=..., deprecated_info=...) -> None: ...
|
12
|
+
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=..., deprecated_info=..., available_fn=...) -> None: ...
|
13
13
|
|
14
14
|
BINARY_SENSOR_DESCRIPTIONS: Final[Incomplete]
|
15
15
|
BINARYSENSOR_DESCRIPTIONS_MAP: Incomplete
|
@@ -19,4 +19,4 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry
|
|
19
19
|
class TPLinkBinarySensorEntity(CoordinatedTPLinkFeatureEntity, BinarySensorEntity):
|
20
20
|
entity_description: TPLinkBinarySensorEntityDescription
|
21
21
|
_attr_is_on: Incomplete
|
22
|
-
def _async_update_attrs(self) ->
|
22
|
+
def _async_update_attrs(self) -> bool: ...
|
@@ -10,7 +10,7 @@ from typing import Final
|
|
10
10
|
|
11
11
|
@dataclass(frozen=True, kw_only=True)
|
12
12
|
class TPLinkButtonEntityDescription(ButtonEntityDescription, TPLinkFeatureEntityDescription):
|
13
|
-
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=..., deprecated_info=...) -> None: ...
|
13
|
+
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=..., deprecated_info=..., available_fn=...) -> None: ...
|
14
14
|
|
15
15
|
BUTTON_DESCRIPTIONS: Final[Incomplete]
|
16
16
|
BUTTON_DESCRIPTIONS_MAP: Incomplete
|
@@ -20,4 +20,4 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry
|
|
20
20
|
class TPLinkButtonEntity(CoordinatedTPLinkFeatureEntity, ButtonEntity):
|
21
21
|
entity_description: TPLinkButtonEntityDescription
|
22
22
|
async def async_press(self) -> None: ...
|
23
|
-
def _async_update_attrs(self) ->
|
23
|
+
def _async_update_attrs(self) -> bool: ...
|
@@ -0,0 +1,49 @@
|
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
|
2
|
+
from .const import CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS
|
3
|
+
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
+
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from aiohttp import web as web
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components import ffmpeg as ffmpeg, stream as stream
|
9
|
+
from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
|
10
|
+
from homeassistant.config_entries import ConfigFlowContext as ConfigFlowContext
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
|
+
from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream
|
13
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
|
+
from kasa import Credentials as Credentials, Device as Device
|
15
|
+
from kasa.smartcam.modules import Camera as CameraModule
|
16
|
+
|
17
|
+
_LOGGER: Incomplete
|
18
|
+
|
19
|
+
@dataclass(frozen=True, kw_only=True)
|
20
|
+
class TPLinkCameraEntityDescription(CameraEntityDescription, TPLinkModuleEntityDescription):
|
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=..., deprecated_info=..., available_fn=...) -> None: ...
|
22
|
+
|
23
|
+
CAMERA_DESCRIPTIONS: tuple[TPLinkCameraEntityDescription, ...]
|
24
|
+
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
|
+
|
27
|
+
class TPLinkCameraEntity(CoordinatedTPLinkEntity, Camera):
|
28
|
+
IMAGE_INTERVAL: Incomplete
|
29
|
+
_attr_supported_features: Incomplete
|
30
|
+
entity_description: TPLinkCameraEntityDescription
|
31
|
+
_camera_module: Incomplete
|
32
|
+
_video_url: Incomplete
|
33
|
+
_image: Incomplete
|
34
|
+
_ffmpeg_manager: Incomplete
|
35
|
+
_image_lock: Incomplete
|
36
|
+
_last_update: int
|
37
|
+
_camera_credentials: Incomplete
|
38
|
+
_can_stream: bool
|
39
|
+
_http_mpeg_stream_running: bool
|
40
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkCameraEntityDescription, *, camera_module: CameraModule, parent: Device | None = None, ffmpeg_manager: ffmpeg.FFmpegManager, camera_credentials: Credentials | None) -> None: ...
|
41
|
+
def _get_unique_id(self) -> str: ...
|
42
|
+
_attr_is_on: Incomplete
|
43
|
+
def _async_update_attrs(self) -> bool: ...
|
44
|
+
async def stream_source(self) -> str | None: ...
|
45
|
+
async def _async_check_stream_auth(self, video_url: str) -> None: ...
|
46
|
+
async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
47
|
+
async def handle_async_mjpeg_stream(self, request: web.Request) -> web.StreamResponse | None: ...
|
48
|
+
async def async_turn_on(self) -> None: ...
|
49
|
+
async def async_turn_off(self) -> None: ...
|
@@ -21,7 +21,6 @@ class TPLinkClimateEntity(CoordinatedTPLinkEntity, ClimateEntity):
|
|
21
21
|
_attr_supported_features: Incomplete
|
22
22
|
_attr_hvac_modes: Incomplete
|
23
23
|
_attr_precision = PRECISION_TENTHS
|
24
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
25
24
|
_state_feature: Incomplete
|
26
25
|
_mode_feature: Incomplete
|
27
26
|
_temp_feature: Incomplete
|
@@ -38,5 +37,5 @@ class TPLinkClimateEntity(CoordinatedTPLinkEntity, ClimateEntity):
|
|
38
37
|
_attr_target_temperature: Incomplete
|
39
38
|
_attr_hvac_mode: Incomplete
|
40
39
|
_attr_hvac_action: Incomplete
|
41
|
-
def _async_update_attrs(self) ->
|
40
|
+
def _async_update_attrs(self) -> bool: ...
|
42
41
|
def _get_unique_id(self) -> str: ...
|
@@ -1,10 +1,10 @@
|
|
1
1
|
from . import async_discover_devices as async_discover_devices, create_async_tplink_clientsession as create_async_tplink_clientsession, get_credentials as get_credentials, mac_alias as mac_alias, set_credentials as set_credentials
|
2
|
-
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
|
2
|
+
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.components import dhcp as dhcp
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
|
7
|
-
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
5
|
+
from homeassistant.components import dhcp as dhcp, ffmpeg as ffmpeg, stream as stream
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
7
|
+
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
8
8
|
from homeassistant.core import callback as callback
|
9
9
|
from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
|
10
10
|
from kasa import Credentials, Device
|
@@ -12,6 +12,8 @@ from typing import Any, Self
|
|
12
12
|
|
13
13
|
_LOGGER: Incomplete
|
14
14
|
STEP_AUTH_DATA_SCHEMA: Incomplete
|
15
|
+
STEP_RECONFIGURE_DATA_SCHEMA: Incomplete
|
16
|
+
STEP_CAMERA_AUTH_DATA_SCHEMA: Incomplete
|
15
17
|
|
16
18
|
class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
|
17
19
|
VERSION: int
|
@@ -32,13 +34,17 @@ class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
32
34
|
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
35
|
@staticmethod
|
34
36
|
def _async_get_host_port(host_str: str) -> tuple[str, int | None]: ...
|
37
|
+
def _async_supports_camera_credentials(self, device: Device) -> bool: ...
|
35
38
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
36
39
|
async def async_step_user_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
40
|
+
def _create_camera_entry(self, device: Device, un: str, pw: str) -> ConfigFlowResult: ...
|
41
|
+
async def async_step_camera_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
37
42
|
async def async_step_pick_device(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
38
43
|
async def _async_reload_requires_auth_entries(self) -> None: ...
|
39
|
-
def
|
44
|
+
def _async_create_or_update_entry_from_device(self, device: Device, *, camera_data: dict | None = None) -> ConfigFlowResult: ...
|
40
45
|
async def _async_try_connect_all(self, host: str, credentials: Credentials | None, raise_on_progress: bool, *, port: int | None = None) -> Device | None: ...
|
41
46
|
async def _async_try_discover_and_update(self, host: str, credentials: Credentials | None, raise_on_progress: bool, raise_on_timeout: bool, *, port: int | None = None) -> Device | None: ...
|
42
47
|
async def _async_try_connect(self, discovered_device: Device, credentials: Credentials | None) -> Device: ...
|
43
48
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
44
49
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
50
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -15,6 +15,8 @@ CONF_CREDENTIALS_HASH: Final[str]
|
|
15
15
|
CONF_CONNECTION_PARAMETERS: Final[str]
|
16
16
|
CONF_USES_HTTP: Final[str]
|
17
17
|
CONF_AES_KEYS: Final[str]
|
18
|
+
CONF_CAMERA_CREDENTIALS: str
|
19
|
+
CONF_LIVE_VIEW: str
|
18
20
|
CONF_CONFIG_ENTRY_MINOR_VERSION: Final[int]
|
19
21
|
PLATFORMS: Final[Incomplete]
|
20
22
|
UNIT_MAPPING: Incomplete
|
@@ -27,7 +27,14 @@ LEGACY_KEY_MAPPING: Incomplete
|
|
27
27
|
@dataclass(frozen=True, kw_only=True)
|
28
28
|
class TPLinkFeatureEntityDescription(EntityDescription):
|
29
29
|
deprecated_info: DeprecatedInfo | None = ...
|
30
|
-
|
30
|
+
available_fn: Callable[[Device], bool] = ...
|
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=..., deprecated_info=..., available_fn=...) -> None: ...
|
32
|
+
|
33
|
+
@dataclass(frozen=True, kw_only=True)
|
34
|
+
class TPLinkModuleEntityDescription(EntityDescription):
|
35
|
+
deprecated_info: DeprecatedInfo | None = ...
|
36
|
+
available_fn: Callable[[Device], bool] = ...
|
37
|
+
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=..., deprecated_info=..., available_fn=...) -> None: ...
|
31
38
|
|
32
39
|
def async_refresh_after[_T: CoordinatedTPLinkEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
33
40
|
|
@@ -40,7 +47,7 @@ class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator], AB
|
|
40
47
|
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature | None = None, parent: Device | None = None) -> None: ...
|
41
48
|
def _get_unique_id(self) -> str: ...
|
42
49
|
@abstractmethod
|
43
|
-
def _async_update_attrs(self) ->
|
50
|
+
def _async_update_attrs(self) -> bool: ...
|
44
51
|
_attr_available: bool
|
45
52
|
def _async_call_update_attrs(self) -> None: ...
|
46
53
|
def _handle_coordinator_update(self) -> None: ...
|
@@ -20,7 +20,6 @@ SPEED_RANGE: Incomplete
|
|
20
20
|
class TPLinkFanEntity(CoordinatedTPLinkEntity, FanEntity):
|
21
21
|
_attr_speed_count: Incomplete
|
22
22
|
_attr_supported_features: Incomplete
|
23
|
-
_enable_turn_on_off_backwards_compatibility: bool
|
24
23
|
fan_module: Incomplete
|
25
24
|
_attr_name: Incomplete
|
26
25
|
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, fan_module: FanInterface, parent: Device | None = None) -> None: ...
|
@@ -29,4 +28,4 @@ class TPLinkFanEntity(CoordinatedTPLinkEntity, FanEntity):
|
|
29
28
|
async def async_set_percentage(self, percentage: int) -> None: ...
|
30
29
|
_attr_is_on: Incomplete
|
31
30
|
_attr_percentage: Incomplete
|
32
|
-
def _async_update_attrs(self) ->
|
31
|
+
def _async_update_attrs(self) -> bool: ...
|
@@ -50,7 +50,7 @@ class TPLinkLightEntity(CoordinatedTPLinkEntity, LightEntity):
|
|
50
50
|
_attr_color_mode: Incomplete
|
51
51
|
_attr_color_temp_kelvin: Incomplete
|
52
52
|
_attr_hs_color: Incomplete
|
53
|
-
def _async_update_attrs(self) ->
|
53
|
+
def _async_update_attrs(self) -> bool: ...
|
54
54
|
|
55
55
|
class TPLinkLightEffectEntity(TPLinkLightEntity):
|
56
56
|
_effect_module: Incomplete
|
@@ -59,7 +59,7 @@ class TPLinkLightEffectEntity(TPLinkLightEntity):
|
|
59
59
|
_attr_effect: Incomplete
|
60
60
|
_attr_color_mode: Incomplete
|
61
61
|
_attr_effect_list: Incomplete
|
62
|
-
def _async_update_attrs(self) ->
|
62
|
+
def _async_update_attrs(self) -> bool: ...
|
63
63
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
64
64
|
async def async_set_random_effect(self, brightness: int, duration: int, transition: int, segments: list[int], fadeoff: int, init_states: tuple[int, int, int], random_seed: int, backgrounds: Sequence[tuple[int, int, int]] | None = None, hue_range: tuple[int, int] | None = None, saturation_range: tuple[int, int] | None = None, brightness_range: tuple[int, int] | None = None, transition_range: tuple[int, int] | None = None) -> None: ...
|
65
65
|
async def async_set_sequence_effect(self, brightness: int, duration: int, transition: int, segments: list[int], sequence: Sequence[tuple[int, int, int]], repeat_times: int, spread: int, direction: int) -> None: ...
|
@@ -1,8 +1,11 @@
|
|
1
1
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
2
2
|
from dataclasses import dataclass
|
3
|
+
from kasa import Credentials as Credentials
|
3
4
|
|
4
5
|
@dataclass(slots=True)
|
5
6
|
class TPLinkData:
|
6
7
|
parent_coordinator: TPLinkDataUpdateCoordinator
|
7
8
|
children_coordinators: list[TPLinkDataUpdateCoordinator]
|
8
|
-
|
9
|
+
camera_credentials: Credentials | None
|
10
|
+
live_view: bool | None
|
11
|
+
def __init__(self, parent_coordinator, children_coordinators, camera_credentials, live_view) -> None: ...
|
@@ -12,7 +12,7 @@ _LOGGER: Incomplete
|
|
12
12
|
|
13
13
|
@dataclass(frozen=True, kw_only=True)
|
14
14
|
class TPLinkNumberEntityDescription(NumberEntityDescription, TPLinkFeatureEntityDescription):
|
15
|
-
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=..., deprecated_info=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=...) -> None: ...
|
15
|
+
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=..., deprecated_info=..., available_fn=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=...) -> None: ...
|
16
16
|
|
17
17
|
NUMBER_DESCRIPTIONS: Final[Incomplete]
|
18
18
|
NUMBER_DESCRIPTIONS_MAP: Incomplete
|
@@ -26,4 +26,4 @@ class TPLinkNumberEntity(CoordinatedTPLinkFeatureEntity, NumberEntity):
|
|
26
26
|
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
|
27
27
|
async def async_set_native_value(self, value: float) -> None: ...
|
28
28
|
_attr_native_value: Incomplete
|
29
|
-
def _async_update_attrs(self) ->
|
29
|
+
def _async_update_attrs(self) -> bool: ...
|
@@ -10,7 +10,7 @@ from typing import Final
|
|
10
10
|
|
11
11
|
@dataclass(frozen=True, kw_only=True)
|
12
12
|
class TPLinkSelectEntityDescription(SelectEntityDescription, TPLinkFeatureEntityDescription):
|
13
|
-
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=..., deprecated_info=..., options=...) -> None: ...
|
13
|
+
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=..., deprecated_info=..., available_fn=..., options=...) -> None: ...
|
14
14
|
|
15
15
|
SELECT_DESCRIPTIONS: Final[Incomplete]
|
16
16
|
SELECT_DESCRIPTIONS_MAP: Incomplete
|
@@ -23,4 +23,4 @@ class TPLinkSelectEntity(CoordinatedTPLinkFeatureEntity, SelectEntity):
|
|
23
23
|
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
|
24
24
|
async def async_select_option(self, option: str) -> None: ...
|
25
25
|
_attr_current_option: Incomplete
|
26
|
-
def _async_update_attrs(self) ->
|
26
|
+
def _async_update_attrs(self) -> bool: ...
|
@@ -10,7 +10,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
10
10
|
|
11
11
|
@dataclass(frozen=True, kw_only=True)
|
12
12
|
class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription):
|
13
|
-
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=..., deprecated_info=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=...) -> None: ...
|
13
|
+
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=..., deprecated_info=..., available_fn=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=...) -> None: ...
|
14
14
|
|
15
15
|
SENSOR_DESCRIPTIONS: tuple[TPLinkSensorEntityDescription, ...]
|
16
16
|
SENSOR_DESCRIPTIONS_MAP: Incomplete
|
@@ -22,4 +22,4 @@ class TPLinkSensorEntity(CoordinatedTPLinkFeatureEntity, SensorEntity):
|
|
22
22
|
_attr_suggested_display_precision: Incomplete
|
23
23
|
_attr_native_value: Incomplete
|
24
24
|
_attr_native_unit_of_measurement: Incomplete
|
25
|
-
def _async_update_attrs(self) ->
|
25
|
+
def _async_update_attrs(self) -> bool: ...
|