homeassistant-stubs 2024.3.3__py3-none-any.whl → 2024.4.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 +5 -4
- homeassistant-stubs/auth/auth_store.pyi +3 -1
- homeassistant-stubs/auth/mfa_modules/__init__.pyi +1 -0
- homeassistant-stubs/auth/models.pyi +2 -0
- homeassistant-stubs/auth/providers/__init__.pyi +8 -7
- homeassistant-stubs/auth/providers/command_line.pyi +2 -3
- homeassistant-stubs/auth/providers/homeassistant.pyi +2 -3
- homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +2 -3
- homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -3
- homeassistant-stubs/bootstrap.pyi +8 -4
- homeassistant-stubs/components/__init__.pyi +1 -0
- homeassistant-stubs/components/abode/alarm_control_panel.pyi +4 -5
- homeassistant-stubs/components/abode/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/abode/camera.pyi +2 -2
- homeassistant-stubs/components/abode/config_flow.pyi +9 -10
- homeassistant-stubs/components/abode/cover.pyi +2 -2
- homeassistant-stubs/components/abode/light.pyi +2 -2
- homeassistant-stubs/components/abode/lock.pyi +2 -2
- homeassistant-stubs/components/abode/sensor.pyi +8 -12
- homeassistant-stubs/components/abode/switch.pyi +2 -2
- homeassistant-stubs/components/accuweather/config_flow.pyi +3 -5
- homeassistant-stubs/components/accuweather/sensor.pyi +3 -7
- homeassistant-stubs/components/accuweather/weather.pyi +0 -2
- homeassistant-stubs/components/acmeda/config_flow.pyi +4 -5
- homeassistant-stubs/components/adax/config_flow.pyi +5 -6
- homeassistant-stubs/components/adguard/config_flow.pyi +6 -7
- homeassistant-stubs/components/aftership/config_flow.pyi +3 -6
- homeassistant-stubs/components/aftership/sensor.pyi +3 -8
- homeassistant-stubs/components/airly/config_flow.pyi +3 -4
- homeassistant-stubs/components/airnow/config_flow.pyi +4 -6
- homeassistant-stubs/components/airnow/sensor.pyi +3 -7
- homeassistant-stubs/components/airq/config_flow.pyi +3 -4
- homeassistant-stubs/components/airq/sensor.pyi +3 -7
- homeassistant-stubs/components/airthings/config_flow.pyi +3 -4
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/airtouch5/config_flow.pyi +1 -2
- homeassistant-stubs/components/airvisual/config_flow.pyi +10 -12
- homeassistant-stubs/components/airvisual_pro/config_flow.pyi +6 -8
- homeassistant-stubs/components/airzone/config_flow.pyi +6 -6
- homeassistant-stubs/components/airzone/select.pyi +3 -7
- homeassistant-stubs/components/airzone_cloud/climate.pyi +10 -1
- homeassistant-stubs/components/airzone_cloud/config_flow.pyi +4 -5
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +6 -7
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +3 -7
- homeassistant-stubs/components/alert/__init__.pyi +3 -3
- homeassistant-stubs/components/alexa/smart_home.pyi +1 -2
- homeassistant-stubs/components/amberelectric/config_flow.pyi +4 -5
- homeassistant-stubs/components/ambiclimate/config_flow.pyi +6 -7
- homeassistant-stubs/components/ambient_station/config_flow.pyi +4 -5
- homeassistant-stubs/components/amcrest/camera.pyi +1 -1
- homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -4
- homeassistant-stubs/components/android_ip_webcam/config_flow.pyi +3 -4
- homeassistant-stubs/components/android_ip_webcam/sensor.pyi +3 -7
- homeassistant-stubs/components/android_ip_webcam/switch.pyi +3 -7
- homeassistant-stubs/components/androidtv/config_flow.pyi +10 -11
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +9 -10
- homeassistant-stubs/components/anova/config_flow.pyi +2 -3
- homeassistant-stubs/components/anthemav/config_flow.pyi +2 -3
- homeassistant-stubs/components/apache_kafka/__init__.pyi +3 -3
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/apcupsd/config_flow.pyi +4 -5
- homeassistant-stubs/components/apcupsd/const.pyi +1 -0
- homeassistant-stubs/components/apcupsd/coordinator.pyi +11 -10
- homeassistant-stubs/components/apcupsd/diagnostics.pyi +11 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +3 -1
- homeassistant-stubs/components/api/__init__.pyi +1 -1
- homeassistant-stubs/components/apple_tv/__init__.pyi +3 -0
- homeassistant-stubs/components/apple_tv/config_flow.pyi +18 -18
- homeassistant-stubs/components/aranet/config_flow.pyi +6 -6
- homeassistant-stubs/components/arcam_fmj/config_flow.pyi +7 -8
- homeassistant-stubs/components/aseko_pool_live/__init__.pyi +3 -2
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +10 -5
- homeassistant-stubs/components/asuswrt/config_flow.pyi +5 -6
- homeassistant-stubs/components/auth/__init__.pyi +1 -0
- homeassistant-stubs/components/auth/login_flow.pyi +4 -3
- homeassistant-stubs/components/automation/__init__.pyi +19 -2
- homeassistant-stubs/components/awair/config_flow.pyi +9 -10
- homeassistant-stubs/components/awair/sensor.pyi +3 -7
- homeassistant-stubs/components/axis/__init__.pyi +1 -1
- homeassistant-stubs/components/axis/binary_sensor.pyi +26 -14
- homeassistant-stubs/components/axis/camera.pyi +2 -2
- homeassistant-stubs/components/axis/config_flow.pyi +20 -18
- homeassistant-stubs/components/axis/const.pyi +0 -1
- homeassistant-stubs/components/axis/diagnostics.pyi +1 -1
- homeassistant-stubs/components/axis/entity.pyi +16 -8
- homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/axis/hub/api.pyi +10 -0
- homeassistant-stubs/components/axis/hub/config.pyi +21 -0
- homeassistant-stubs/components/axis/hub/entity_loader.pyi +15 -0
- homeassistant-stubs/components/axis/hub/hub.pyi +41 -0
- homeassistant-stubs/components/axis/light.pyi +17 -8
- homeassistant-stubs/components/axis/switch.pyi +13 -5
- homeassistant-stubs/components/backup/http.pyi +1 -1
- homeassistant-stubs/components/baf/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/baf/config_flow.pyi +5 -6
- homeassistant-stubs/components/baf/number.pyi +3 -7
- homeassistant-stubs/components/baf/sensor.pyi +3 -7
- homeassistant-stubs/components/baf/switch.pyi +3 -7
- homeassistant-stubs/components/bang_olufsen/config_flow.pyi +5 -6
- homeassistant-stubs/components/bang_olufsen/const.pyi +22 -22
- homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -4
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +4 -5
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -1
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/blue_current/__init__.pyi +10 -12
- homeassistant-stubs/components/blue_current/config_flow.pyi +5 -6
- homeassistant-stubs/components/bluetooth/config_flow.pyi +5 -6
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -2
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +14 -14
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +3 -7
- homeassistant-stubs/components/bond/button.pyi +4 -8
- homeassistant-stubs/components/bond/config_flow.pyi +7 -8
- homeassistant-stubs/components/bond/light.pyi +1 -1
- homeassistant-stubs/components/braviatv/button.pyi +3 -7
- homeassistant-stubs/components/braviatv/config_flow.pyi +11 -13
- homeassistant-stubs/components/brother/config_flow.pyi +7 -7
- homeassistant-stubs/components/brother/sensor.pyi +3 -7
- homeassistant-stubs/components/bthome/__init__.pyi +3 -2
- homeassistant-stubs/components/bthome/config_flow.pyi +7 -8
- homeassistant-stubs/components/bthome/logbook.pyi +2 -3
- homeassistant-stubs/components/canary/config_flow.pyi +4 -5
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +4 -5
- homeassistant-stubs/components/cert_expiry/helper.pyi +1 -2
- homeassistant-stubs/components/climate/__init__.pyi +10 -7
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/config_flow.pyi +2 -3
- homeassistant-stubs/components/cloud/http_api.pyi +3 -1
- homeassistant-stubs/components/cloud/prefs.pyi +1 -0
- homeassistant-stubs/components/cloud/repairs.pyi +1 -1
- homeassistant-stubs/components/cloud/tts.pyi +3 -3
- homeassistant-stubs/components/co2signal/config_flow.pyi +7 -9
- homeassistant-stubs/components/command_line/cover.pyi +3 -3
- homeassistant-stubs/components/command_line/sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/switch.pyi +4 -4
- homeassistant-stubs/components/command_line/utils.pyi +3 -2
- homeassistant-stubs/components/config/__init__.pyi +3 -47
- homeassistant-stubs/components/config/automation.pyi +2 -1
- homeassistant-stubs/components/config/category_registry.pyi +12 -0
- homeassistant-stubs/components/config/config_entries.pyi +8 -6
- homeassistant-stubs/components/config/const.pyi +3 -0
- homeassistant-stubs/components/config/core.pyi +1 -1
- homeassistant-stubs/components/config/label_registry.pyi +3 -0
- homeassistant-stubs/components/config/scene.pyi +2 -1
- homeassistant-stubs/components/config/script.pyi +2 -1
- homeassistant-stubs/components/config/view.pyi +48 -0
- homeassistant-stubs/components/configurator/__init__.pyi +1 -1
- homeassistant-stubs/components/cpuspeed/config_flow.pyi +2 -3
- homeassistant-stubs/components/crownstone/config_flow.pyi +10 -11
- homeassistant-stubs/components/deconz/__init__.pyi +6 -7
- homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
- homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/deconz/button.pyi +2 -2
- homeassistant-stubs/components/deconz/climate.pyi +2 -2
- homeassistant-stubs/components/deconz/config_flow.pyi +14 -16
- homeassistant-stubs/components/deconz/cover.pyi +2 -2
- homeassistant-stubs/components/deconz/deconz_device.pyi +5 -5
- homeassistant-stubs/components/deconz/deconz_event.pyi +4 -4
- homeassistant-stubs/components/deconz/device_trigger.pyi +1 -1
- homeassistant-stubs/components/deconz/diagnostics.pyi +1 -1
- homeassistant-stubs/components/deconz/fan.pyi +2 -2
- homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/deconz/hub/api.pyi +9 -0
- homeassistant-stubs/components/deconz/hub/config.pyi +18 -0
- homeassistant-stubs/components/deconz/{gateway.pyi → hub/hub.pyi} +10 -19
- homeassistant-stubs/components/deconz/light.pyi +3 -3
- homeassistant-stubs/components/deconz/lock.pyi +1 -1
- homeassistant-stubs/components/deconz/number.pyi +2 -4
- homeassistant-stubs/components/deconz/scene.pyi +1 -1
- homeassistant-stubs/components/deconz/select.pyi +1 -1
- homeassistant-stubs/components/deconz/sensor.pyi +4 -6
- homeassistant-stubs/components/deconz/services.pyi +5 -5
- homeassistant-stubs/components/deconz/siren.pyi +1 -1
- homeassistant-stubs/components/deconz/switch.pyi +1 -1
- homeassistant-stubs/components/demo/climate.pyi +3 -8
- homeassistant-stubs/components/demo/config_flow.pyi +10 -11
- homeassistant-stubs/components/demo/humidifier.pyi +1 -1
- homeassistant-stubs/components/derivative/sensor.pyi +2 -2
- homeassistant-stubs/components/device_tracker/const.pyi +2 -1
- homeassistant-stubs/components/device_tracker/legacy.pyi +6 -2
- homeassistant-stubs/components/devolo_home_control/config_flow.pyi +9 -11
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/button.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +9 -9
- homeassistant-stubs/components/devolo_home_network/image.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/update.pyi +3 -7
- homeassistant-stubs/components/dhcp/__init__.pyi +4 -8
- homeassistant-stubs/components/discovergy/config_flow.pyi +5 -7
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +13 -14
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +4 -2
- homeassistant-stubs/components/dlna_dms/config_flow.pyi +7 -7
- homeassistant-stubs/components/dnsip/config_flow.pyi +6 -9
- homeassistant-stubs/components/doorbird/button.pyi +3 -7
- homeassistant-stubs/components/doorbird/config_flow.pyi +12 -12
- homeassistant-stubs/components/doorbird/view.pyi +1 -2
- homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +9 -10
- homeassistant-stubs/components/downloader/__init__.pyi +7 -12
- homeassistant-stubs/components/downloader/config_flow.pyi +12 -0
- homeassistant-stubs/components/downloader/const.pyi +13 -0
- homeassistant-stubs/components/dsmr/config_flow.pyi +14 -15
- homeassistant-stubs/components/dunehd/config_flow.pyi +6 -6
- homeassistant-stubs/components/duotecno/config_flow.pyi +3 -4
- homeassistant-stubs/components/easyenergy/config_flow.pyi +2 -3
- homeassistant-stubs/components/easyenergy/sensor.pyi +3 -7
- homeassistant-stubs/components/ecovacs/config_flow.pyi +5 -5
- homeassistant-stubs/components/ecovacs/event.pyi +19 -0
- homeassistant-stubs/components/ecowitt/config_flow.pyi +3 -4
- homeassistant-stubs/components/efergy/config_flow.pyi +4 -5
- homeassistant-stubs/components/electrasmart/config_flow.pyi +8 -9
- homeassistant-stubs/components/electric_kiwi/config_flow.pyi +4 -5
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +6 -14
- homeassistant-stubs/components/elgato/config_flow.pyi +6 -7
- homeassistant-stubs/components/elkm1/config_flow.pyi +13 -13
- homeassistant-stubs/components/elkm1/sensor.pyi +2 -2
- homeassistant-stubs/components/emulated_hue/__init__.pyi +2 -1
- homeassistant-stubs/components/emulated_hue/config.pyi +3 -3
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -3
- homeassistant-stubs/components/energy/sensor.pyi +5 -1
- homeassistant-stubs/components/energyzero/config_flow.pyi +2 -3
- homeassistant-stubs/components/energyzero/sensor.pyi +3 -7
- homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -6
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -0
- homeassistant-stubs/components/enphase_envoy/number.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/select.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -53
- homeassistant-stubs/components/enphase_envoy/switch.pyi +9 -21
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -1
- homeassistant-stubs/components/esphome/button.pyi +1 -1
- homeassistant-stubs/components/esphome/climate.pyi +1 -1
- homeassistant-stubs/components/esphome/config_flow.pyi +15 -16
- homeassistant-stubs/components/esphome/cover.pyi +1 -1
- homeassistant-stubs/components/esphome/date.pyi +14 -0
- homeassistant-stubs/components/esphome/entity.pyi +5 -3
- homeassistant-stubs/components/esphome/entry_data.pyi +15 -14
- homeassistant-stubs/components/esphome/fan.pyi +1 -1
- homeassistant-stubs/components/esphome/light.pyi +1 -1
- homeassistant-stubs/components/esphome/lock.pyi +1 -1
- homeassistant-stubs/components/esphome/manager.pyi +3 -3
- homeassistant-stubs/components/esphome/media_player.pyi +1 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -1
- homeassistant-stubs/components/esphome/select.pyi +1 -1
- homeassistant-stubs/components/esphome/switch.pyi +1 -1
- homeassistant-stubs/components/esphome/text.pyi +1 -1
- homeassistant-stubs/components/esphome/time.pyi +14 -0
- homeassistant-stubs/components/esphome/update.pyi +1 -1
- homeassistant-stubs/components/evil_genius_labs/config_flow.pyi +3 -4
- homeassistant-stubs/components/faa_delays/config_flow.pyi +3 -4
- homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/config_flow.pyi +3 -4
- homeassistant-stubs/components/fastdotcom/coordinator.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/diagnostics.pyi +7 -0
- homeassistant-stubs/components/fastdotcom/sensor.pyi +3 -3
- homeassistant-stubs/components/fastdotcom/services.pyi +1 -1
- homeassistant-stubs/components/file_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/filesize/__init__.pyi +0 -2
- homeassistant-stubs/components/filesize/config_flow.pyi +2 -3
- homeassistant-stubs/components/filesize/coordinator.pyi +6 -1
- homeassistant-stubs/components/filter/sensor.pyi +3 -3
- homeassistant-stubs/components/fitbit/config_flow.pyi +6 -7
- homeassistant-stubs/components/flexit_bacnet/config_flow.pyi +3 -4
- homeassistant-stubs/components/flux_led/config_flow.pyi +14 -14
- homeassistant-stubs/components/flux_led/discovery.pyi +1 -0
- homeassistant-stubs/components/flux_led/number.pyi +0 -5
- homeassistant-stubs/components/flux_led/select.pyi +0 -3
- homeassistant-stubs/components/flux_led/sensor.pyi +0 -1
- homeassistant-stubs/components/flux_led/switch.pyi +0 -4
- homeassistant-stubs/components/forecast_solar/config_flow.pyi +3 -4
- homeassistant-stubs/components/fritz/button.pyi +3 -7
- homeassistant-stubs/components/fritz/common.pyi +1 -0
- homeassistant-stubs/components/fritz/config_flow.pyi +11 -12
- homeassistant-stubs/components/fritzbox/config_flow.pyi +7 -8
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +9 -10
- homeassistant-stubs/components/fronius/config_flow.pyi +5 -6
- homeassistant-stubs/components/frontend/__init__.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/button.pyi +3 -7
- homeassistant-stubs/components/fully_kiosk/config_flow.pyi +7 -8
- homeassistant-stubs/components/fully_kiosk/switch.pyi +3 -7
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +5 -5
- homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
- homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
- homeassistant-stubs/components/geocaching/config_flow.pyi +4 -4
- homeassistant-stubs/components/geocaching/sensor.pyi +3 -7
- homeassistant-stubs/components/gios/config_flow.pyi +3 -4
- homeassistant-stubs/components/glances/config_flow.pyi +6 -7
- homeassistant-stubs/components/glances/sensor.pyi +3 -7
- homeassistant-stubs/components/goalzero/config_flow.pyi +5 -6
- homeassistant-stubs/components/google/config_flow.pyi +11 -12
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +8 -10
- homeassistant-stubs/components/google_sheets/config_flow.pyi +4 -5
- homeassistant-stubs/components/gpsd/config_flow.pyi +4 -5
- homeassistant-stubs/components/group/__init__.pyi +7 -102
- homeassistant-stubs/components/group/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/group/config_flow.pyi +2 -2
- homeassistant-stubs/components/group/const.pyi +12 -0
- homeassistant-stubs/components/group/cover.pyi +1 -1
- homeassistant-stubs/components/group/entity.pyi +81 -0
- homeassistant-stubs/components/group/event.pyi +3 -3
- homeassistant-stubs/components/group/fan.pyi +1 -1
- homeassistant-stubs/components/group/light.pyi +1 -1
- homeassistant-stubs/components/group/lock.pyi +1 -1
- homeassistant-stubs/components/group/media_player.pyi +3 -3
- homeassistant-stubs/components/group/registry.pyi +23 -0
- homeassistant-stubs/components/group/sensor.pyi +1 -1
- homeassistant-stubs/components/group/switch.pyi +1 -1
- homeassistant-stubs/components/guardian/config_flow.pyi +7 -8
- homeassistant-stubs/components/hardkernel/config_flow.pyi +2 -3
- homeassistant-stubs/components/here_travel_time/__init__.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/config_flow.pyi +17 -18
- homeassistant-stubs/components/here_travel_time/sensor.pyi +0 -1
- homeassistant-stubs/components/history/__init__.pyi +1 -1
- homeassistant-stubs/components/history/websocket_api.pyi +2 -2
- homeassistant-stubs/components/history_stats/coordinator.pyi +2 -3
- homeassistant-stubs/components/history_stats/data.pyi +2 -3
- homeassistant-stubs/components/holiday/config_flow.pyi +7 -5
- homeassistant-stubs/components/homeassistant/trigger.pyi +2 -1
- homeassistant-stubs/components/homeassistant/triggers/event.pyi +5 -1
- homeassistant-stubs/components/homeassistant/triggers/homeassistant.pyi +1 -0
- 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_green/config_flow.pyi +4 -5
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -29
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +6 -5
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +18 -0
- homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -0
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +9 -10
- homeassistant-stubs/components/homekit/__init__.pyi +9 -6
- homeassistant-stubs/components/homekit/accessories.pyi +5 -6
- homeassistant-stubs/components/homekit/config_flow.pyi +16 -18
- homeassistant-stubs/components/homekit/const.pyi +3 -0
- homeassistant-stubs/components/homekit/type_cameras.pyi +3 -4
- homeassistant-stubs/components/homekit/type_covers.pyi +2 -3
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -3
- homeassistant-stubs/components/homekit/util.pyi +2 -3
- homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +13 -13
- homeassistant-stubs/components/homekit_controller/select.pyi +3 -7
- homeassistant-stubs/components/homewizard/config_flow.pyi +7 -7
- homeassistant-stubs/components/homewizard/coordinator.pyi +0 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +63 -0
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/homeworks/button.pyi +18 -0
- homeassistant-stubs/components/homeworks/config_flow.pyi +61 -0
- homeassistant-stubs/components/homeworks/const.pyi +14 -0
- homeassistant-stubs/components/homeworks/light.pyi +34 -0
- homeassistant-stubs/components/http/__init__.pyi +4 -3
- homeassistant-stubs/components/http/ban.pyi +4 -3
- homeassistant-stubs/components/http/const.pyi +1 -2
- homeassistant-stubs/components/http/cors.pyi +1 -0
- homeassistant-stubs/components/http/static.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +12 -13
- homeassistant-stubs/components/huawei_lte/select.pyi +3 -7
- homeassistant-stubs/components/humidifier/__init__.pyi +8 -8
- homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -8
- homeassistant-stubs/components/hyperion/config_flow.pyi +12 -13
- homeassistant-stubs/components/hyperion/const.pyi +2 -0
- homeassistant-stubs/components/hyperion/sensor.pyi +39 -0
- homeassistant-stubs/components/ibeacon/config_flow.pyi +7 -8
- homeassistant-stubs/components/ibeacon/device_tracker.pyi +1 -2
- homeassistant-stubs/components/ibeacon/sensor.pyi +3 -7
- homeassistant-stubs/components/idasen_desk/button.pyi +4 -8
- homeassistant-stubs/components/idasen_desk/config_flow.pyi +4 -5
- homeassistant-stubs/components/idasen_desk/cover.pyi +3 -3
- homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -7
- homeassistant-stubs/components/image/__init__.pyi +2 -2
- homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/config_flow.pyi +10 -10
- homeassistant-stubs/components/integration/sensor.pyi +36 -5
- homeassistant-stubs/components/ios/__init__.pyi +1 -1
- homeassistant-stubs/components/ipp/config_flow.pyi +5 -6
- homeassistant-stubs/components/ipp/sensor.pyi +3 -7
- homeassistant-stubs/components/iqvia/config_flow.pyi +3 -4
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +7 -8
- homeassistant-stubs/components/isy994/config_flow.pyi +18 -17
- homeassistant-stubs/components/jellyfin/config_flow.pyi +5 -6
- homeassistant-stubs/components/jellyfin/sensor.pyi +3 -7
- homeassistant-stubs/components/jvc_projector/config_flow.pyi +4 -5
- homeassistant-stubs/components/jvc_projector/sensor.pyi +20 -0
- homeassistant-stubs/components/kaleidescape/config_flow.pyi +4 -5
- homeassistant-stubs/components/kaleidescape/sensor.pyi +3 -7
- homeassistant-stubs/components/knx/config_flow.pyi +18 -19
- homeassistant-stubs/components/knx/expose.pyi +3 -3
- homeassistant-stubs/components/kraken/config_flow.pyi +7 -8
- homeassistant-stubs/components/kraken/sensor.pyi +3 -7
- homeassistant-stubs/components/lacrosse_view/config_flow.pyi +5 -6
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +3 -7
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +16 -8
- homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +7 -2
- homeassistant-stubs/components/lametric/config_flow.pyi +11 -11
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/laundrify/config_flow.pyi +5 -6
- homeassistant-stubs/components/lcn/config_flow.pyi +4 -5
- homeassistant-stubs/components/ld2410_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/led_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/lidarr/config_flow.pyi +4 -5
- homeassistant-stubs/components/lifx/config_flow.pyi +10 -11
- homeassistant-stubs/components/linear_garage_door/config_flow.pyi +5 -6
- homeassistant-stubs/components/litejet/config_flow.pyi +7 -8
- homeassistant-stubs/components/litterrobot/config_flow.pyi +5 -6
- homeassistant-stubs/components/litterrobot/switch.pyi +2 -5
- homeassistant-stubs/components/local_ip/config_flow.pyi +2 -3
- homeassistant-stubs/components/local_ip/sensor.pyi +1 -1
- homeassistant-stubs/components/local_todo/config_flow.pyi +3 -4
- homeassistant-stubs/components/logbook/helpers.pyi +1 -2
- homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
- homeassistant-stubs/components/logbook/websocket_api.pyi +1 -0
- homeassistant-stubs/components/lookin/config_flow.pyi +5 -6
- homeassistant-stubs/components/luftdaten/config_flow.pyi +4 -5
- homeassistant-stubs/components/map/__init__.pyi +6 -1
- homeassistant-stubs/components/matter/config_flow.pyi +14 -14
- homeassistant-stubs/components/met_eireann/config_flow.pyi +3 -4
- homeassistant-stubs/components/met_eireann/weather.pyi +1 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +7 -6
- homeassistant-stubs/components/metoffice/weather.pyi +2 -5
- homeassistant-stubs/components/mikrotik/config_flow.pyi +11 -12
- homeassistant-stubs/components/min_max/sensor.pyi +3 -3
- homeassistant-stubs/components/minecraft_server/binary_sensor.pyi +2 -9
- homeassistant-stubs/components/minecraft_server/config_flow.pyi +3 -4
- homeassistant-stubs/components/minecraft_server/sensor.pyi +3 -16
- homeassistant-stubs/components/mjpeg/config_flow.pyi +3 -4
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/base_platform.pyi +1 -3
- homeassistant-stubs/components/modbus/const.pyi +0 -2
- homeassistant-stubs/components/modbus/modbus.pyi +3 -5
- homeassistant-stubs/components/modbus/validators.pyi +7 -2
- homeassistant-stubs/components/modem_callerid/button.pyi +0 -1
- homeassistant-stubs/components/modem_callerid/config_flow.pyi +5 -6
- homeassistant-stubs/components/modem_callerid/const.pyi +0 -1
- homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
- homeassistant-stubs/components/moon/config_flow.pyi +2 -3
- homeassistant-stubs/components/moon/sensor.pyi +0 -2
- homeassistant-stubs/components/mopeka/config_flow.pyi +4 -5
- homeassistant-stubs/components/motionmount/config_flow.pyi +6 -7
- homeassistant-stubs/components/mqtt/__init__.pyi +2 -2
- homeassistant-stubs/components/mqtt/climate.pyi +1 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +8 -9
- homeassistant-stubs/components/mqtt/const.pyi +0 -1
- homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
- homeassistant-stubs/components/mqtt/event.pyi +2 -2
- homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
- homeassistant-stubs/components/mqtt/image.pyi +2 -2
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +5 -2
- homeassistant-stubs/components/mqtt/mixins.pyi +7 -7
- homeassistant-stubs/components/mqtt/models.pyi +9 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +4 -1
- homeassistant-stubs/components/mqtt/tag.pyi +3 -2
- homeassistant-stubs/components/mqtt/util.pyi +5 -1
- homeassistant-stubs/components/mysensors/config_flow.pyi +8 -10
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/myuplink/config_flow.pyi +4 -5
- homeassistant-stubs/components/myuplink/helpers.pyi +1 -0
- homeassistant-stubs/components/myuplink/number.pyi +1 -1
- homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
- homeassistant-stubs/components/myuplink/switch.pyi +1 -1
- homeassistant-stubs/components/nam/config_flow.pyi +8 -9
- homeassistant-stubs/components/nam/sensor.pyi +3 -7
- homeassistant-stubs/components/nanoleaf/config_flow.pyi +12 -13
- homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
- homeassistant-stubs/components/neato/config_flow.pyi +5 -6
- homeassistant-stubs/components/neato/vacuum.pyi +0 -1
- homeassistant-stubs/components/nest/config_flow.pyi +10 -11
- homeassistant-stubs/components/netatmo/config_flow.pyi +12 -13
- homeassistant-stubs/components/netatmo/sensor.pyi +3 -7
- homeassistant-stubs/components/network/network.pyi +1 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +4 -5
- homeassistant-stubs/components/nfandroidtv/config_flow.pyi +3 -4
- homeassistant-stubs/components/nightscout/config_flow.pyi +5 -5
- homeassistant-stubs/components/notify/legacy.pyi +1 -1
- homeassistant-stubs/components/notion/__init__.pyi +4 -29
- homeassistant-stubs/components/notion/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/notion/config_flow.pyi +5 -7
- homeassistant-stubs/components/notion/coordinator.pyi +44 -0
- homeassistant-stubs/components/notion/diagnostics.pyi +1 -2
- homeassistant-stubs/components/notion/sensor.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +10 -9
- homeassistant-stubs/components/nut/config_flow.pyi +12 -12
- homeassistant-stubs/components/onboarding/__init__.pyi +16 -2
- homeassistant-stubs/components/onboarding/views.pyi +8 -6
- homeassistant-stubs/components/oncue/config_flow.pyi +3 -4
- homeassistant-stubs/components/onewire/config_flow.pyi +5 -6
- homeassistant-stubs/components/open_meteo/config_flow.pyi +2 -3
- homeassistant-stubs/components/open_meteo/weather.pyi +0 -2
- homeassistant-stubs/components/openexchangerates/config_flow.pyi +5 -5
- homeassistant-stubs/components/opensky/config_flow.pyi +3 -4
- homeassistant-stubs/components/opensky/sensor.pyi +1 -1
- homeassistant-stubs/components/openuv/config_flow.pyi +6 -8
- homeassistant-stubs/components/oralb/config_flow.pyi +4 -5
- homeassistant-stubs/components/otbr/config_flow.pyi +3 -4
- homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +3 -7
- homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/overkiz/climate.pyi +1 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -2
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +30 -7
- homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +1 -0
- homeassistant-stubs/components/overkiz/config_flow.pyi +10 -12
- homeassistant-stubs/components/overkiz/executor.pyi +1 -1
- homeassistant-stubs/components/overkiz/number.pyi +3 -7
- homeassistant-stubs/components/overkiz/select.pyi +3 -7
- homeassistant-stubs/components/overkiz/switch.pyi +3 -7
- homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -3
- homeassistant-stubs/components/peco/config_flow.pyi +4 -5
- homeassistant-stubs/components/peco/sensor.pyi +3 -7
- homeassistant-stubs/components/persistent_notification/__init__.pyi +2 -1
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/pi_hole/config_flow.pyi +6 -7
- homeassistant-stubs/components/ping/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/ping/config_flow.pyi +8 -9
- homeassistant-stubs/components/ping/coordinator.pyi +1 -1
- homeassistant-stubs/components/ping/entity.pyi +12 -0
- homeassistant-stubs/components/ping/sensor.pyi +29 -0
- homeassistant-stubs/components/plugwise/config_flow.pyi +3 -4
- homeassistant-stubs/components/poolsense/config_flow.pyi +3 -4
- homeassistant-stubs/components/powerwall/config_flow.pyi +12 -11
- homeassistant-stubs/components/private_ble_device/config_flow.pyi +2 -3
- homeassistant-stubs/components/private_ble_device/device_tracker.pyi +1 -2
- homeassistant-stubs/components/private_ble_device/sensor.pyi +3 -7
- homeassistant-stubs/components/prometheus/__init__.pyi +4 -4
- homeassistant-stubs/components/proximity/config_flow.pyi +4 -5
- homeassistant-stubs/components/proximity/coordinator.pyi +3 -3
- homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
- homeassistant-stubs/components/prusalink/config_flow.pyi +6 -5
- homeassistant-stubs/components/pure_energie/config_flow.pyi +4 -5
- homeassistant-stubs/components/pure_energie/sensor.pyi +3 -7
- homeassistant-stubs/components/purpleair/config_flow.pyi +14 -17
- homeassistant-stubs/components/pushbullet/config_flow.pyi +3 -4
- homeassistant-stubs/components/pvoutput/config_flow.pyi +4 -5
- homeassistant-stubs/components/qnap_qsw/button.pyi +3 -7
- homeassistant-stubs/components/qnap_qsw/config_flow.pyi +6 -6
- homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -3
- homeassistant-stubs/components/radarr/config_flow.pyi +4 -5
- homeassistant-stubs/components/rainforest_raven/config_flow.pyi +5 -6
- homeassistant-stubs/components/rainmachine/config_flow.pyi +8 -10
- homeassistant-stubs/components/raspberry_pi/config_flow.pyi +2 -3
- homeassistant-stubs/components/rdw/config_flow.pyi +2 -3
- homeassistant-stubs/components/recollect_waste/calendar.pyi +1 -1
- homeassistant-stubs/components/recollect_waste/config_flow.pyi +7 -8
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +4 -3
- homeassistant-stubs/components/recorder/db_schema.pyi +7 -0
- homeassistant-stubs/components/recorder/history/modern.pyi +7 -6
- homeassistant-stubs/components/recorder/migration.pyi +47 -5
- homeassistant-stubs/components/recorder/models/legacy.pyi +10 -0
- homeassistant-stubs/components/recorder/models/state.pyi +4 -0
- homeassistant-stubs/components/recorder/queries.pyi +2 -1
- homeassistant-stubs/components/recorder/table_managers/states.pyi +3 -0
- homeassistant-stubs/components/renault/binary_sensor.pyi +3 -11
- homeassistant-stubs/components/renault/button.pyi +3 -7
- homeassistant-stubs/components/renault/config_flow.pyi +8 -9
- homeassistant-stubs/components/renault/select.pyi +3 -13
- homeassistant-stubs/components/renault/sensor.pyi +3 -12
- homeassistant-stubs/components/rest/__init__.pyi +1 -0
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +12 -12
- homeassistant-stubs/components/rfxtrx/event.pyi +22 -0
- homeassistant-stubs/components/rhasspy/config_flow.pyi +3 -4
- homeassistant-stubs/components/ridwell/calendar.pyi +1 -1
- homeassistant-stubs/components/ridwell/config_flow.pyi +6 -7
- homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +3 -4
- homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +3 -7
- homeassistant-stubs/components/roku/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/roku/config_flow.pyi +6 -7
- homeassistant-stubs/components/roku/select.pyi +6 -10
- homeassistant-stubs/components/roku/sensor.pyi +3 -7
- homeassistant-stubs/components/romy/config_flow.pyi +5 -6
- homeassistant-stubs/components/romy/entity.pyi +11 -0
- homeassistant-stubs/components/romy/vacuum.pyi +4 -11
- homeassistant-stubs/components/rpi_power/config_flow.pyi +2 -2
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +9 -10
- homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +5 -6
- homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/samsungtv/config_flow.pyi +17 -17
- homeassistant-stubs/components/samsungtv/media_player.pyi +1 -0
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
- homeassistant-stubs/components/search/__init__.pyi +41 -20
- homeassistant-stubs/components/sensibo/binary_sensor.pyi +6 -14
- homeassistant-stubs/components/sensibo/button.pyi +3 -7
- homeassistant-stubs/components/sensibo/config_flow.pyi +6 -7
- homeassistant-stubs/components/sensibo/number.pyi +3 -7
- homeassistant-stubs/components/sensibo/select.pyi +3 -7
- homeassistant-stubs/components/sensibo/sensor.pyi +6 -14
- homeassistant-stubs/components/sensibo/switch.pyi +3 -7
- homeassistant-stubs/components/sensibo/update.pyi +3 -7
- homeassistant-stubs/components/sensirion_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/sfr_box/button.pyi +3 -7
- homeassistant-stubs/components/sfr_box/config_flow.pyi +6 -7
- homeassistant-stubs/components/sfr_box/sensor.pyi +3 -7
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/shelly/button.pyi +3 -7
- homeassistant-stubs/components/shelly/config_flow.pyi +15 -14
- homeassistant-stubs/components/shelly/const.pyi +3 -2
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -1
- homeassistant-stubs/components/shelly/entity.pyi +4 -8
- homeassistant-stubs/components/shelly/event.pyi +2 -2
- homeassistant-stubs/components/shelly/light.pyi +30 -14
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +4 -4
- homeassistant-stubs/components/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/update.pyi +8 -15
- homeassistant-stubs/components/shelly/utils.pyi +9 -4
- homeassistant-stubs/components/shopping_list/config_flow.pyi +3 -4
- homeassistant-stubs/components/shopping_list/todo.pyi +0 -1
- homeassistant-stubs/components/simplepush/config_flow.pyi +3 -4
- homeassistant-stubs/components/simplisafe/config_flow.pyi +6 -8
- homeassistant-stubs/components/skybell/config_flow.pyi +5 -6
- homeassistant-stubs/components/skybell/sensor.pyi +3 -7
- homeassistant-stubs/components/slack/config_flow.pyi +3 -4
- homeassistant-stubs/components/sleepiq/button.pyi +3 -7
- homeassistant-stubs/components/sleepiq/config_flow.pyi +5 -6
- homeassistant-stubs/components/sleepiq/number.pyi +3 -7
- homeassistant-stubs/components/smhi/config_flow.pyi +6 -4
- homeassistant-stubs/components/smhi/weather.pyi +0 -2
- homeassistant-stubs/components/snooz/config_flow.pyi +8 -9
- homeassistant-stubs/components/sonarr/config_flow.pyi +6 -7
- homeassistant-stubs/components/speedtestdotnet/__init__.pyi +4 -2
- homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +7 -8
- homeassistant-stubs/components/speedtestdotnet/const.pyi +0 -1
- homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -2
- homeassistant-stubs/components/sql/config_flow.pyi +6 -7
- homeassistant-stubs/components/ssdp/__init__.pyi +9 -7
- homeassistant-stubs/components/starlink/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/starlink/button.pyi +3 -7
- homeassistant-stubs/components/starlink/config_flow.pyi +2 -3
- homeassistant-stubs/components/starlink/coordinator.pyi +6 -1
- homeassistant-stubs/components/starlink/device_tracker.pyi +3 -7
- homeassistant-stubs/components/starlink/sensor.pyi +3 -7
- homeassistant-stubs/components/starlink/switch.pyi +3 -7
- homeassistant-stubs/components/starlink/time.pyi +34 -0
- homeassistant-stubs/components/statistics/sensor.pyi +2 -2
- homeassistant-stubs/components/steamist/config_flow.pyi +9 -10
- homeassistant-stubs/components/steamist/sensor.pyi +3 -7
- homeassistant-stubs/components/stookalert/config_flow.pyi +2 -3
- homeassistant-stubs/components/stream/__init__.pyi +1 -0
- homeassistant-stubs/components/stream/core.pyi +1 -1
- homeassistant-stubs/components/streamlabswater/config_flow.pyi +3 -4
- homeassistant-stubs/components/stt/legacy.pyi +1 -1
- homeassistant-stubs/components/suez_water/config_flow.pyi +3 -4
- homeassistant-stubs/components/sun/__init__.pyi +4 -64
- homeassistant-stubs/components/sun/config_flow.pyi +3 -4
- homeassistant-stubs/components/sun/const.pyi +11 -0
- homeassistant-stubs/components/sun/entity.pyi +64 -0
- homeassistant-stubs/components/sun/sensor.pyi +1 -1
- homeassistant-stubs/components/surepetcare/config_flow.pyi +5 -6
- homeassistant-stubs/components/switch/light.pyi +2 -2
- homeassistant-stubs/components/switchbee/config_flow.pyi +3 -4
- homeassistant-stubs/components/switchbot_cloud/config_flow.pyi +3 -4
- homeassistant-stubs/components/switcher_kis/button.pyi +3 -7
- homeassistant-stubs/components/switcher_kis/config_flow.pyi +5 -6
- homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/switch.pyi +2 -0
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/button.pyi +3 -7
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +14 -15
- homeassistant-stubs/components/synology_dsm/entity.pyi +3 -7
- homeassistant-stubs/components/synology_dsm/sensor.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -2
- homeassistant-stubs/components/system_log/__init__.pyi +3 -2
- homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -1
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +14 -12
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +29 -46
- homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/sensor.pyi +23 -20
- homeassistant-stubs/components/systemmonitor/util.pyi +1 -1
- homeassistant-stubs/components/tailscale/config_flow.pyi +4 -5
- homeassistant-stubs/components/tailwind/config_flow.pyi +9 -9
- homeassistant-stubs/components/tami4/config_flow.pyi +4 -5
- homeassistant-stubs/components/tautulli/config_flow.pyi +4 -5
- homeassistant-stubs/components/tautulli/sensor.pyi +6 -14
- homeassistant-stubs/components/technove/config_flow.pyi +4 -5
- homeassistant-stubs/components/tedee/config_flow.pyi +7 -5
- homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tibber/config_flow.pyi +3 -4
- homeassistant-stubs/components/tile/config_flow.pyi +7 -8
- homeassistant-stubs/components/tile/device_tracker.pyi +1 -2
- homeassistant-stubs/components/tilt_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/tolo/__init__.pyi +3 -3
- homeassistant-stubs/components/tolo/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/tolo/button.pyi +0 -1
- homeassistant-stubs/components/tolo/climate.pyi +6 -5
- homeassistant-stubs/components/tolo/config_flow.pyi +5 -6
- homeassistant-stubs/components/tolo/const.pyi +11 -7
- homeassistant-stubs/components/tolo/number.pyi +6 -11
- homeassistant-stubs/components/tolo/select.pyi +19 -7
- homeassistant-stubs/components/tolo/sensor.pyi +6 -10
- homeassistant-stubs/components/tolo/switch.pyi +30 -0
- homeassistant-stubs/components/tplink/config_flow.pyi +14 -16
- homeassistant-stubs/components/tplink/switch.pyi +0 -1
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +17 -20
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +6 -7
- homeassistant-stubs/components/tplink_omada/entity.pyi +3 -3
- homeassistant-stubs/components/tplink_omada/switch.pyi +54 -17
- homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
- homeassistant-stubs/components/tractive/__init__.pyi +1 -2
- homeassistant-stubs/components/tractive/config_flow.pyi +5 -6
- homeassistant-stubs/components/tractive/const.pyi +0 -1
- homeassistant-stubs/components/tractive/sensor.pyi +4 -8
- homeassistant-stubs/components/tractive/switch.pyi +3 -7
- homeassistant-stubs/components/tradfri/config_flow.pyi +6 -7
- homeassistant-stubs/components/tradfri/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +7 -8
- homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +6 -7
- homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +3 -8
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +9 -10
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +6 -7
- homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -7
- homeassistant-stubs/components/transmission/__init__.pyi +3 -2
- homeassistant-stubs/components/transmission/config_flow.pyi +13 -13
- homeassistant-stubs/components/transmission/const.pyi +2 -0
- homeassistant-stubs/components/transmission/switch.pyi +3 -7
- homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tts/__init__.pyi +1 -0
- homeassistant-stubs/components/tts/legacy.pyi +1 -1
- homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
- homeassistant-stubs/components/twentemilieu/config_flow.pyi +3 -4
- homeassistant-stubs/components/unifi/button.pyi +4 -8
- homeassistant-stubs/components/unifi/config_flow.pyi +16 -17
- homeassistant-stubs/components/unifi/device_tracker.pyi +4 -8
- homeassistant-stubs/components/unifi/entity.pyi +12 -15
- homeassistant-stubs/components/unifi/hub/config.pyi +31 -0
- homeassistant-stubs/components/unifi/hub/entity_loader.pyi +26 -0
- homeassistant-stubs/components/unifi/hub/hub.pyi +8 -28
- homeassistant-stubs/components/unifi/image.pyi +3 -8
- homeassistant-stubs/components/unifi/sensor.pyi +4 -10
- homeassistant-stubs/components/unifi/switch.pyi +6 -11
- homeassistant-stubs/components/unifi/update.pyi +4 -8
- homeassistant-stubs/components/unifiprotect/camera.pyi +5 -2
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +16 -17
- homeassistant-stubs/components/unifiprotect/migrate.pyi +18 -4
- homeassistant-stubs/components/unifiprotect/repairs.pyi +17 -6
- homeassistant-stubs/components/unifiprotect/select.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/services.pyi +8 -2
- homeassistant-stubs/components/unifiprotect/utils.pyi +2 -1
- homeassistant-stubs/components/upcloud/config_flow.pyi +8 -9
- homeassistant-stubs/components/uptime/config_flow.pyi +2 -3
- homeassistant-stubs/components/uptimerobot/config_flow.pyi +5 -6
- homeassistant-stubs/components/uptimerobot/sensor.pyi +0 -7
- homeassistant-stubs/components/uptimerobot/switch.pyi +1 -1
- homeassistant-stubs/components/usb/__init__.pyi +2 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +1 -4
- homeassistant-stubs/components/vacuum/const.pyi +7 -0
- homeassistant-stubs/components/vacuum/group.pyi +1 -1
- homeassistant-stubs/components/vallox/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/vallox/config_flow.pyi +3 -4
- homeassistant-stubs/components/vallox/date.pyi +22 -0
- homeassistant-stubs/components/vallox/number.pyi +3 -7
- homeassistant-stubs/components/vallox/switch.pyi +3 -7
- homeassistant-stubs/components/velbus/config_flow.pyi +6 -7
- homeassistant-stubs/components/vlc_telnet/config_flow.pyi +11 -11
- homeassistant-stubs/components/wallbox/config_flow.pyi +6 -6
- homeassistant-stubs/components/wallbox/number.pyi +3 -7
- homeassistant-stubs/components/waqi/__init__.pyi +0 -1
- homeassistant-stubs/components/waqi/config_flow.pyi +7 -11
- homeassistant-stubs/components/waqi/sensor.pyi +7 -22
- homeassistant-stubs/components/water_heater/const.pyi +6 -0
- homeassistant-stubs/components/water_heater/group.pyi +1 -1
- homeassistant-stubs/components/watttime/config_flow.pyi +10 -12
- homeassistant-stubs/components/weather/__init__.pyi +0 -13
- homeassistant-stubs/components/webhook/__init__.pyi +1 -2
- homeassistant-stubs/components/webostv/config_flow.pyi +8 -8
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -3
- homeassistant-stubs/components/websocket_api/http.pyi +1 -1
- homeassistant-stubs/components/websocket_api/messages.pyi +4 -3
- homeassistant-stubs/components/wemo/__init__.pyi +3 -1
- homeassistant-stubs/components/wemo/config_flow.pyi +2 -3
- homeassistant-stubs/components/wemo/wemo_device.pyi +2 -1
- homeassistant-stubs/components/whois/config_flow.pyi +2 -3
- homeassistant-stubs/components/withings/__init__.pyi +13 -0
- homeassistant-stubs/components/withings/config_flow.pyi +4 -5
- homeassistant-stubs/components/wiz/config_flow.pyi +8 -8
- homeassistant-stubs/components/wled/config_flow.pyi +6 -10
- homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +9 -10
- homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -2
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -6
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +14 -14
- homeassistant-stubs/components/yalexs_ble/sensor.pyi +3 -7
- homeassistant-stubs/components/youtube/config_flow.pyi +6 -7
- homeassistant-stubs/components/youtube/sensor.pyi +3 -7
- homeassistant-stubs/components/zeroconf/__init__.pyi +1 -1
- homeassistant-stubs/components/zodiac/config_flow.pyi +2 -3
- homeassistant-stubs/components/zodiac/sensor.pyi +0 -2
- homeassistant-stubs/components/zone/__init__.pyi +2 -2
- homeassistant-stubs/components/zone/config_flow.pyi +2 -2
- homeassistant-stubs/components/zone/trigger.pyi +2 -2
- homeassistant-stubs/components/zwave_js/api.pyi +1 -2
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/zwave_js/config_flow.pyi +39 -38
- homeassistant-stubs/components/zwave_js/humidifier.pyi +3 -7
- homeassistant-stubs/config.pyi +18 -3
- homeassistant-stubs/config_entries.pyi +52 -33
- homeassistant-stubs/const.pyi +11 -6
- homeassistant-stubs/core.pyi +62 -38
- homeassistant-stubs/data_entry_flow.pyi +38 -37
- homeassistant-stubs/exceptions.pyi +12 -5
- homeassistant-stubs/helpers/area_registry.pyi +7 -19
- homeassistant-stubs/helpers/category_registry.pyi +43 -0
- homeassistant-stubs/helpers/check_config.pyi +1 -1
- homeassistant-stubs/helpers/config_entry_flow.pyi +11 -12
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +6 -7
- homeassistant-stubs/helpers/config_validation.pyi +8 -1
- homeassistant-stubs/helpers/data_entry_flow.pyi +9 -5
- homeassistant-stubs/helpers/debounce.pyi +2 -1
- homeassistant-stubs/helpers/device_registry.pyi +9 -5
- homeassistant-stubs/helpers/discovery.pyi +2 -1
- homeassistant-stubs/helpers/discovery_flow.pyi +2 -2
- homeassistant-stubs/helpers/dispatcher.pyi +2 -10
- homeassistant-stubs/helpers/entity.pyi +9 -7
- homeassistant-stubs/helpers/entity_component.pyi +2 -1
- homeassistant-stubs/helpers/entity_platform.pyi +2 -2
- homeassistant-stubs/helpers/entity_registry.pyi +14 -9
- homeassistant-stubs/helpers/event.pyi +30 -30
- homeassistant-stubs/helpers/floor_registry.pyi +12 -24
- homeassistant-stubs/helpers/frame.pyi +11 -3
- homeassistant-stubs/helpers/http.pyi +6 -3
- homeassistant-stubs/helpers/importlib.pyi +11 -0
- homeassistant-stubs/helpers/integration_platform.pyi +8 -6
- homeassistant-stubs/helpers/intent.pyi +6 -4
- homeassistant-stubs/helpers/issue_registry.pyi +2 -3
- homeassistant-stubs/helpers/label_registry.pyi +11 -23
- homeassistant-stubs/helpers/normalized_name_base_registry.pyi +22 -0
- homeassistant-stubs/helpers/ratelimit.pyi +2 -3
- homeassistant-stubs/helpers/registry.pyi +15 -0
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +15 -15
- homeassistant-stubs/helpers/script.pyi +22 -8
- homeassistant-stubs/helpers/selector.pyi +20 -0
- homeassistant-stubs/helpers/service.pyi +9 -4
- homeassistant-stubs/helpers/storage.pyi +28 -4
- homeassistant-stubs/helpers/system_info.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +18 -3
- homeassistant-stubs/helpers/translation.pyi +2 -1
- homeassistant-stubs/helpers/trigger.pyi +1 -0
- homeassistant-stubs/helpers/typing.pyi +2 -5
- homeassistant-stubs/helpers/update_coordinator.pyi +5 -5
- homeassistant-stubs/loader.pyi +24 -5
- homeassistant-stubs/setup.pyi +21 -4
- homeassistant-stubs/util/async_.pyi +2 -2
- homeassistant-stubs/util/percentage.pyi +1 -1
- homeassistant-stubs/util/signal_type.pyi +20 -0
- homeassistant-stubs/util/unit_conversion.pyi +10 -0
- {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/METADATA +4 -5
- {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/RECORD +864 -825
- homeassistant-stubs/components/axis/device.pyi +0 -64
- homeassistant-stubs/components/binary_sensor/group.pyi +0 -5
- homeassistant-stubs/components/fan/group.pyi +0 -5
- homeassistant-stubs/components/humidifier/group.pyi +0 -5
- homeassistant-stubs/components/light/group.pyi +0 -5
- homeassistant-stubs/components/remote/group.pyi +0 -5
- homeassistant-stubs/components/switch/group.pyi +0 -5
- {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/WHEEL +0 -0
@@ -13,15 +13,11 @@ from pysensibo.model import SensiboDevice as SensiboDevice
|
|
13
13
|
|
14
14
|
PARALLEL_UPDATES: int
|
15
15
|
|
16
|
-
@dataclass(frozen=True)
|
17
|
-
class
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class SensiboDeviceUpdateEntityDescription(UpdateEntityDescription):
|
18
18
|
value_version: Callable[[SensiboDevice], str | None]
|
19
19
|
value_available: Callable[[SensiboDevice], str | None]
|
20
|
-
def __init__(self, value_version, value_available) -> None: ...
|
21
|
-
|
22
|
-
@dataclass(frozen=True)
|
23
|
-
class SensiboDeviceUpdateEntityDescription(UpdateEntityDescription, DeviceBaseEntityDescriptionMixin):
|
24
|
-
def __init__(self, value_version, value_available, *, 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) -> None: ...
|
20
|
+
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, value_version, value_available) -> None: ...
|
25
21
|
|
26
22
|
DEVICE_SENSOR_TYPES: tuple[SensiboDeviceUpdateEntityDescription, ...]
|
27
23
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_discovered_service_info as async_discovered_service_info
|
4
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
|
6
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
7
6
|
from typing import Any
|
8
7
|
|
9
8
|
class SensirionConfigFlow(ConfigFlow, domain=DOMAIN):
|
@@ -12,6 +11,6 @@ class SensirionConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
12
11
|
_discovered_device: Incomplete
|
13
12
|
_discovered_devices: Incomplete
|
14
13
|
def __init__(self) -> None: ...
|
15
|
-
async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) ->
|
16
|
-
async def async_step_bluetooth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
17
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
14
|
+
async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_bluetooth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -16,14 +16,10 @@ from typing import Generic, TypeVar
|
|
16
16
|
|
17
17
|
_T = TypeVar('_T')
|
18
18
|
|
19
|
-
@dataclass(frozen=True)
|
20
|
-
class
|
19
|
+
@dataclass(frozen=True, kw_only=True)
|
20
|
+
class SFRBoxBinarySensorEntityDescription(BinarySensorEntityDescription, Generic[_T]):
|
21
21
|
value_fn: Callable[[_T], bool | None]
|
22
|
-
def __init__(self, value_fn) -> None: ...
|
23
|
-
|
24
|
-
@dataclass(frozen=True)
|
25
|
-
class SFRBoxBinarySensorEntityDescription(BinarySensorEntityDescription, SFRBoxBinarySensorMixin[_T]):
|
26
|
-
def __init__(self, value_fn, *, 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) -> None: ...
|
22
|
+
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, value_fn) -> None: ...
|
27
23
|
|
28
24
|
DSL_SENSOR_TYPES: tuple[SFRBoxBinarySensorEntityDescription[DslInfo], ...]
|
29
25
|
FTTH_SENSOR_TYPES: tuple[SFRBoxBinarySensorEntityDescription[FtthInfo], ...]
|
@@ -19,14 +19,10 @@ _P = ParamSpec('_P')
|
|
19
19
|
|
20
20
|
def with_error_wrapping(func: Callable[Concatenate[SFRBoxButton, _P], Awaitable[_T]]) -> Callable[Concatenate[SFRBoxButton, _P], Coroutine[Any, Any, _T]]: ...
|
21
21
|
|
22
|
-
@dataclass(frozen=True)
|
23
|
-
class
|
22
|
+
@dataclass(frozen=True, kw_only=True)
|
23
|
+
class SFRBoxButtonEntityDescription(ButtonEntityDescription):
|
24
24
|
async_press: Callable[[SFRBox], Coroutine[None, None, None]]
|
25
|
-
def __init__(self, async_press) -> None: ...
|
26
|
-
|
27
|
-
@dataclass(frozen=True)
|
28
|
-
class SFRBoxButtonEntityDescription(ButtonEntityDescription, SFRBoxButtonMixin):
|
29
|
-
def __init__(self, async_press, *, 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) -> None: ...
|
25
|
+
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, async_press) -> None: ...
|
30
26
|
|
31
27
|
BUTTON_TYPES: tuple[SFRBoxButtonEntityDescription, ...]
|
32
28
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
6
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
7
6
|
from homeassistant.helpers import selector as selector
|
8
7
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
9
8
|
from sfrbox_api.bridge import SFRBox
|
@@ -17,8 +16,8 @@ class SFRBoxFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
17
16
|
_box: SFRBox
|
18
17
|
_config: dict[str, Any]
|
19
18
|
_reauth_entry: ConfigEntry | None
|
20
|
-
async def async_step_user(self, user_input: dict[str, str] | None = None) ->
|
21
|
-
async def async_step_choose_auth(self, user_input: dict[str, str] | None = None) ->
|
22
|
-
async def async_step_auth(self, user_input: dict[str, str] | None = None) ->
|
23
|
-
async def async_step_skip_auth(self, user_input: dict[str, str] | None = None) ->
|
24
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
19
|
+
async def async_step_user(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
20
|
+
async def async_step_choose_auth(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
21
|
+
async def async_step_auth(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
22
|
+
async def async_step_skip_auth(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
@@ -17,14 +17,10 @@ from typing import Generic, TypeVar
|
|
17
17
|
|
18
18
|
_T = TypeVar('_T')
|
19
19
|
|
20
|
-
@dataclass(frozen=True)
|
21
|
-
class
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class SFRBoxSensorEntityDescription(SensorEntityDescription, Generic[_T]):
|
22
22
|
value_fn: Callable[[_T], StateType]
|
23
|
-
def __init__(self, value_fn) -> None: ...
|
24
|
-
|
25
|
-
@dataclass(frozen=True)
|
26
|
-
class SFRBoxSensorEntityDescription(SensorEntityDescription, SFRBoxSensorMixin[_T]):
|
27
|
-
def __init__(self, value_fn, *, 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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
23
|
+
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
|
28
24
|
|
29
25
|
DSL_SENSOR_TYPES: tuple[SFRBoxSensorEntityDescription[DslInfo], ...]
|
30
26
|
SYSTEM_SENSOR_TYPES: tuple[SFRBoxSensorEntityDescription[SystemInfo], ...]
|
@@ -1,6 +1,6 @@
|
|
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,
|
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, get_block_device_sleep_period as get_block_device_sleep_period, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, get_ws_context as get_ws_context
|
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_coap_context as get_coap_context, 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, get_ws_context as get_ws_context
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioshelly.block_device import BlockUpdateType as BlockUpdateType
|
6
6
|
from aioshelly.rpc_device import RpcUpdateType as RpcUpdateType
|
@@ -11,15 +11,15 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
11
11
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
12
12
|
from typing import Final
|
13
13
|
|
14
|
-
@dataclass(frozen=True)
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
15
15
|
class BlockBinarySensorDescription(BlockEntityDescription, BinarySensorEntityDescription):
|
16
16
|
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, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
17
17
|
|
18
|
-
@dataclass(frozen=True)
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
19
|
class RpcBinarySensorDescription(RpcEntityDescription, BinarySensorEntityDescription):
|
20
|
-
def __init__(self,
|
20
|
+
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, sub_key, value, available, removal_condition, extra_state_attributes, use_polling_coordinator, supported) -> None: ...
|
21
21
|
|
22
|
-
@dataclass(frozen=True)
|
22
|
+
@dataclass(frozen=True, kw_only=True)
|
23
23
|
class RestBinarySensorDescription(RestEntityDescription, BinarySensorEntityDescription):
|
24
24
|
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, value, extra_state_attributes) -> None: ...
|
25
25
|
|
@@ -17,15 +17,11 @@ from typing import Any, Final, Generic, TypeVar
|
|
17
17
|
|
18
18
|
_ShellyCoordinatorT = TypeVar('_ShellyCoordinatorT', bound=ShellyBlockCoordinator | ShellyRpcCoordinator)
|
19
19
|
|
20
|
-
@dataclass(frozen=True)
|
21
|
-
class
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class ShellyButtonDescription(ButtonEntityDescription, Generic[_ShellyCoordinatorT]):
|
22
22
|
press_action: Callable[[_ShellyCoordinatorT], Coroutine[Any, Any, None]]
|
23
|
-
def __init__(self, press_action) -> None: ...
|
24
|
-
|
25
|
-
@dataclass(frozen=True)
|
26
|
-
class ShellyButtonDescription(ButtonEntityDescription, ShellyButtonDescriptionMixin[_ShellyCoordinatorT]):
|
27
23
|
supported: Callable[[_ShellyCoordinatorT], bool] = ...
|
28
|
-
def __init__(self,
|
24
|
+
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, press_action, supported) -> None: ...
|
29
25
|
|
30
26
|
BUTTONS: Final[list[ShellyButtonDescription[Any]]]
|
31
27
|
|
@@ -1,37 +1,38 @@
|
|
1
1
|
from .const import BLEScannerMode as BLEScannerMode, CONF_BLE_SCANNER_MODE as CONF_BLE_SCANNER_MODE, CONF_GEN as CONF_GEN, CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER, MODEL_WALL_DISPLAY as MODEL_WALL_DISPLAY
|
2
2
|
from .coordinator import async_reconnect_soon as async_reconnect_soon
|
3
|
-
from .utils import get_block_device_sleep_period as get_block_device_sleep_period, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_info_auth as get_info_auth, get_info_gen as get_info_gen, get_model_name as get_model_name, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, get_ws_context as get_ws_context, mac_address_from_name as mac_address_from_name
|
3
|
+
from .utils import get_block_device_sleep_period as get_block_device_sleep_period, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_info_auth as get_info_auth, get_info_gen as get_info_gen, get_model_name as get_model_name, get_rpc_device_wakeup_period as get_rpc_device_wakeup_period, get_ws_context as get_ws_context, mac_address_from_name as mac_address_from_name
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Mapping
|
6
6
|
from homeassistant.components.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, OptionsFlow as OptionsFlow
|
8
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
8
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
11
10
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
12
11
|
from homeassistant.helpers.selector import SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
|
13
12
|
from typing import Any, Final
|
14
13
|
|
15
|
-
|
14
|
+
CONFIG_SCHEMA: Final[Incomplete]
|
16
15
|
BLE_SCANNER_OPTIONS: Incomplete
|
17
16
|
INTERNAL_WIFI_AP_IP: str
|
18
17
|
|
19
|
-
async def validate_input(hass: HomeAssistant, host: str, info: dict[str, Any], data: dict[str, Any]) -> dict[str, Any]: ...
|
18
|
+
async def validate_input(hass: HomeAssistant, host: str, port: int, info: dict[str, Any], data: dict[str, Any]) -> dict[str, Any]: ...
|
20
19
|
|
21
20
|
class ShellyConfigFlow(ConfigFlow, domain=DOMAIN):
|
22
21
|
VERSION: int
|
22
|
+
MINOR_VERSION: int
|
23
23
|
host: str
|
24
|
+
port: int
|
24
25
|
info: dict[str, Any]
|
25
26
|
device_info: dict[str, Any]
|
26
27
|
entry: ConfigEntry | None
|
27
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
28
|
-
async def async_step_credentials(self, user_input: dict[str, Any] | None = None) ->
|
28
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
29
|
+
async def async_step_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
29
30
|
async def _async_discovered_mac(self, mac: str, host: str) -> None: ...
|
30
|
-
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) ->
|
31
|
-
async def async_step_confirm_discovery(self, user_input: dict[str, Any] | None = None) ->
|
32
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
33
|
-
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
34
|
-
async def _async_get_info(self, host: str) -> dict[str, Any]: ...
|
31
|
+
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
32
|
+
async def async_step_confirm_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
34
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
35
|
+
async def _async_get_info(self, host: str, port: int) -> dict[str, Any]: ...
|
35
36
|
@staticmethod
|
36
37
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
|
37
38
|
@classmethod
|
@@ -40,4 +41,4 @@ class ShellyConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
40
41
|
class OptionsFlowHandler(OptionsFlow):
|
41
42
|
config_entry: Incomplete
|
42
43
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
43
|
-
async def async_step_init(self, user_input: dict[str, Any] | None = None) ->
|
44
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -7,9 +7,9 @@ DOMAIN: Final[str]
|
|
7
7
|
LOGGER: Logger
|
8
8
|
DATA_CONFIG_ENTRY: Final[str]
|
9
9
|
CONF_COAP_PORT: Final[str]
|
10
|
-
DEFAULT_COAP_PORT: Final[int]
|
11
10
|
FIRMWARE_PATTERN: Final[Incomplete]
|
12
|
-
|
11
|
+
BLOCK_MAX_TRANSITION_TIME_MS: Final[int]
|
12
|
+
RPC_MIN_TRANSITION_TIME_SEC: float
|
13
13
|
RGBW_MODELS: Final[Incomplete]
|
14
14
|
MODELS_SUPPORTING_LIGHT_TRANSITION: Final[Incomplete]
|
15
15
|
MODELS_SUPPORTING_LIGHT_EFFECTS: Final[Incomplete]
|
@@ -71,3 +71,4 @@ GEN1_RELEASE_URL: str
|
|
71
71
|
GEN2_RELEASE_URL: str
|
72
72
|
DEVICES_WITHOUT_FIRMWARE_CHANGELOG: Incomplete
|
73
73
|
CONF_GEN: str
|
74
|
+
SHELLY_PLUS_RGBW_CHANNELS: int
|
@@ -1,6 +1,6 @@
|
|
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 get_device_entry_gen as get_device_entry_gen, 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_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
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioshelly.block_device import BlockDevice, BlockUpdateType
|
6
6
|
from aioshelly.rpc_device import RpcDevice, RpcUpdateType
|
@@ -43,6 +43,8 @@ class ShellyCoordinatorBase(DataUpdateCoordinator[None], Generic[_DeviceT]):
|
|
43
43
|
def sleep_period(self) -> int: ...
|
44
44
|
def async_setup(self) -> None: ...
|
45
45
|
async def _async_reload_entry(self) -> None: ...
|
46
|
+
last_update_success: bool
|
47
|
+
async def async_shutdown_device_and_start_reauth(self) -> None: ...
|
46
48
|
|
47
49
|
class ShellyBlockCoordinator(ShellyCoordinatorBase[BlockDevice]):
|
48
50
|
entry: Incomplete
|
@@ -34,21 +34,17 @@ class BlockEntityDescription(EntityDescription):
|
|
34
34
|
extra_state_attributes: Callable[[Block], dict | None] | None = ...
|
35
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, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
36
36
|
|
37
|
-
@dataclass(frozen=True)
|
38
|
-
class
|
39
|
-
sub_key: str
|
40
|
-
def __init__(self, sub_key) -> None: ...
|
41
|
-
|
42
|
-
@dataclass(frozen=True)
|
43
|
-
class RpcEntityDescription(EntityDescription, RpcEntityRequiredKeysMixin):
|
37
|
+
@dataclass(frozen=True, kw_only=True)
|
38
|
+
class RpcEntityDescription(EntityDescription):
|
44
39
|
name: str = ...
|
40
|
+
sub_key: str
|
45
41
|
value: Callable[[Any, Any], Any] | None = ...
|
46
42
|
available: Callable[[dict], bool] | None = ...
|
47
43
|
removal_condition: Callable[[dict, dict, str], bool] | None = ...
|
48
44
|
extra_state_attributes: Callable[[dict, dict], dict | None] | None = ...
|
49
45
|
use_polling_coordinator: bool = ...
|
50
46
|
supported: Callable = ...
|
51
|
-
def __init__(self,
|
47
|
+
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, sub_key, value, available, removal_condition, extra_state_attributes, use_polling_coordinator, supported) -> None: ...
|
52
48
|
|
53
49
|
@dataclass(frozen=True)
|
54
50
|
class RestEntityDescription(EntityDescription):
|
@@ -14,12 +14,12 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
14
14
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
15
15
|
from typing import Any, Final
|
16
16
|
|
17
|
-
@dataclass(frozen=True)
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
18
|
class ShellyBlockEventDescription(EventEntityDescription):
|
19
19
|
removal_condition: Callable[[dict, Block], bool] | None = ...
|
20
20
|
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, event_types, removal_condition) -> None: ...
|
21
21
|
|
22
|
-
@dataclass(frozen=True)
|
22
|
+
@dataclass(frozen=True, kw_only=True)
|
23
23
|
class ShellyRpcEventDescription(EventEntityDescription):
|
24
24
|
removal_condition: Callable[[dict, dict, str], bool] | None = ...
|
25
25
|
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, event_types, removal_condition) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from .const import DUAL_MODE_LIGHT_MODELS as DUAL_MODE_LIGHT_MODELS, KELVIN_MAX_VALUE as KELVIN_MAX_VALUE, KELVIN_MIN_VALUE_COLOR as KELVIN_MIN_VALUE_COLOR, KELVIN_MIN_VALUE_WHITE as KELVIN_MIN_VALUE_WHITE, LOGGER as LOGGER,
|
1
|
+
from .const import BLOCK_MAX_TRANSITION_TIME_MS as BLOCK_MAX_TRANSITION_TIME_MS, DUAL_MODE_LIGHT_MODELS as DUAL_MODE_LIGHT_MODELS, KELVIN_MAX_VALUE as KELVIN_MAX_VALUE, KELVIN_MIN_VALUE_COLOR as KELVIN_MIN_VALUE_COLOR, KELVIN_MIN_VALUE_WHITE as KELVIN_MIN_VALUE_WHITE, LOGGER as LOGGER, MODELS_SUPPORTING_LIGHT_TRANSITION as MODELS_SUPPORTING_LIGHT_TRANSITION, RGBW_MODELS as RGBW_MODELS, RPC_MIN_TRANSITION_TIME_SEC as RPC_MIN_TRANSITION_TIME_SEC, SHBLB_1_RGB_EFFECTS as SHBLB_1_RGB_EFFECTS, SHELLY_PLUS_RGBW_CHANNELS as SHELLY_PLUS_RGBW_CHANNELS, STANDARD_RGB_EFFECTS as STANDARD_RGB_EFFECTS
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, get_entry_data as get_entry_data
|
3
3
|
from .entity import ShellyBlockEntity as ShellyBlockEntity, ShellyRpcEntity as ShellyRpcEntity
|
4
|
-
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, brightness_to_percentage as brightness_to_percentage, 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, percentage_to_brightness as percentage_to_brightness
|
4
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, async_remove_shelly_rpc_entities as async_remove_shelly_rpc_entities, brightness_to_percentage as brightness_to_percentage, 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, percentage_to_brightness as percentage_to_brightness
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, brightness_supported as brightness_supported
|
@@ -42,24 +42,40 @@ class BlockShellyLight(ShellyBlockEntity, LightEntity):
|
|
42
42
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
43
43
|
def _update_callback(self) -> None: ...
|
44
44
|
|
45
|
-
class
|
46
|
-
|
47
|
-
_attr_supported_color_modes: Incomplete
|
45
|
+
class RpcShellyLightBase(ShellyRpcEntity, LightEntity):
|
46
|
+
_component: str
|
48
47
|
_id: Incomplete
|
49
48
|
def __init__(self, coordinator: ShellyRpcCoordinator, id_: int) -> None: ...
|
50
49
|
@property
|
51
50
|
def is_on(self) -> bool: ...
|
51
|
+
@property
|
52
|
+
def brightness(self) -> int: ...
|
53
|
+
@property
|
54
|
+
def rgb_color(self) -> tuple[int, int, int]: ...
|
55
|
+
@property
|
56
|
+
def rgbw_color(self) -> tuple[int, int, int, int]: ...
|
52
57
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
53
58
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
54
59
|
|
55
|
-
class
|
60
|
+
class RpcShellySwitchAsLight(RpcShellyLightBase):
|
61
|
+
_component: str
|
56
62
|
_attr_color_mode: Incomplete
|
57
63
|
_attr_supported_color_modes: Incomplete
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
|
65
|
+
class RpcShellyLight(RpcShellyLightBase):
|
66
|
+
_component: str
|
67
|
+
_attr_color_mode: Incomplete
|
68
|
+
_attr_supported_color_modes: Incomplete
|
69
|
+
_attr_supported_features: Incomplete
|
70
|
+
|
71
|
+
class RpcShellyRgbLight(RpcShellyLightBase):
|
72
|
+
_component: str
|
73
|
+
_attr_color_mode: Incomplete
|
74
|
+
_attr_supported_color_modes: Incomplete
|
75
|
+
_attr_supported_features: Incomplete
|
76
|
+
|
77
|
+
class RpcShellyRgbwLight(RpcShellyLightBase):
|
78
|
+
_component: str
|
79
|
+
_attr_color_mode: Incomplete
|
80
|
+
_attr_supported_color_modes: Incomplete
|
81
|
+
_attr_supported_features: Incomplete
|
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
13
13
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
14
14
|
from typing import Any
|
15
15
|
|
16
|
-
@dataclass(frozen=True)
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
17
|
class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
|
18
18
|
rest_path: str = ...
|
19
19
|
rest_arg: str = ...
|
@@ -14,15 +14,15 @@ from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
|
14
14
|
from homeassistant.helpers.typing import StateType as StateType
|
15
15
|
from typing import Final
|
16
16
|
|
17
|
-
@dataclass(frozen=True)
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
18
|
class BlockSensorDescription(BlockEntityDescription, SensorEntityDescription):
|
19
19
|
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
20
20
|
|
21
|
-
@dataclass(frozen=True)
|
21
|
+
@dataclass(frozen=True, kw_only=True)
|
22
22
|
class RpcSensorDescription(RpcEntityDescription, SensorEntityDescription):
|
23
|
-
def __init__(self,
|
23
|
+
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, sub_key, value, available, removal_condition, extra_state_attributes, use_polling_coordinator, supported) -> None: ...
|
24
24
|
|
25
|
-
@dataclass(frozen=True)
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
26
26
|
class RestSensorDescription(RestEntityDescription, SensorEntityDescription):
|
27
27
|
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value, extra_state_attributes) -> None: ...
|
28
28
|
|
@@ -14,7 +14,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
14
14
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
15
15
|
from typing import Any
|
16
16
|
|
17
|
-
@dataclass(frozen=True)
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
18
|
class BlockSwitchDescription(BlockEntityDescription, SwitchEntityDescription):
|
19
19
|
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, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
20
20
|
|
@@ -16,25 +16,17 @@ from typing import Any, Final
|
|
16
16
|
|
17
17
|
LOGGER: Incomplete
|
18
18
|
|
19
|
-
@dataclass(frozen=True)
|
20
|
-
class
|
19
|
+
@dataclass(frozen=True, kw_only=True)
|
20
|
+
class RpcUpdateDescription(RpcEntityDescription, UpdateEntityDescription):
|
21
21
|
latest_version: Callable[[dict], Any]
|
22
22
|
beta: bool
|
23
|
-
def __init__(self, latest_version, beta) -> None: ...
|
23
|
+
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, sub_key, value, available, removal_condition, extra_state_attributes, use_polling_coordinator, supported, latest_version, beta) -> None: ...
|
24
24
|
|
25
|
-
@dataclass(frozen=True)
|
26
|
-
class
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
26
|
+
class RestUpdateDescription(RestEntityDescription, UpdateEntityDescription):
|
27
27
|
latest_version: Callable[[dict], Any]
|
28
28
|
beta: bool
|
29
|
-
def __init__(self, latest_version, beta) -> None: ...
|
30
|
-
|
31
|
-
@dataclass(frozen=True)
|
32
|
-
class RpcUpdateDescription(RpcEntityDescription, UpdateEntityDescription, RpcUpdateRequiredKeysMixin):
|
33
|
-
def __init__(self, latest_version, beta, sub_key, *, 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, value, available, removal_condition, extra_state_attributes, use_polling_coordinator, supported) -> None: ...
|
34
|
-
|
35
|
-
@dataclass(frozen=True)
|
36
|
-
class RestUpdateDescription(RestEntityDescription, UpdateEntityDescription, RestUpdateRequiredKeysMixin):
|
37
|
-
def __init__(self, latest_version, beta, *, 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, value, extra_state_attributes) -> None: ...
|
29
|
+
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, value, extra_state_attributes, latest_version, beta) -> None: ...
|
38
30
|
|
39
31
|
REST_UPDATES: Final[Incomplete]
|
40
32
|
RPC_UPDATES: Final[Incomplete]
|
@@ -62,12 +54,13 @@ class RpcUpdateEntity(ShellyRpcAttributeEntity, UpdateEntity):
|
|
62
54
|
_attr_release_url: Incomplete
|
63
55
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcUpdateDescription) -> None: ...
|
64
56
|
async def async_added_to_hass(self) -> None: ...
|
65
|
-
_attr_in_progress: int
|
66
57
|
def _ota_progress_callback(self, event: dict[str, Any]) -> None: ...
|
67
58
|
@property
|
68
59
|
def installed_version(self) -> str | None: ...
|
69
60
|
@property
|
70
61
|
def latest_version(self) -> str | None: ...
|
62
|
+
@property
|
63
|
+
def in_progress(self) -> bool | int: ...
|
71
64
|
async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
|
72
65
|
|
73
66
|
class RpcSleepingUpdateEntity(ShellySleepingRpcAttributeEntity, UpdateEntity, RestoreEntity):
|
@@ -1,16 +1,18 @@
|
|
1
|
-
from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN,
|
1
|
+
from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from aiohttp.web import Request as Request, WebSocketResponse as WebSocketResponse
|
4
|
-
from aioshelly.block_device import Block as Block, BlockDevice
|
5
|
-
from aioshelly.rpc_device import RpcDevice
|
4
|
+
from aioshelly.block_device import Block as Block, BlockDevice, COAP
|
5
|
+
from aioshelly.rpc_device import RpcDevice, WsServer
|
6
6
|
from datetime import datetime
|
7
|
+
from homeassistant.components import network as network
|
7
8
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
8
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
-
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
10
|
+
from homeassistant.const import CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
10
11
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
11
12
|
from homeassistant.helpers import singleton as singleton
|
12
13
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
|
13
14
|
from homeassistant.util.dt import utcnow as utcnow
|
15
|
+
from types import MappingProxyType
|
14
16
|
from typing import Any
|
15
17
|
|
16
18
|
def async_remove_shelly_entity(hass: HomeAssistant, domain: str, unique_id: str) -> None: ...
|
@@ -54,3 +56,6 @@ def mac_address_from_name(name: str) -> str | None: ...
|
|
54
56
|
def get_release_url(gen: int, model: str, beta: bool) -> str | None: ...
|
55
57
|
def async_create_issue_unsupported_firmware(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
56
58
|
def is_rpc_wifi_stations_disabled(config: dict[str, Any], _status: dict[str, Any], key: str) -> bool: ...
|
59
|
+
def get_http_port(data: MappingProxyType[str, Any]) -> int: ...
|
60
|
+
async def async_shutdown_device(device: BlockDevice | RpcDevice) -> None: ...
|
61
|
+
def async_remove_shelly_rpc_entities(hass: HomeAssistant, domain: str, mac: str, keys: list[str]) -> None: ...
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow
|
3
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
2
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
3
|
from typing import Any
|
5
4
|
|
6
5
|
class ShoppingListFlowHandler(ConfigFlow, domain=DOMAIN):
|
7
6
|
VERSION: int
|
8
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
7
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
9
8
|
async_step_import = async_step_user
|
10
|
-
async def async_step_onboarding(self, _: dict[str, Any] | None = None) ->
|
9
|
+
async def async_step_onboarding(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -11,7 +11,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
11
11
|
|
12
12
|
class ShoppingTodoListEntity(TodoListEntity):
|
13
13
|
_attr_has_entity_name: bool
|
14
|
-
_attr_icon: str
|
15
14
|
_attr_translation_key: str
|
16
15
|
_attr_should_poll: bool
|
17
16
|
_attr_supported_features: Incomplete
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .const import ATTR_ENCRYPTED as ATTR_ENCRYPTED, CONF_DEVICE_KEY as CONF_DEVICE_KEY, CONF_SALT as CONF_SALT, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
2
|
-
from homeassistant import
|
2
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
3
3
|
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD
|
4
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
5
4
|
from typing import Any
|
6
5
|
|
7
6
|
def validate_input(entry: dict[str, str]) -> dict[str, str] | None: ...
|
8
7
|
|
9
|
-
class SimplePushFlowHandler(
|
10
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
8
|
+
class SimplePushFlowHandler(ConfigFlow, domain=DOMAIN):
|
9
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,11 +1,9 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant import
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
6
5
|
from homeassistant.const import CONF_CODE as CONF_CODE, CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME
|
7
6
|
from homeassistant.core import callback as callback
|
8
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
9
7
|
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
10
8
|
from typing import Any, NamedTuple
|
11
9
|
|
@@ -18,17 +16,17 @@ class SimpliSafeOAuthValues(NamedTuple):
|
|
18
16
|
|
19
17
|
def async_get_simplisafe_oauth_values() -> SimpliSafeOAuthValues: ...
|
20
18
|
|
21
|
-
class SimpliSafeFlowHandler(
|
19
|
+
class SimpliSafeFlowHandler(ConfigFlow, domain=DOMAIN):
|
22
20
|
VERSION: int
|
23
21
|
_oauth_values: Incomplete
|
24
22
|
_reauth: bool
|
25
23
|
def __init__(self) -> None: ...
|
26
24
|
@staticmethod
|
27
25
|
def async_get_options_flow(config_entry: ConfigEntry) -> SimpliSafeOptionsFlowHandler: ...
|
28
|
-
async def async_step_reauth(self, config: Mapping[str, Any]) ->
|
29
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
26
|
+
async def async_step_reauth(self, config: Mapping[str, Any]) -> ConfigFlowResult: ...
|
27
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
28
|
|
31
|
-
class SimpliSafeOptionsFlowHandler(
|
29
|
+
class SimpliSafeOptionsFlowHandler(OptionsFlow):
|
32
30
|
config_entry: Incomplete
|
33
31
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
34
|
-
async def async_step_init(self, user_input: dict[str, Any] | None = None) ->
|
32
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,14 +1,13 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from collections.abc import Mapping
|
3
|
-
from homeassistant import
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
4
|
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
5
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
6
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
7
6
|
from typing import Any
|
8
7
|
|
9
|
-
class SkybellFlowHandler(
|
8
|
+
class SkybellFlowHandler(ConfigFlow, domain=DOMAIN):
|
10
9
|
reauth_email: str
|
11
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
12
|
-
async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) ->
|
13
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
10
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
11
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
12
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
14
13
|
async def _async_validate_input(self, email: str, password: str) -> tuple: ...
|