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
@@ -1,11 +1,12 @@
|
|
1
1
|
from . import ToloSaunaCoordinatorEntity as ToloSaunaCoordinatorEntity, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
|
2
|
-
from .const import
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from tololib import TARGET_HUMIDITY_MAX, TARGET_HUMIDITY_MIN, TARGET_TEMPERATURE_MAX, TARGET_TEMPERATURE_MIN
|
9
10
|
from typing import Any
|
10
11
|
|
11
12
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -13,10 +14,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
|
|
13
14
|
class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
|
14
15
|
_attr_fan_modes: Incomplete
|
15
16
|
_attr_hvac_modes: Incomplete
|
16
|
-
_attr_max_humidity =
|
17
|
-
_attr_max_temp =
|
18
|
-
_attr_min_humidity =
|
19
|
-
_attr_min_temp =
|
17
|
+
_attr_max_humidity = TARGET_HUMIDITY_MAX
|
18
|
+
_attr_max_temp = TARGET_TEMPERATURE_MAX
|
19
|
+
_attr_min_humidity = TARGET_HUMIDITY_MIN
|
20
|
+
_attr_min_temp = TARGET_TEMPERATURE_MIN
|
20
21
|
_attr_name: Incomplete
|
21
22
|
_attr_precision = PRECISION_WHOLE
|
22
23
|
_attr_supported_features: Incomplete
|
@@ -1,9 +1,8 @@
|
|
1
|
-
from .const import DEFAULT_NAME as DEFAULT_NAME,
|
1
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components import dhcp as dhcp
|
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_HOST as CONF_HOST
|
6
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
7
6
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
8
7
|
from typing import Any
|
9
8
|
|
@@ -14,6 +13,6 @@ class ToloSaunaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
14
13
|
_discovered_host: str | None
|
15
14
|
@staticmethod
|
16
15
|
def _check_device_availability(host: str) -> bool: ...
|
17
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
18
|
-
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) ->
|
19
|
-
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) ->
|
16
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
|
18
|
+
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,11 +1,15 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from enum import Enum
|
3
|
+
|
1
4
|
DOMAIN: str
|
2
5
|
DEFAULT_NAME: str
|
3
6
|
DEFAULT_RETRY_TIMEOUT: int
|
4
7
|
DEFAULT_RETRY_COUNT: int
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
|
9
|
+
class AromaTherapySlot(Enum):
|
10
|
+
A: Incomplete
|
11
|
+
B: Incomplete
|
12
|
+
|
13
|
+
class LampMode(Enum):
|
14
|
+
MANUAL: Incomplete
|
15
|
+
AUTOMATIC: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import ToloSaunaCoordinatorEntity as ToloSaunaCoordinatorEntity, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
@@ -8,22 +8,17 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.const import EntityCategory as EntityCategory, UnitOfTime as UnitOfTime
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
-
from tololib import ToloClient as ToloClient
|
12
|
-
from tololib.message_info import SettingsInfo as SettingsInfo
|
11
|
+
from tololib import ToloClient as ToloClient, ToloSettings as ToloSettings
|
13
12
|
from typing import Any
|
14
13
|
|
15
|
-
@dataclass(frozen=True)
|
16
|
-
class
|
17
|
-
getter: Callable[[
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
15
|
+
class ToloNumberEntityDescription(NumberEntityDescription):
|
16
|
+
getter: Callable[[ToloSettings], int | None]
|
18
17
|
setter: Callable[[ToloClient, int | None], Any]
|
19
|
-
def __init__(self, getter, setter) -> None: ...
|
20
|
-
|
21
|
-
@dataclass(frozen=True)
|
22
|
-
class ToloNumberEntityDescription(NumberEntityDescription, ToloNumberEntityDescriptionBase):
|
23
18
|
entity_category = ...
|
24
19
|
native_min_value = ...
|
25
20
|
native_step = ...
|
26
|
-
def __init__(self,
|
21
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, getter, setter) -> None: ...
|
27
22
|
|
28
23
|
NUMBERS: Incomplete
|
29
24
|
|
@@ -1,21 +1,33 @@
|
|
1
1
|
from . import ToloSaunaCoordinatorEntity as ToloSaunaCoordinatorEntity, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import AromaTherapySlot as AromaTherapySlot, DOMAIN as DOMAIN, LampMode as LampMode
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
5
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
7
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from tololib import ToloClient as ToloClient, ToloSettings as ToloSettings
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class ToloSelectEntityDescription(SelectEntityDescription):
|
15
|
+
options: list[str]
|
16
|
+
getter: Callable[[ToloSettings], str]
|
17
|
+
setter: Callable[[ToloClient, str], bool]
|
18
|
+
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, options, getter, setter) -> None: ...
|
19
|
+
|
20
|
+
SELECTS: Incomplete
|
9
21
|
|
10
22
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
11
23
|
|
12
|
-
class
|
24
|
+
class ToloSelectEntity(ToloSaunaCoordinatorEntity, SelectEntity):
|
13
25
|
_attr_entity_category: Incomplete
|
14
|
-
|
15
|
-
_attr_options: Incomplete
|
16
|
-
_attr_translation_key: str
|
26
|
+
entity_description: ToloSelectEntityDescription
|
17
27
|
_attr_unique_id: Incomplete
|
18
|
-
def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
|
28
|
+
def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry, entity_description: ToloSelectEntityDescription) -> None: ...
|
29
|
+
@property
|
30
|
+
def options(self) -> list[str]: ...
|
19
31
|
@property
|
20
32
|
def current_option(self) -> str: ...
|
21
33
|
def select_option(self, option: str) -> None: ...
|
@@ -8,18 +8,14 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
-
from tololib
|
11
|
+
from tololib import ToloSettings as ToloSettings, ToloStatus as ToloStatus
|
12
12
|
|
13
|
-
@dataclass(frozen=True)
|
14
|
-
class
|
15
|
-
getter: Callable[[
|
16
|
-
availability_checker: Callable[[
|
17
|
-
def __init__(self, getter, availability_checker) -> None: ...
|
18
|
-
|
19
|
-
@dataclass(frozen=True)
|
20
|
-
class ToloSensorEntityDescription(SensorEntityDescription, ToloSensorEntityDescriptionBase):
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class ToloSensorEntityDescription(SensorEntityDescription):
|
15
|
+
getter: Callable[[ToloStatus], int | None]
|
16
|
+
availability_checker: Callable[[ToloSettings, ToloStatus], bool] | None
|
21
17
|
state_class = ...
|
22
|
-
def __init__(self,
|
18
|
+
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, getter, availability_checker) -> None: ...
|
23
19
|
|
24
20
|
SENSORS: Incomplete
|
25
21
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from . import ToloSaunaCoordinatorEntity as ToloSaunaCoordinatorEntity, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
+
from tololib import ToloClient as ToloClient, ToloStatus as ToloStatus
|
11
|
+
from typing import Any
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class ToloSwitchEntityDescription(SwitchEntityDescription):
|
15
|
+
getter: Callable[[ToloStatus], bool]
|
16
|
+
setter: Callable[[ToloClient, bool], bool]
|
17
|
+
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, getter, setter) -> None: ...
|
18
|
+
|
19
|
+
SWITCHES: Incomplete
|
20
|
+
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
22
|
+
|
23
|
+
class ToloSwitchEntity(ToloSaunaCoordinatorEntity, SwitchEntity):
|
24
|
+
entity_description: ToloSwitchEntityDescription
|
25
|
+
_attr_unique_id: Incomplete
|
26
|
+
def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry, entity_description: ToloSwitchEntityDescription) -> None: ...
|
27
|
+
@property
|
28
|
+
def is_on(self) -> bool: ...
|
29
|
+
def turn_on(self, **kwargs: Any) -> None: ...
|
30
|
+
def turn_off(self, **kwargs: Any) -> None: ...
|
@@ -2,38 +2,36 @@ from . import async_discover_devices as async_discover_devices, create_async_tpl
|
|
2
2
|
from .const import CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant import config_entries as config_entries
|
6
5
|
from homeassistant.components import dhcp as dhcp
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, SOURCE_REAUTH as SOURCE_REAUTH
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
|
8
7
|
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
9
8
|
from homeassistant.core import callback as callback
|
10
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
11
9
|
from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
|
12
10
|
from kasa import Credentials, SmartDevice
|
13
11
|
from typing import Any
|
14
12
|
|
15
13
|
STEP_AUTH_DATA_SCHEMA: Incomplete
|
16
14
|
|
17
|
-
class
|
15
|
+
class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
|
18
16
|
VERSION: int
|
19
17
|
MINOR_VERSION: int
|
20
18
|
reauth_entry: ConfigEntry | None
|
21
19
|
_discovered_devices: Incomplete
|
22
20
|
_discovered_device: Incomplete
|
23
21
|
def __init__(self) -> None: ...
|
24
|
-
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) ->
|
25
|
-
async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) ->
|
26
|
-
def _update_config_if_entry_in_setup_error(self, entry: ConfigEntry, host: str, config: dict) ->
|
27
|
-
async def _async_handle_discovery(self, host: str, formatted_mac: str, config: dict | None = None) ->
|
28
|
-
async def async_step_discovery_auth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
22
|
+
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
|
24
|
+
def _update_config_if_entry_in_setup_error(self, entry: ConfigEntry, host: str, config: dict) -> ConfigFlowResult | None: ...
|
25
|
+
async def _async_handle_discovery(self, host: str, formatted_mac: str, config: dict | None = None) -> ConfigFlowResult: ...
|
26
|
+
async def async_step_discovery_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
29
27
|
def _async_make_placeholders_from_discovery(self) -> dict[str, str]: ...
|
30
|
-
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) ->
|
31
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
32
|
-
async def async_step_user_auth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
33
|
-
async def async_step_pick_device(self, user_input: dict[str, Any] | None = None) ->
|
28
|
+
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
29
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
|
+
async def async_step_user_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
31
|
+
async def async_step_pick_device(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
34
32
|
async def _async_reload_requires_auth_entries(self) -> None: ...
|
35
|
-
def _async_create_entry_from_device(self, device: SmartDevice) ->
|
33
|
+
def _async_create_entry_from_device(self, device: SmartDevice) -> ConfigFlowResult: ...
|
36
34
|
async def _async_try_discover_and_update(self, host: str, credentials: Credentials | None, raise_on_progress: bool) -> SmartDevice: ...
|
37
35
|
async def _async_try_connect(self, discovered_device: SmartDevice, credentials: Credentials | None) -> SmartDevice: ...
|
38
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
39
|
-
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
36
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
37
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -25,7 +25,6 @@ class SmartPlugLedSwitch(CoordinatedTPLinkEntity, SwitchEntity):
|
|
25
25
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
26
26
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
27
27
|
_attr_is_on: Incomplete
|
28
|
-
_attr_icon: Incomplete
|
29
28
|
def _async_update_attrs(self) -> None: ...
|
30
29
|
def _handle_coordinator_update(self) -> None: ...
|
31
30
|
|
@@ -2,35 +2,32 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .controller import OmadaGatewayCoordinator as OmadaGatewayCoordinator, OmadaSiteController as OmadaSiteController
|
3
3
|
from .entity import OmadaDeviceEntity as OmadaDeviceEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from collections.abc import Callable as Callable
|
6
|
-
from
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
7
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from tplink_omada_client.devices import OmadaDevice as OmadaDevice,
|
11
|
+
from tplink_omada_client.devices import OmadaDevice as OmadaDevice, OmadaGatewayPortConfig as OmadaGatewayPortConfig, OmadaGatewayPortStatus as OmadaGatewayPortStatus
|
11
12
|
|
12
13
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
|
-
def get_gateway_port_status_sensors(gateway: OmadaGateway, hass: HomeAssistant, coordinator: OmadaGatewayCoordinator) -> Generator[BinarySensorEntity, None, None]: ...
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
name_suffix: str
|
19
|
-
device_class: BinarySensorDeviceClass
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class GatewayPortBinarySensorEntityDescription(BinarySensorEntityDescription):
|
17
|
+
exists_func: Callable[[OmadaGatewayPortConfig], bool] = ...
|
20
18
|
update_func: Callable[[OmadaGatewayPortStatus], bool]
|
21
|
-
def __init__(self,
|
22
|
-
def __lt__(self, other): ...
|
23
|
-
def __le__(self, other): ...
|
24
|
-
def __gt__(self, other): ...
|
25
|
-
def __ge__(self, other): ...
|
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, exists_func, update_func) -> None: ...
|
26
20
|
|
27
|
-
|
21
|
+
GATEWAY_PORT_SENSORS: list[GatewayPortBinarySensorEntityDescription]
|
22
|
+
|
23
|
+
class OmadaGatewayPortBinarySensor(OmadaDeviceEntity[OmadaGatewayCoordinator], BinarySensorEntity):
|
24
|
+
entity_description: GatewayPortBinarySensorEntityDescription
|
28
25
|
_attr_has_entity_name: bool
|
29
|
-
|
26
|
+
_port_number: Incomplete
|
30
27
|
_attr_unique_id: Incomplete
|
31
|
-
|
32
|
-
|
33
|
-
def
|
28
|
+
_attr_translation_placeholders: Incomplete
|
29
|
+
def __init__(self, coordinator: OmadaGatewayCoordinator, device: OmadaDevice, port_number: int, entity_description: GatewayPortBinarySensorEntityDescription) -> None: ...
|
30
|
+
async def async_added_to_hass(self) -> None: ...
|
34
31
|
_attr_is_on: Incomplete
|
35
|
-
|
32
|
+
def _do_update(self) -> None: ...
|
36
33
|
def _handle_coordinator_update(self) -> None: ...
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant import
|
4
|
+
from homeassistant.config_entries import 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, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
8
7
|
from homeassistant.helpers import selector as selector
|
9
8
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession, async_get_clientsession as async_get_clientsession
|
10
9
|
from tplink_omada_client import OmadaClient, OmadaSite as OmadaSite
|
@@ -24,14 +23,14 @@ class HubInfo(NamedTuple):
|
|
24
23
|
|
25
24
|
async def _validate_input(hass: HomeAssistant, data: dict[str, Any]) -> HubInfo: ...
|
26
25
|
|
27
|
-
class
|
26
|
+
class TpLinkOmadaConfigFlow(ConfigFlow, domain=DOMAIN):
|
28
27
|
VERSION: int
|
29
28
|
_omada_opts: Incomplete
|
30
29
|
_sites: Incomplete
|
31
30
|
_controller_name: str
|
32
31
|
def __init__(self) -> None: ...
|
33
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
34
|
-
async def async_step_site(self, user_input: dict[str, Any] | None = None) ->
|
35
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
36
|
-
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
32
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
|
+
async def async_step_site(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
34
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
35
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
37
36
|
async def _test_login(self, data: dict[str, Any], errors: dict[str, str]) -> HubInfo | None: ...
|
@@ -6,9 +6,9 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
|
|
6
6
|
from tplink_omada_client.devices import OmadaDevice as OmadaDevice
|
7
7
|
from typing import Generic, TypeVar
|
8
8
|
|
9
|
-
T = TypeVar('T')
|
9
|
+
T = TypeVar('T', bound='OmadaCoordinator[Any]')
|
10
10
|
|
11
|
-
class OmadaDeviceEntity(CoordinatorEntity[
|
11
|
+
class OmadaDeviceEntity(CoordinatorEntity[T], Generic[T]):
|
12
12
|
device: Incomplete
|
13
13
|
_attr_device_info: Incomplete
|
14
|
-
def __init__(self, coordinator:
|
14
|
+
def __init__(self, coordinator: T, device: OmadaDevice) -> None: ...
|
@@ -1,34 +1,71 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .controller import OmadaSiteController as OmadaSiteController, OmadaSwitchPortCoordinator as OmadaSwitchPortCoordinator
|
2
|
+
from .controller import OmadaGatewayCoordinator as OmadaGatewayCoordinator, OmadaSiteController as OmadaSiteController, OmadaSwitchPortCoordinator as OmadaSwitchPortCoordinator
|
3
|
+
from .coordinator import OmadaCoordinator as OmadaCoordinator
|
3
4
|
from .entity import OmadaDeviceEntity as OmadaDeviceEntity
|
4
5
|
from _typeshed import Incomplete
|
5
|
-
from
|
6
|
+
from collections.abc import Awaitable, Callable as Callable
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
6
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
10
|
from homeassistant.const import EntityCategory as EntityCategory
|
8
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from tplink_omada_client
|
11
|
-
from
|
13
|
+
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient
|
14
|
+
from tplink_omada_client.devices import OmadaDevice as OmadaDevice, OmadaGateway, OmadaGatewayPortConfig, OmadaGatewayPortStatus, OmadaSwitch, OmadaSwitchPortDetails
|
15
|
+
from typing import Any, Generic, TypeVar
|
12
16
|
|
13
|
-
|
17
|
+
TPort = TypeVar('TPort')
|
18
|
+
TDevice = TypeVar('TDevice', bound='OmadaDevice')
|
19
|
+
TCoordinator = TypeVar('TCoordinator', bound='OmadaCoordinator[Any]')
|
14
20
|
|
15
21
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
16
|
-
def
|
22
|
+
def _get_switch_port_base_name(port: OmadaSwitchPortDetails) -> str: ...
|
17
23
|
|
18
|
-
|
24
|
+
@dataclass(frozen=True, kw_only=True)
|
25
|
+
class OmadaDevicePortSwitchEntityDescription(SwitchEntityDescription, Generic[TCoordinator, TDevice, TPort]):
|
26
|
+
exists_func: Callable[[TDevice, TPort], bool] = ...
|
27
|
+
coordinator_update_func: Callable[[TCoordinator, TDevice, int | str], TPort | None] = ...
|
28
|
+
set_func: Callable[[OmadaSiteClient, TDevice, TPort, bool], Awaitable[TPort]]
|
29
|
+
update_func: Callable[[TPort], bool]
|
30
|
+
refresh_after_set: bool = ...
|
31
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func, refresh_after_set) -> None: ...
|
32
|
+
|
33
|
+
@dataclass(frozen=True, kw_only=True)
|
34
|
+
class OmadaSwitchPortSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaSwitchPortCoordinator, OmadaSwitch, OmadaSwitchPortDetails]):
|
35
|
+
coordinator_update_func: Callable[[OmadaSwitchPortCoordinator, OmadaSwitch, int | str], OmadaSwitchPortDetails | None] = ...
|
36
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func, refresh_after_set) -> None: ...
|
37
|
+
|
38
|
+
@dataclass(frozen=True, kw_only=True)
|
39
|
+
class OmadaGatewayPortConfigSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortConfig]):
|
40
|
+
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway, int | str], OmadaGatewayPortConfig | None] = ...
|
41
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func, refresh_after_set) -> None: ...
|
42
|
+
|
43
|
+
@dataclass(frozen=True, kw_only=True)
|
44
|
+
class OmadaGatewayPortStatusSwitchEntityDescription(OmadaDevicePortSwitchEntityDescription[OmadaGatewayCoordinator, OmadaGateway, OmadaGatewayPortStatus]):
|
45
|
+
coordinator_update_func: Callable[[OmadaGatewayCoordinator, OmadaGateway, int | str], OmadaGatewayPortStatus] = ...
|
46
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, exists_func, coordinator_update_func, set_func, update_func, refresh_after_set) -> None: ...
|
47
|
+
|
48
|
+
def _wan_connect_disconnect(client: OmadaSiteClient, device: OmadaDevice, port: OmadaGatewayPortStatus, enable: bool, ipv6: bool) -> Awaitable[OmadaGatewayPortStatus]: ...
|
49
|
+
|
50
|
+
SWITCH_PORT_DETAILS_SWITCHES: list[OmadaSwitchPortSwitchEntityDescription]
|
51
|
+
GATEWAY_PORT_STATUS_SWITCHES: list[OmadaGatewayPortStatusSwitchEntityDescription]
|
52
|
+
GATEWAY_PORT_CONFIG_SWITCHES: list[OmadaGatewayPortConfigSwitchEntityDescription]
|
53
|
+
|
54
|
+
class OmadaDevicePortSwitchEntity(OmadaDeviceEntity[TCoordinator], SwitchEntity, Generic[TCoordinator, TDevice, TPort]):
|
19
55
|
_attr_has_entity_name: bool
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
omada_client: Incomplete
|
56
|
+
_port_details: TPort | None
|
57
|
+
entity_description: OmadaDevicePortSwitchEntityDescription[TCoordinator, TDevice, TPort]
|
58
|
+
_device: Incomplete
|
59
|
+
_port_id: Incomplete
|
25
60
|
_attr_unique_id: Incomplete
|
26
|
-
|
27
|
-
def __init__(self, coordinator:
|
61
|
+
_attr_translation_placeholders: Incomplete
|
62
|
+
def __init__(self, coordinator: TCoordinator, device: TDevice, port_id: int | str, entity_description: OmadaDevicePortSwitchEntityDescription[TCoordinator, TDevice, TPort], port_name: str | None = None) -> None: ...
|
28
63
|
async def async_added_to_hass(self) -> None: ...
|
29
|
-
|
64
|
+
_attr_is_on: Incomplete
|
65
|
+
async def _async_turn_on_off(self, enable: bool) -> None: ...
|
30
66
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
31
67
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
32
|
-
|
33
|
-
def
|
68
|
+
@property
|
69
|
+
def available(self) -> bool: ...
|
70
|
+
def _do_update(self) -> None: ...
|
34
71
|
def _handle_coordinator_update(self) -> None: ...
|
@@ -27,7 +27,7 @@ class OmadaFirmwareUpdateCoodinator(OmadaCoordinator[FirmwareUpdateStatus]):
|
|
27
27
|
|
28
28
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
29
29
|
|
30
|
-
class OmadaDeviceUpdate(OmadaDeviceEntity[
|
30
|
+
class OmadaDeviceUpdate(OmadaDeviceEntity[OmadaFirmwareUpdateCoodinator], UpdateEntity):
|
31
31
|
_attr_supported_features: Incomplete
|
32
32
|
_attr_has_entity_name: bool
|
33
33
|
_attr_device_class: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import aiotractive
|
2
|
-
from .const import ATTR_ACTIVITY_LABEL as ATTR_ACTIVITY_LABEL, ATTR_CALORIES as ATTR_CALORIES, ATTR_DAILY_GOAL as ATTR_DAILY_GOAL, ATTR_MINUTES_ACTIVE as ATTR_MINUTES_ACTIVE, ATTR_MINUTES_DAY_SLEEP as ATTR_MINUTES_DAY_SLEEP, ATTR_MINUTES_NIGHT_SLEEP as ATTR_MINUTES_NIGHT_SLEEP, ATTR_MINUTES_REST as ATTR_MINUTES_REST, ATTR_SLEEP_LABEL as ATTR_SLEEP_LABEL, ATTR_TRACKER_STATE as ATTR_TRACKER_STATE, CLIENT as CLIENT, CLIENT_ID as CLIENT_ID, DOMAIN as DOMAIN, RECONNECT_INTERVAL as RECONNECT_INTERVAL, SERVER_UNAVAILABLE as SERVER_UNAVAILABLE, SWITCH_KEY_MAP as SWITCH_KEY_MAP, TRACKABLES as TRACKABLES,
|
2
|
+
from .const import ATTR_ACTIVITY_LABEL as ATTR_ACTIVITY_LABEL, ATTR_CALORIES as ATTR_CALORIES, ATTR_DAILY_GOAL as ATTR_DAILY_GOAL, ATTR_MINUTES_ACTIVE as ATTR_MINUTES_ACTIVE, ATTR_MINUTES_DAY_SLEEP as ATTR_MINUTES_DAY_SLEEP, ATTR_MINUTES_NIGHT_SLEEP as ATTR_MINUTES_NIGHT_SLEEP, ATTR_MINUTES_REST as ATTR_MINUTES_REST, ATTR_SLEEP_LABEL as ATTR_SLEEP_LABEL, ATTR_TRACKER_STATE as ATTR_TRACKER_STATE, CLIENT as CLIENT, CLIENT_ID as CLIENT_ID, DOMAIN as DOMAIN, RECONNECT_INTERVAL as RECONNECT_INTERVAL, SERVER_UNAVAILABLE as SERVER_UNAVAILABLE, SWITCH_KEY_MAP as SWITCH_KEY_MAP, TRACKABLES as TRACKABLES, TRACKER_HARDWARE_STATUS_UPDATED as TRACKER_HARDWARE_STATUS_UPDATED, TRACKER_POSITION_UPDATED as TRACKER_POSITION_UPDATED, TRACKER_SWITCH_STATUS_UPDATED as TRACKER_SWITCH_STATUS_UPDATED, TRACKER_WELLNESS_STATUS_UPDATED as TRACKER_WELLNESS_STATUS_UPDATED
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from dataclasses import dataclass
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -46,7 +46,6 @@ class TractiveClient:
|
|
46
46
|
async def _listen(self) -> None: ...
|
47
47
|
def _send_hardware_update(self, event: dict[str, Any]) -> None: ...
|
48
48
|
def _send_switch_update(self, event: dict[str, Any]) -> None: ...
|
49
|
-
def _send_activity_update(self, event: dict[str, Any]) -> None: ...
|
50
49
|
def _send_wellness_update(self, event: dict[str, Any]) -> None: ...
|
51
50
|
def _send_position_update(self, event: dict[str, Any]) -> None: ...
|
52
51
|
def _dispatch_tracker_event(self, event_name: str, tracker_id: str, payload: dict[str, Any]) -> None: ...
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant import
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
8
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
8
|
from typing import Any
|
10
9
|
|
@@ -13,10 +12,10 @@ USER_DATA_SCHEMA: Incomplete
|
|
13
12
|
|
14
13
|
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
|
15
14
|
|
16
|
-
class
|
15
|
+
class TractiveConfigFlow(ConfigFlow, domain=DOMAIN):
|
17
16
|
VERSION: int
|
18
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
19
|
-
async def async_step_reauth(self, entry_data: Mapping[str, Any]) ->
|
20
|
-
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) ->
|
17
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
18
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
19
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
21
20
|
|
22
21
|
class InvalidAuth(HomeAssistantError): ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import Trackables as Trackables, TractiveClient as TractiveClient
|
2
|
-
from .const import ATTR_ACTIVITY_LABEL as ATTR_ACTIVITY_LABEL, ATTR_CALORIES as ATTR_CALORIES, ATTR_DAILY_GOAL as ATTR_DAILY_GOAL, ATTR_MINUTES_ACTIVE as ATTR_MINUTES_ACTIVE, ATTR_MINUTES_DAY_SLEEP as ATTR_MINUTES_DAY_SLEEP, ATTR_MINUTES_NIGHT_SLEEP as ATTR_MINUTES_NIGHT_SLEEP, ATTR_MINUTES_REST as ATTR_MINUTES_REST, ATTR_SLEEP_LABEL as ATTR_SLEEP_LABEL, ATTR_TRACKER_STATE as ATTR_TRACKER_STATE, CLIENT as CLIENT, DOMAIN as DOMAIN, TRACKABLES as TRACKABLES,
|
2
|
+
from .const import ATTR_ACTIVITY_LABEL as ATTR_ACTIVITY_LABEL, ATTR_CALORIES as ATTR_CALORIES, ATTR_DAILY_GOAL as ATTR_DAILY_GOAL, ATTR_MINUTES_ACTIVE as ATTR_MINUTES_ACTIVE, ATTR_MINUTES_DAY_SLEEP as ATTR_MINUTES_DAY_SLEEP, ATTR_MINUTES_NIGHT_SLEEP as ATTR_MINUTES_NIGHT_SLEEP, ATTR_MINUTES_REST as ATTR_MINUTES_REST, ATTR_SLEEP_LABEL as ATTR_SLEEP_LABEL, ATTR_TRACKER_STATE as ATTR_TRACKER_STATE, CLIENT as CLIENT, DOMAIN as DOMAIN, TRACKABLES as TRACKABLES, TRACKER_HARDWARE_STATUS_UPDATED as TRACKER_HARDWARE_STATUS_UPDATED, TRACKER_WELLNESS_STATUS_UPDATED as TRACKER_WELLNESS_STATUS_UPDATED
|
3
3
|
from .entity import TractiveEntity as TractiveEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
@@ -12,16 +12,12 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
12
12
|
from homeassistant.helpers.typing import StateType as StateType
|
13
13
|
from typing import Any
|
14
14
|
|
15
|
-
@dataclass(frozen=True)
|
16
|
-
class
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class TractiveSensorEntityDescription(SensorEntityDescription):
|
17
17
|
signal_prefix: str
|
18
|
-
def __init__(self, signal_prefix) -> None: ...
|
19
|
-
|
20
|
-
@dataclass(frozen=True)
|
21
|
-
class TractiveSensorEntityDescription(SensorEntityDescription, TractiveRequiredKeysMixin):
|
22
18
|
hardware_sensor: bool = ...
|
23
19
|
value_fn: Callable[[StateType], StateType] = ...
|
24
|
-
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, signal_prefix, hardware_sensor, value_fn) -> None: ...
|
25
21
|
|
26
22
|
class TractiveSensor(TractiveEntity, SensorEntity):
|
27
23
|
entity_description: TractiveSensorEntityDescription
|
@@ -12,14 +12,10 @@ from typing import Any, Literal
|
|
12
12
|
|
13
13
|
_LOGGER: Incomplete
|
14
14
|
|
15
|
-
@dataclass(frozen=True)
|
16
|
-
class
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class TractiveSwitchEntityDescription(SwitchEntityDescription):
|
17
17
|
method: Literal['async_set_buzzer', 'async_set_led', 'async_set_live_tracking']
|
18
|
-
def __init__(self, method) -> None: ...
|
19
|
-
|
20
|
-
@dataclass(frozen=True)
|
21
|
-
class TractiveSwitchEntityDescription(SwitchEntityDescription, TractiveRequiredKeysMixin):
|
22
|
-
def __init__(self, method, *, 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: ...
|
18
|
+
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, method) -> None: ...
|
23
19
|
|
24
20
|
SWITCH_TYPES: tuple[TractiveSwitchEntityDescription, ...]
|
25
21
|
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .const import CONF_GATEWAY_ID as CONF_GATEWAY_ID, CONF_IDENTITY as CONF_IDENTITY, CONF_KEY as CONF_KEY, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant import config_entries as config_entries
|
4
3
|
from homeassistant.components import zeroconf as zeroconf
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
8
7
|
from typing import Any
|
9
8
|
|
10
9
|
KEY_SECURITY_CODE: str
|
@@ -13,14 +12,14 @@ class AuthError(Exception):
|
|
13
12
|
code: Incomplete
|
14
13
|
def __init__(self, code: str) -> None: ...
|
15
14
|
|
16
|
-
class FlowHandler(
|
15
|
+
class FlowHandler(ConfigFlow, domain=DOMAIN):
|
17
16
|
VERSION: int
|
18
17
|
_host: Incomplete
|
19
18
|
def __init__(self) -> None: ...
|
20
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) ->
|
21
|
-
async def async_step_auth(self, user_input: dict[str, Any] | None = None) ->
|
22
|
-
async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) ->
|
23
|
-
async def _entry_from_data(self, data: dict[str, Any]) ->
|
19
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
+
async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
21
|
+
async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
22
|
+
async def _entry_from_data(self, data: dict[str, Any]) -> ConfigFlowResult: ...
|
24
23
|
|
25
24
|
async def authenticate(hass: HomeAssistant, host: str, security_code: str) -> dict[str, str | bool]: ...
|
26
25
|
async def get_gateway_info(hass: HomeAssistant, host: str, identity: str, key: str) -> dict[str, str | bool]: ...
|