homeassistant-stubs 2025.9.0b0__py3-none-any.whl → 2026.1.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
- homeassistant-stubs/auth/permissions/events.pyi +1 -1
- homeassistant-stubs/components/acaia/coordinator.pyi +3 -0
- homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
- homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
- homeassistant-stubs/components/accuweather/const.pyi +1 -0
- homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
- homeassistant-stubs/components/accuweather/weather.pyi +5 -2
- homeassistant-stubs/components/adax/config_flow.pyi +1 -0
- homeassistant-stubs/components/adax/sensor.pyi +13 -11
- homeassistant-stubs/components/adguard/update.pyi +26 -0
- homeassistant-stubs/components/airgradient/update.pyi +5 -0
- homeassistant-stubs/components/airly/config_flow.pyi +3 -0
- homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
- homeassistant-stubs/components/airos/__init__.pyi +6 -2
- homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airos/config_flow.pyi +15 -4
- homeassistant-stubs/components/airos/const.pyi +3 -0
- homeassistant-stubs/components/airos/coordinator.pyi +5 -5
- homeassistant-stubs/components/airos/entity.pyi +2 -2
- homeassistant-stubs/components/airos/sensor.pyi +2 -2
- homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +5 -3
- homeassistant-stubs/components/airthings_ble/const.pyi +4 -0
- homeassistant-stubs/components/airthings_ble/coordinator.pyi +2 -1
- homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
- homeassistant-stubs/components/airzone/select.pyi +1 -0
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +1 -0
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
- homeassistant-stubs/components/alarm_control_panel/trigger.pyi +17 -0
- homeassistant-stubs/components/alexa/handlers.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +7 -1
- homeassistant-stubs/components/alexa_devices/const.pyi +4 -1
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -1
- homeassistant-stubs/components/alexa_devices/diagnostics.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/entity.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/notify.pyi +2 -1
- homeassistant-stubs/components/alexa_devices/sensor.pyi +17 -4
- homeassistant-stubs/components/alexa_devices/services.pyi +0 -1
- homeassistant-stubs/components/alexa_devices/switch.pyi +5 -3
- homeassistant-stubs/components/alexa_devices/utils.pyi +5 -1
- homeassistant-stubs/components/amberelectric/__init__.pyi +1 -1
- homeassistant-stubs/components/amberelectric/services.pyi +3 -2
- homeassistant-stubs/components/analytics/__init__.pyi +4 -21
- homeassistant-stubs/components/analytics/analytics.pyi +63 -11
- homeassistant-stubs/components/analytics/const.pyi +6 -2
- homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
- homeassistant-stubs/components/androidtv/config_flow.pyi +1 -1
- homeassistant-stubs/components/androidtv/const.pyi +1 -1
- homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
- homeassistant-stubs/components/androidtv/services.pyi +16 -0
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
- homeassistant-stubs/components/apcupsd/const.pyi +3 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +5 -1
- homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -4
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +8 -3
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +9 -6
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/assist_satellite/trigger.pyi +8 -0
- homeassistant-stubs/components/asuswrt/bridge.pyi +24 -10
- homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
- homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
- homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
- homeassistant-stubs/components/asuswrt/router.pyi +1 -1
- homeassistant-stubs/components/autarco/sensor.pyi +8 -6
- homeassistant-stubs/components/auth/login_flow.pyi +1 -1
- homeassistant-stubs/components/automation/__init__.pyi +10 -2
- homeassistant-stubs/components/backblaze_b2/__init__.pyi +15 -0
- homeassistant-stubs/components/backblaze_b2/b2_client.pyi +15 -0
- homeassistant-stubs/components/backblaze_b2/backup.pyi +60 -0
- homeassistant-stubs/components/backblaze_b2/config_flow.pyi +21 -0
- homeassistant-stubs/components/backblaze_b2/const.pyi +13 -0
- homeassistant-stubs/components/backblaze_b2/diagnostics.pyi +11 -0
- homeassistant-stubs/components/backblaze_b2/repairs.pyi +15 -0
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +2 -1
- homeassistant-stubs/components/backup/util.pyi +2 -32
- homeassistant-stubs/components/bang_olufsen/__init__.pyi +6 -6
- homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -2
- homeassistant-stubs/components/bang_olufsen/const.pyi +46 -13
- homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +5 -3
- homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -2
- homeassistant-stubs/components/bang_olufsen/event.pyi +23 -8
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +15 -12
- homeassistant-stubs/components/bang_olufsen/util.pyi +6 -1
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +7 -6
- homeassistant-stubs/components/binary_sensor/trigger.pyi +20 -0
- homeassistant-stubs/components/blue_current/__init__.pyi +6 -0
- homeassistant-stubs/components/blue_current/const.pyi +6 -0
- homeassistant-stubs/components/blue_current/services.pyi +12 -0
- homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
- homeassistant-stubs/components/bluesound/const.pyi +4 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +11 -9
- homeassistant-stubs/components/bluesound/utils.pyi +2 -0
- homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
- homeassistant-stubs/components/bluetooth/api.pyi +7 -2
- homeassistant-stubs/components/bluetooth/manager.pyi +9 -1
- homeassistant-stubs/components/bluetooth/match.pyi +2 -1
- homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
- homeassistant-stubs/components/brother/__init__.pyi +5 -3
- homeassistant-stubs/components/brother/config_flow.pyi +6 -2
- homeassistant-stubs/components/brother/const.pyi +6 -0
- homeassistant-stubs/components/brother/entity.pyi +10 -0
- homeassistant-stubs/components/brother/sensor.pyi +6 -9
- homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
- homeassistant-stubs/components/bthome/sensor.pyi +1 -1
- homeassistant-stubs/components/button/trigger.pyi +14 -0
- homeassistant-stubs/components/calendar/trigger.pyi +23 -10
- homeassistant-stubs/components/camera/__init__.pyi +4 -11
- homeassistant-stubs/components/camera/prefs.pyi +3 -1
- homeassistant-stubs/components/camera/webrtc.pyi +2 -5
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
- homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
- homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
- homeassistant-stubs/components/climate/trigger.pyi +18 -0
- homeassistant-stubs/components/cloud/__init__.pyi +8 -2
- homeassistant-stubs/components/cloud/ai_task.pyi +26 -0
- homeassistant-stubs/components/cloud/client.pyi +4 -1
- homeassistant-stubs/components/cloud/const.pyi +4 -1
- homeassistant-stubs/components/cloud/conversation.pyi +24 -0
- homeassistant-stubs/components/cloud/entity.pyi +40 -0
- homeassistant-stubs/components/cloud/http_api.pyi +6 -0
- homeassistant-stubs/components/co2signal/config_flow.pyi +1 -0
- homeassistant-stubs/components/comelit/__init__.pyi +2 -1
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +4 -4
- homeassistant-stubs/components/comelit/binary_sensor.pyi +10 -4
- homeassistant-stubs/components/comelit/config_flow.pyi +5 -3
- homeassistant-stubs/components/comelit/const.pyi +3 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +14 -10
- homeassistant-stubs/components/comelit/cover.pyi +4 -3
- homeassistant-stubs/components/comelit/light.pyi +2 -1
- homeassistant-stubs/components/comelit/sensor.pyi +6 -6
- homeassistant-stubs/components/comelit/switch.pyi +2 -1
- homeassistant-stubs/components/comelit/utils.pyi +4 -2
- homeassistant-stubs/components/compit/__init__.pyi +11 -0
- homeassistant-stubs/components/compit/climate.pyi +63 -0
- homeassistant-stubs/components/compit/config_flow.pyi +17 -0
- homeassistant-stubs/components/compit/const.pyi +2 -0
- homeassistant-stubs/components/compit/coordinator.pyi +16 -0
- homeassistant-stubs/components/config/area_registry.pyi +3 -0
- homeassistant-stubs/components/config/config_entries.pyi +5 -1
- homeassistant-stubs/components/config/floor_registry.pyi +3 -0
- homeassistant-stubs/components/cookidoo/calendar.pyi +25 -0
- homeassistant-stubs/components/cookidoo/coordinator.pyi +2 -0
- homeassistant-stubs/components/cover/__init__.pyi +1 -11
- homeassistant-stubs/components/deconz/hub/hub.pyi +0 -1
- homeassistant-stubs/components/deconz/services.pyi +0 -1
- homeassistant-stubs/components/demo/valve.pyi +14 -5
- homeassistant-stubs/components/derivative/__init__.pyi +0 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
- homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
- homeassistant-stubs/components/derivative/sensor.pyi +6 -3
- homeassistant-stubs/components/device_automation/condition.pyi +8 -9
- homeassistant-stubs/components/device_tracker/trigger.pyi +8 -0
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -0
- homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
- homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
- homeassistant-stubs/components/dnsip/sensor.pyi +6 -2
- homeassistant-stubs/components/doorbird/config_flow.pyi +3 -0
- homeassistant-stubs/components/doorbird/device.pyi +1 -0
- homeassistant-stubs/components/droplet/__init__.pyi +10 -0
- homeassistant-stubs/components/droplet/config_flow.pyi +15 -0
- homeassistant-stubs/components/droplet/const.pyi +7 -0
- homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
- homeassistant-stubs/components/droplet/sensor.pyi +37 -0
- homeassistant-stubs/components/duckdns/__init__.pyi +7 -21
- homeassistant-stubs/components/duckdns/config_flow.pyi +18 -0
- homeassistant-stubs/components/duckdns/const.pyi +6 -0
- homeassistant-stubs/components/duckdns/coordinator.pyi +20 -0
- homeassistant-stubs/components/duckdns/helpers.pyi +6 -0
- homeassistant-stubs/components/duckdns/issue.pyi +6 -0
- homeassistant-stubs/components/duckdns/services.pyi +16 -0
- homeassistant-stubs/components/ecovacs/button.pyi +1 -1
- homeassistant-stubs/components/ecovacs/number.pyi +4 -1
- homeassistant-stubs/components/ecovacs/select.pyi +16 -2
- homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
- homeassistant-stubs/components/elkm1/__init__.pyi +21 -1
- homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
- homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
- homeassistant-stubs/components/energy/data.pyi +15 -2
- homeassistant-stubs/components/energy/sensor.pyi +1 -1
- homeassistant-stubs/components/energy/validate.pyi +13 -1
- homeassistant-stubs/components/energyid/__init__.pyi +30 -0
- homeassistant-stubs/components/energyid/config_flow.pyi +26 -0
- homeassistant-stubs/components/energyid/const.pyi +13 -0
- homeassistant-stubs/components/energyid/energyid_sensor_mapping_flow.pyi +19 -0
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +6 -28
- homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
- homeassistant-stubs/components/esphome/__init__.pyi +4 -1
- homeassistant-stubs/components/esphome/analytics.pyi +4 -0
- homeassistant-stubs/components/esphome/assist_satellite.pyi +17 -3
- homeassistant-stubs/components/esphome/climate.pyi +3 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +11 -5
- homeassistant-stubs/components/esphome/const.pyi +3 -0
- homeassistant-stubs/components/esphome/entity.pyi +1 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +9 -5
- homeassistant-stubs/components/esphome/lock.pyi +1 -1
- homeassistant-stubs/components/esphome/manager.pyi +15 -5
- homeassistant-stubs/components/esphome/repairs.pyi +1 -3
- homeassistant-stubs/components/esphome/select.pyi +5 -4
- homeassistant-stubs/components/esphome/websocket_api.pyi +15 -0
- homeassistant-stubs/components/evohome/climate.pyi +1 -1
- homeassistant-stubs/components/fan/trigger.pyi +8 -0
- homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
- homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
- homeassistant-stubs/components/filter/__init__.pyi +0 -1
- homeassistant-stubs/components/filter/config_flow.pyi +1 -0
- homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
- homeassistant-stubs/components/firefly_iii/config_flow.pyi +25 -0
- homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
- homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
- homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
- homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
- homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
- homeassistant-stubs/components/fitbit/api.pyi +8 -3
- homeassistant-stubs/components/fitbit/coordinator.pyi +3 -3
- homeassistant-stubs/components/fitbit/model.pyi +0 -8
- homeassistant-stubs/components/fitbit/sensor.pyi +4 -3
- homeassistant-stubs/components/fritz/coordinator.pyi +4 -0
- homeassistant-stubs/components/fritz/models.pyi +2 -2
- homeassistant-stubs/components/fritz/sensor.pyi +2 -1
- homeassistant-stubs/components/fritz/services.pyi +3 -0
- homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/fritzbox/button.pyi +2 -0
- homeassistant-stubs/components/fritzbox/climate.pyi +3 -5
- homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -1
- homeassistant-stubs/components/fritzbox/cover.pyi +2 -0
- homeassistant-stubs/components/fritzbox/light.pyi +2 -0
- homeassistant-stubs/components/fritzbox/sensor.pyi +2 -0
- homeassistant-stubs/components/fritzbox/switch.pyi +15 -1
- homeassistant-stubs/components/frontend/__init__.pyi +12 -5
- homeassistant-stubs/components/frontend/storage.pyi +28 -1
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/geocaching/entity.pyi +14 -0
- homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
- homeassistant-stubs/components/gios/coordinator.pyi +4 -1
- homeassistant-stubs/components/gios/sensor.pyi +4 -4
- homeassistant-stubs/components/github/__init__.pyi +12 -0
- homeassistant-stubs/components/github/config_flow.pyi +28 -0
- homeassistant-stubs/components/github/const.pyi +10 -0
- homeassistant-stubs/components/github/coordinator.pyi +26 -0
- homeassistant-stubs/components/github/diagnostics.pyi +7 -0
- homeassistant-stubs/components/github/sensor.pyi +37 -0
- homeassistant-stubs/components/go2rtc/__init__.pyi +20 -6
- homeassistant-stubs/components/go2rtc/server.pyi +14 -5
- homeassistant-stubs/components/go2rtc/util.pyi +5 -0
- homeassistant-stubs/components/google/__init__.pyi +0 -1
- homeassistant-stubs/components/google/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -1
- homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
- homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
- homeassistant-stubs/components/google_drive/__init__.pyi +4 -2
- homeassistant-stubs/components/google_drive/api.pyi +11 -0
- homeassistant-stubs/components/google_drive/config_flow.pyi +1 -2
- homeassistant-stubs/components/google_drive/const.pyi +4 -0
- homeassistant-stubs/components/google_drive/coordinator.pyi +24 -0
- homeassistant-stubs/components/google_drive/diagnostics.pyi +12 -0
- homeassistant-stubs/components/google_drive/entity.pyi +9 -0
- homeassistant-stubs/components/google_drive/sensor.pyi +28 -0
- homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
- homeassistant-stubs/components/google_sheets/services.pyi +10 -2
- homeassistant-stubs/components/google_weather/__init__.pyi +11 -0
- homeassistant-stubs/components/google_weather/config_flow.pyi +29 -0
- homeassistant-stubs/components/google_weather/const.pyi +5 -0
- homeassistant-stubs/components/google_weather/coordinator.pyi +42 -0
- homeassistant-stubs/components/google_weather/entity.pyi +12 -0
- homeassistant-stubs/components/google_weather/sensor.pyi +27 -0
- homeassistant-stubs/components/google_weather/weather.pyi +56 -0
- homeassistant-stubs/components/group/__init__.pyi +0 -1
- homeassistant-stubs/components/group/config_flow.pyi +2 -0
- homeassistant-stubs/components/group/entity.pyi +3 -0
- homeassistant-stubs/components/group/light.pyi +1 -1
- homeassistant-stubs/components/group/notify.pyi +2 -2
- homeassistant-stubs/components/group/sensor.pyi +1 -1
- homeassistant-stubs/components/group/util.pyi +1 -0
- homeassistant-stubs/components/group/valve.pyi +47 -0
- homeassistant-stubs/components/habitica/__init__.pyi +1 -0
- homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
- homeassistant-stubs/components/habitica/const.pyi +2 -0
- homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
- homeassistant-stubs/components/habitica/entity.pyi +15 -2
- homeassistant-stubs/components/habitica/image.pyi +6 -2
- homeassistant-stubs/components/habitica/notify.pyi +42 -0
- homeassistant-stubs/components/habitica/sensor.pyi +12 -5
- homeassistant-stubs/components/habitica/services.pyi +2 -1
- homeassistant-stubs/components/habitica/util.pyi +1 -0
- homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/__init__.pyi +2 -10
- homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
- homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +8 -2
- homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
- homeassistant-stubs/components/history_stats/sensor.pyi +1 -1
- homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
- homeassistant-stubs/components/home_connect/const.pyi +4 -0
- homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
- homeassistant-stubs/components/home_connect/entity.pyi +0 -1
- homeassistant-stubs/components/home_connect/select.pyi +1 -1
- homeassistant-stubs/components/home_connect/sensor.pyi +1 -1
- homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
- homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_hardware/const.pyi +2 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +51 -15
- homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +25 -2
- homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +3 -2
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +15 -6
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +8 -1
- homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +8 -8
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +6 -2
- homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +8 -8
- homeassistant-stubs/components/homee/__init__.pyi +1 -0
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
- homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
- homeassistant-stubs/components/homee/button.pyi +3 -1
- homeassistant-stubs/components/homee/climate.pyi +3 -1
- homeassistant-stubs/components/homee/cover.pyi +3 -1
- homeassistant-stubs/components/homee/event.pyi +3 -1
- homeassistant-stubs/components/homee/fan.pyi +3 -1
- homeassistant-stubs/components/homee/helpers.pyi +6 -0
- homeassistant-stubs/components/homee/light.pyi +2 -0
- homeassistant-stubs/components/homee/lock.pyi +4 -2
- homeassistant-stubs/components/homee/number.pyi +3 -1
- homeassistant-stubs/components/homee/select.pyi +3 -1
- homeassistant-stubs/components/homee/sensor.pyi +2 -2
- homeassistant-stubs/components/homee/siren.pyi +4 -1
- homeassistant-stubs/components/homee/switch.pyi +4 -2
- homeassistant-stubs/components/homee/valve.pyi +3 -1
- homeassistant-stubs/components/homekit/__init__.pyi +1 -1
- homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
- homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
- homeassistant-stubs/components/homewizard/select.pyi +3 -17
- homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
- homeassistant-stubs/components/http/__init__.pyi +1 -0
- homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/select.pyi +0 -2
- homeassistant-stubs/components/huawei_lte/sensor.pyi +1 -0
- homeassistant-stubs/components/humidifier/trigger.pyi +8 -0
- homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
- homeassistant-stubs/components/husqvarna_automower/event.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
- homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
- homeassistant-stubs/components/idasen_desk/coordinator.pyi +8 -2
- homeassistant-stubs/components/image/__init__.pyi +3 -0
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/image_upload/const.pyi +1 -0
- homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
- homeassistant-stubs/components/imap/__init__.pyi +3 -1
- homeassistant-stubs/components/imap/coordinator.pyi +4 -1
- homeassistant-stubs/components/immich/media_source.pyi +2 -2
- homeassistant-stubs/components/inels/__init__.pyi +18 -0
- homeassistant-stubs/components/inels/config_flow.pyi +13 -0
- homeassistant-stubs/components/inels/const.pyi +7 -0
- homeassistant-stubs/components/inels/entity.pyi +20 -0
- homeassistant-stubs/components/inels/switch.pyi +34 -0
- homeassistant-stubs/components/integration/__init__.pyi +0 -1
- homeassistant-stubs/components/integration/config_flow.pyi +1 -0
- homeassistant-stubs/components/intent/__init__.pyi +4 -0
- homeassistant-stubs/components/jewish_calendar/coordinator.pyi +4 -7
- homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -0
- homeassistant-stubs/components/knx/climate.pyi +23 -11
- homeassistant-stubs/components/knx/const.pyi +21 -0
- homeassistant-stubs/components/knx/date.pyi +17 -9
- homeassistant-stubs/components/knx/datetime.pyi +17 -9
- homeassistant-stubs/components/knx/dpt.pyi +26 -0
- homeassistant-stubs/components/knx/fan.pyi +25 -12
- homeassistant-stubs/components/knx/knx_module.pyi +4 -0
- homeassistant-stubs/components/knx/repairs.pyi +26 -0
- homeassistant-stubs/components/knx/scene.pyi +15 -6
- homeassistant-stubs/components/knx/schema.pyi +3 -14
- homeassistant-stubs/components/knx/sensor.pyi +26 -13
- homeassistant-stubs/components/knx/services.pyi +1 -0
- homeassistant-stubs/components/knx/storage/config_store.pyi +2 -1
- homeassistant-stubs/components/knx/storage/const.pyi +30 -1
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +27 -3
- homeassistant-stubs/components/knx/storage/keyring.pyi +1 -1
- homeassistant-stubs/components/knx/storage/knx_selector.pyi +2 -1
- homeassistant-stubs/components/knx/storage/migration.pyi +2 -0
- homeassistant-stubs/components/knx/telegrams.pyi +3 -0
- homeassistant-stubs/components/knx/text.pyi +22 -12
- homeassistant-stubs/components/knx/time.pyi +17 -9
- homeassistant-stubs/components/knx/websocket.pyi +2 -1
- homeassistant-stubs/components/lamarzocco/__init__.pyi +7 -5
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -2
- homeassistant-stubs/components/lamarzocco/const.pyi +2 -0
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +23 -5
- homeassistant-stubs/components/lamarzocco/entity.pyi +5 -2
- homeassistant-stubs/components/lamarzocco/number.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/select.pyi +2 -0
- homeassistant-stubs/components/lamarzocco/switch.pyi +5 -0
- homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
- homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
- homeassistant-stubs/components/lawn_mower/trigger.pyi +7 -0
- homeassistant-stubs/components/lcn/__init__.pyi +3 -3
- homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/lcn/climate.pyi +5 -8
- homeassistant-stubs/components/lcn/cover.pyi +6 -5
- homeassistant-stubs/components/lcn/entity.pyi +6 -4
- homeassistant-stubs/components/lcn/helpers.pyi +5 -5
- homeassistant-stubs/components/lcn/light.pyi +5 -4
- homeassistant-stubs/components/lcn/sensor.pyi +8 -6
- homeassistant-stubs/components/lcn/services.pyi +3 -2
- homeassistant-stubs/components/lcn/switch.pyi +9 -8
- homeassistant-stubs/components/lcn/websocket.pyi +11 -10
- homeassistant-stubs/components/letpot/number.pyi +34 -0
- homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +12 -0
- homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
- homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
- homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +20 -0
- homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +30 -0
- homeassistant-stubs/components/lifx/manager.pyi +4 -4
- homeassistant-stubs/components/light/condition.pyi +38 -0
- homeassistant-stubs/components/light/trigger.pyi +9 -0
- homeassistant-stubs/components/litterrobot/select.pyi +1 -1
- homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
- homeassistant-stubs/components/litterrobot/update.pyi +2 -0
- homeassistant-stubs/components/lock/__init__.pyi +1 -6
- homeassistant-stubs/components/lock/trigger.pyi +7 -0
- homeassistant-stubs/components/logbook/helpers.pyi +4 -3
- homeassistant-stubs/components/logger/helpers.pyi +2 -0
- homeassistant-stubs/components/logger/websocket_api.pyi +1 -0
- homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
- homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
- homeassistant-stubs/components/london_underground/const.pyi +1 -0
- homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
- homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
- homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
- homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
- homeassistant-stubs/components/lunatone/const.pyi +3 -0
- homeassistant-stubs/components/lunatone/coordinator.pyi +31 -0
- homeassistant-stubs/components/lunatone/light.pyi +59 -0
- homeassistant-stubs/components/mastodon/__init__.pyi +1 -1
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -2
- homeassistant-stubs/components/mastodon/const.pyi +2 -0
- homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -2
- homeassistant-stubs/components/mastodon/services.pyi +4 -3
- homeassistant-stubs/components/matrix/__init__.pyi +10 -2
- homeassistant-stubs/components/matrix/const.pyi +5 -0
- homeassistant-stubs/components/matrix/services.pyi +3 -1
- homeassistant-stubs/components/matter/__init__.pyi +5 -0
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/button.pyi +1 -1
- homeassistant-stubs/components/matter/climate.pyi +7 -1
- homeassistant-stubs/components/matter/cover.pyi +6 -2
- homeassistant-stubs/components/matter/entity.pyi +4 -2
- homeassistant-stubs/components/matter/event.pyi +5 -1
- homeassistant-stubs/components/matter/fan.pyi +5 -1
- homeassistant-stubs/components/matter/light.pyi +6 -2
- homeassistant-stubs/components/matter/lock.pyi +5 -1
- homeassistant-stubs/components/matter/models.pyi +4 -3
- homeassistant-stubs/components/matter/number.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +9 -1
- homeassistant-stubs/components/matter/sensor.pyi +9 -1
- homeassistant-stubs/components/matter/services.pyi +11 -0
- homeassistant-stubs/components/matter/switch.pyi +5 -2
- homeassistant-stubs/components/matter/update.pyi +4 -1
- homeassistant-stubs/components/matter/vacuum.pyi +6 -2
- homeassistant-stubs/components/matter/valve.pyi +6 -2
- homeassistant-stubs/components/matter/water_heater.pyi +8 -1
- homeassistant-stubs/components/mcp/__init__.pyi +1 -6
- homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
- homeassistant-stubs/components/mcp/const.pyi +1 -0
- homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
- homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
- homeassistant-stubs/components/mcp_server/http.pyi +23 -1
- homeassistant-stubs/components/mcp_server/session.pyi +2 -2
- homeassistant-stubs/components/mealie/config_flow.pyi +9 -1
- homeassistant-stubs/components/mealie/coordinator.pyi +2 -0
- homeassistant-stubs/components/mealie/services.pyi +2 -0
- homeassistant-stubs/components/media_player/__init__.pyi +1 -9
- homeassistant-stubs/components/media_player/const.pyi +10 -69
- homeassistant-stubs/components/media_player/intent.pyi +7 -9
- homeassistant-stubs/components/media_player/trigger.pyi +8 -0
- homeassistant-stubs/components/media_source/__init__.pyi +2 -10
- homeassistant-stubs/components/media_source/helper.pyi +16 -0
- homeassistant-stubs/components/media_source/http.pyi +13 -0
- homeassistant-stubs/components/media_source/local_source.pyi +19 -11
- homeassistant-stubs/components/media_source/models.pyi +1 -0
- homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
- homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
- homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
- homeassistant-stubs/components/metoffice/weather.pyi +11 -11
- homeassistant-stubs/components/miele/__init__.pyi +1 -1
- homeassistant-stubs/components/miele/climate.pyi +3 -1
- homeassistant-stubs/components/miele/const.pyi +934 -49
- homeassistant-stubs/components/miele/select.pyi +43 -0
- homeassistant-stubs/components/miele/sensor.pyi +27 -11
- homeassistant-stubs/components/miele/vacuum.pyi +1 -2
- homeassistant-stubs/components/min_max/__init__.pyi +0 -1
- homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
- homeassistant-stubs/components/min_max/sensor.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/climate.pyi +8 -4
- homeassistant-stubs/components/modbus/const.pyi +7 -0
- homeassistant-stubs/components/modbus/cover.pyi +2 -2
- homeassistant-stubs/components/modbus/entity.pyi +12 -21
- homeassistant-stubs/components/modbus/fan.pyi +2 -2
- homeassistant-stubs/components/modbus/light.pyi +4 -4
- homeassistant-stubs/components/modbus/modbus.pyi +1 -1
- homeassistant-stubs/components/modbus/sensor.pyi +8 -4
- homeassistant-stubs/components/modbus/switch.pyi +2 -2
- homeassistant-stubs/components/modbus/validators.pyi +4 -2
- homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
- homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
- homeassistant-stubs/components/motionmount/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/__init__.pyi +2 -5
- homeassistant-stubs/components/mqtt/client.pyi +7 -3
- homeassistant-stubs/components/mqtt/config_flow.pyi +91 -61
- homeassistant-stubs/components/mqtt/const.pyi +16 -1
- homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
- homeassistant-stubs/components/mqtt/entity.pyi +2 -2
- homeassistant-stubs/components/mqtt/image.pyi +1 -5
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
- homeassistant-stubs/components/mqtt/lock.pyi +3 -3
- homeassistant-stubs/components/mqtt/number.pyi +1 -5
- homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
- homeassistant-stubs/components/mqtt/siren.pyi +1 -9
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/mqtt/text.pyi +1 -5
- homeassistant-stubs/components/mqtt/valve.pyi +1 -2
- homeassistant-stubs/components/music_assistant/__init__.pyi +7 -5
- homeassistant-stubs/components/music_assistant/config_flow.pyi +21 -6
- homeassistant-stubs/components/music_assistant/const.pyi +8 -0
- homeassistant-stubs/components/music_assistant/helpers.pyi +7 -1
- homeassistant-stubs/components/music_assistant/media_browser.pyi +1 -1
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -9
- homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
- homeassistant-stubs/components/music_assistant/services.pyi +24 -0
- homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
- homeassistant-stubs/components/nasweb/alarm_control_panel.pyi +40 -0
- homeassistant-stubs/components/nasweb/coordinator.pyi +1 -0
- homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
- homeassistant-stubs/components/nasweb/switch.pyi +1 -0
- homeassistant-stubs/components/neato/__init__.pyi +1 -1
- homeassistant-stubs/components/nest/__init__.pyi +10 -4
- homeassistant-stubs/components/nest/types.pyi +4 -0
- homeassistant-stubs/components/netatmo/__init__.pyi +2 -1
- homeassistant-stubs/components/netatmo/camera.pyi +1 -1
- homeassistant-stubs/components/netatmo/const.pyi +17 -11
- homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
- homeassistant-stubs/components/netatmo/light.pyi +1 -1
- homeassistant-stubs/components/network/websocket.pyi +0 -1
- homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
- homeassistant-stubs/components/nordpool/coordinator.pyi +9 -4
- homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
- homeassistant-stubs/components/ntfy/const.pyi +6 -0
- homeassistant-stubs/components/ntfy/entity.pyi +18 -0
- homeassistant-stubs/components/ntfy/event.pyi +29 -0
- homeassistant-stubs/components/ntfy/notify.pyi +19 -13
- homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
- homeassistant-stubs/components/number/const.pyi +3 -2
- homeassistant-stubs/components/ohme/__init__.pyi +1 -1
- homeassistant-stubs/components/ohme/coordinator.pyi +0 -5
- homeassistant-stubs/components/ohme/sensor.pyi +1 -2
- homeassistant-stubs/components/onboarding/const.pyi +6 -0
- homeassistant-stubs/components/onedrive/__init__.pyi +2 -3
- homeassistant-stubs/components/onedrive/backup.pyi +2 -1
- homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
- homeassistant-stubs/components/onewire/const.pyi +0 -2
- homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
- homeassistant-stubs/components/onewire/entity.pyi +6 -14
- homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
- homeassistant-stubs/components/onewire/select.pyi +3 -10
- homeassistant-stubs/components/onewire/sensor.pyi +5 -7
- homeassistant-stubs/components/onewire/switch.pyi +7 -14
- homeassistant-stubs/components/onkyo/media_player.pyi +9 -3
- homeassistant-stubs/components/onkyo/receiver.pyi +4 -1
- homeassistant-stubs/components/open_router/config_flow.pyi +13 -1
- homeassistant-stubs/components/open_router/entity.pyi +4 -1
- homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -1
- homeassistant-stubs/components/openai_conversation/const.pyi +7 -0
- homeassistant-stubs/components/openai_conversation/entity.pyi +4 -4
- homeassistant-stubs/components/openuv/__init__.pyi +1 -1
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
- homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
- homeassistant-stubs/components/opnsense/const.pyi +5 -0
- homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
- homeassistant-stubs/components/opower/coordinator.pyi +1 -0
- homeassistant-stubs/components/overseerr/coordinator.pyi +3 -3
- homeassistant-stubs/components/overseerr/models.pyi +7 -0
- homeassistant-stubs/components/overseerr/sensor.pyi +2 -2
- homeassistant-stubs/components/ping/__init__.pyi +1 -0
- homeassistant-stubs/components/ping/config_flow.pyi +1 -0
- homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
- homeassistant-stubs/components/ping/entity.pyi +1 -0
- homeassistant-stubs/components/ping/sensor.pyi +1 -1
- homeassistant-stubs/components/plugwise/__init__.pyi +1 -1
- homeassistant-stubs/components/plugwise/climate.pyi +19 -4
- homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
- homeassistant-stubs/components/plugwise/const.pyi +15 -4
- homeassistant-stubs/components/plugwise/coordinator.pyi +6 -3
- homeassistant-stubs/components/plugwise/entity.pyi +2 -2
- homeassistant-stubs/components/plugwise/select.pyi +1 -1
- homeassistant-stubs/components/portainer/__init__.pyi +12 -0
- homeassistant-stubs/components/portainer/binary_sensor.pyi +41 -0
- homeassistant-stubs/components/portainer/button.pyi +28 -0
- homeassistant-stubs/components/portainer/config_flow.pyi +25 -0
- homeassistant-stubs/components/portainer/const.pyi +3 -0
- homeassistant-stubs/components/portainer/coordinator.pyi +44 -0
- homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
- homeassistant-stubs/components/portainer/entity.pyi +25 -0
- homeassistant-stubs/components/portainer/sensor.pyi +40 -0
- homeassistant-stubs/components/portainer/switch.pyi +34 -0
- homeassistant-stubs/components/prometheus/__init__.pyi +35 -14
- homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
- homeassistant-stubs/components/pyload/config_flow.pyi +1 -0
- homeassistant-stubs/components/qbus/entity.pyi +1 -3
- homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
- homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
- homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
- homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +1 -1
- homeassistant-stubs/components/recorder/const.pyi +1 -1
- homeassistant-stubs/components/recorder/core.pyi +3 -3
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
- homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
- homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/migration.pyi +12 -1
- homeassistant-stubs/components/recorder/models/statistics.pyi +2 -0
- homeassistant-stubs/components/recorder/statistics.pyi +17 -12
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
- homeassistant-stubs/components/recorder/tasks.pyi +1 -0
- homeassistant-stubs/components/recorder/util.pyi +2 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
- homeassistant-stubs/components/remote_calendar/calendar.pyi +1 -2
- homeassistant-stubs/components/renault/renault_hub.pyi +2 -0
- homeassistant-stubs/components/renault/sensor.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +4 -3
- homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/entity.pyi +10 -0
- homeassistant-stubs/components/reolink/host.pyi +1 -0
- homeassistant-stubs/components/reolink/light.pyi +7 -1
- homeassistant-stubs/components/reolink/number.pyi +10 -1
- homeassistant-stubs/components/reolink/select.pyi +11 -3
- homeassistant-stubs/components/reolink/siren.pyi +13 -1
- homeassistant-stubs/components/reolink/switch.pyi +36 -8
- homeassistant-stubs/components/reolink/update.pyi +1 -1
- homeassistant-stubs/components/rest_command/__init__.pyi +1 -0
- homeassistant-stubs/components/ridwell/__init__.pyi +1 -0
- homeassistant-stubs/components/ridwell/calendar.pyi +2 -2
- homeassistant-stubs/components/ridwell/config_flow.pyi +10 -3
- homeassistant-stubs/components/ridwell/const.pyi +5 -0
- homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +4 -2
- homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +4 -2
- homeassistant-stubs/components/rituals_perfume_genie/coordinator.pyi +5 -3
- homeassistant-stubs/components/roborock/__init__.pyi +9 -11
- homeassistant-stubs/components/roborock/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/roborock/button.pyi +6 -3
- homeassistant-stubs/components/roborock/config_flow.pyi +3 -3
- homeassistant-stubs/components/roborock/const.pyi +1 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +65 -38
- homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
- homeassistant-stubs/components/roborock/entity.pyi +12 -29
- homeassistant-stubs/components/roborock/image.pyi +8 -4
- homeassistant-stubs/components/roborock/models.pyi +11 -6
- homeassistant-stubs/components/roborock/number.pyi +6 -5
- homeassistant-stubs/components/roborock/roborock_storage.pyi +17 -12
- homeassistant-stubs/components/roborock/select.pyi +14 -7
- homeassistant-stubs/components/roborock/sensor.pyi +21 -7
- homeassistant-stubs/components/roborock/switch.pyi +6 -7
- homeassistant-stubs/components/roborock/time.pyi +5 -6
- homeassistant-stubs/components/roborock/vacuum.pyi +3 -1
- homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
- homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
- homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
- homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
- homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
- homeassistant-stubs/components/scene/trigger.pyi +14 -0
- homeassistant-stubs/components/scrape/__init__.pyi +0 -1
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
- homeassistant-stubs/components/scrape/coordinator.pyi +5 -2
- homeassistant-stubs/components/script/__init__.pyi +1 -1
- homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
- homeassistant-stubs/components/sensibo/climate.pyi +3 -26
- homeassistant-stubs/components/sensibo/services.pyi +31 -0
- homeassistant-stubs/components/sensor/const.pyi +3 -1
- homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +6 -3
- homeassistant-stubs/components/senz/__init__.pyi +8 -5
- homeassistant-stubs/components/senz/api.pyi +1 -1
- homeassistant-stubs/components/senz/climate.pyi +5 -5
- homeassistant-stubs/components/senz/config_flow.pyi +9 -0
- homeassistant-stubs/components/senz/diagnostics.pyi +9 -0
- homeassistant-stubs/components/senz/sensor.pyi +32 -0
- homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +7 -14
- homeassistant-stubs/components/sfr_box/button.pyi +6 -8
- homeassistant-stubs/components/sfr_box/config_flow.pyi +5 -2
- homeassistant-stubs/components/sfr_box/coordinator.pyi +16 -4
- homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
- homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
- homeassistant-stubs/components/sfr_box/sensor.pyi +6 -13
- homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
- homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
- homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
- homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
- homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
- homeassistant-stubs/components/shelly/__init__.pyi +3 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +19 -5
- homeassistant-stubs/components/shelly/ble_provisioning.pyi +21 -0
- homeassistant-stubs/components/shelly/button.pyi +28 -9
- homeassistant-stubs/components/shelly/climate.pyi +63 -7
- homeassistant-stubs/components/shelly/config_flow.pyi +72 -5
- homeassistant-stubs/components/shelly/const.pyi +25 -3
- homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
- homeassistant-stubs/components/shelly/cover.pyi +39 -10
- homeassistant-stubs/components/shelly/entity.pyi +12 -18
- homeassistant-stubs/components/shelly/event.pyi +17 -10
- homeassistant-stubs/components/shelly/light.pyi +40 -14
- homeassistant-stubs/components/shelly/logbook.pyi +1 -1
- homeassistant-stubs/components/shelly/number.pyi +17 -11
- homeassistant-stubs/components/shelly/repairs.pyi +14 -2
- homeassistant-stubs/components/shelly/select.pyi +15 -7
- homeassistant-stubs/components/shelly/sensor.pyi +19 -10
- homeassistant-stubs/components/shelly/services.pyi +23 -0
- homeassistant-stubs/components/shelly/switch.pyi +12 -7
- homeassistant-stubs/components/shelly/text.pyi +8 -3
- homeassistant-stubs/components/shelly/update.pyi +4 -0
- homeassistant-stubs/components/shelly/utils.pyi +24 -9
- homeassistant-stubs/components/shelly/valve.pyi +34 -5
- homeassistant-stubs/components/simplisafe/__init__.pyi +3 -1
- homeassistant-stubs/components/simplisafe/binary_sensor.pyi +3 -0
- homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
- homeassistant-stubs/components/siren/trigger.pyi +8 -0
- homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
- homeassistant-stubs/components/sma/__init__.pyi +15 -0
- homeassistant-stubs/components/sma/config_flow.pyi +27 -0
- homeassistant-stubs/components/sma/const.pyi +11 -0
- homeassistant-stubs/components/sma/coordinator.pyi +28 -0
- homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
- homeassistant-stubs/components/sma/sensor.pyi +33 -0
- homeassistant-stubs/components/smhi/__init__.pyi +1 -1
- homeassistant-stubs/components/smhi/coordinator.pyi +15 -2
- homeassistant-stubs/components/smhi/entity.pyi +13 -4
- homeassistant-stubs/components/smhi/sensor.pyi +27 -11
- homeassistant-stubs/components/smhi/weather.pyi +3 -2
- homeassistant-stubs/components/smlight/switch.pyi +1 -0
- homeassistant-stubs/components/solarlog/coordinator.pyi +1 -1
- homeassistant-stubs/components/sql/__init__.pyi +4 -6
- homeassistant-stubs/components/sql/config_flow.pyi +9 -4
- homeassistant-stubs/components/sql/const.pyi +1 -0
- homeassistant-stubs/components/sql/sensor.pyi +10 -18
- homeassistant-stubs/components/sql/services.pyi +18 -0
- homeassistant-stubs/components/sql/util.pyi +27 -3
- homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
- homeassistant-stubs/components/squeezebox/binary_sensor.pyi +16 -5
- homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
- homeassistant-stubs/components/squeezebox/button.pyi +1 -0
- homeassistant-stubs/components/squeezebox/const.pyi +4 -1
- homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
- homeassistant-stubs/components/squeezebox/sensor.pyi +21 -3
- homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
- homeassistant-stubs/components/squeezebox/util.pyi +6 -0
- homeassistant-stubs/components/ssdp/server.pyi +2 -3
- homeassistant-stubs/components/starlink/sensor.pyi +11 -1
- homeassistant-stubs/components/statistics/__init__.pyi +0 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
- homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -1
- homeassistant-stubs/components/stookwijzer/services.pyi +3 -2
- homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
- homeassistant-stubs/components/sun/condition.pyi +12 -7
- homeassistant-stubs/components/sun/sensor.pyi +0 -2
- homeassistant-stubs/components/switch/trigger.pyi +8 -0
- homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
- homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +9 -2
- homeassistant-stubs/components/switchbot_cloud/climate.pyi +37 -6
- homeassistant-stubs/components/switchbot_cloud/const.pyi +14 -0
- homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
- homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
- homeassistant-stubs/components/switchbot_cloud/light.pyi +10 -1
- homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +39 -4
- homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
- homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
- homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
- homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
- homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/const.pyi +2 -0
- homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
- homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
- homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
- homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +4 -3
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +12 -6
- homeassistant-stubs/components/systemmonitor/sensor.pyi +8 -2
- homeassistant-stubs/components/systemmonitor/util.pyi +2 -1
- homeassistant-stubs/components/telegram_bot/__init__.pyi +9 -5
- homeassistant-stubs/components/telegram_bot/bot.pyi +16 -5
- homeassistant-stubs/components/telegram_bot/config_flow.pyi +4 -6
- homeassistant-stubs/components/telegram_bot/const.pyi +25 -4
- homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
- homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
- homeassistant-stubs/components/telegram_bot/event.pyi +19 -0
- homeassistant-stubs/components/telegram_bot/helpers.pyi +4 -0
- homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
- homeassistant-stubs/components/text/trigger.pyi +13 -0
- homeassistant-stubs/components/threshold/__init__.pyi +0 -1
- homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tod/__init__.pyi +0 -1
- homeassistant-stubs/components/tod/config_flow.pyi +1 -0
- homeassistant-stubs/components/todo/__init__.pyi +1 -0
- homeassistant-stubs/components/tolo/__init__.pyi +3 -5
- homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
- homeassistant-stubs/components/tolo/button.pyi +3 -5
- homeassistant-stubs/components/tolo/climate.pyi +3 -5
- homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
- homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
- homeassistant-stubs/components/tolo/entity.pyi +2 -3
- homeassistant-stubs/components/tolo/fan.pyi +3 -5
- homeassistant-stubs/components/tolo/light.pyi +3 -5
- homeassistant-stubs/components/tolo/number.pyi +3 -5
- homeassistant-stubs/components/tolo/select.pyi +4 -5
- homeassistant-stubs/components/tolo/sensor.pyi +3 -5
- homeassistant-stubs/components/tolo/switch.pyi +3 -5
- homeassistant-stubs/components/tplink/number.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/__init__.pyi +6 -1
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/tplink_omada/controller.pyi +4 -2
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +17 -2
- homeassistant-stubs/components/tplink_omada/services.pyi +22 -0
- homeassistant-stubs/components/tplink_omada/switch.pyi +2 -1
- homeassistant-stubs/components/tplink_omada/update.pyi +3 -19
- homeassistant-stubs/components/tractive/switch.pyi +2 -2
- homeassistant-stubs/components/transmission/__init__.pyi +6 -13
- homeassistant-stubs/components/transmission/const.pyi +5 -0
- homeassistant-stubs/components/transmission/entity.pyi +13 -0
- homeassistant-stubs/components/transmission/helpers.pyi +6 -0
- homeassistant-stubs/components/transmission/sensor.pyi +5 -12
- homeassistant-stubs/components/transmission/services.pyi +37 -0
- homeassistant-stubs/components/transmission/switch.pyi +5 -9
- homeassistant-stubs/components/trend/__init__.pyi +0 -1
- homeassistant-stubs/components/trend/config_flow.pyi +1 -0
- homeassistant-stubs/components/tts/__init__.pyi +7 -3
- homeassistant-stubs/components/unifi/light.pyi +48 -0
- homeassistant-stubs/components/unifi/sensor.pyi +2 -0
- homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -3
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/button.pyi +5 -4
- homeassistant-stubs/components/unifiprotect/camera.pyi +4 -1
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +25 -5
- homeassistant-stubs/components/unifiprotect/const.pyi +2 -0
- homeassistant-stubs/components/unifiprotect/discovery.pyi +9 -1
- homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/event.pyi +34 -2
- homeassistant-stubs/components/unifiprotect/light.pyi +5 -1
- homeassistant-stubs/components/unifiprotect/lock.pyi +4 -0
- homeassistant-stubs/components/unifiprotect/media_player.pyi +2 -0
- homeassistant-stubs/components/unifiprotect/number.pyi +6 -2
- homeassistant-stubs/components/unifiprotect/repairs.pyi +1 -2
- homeassistant-stubs/components/unifiprotect/select.pyi +6 -5
- homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -12
- homeassistant-stubs/components/unifiprotect/services.pyi +3 -2
- homeassistant-stubs/components/unifiprotect/switch.pyi +8 -2
- homeassistant-stubs/components/unifiprotect/text.pyi +6 -2
- homeassistant-stubs/components/unifiprotect/utils.pyi +6 -2
- homeassistant-stubs/components/update/trigger.pyi +8 -0
- homeassistant-stubs/components/uptime_kuma/config_flow.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
- homeassistant-stubs/components/usb/__init__.pyi +4 -4
- homeassistant-stubs/components/usb/utils.pyi +7 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
- homeassistant-stubs/components/vacuum/intent.pyi +1 -1
- homeassistant-stubs/components/vacuum/trigger.pyi +7 -0
- homeassistant-stubs/components/velbus/__init__.pyi +1 -1
- homeassistant-stubs/components/velbus/config_flow.pyi +17 -4
- homeassistant-stubs/components/velbus/const.pyi +1 -0
- homeassistant-stubs/components/velbus/entity.pyi +1 -1
- homeassistant-stubs/components/velbus/sensor.pyi +19 -10
- homeassistant-stubs/components/velbus/services.pyi +1 -1
- homeassistant-stubs/components/vivotek/__init__.pyi +17 -0
- homeassistant-stubs/components/vivotek/camera.pyi +41 -0
- homeassistant-stubs/components/vivotek/config_flow.pyi +25 -0
- homeassistant-stubs/components/vivotek/const.pyi +6 -0
- homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
- homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
- homeassistant-stubs/components/volvo/__init__.pyi +4 -2
- homeassistant-stubs/components/volvo/api.pyi +4 -0
- homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
- homeassistant-stubs/components/volvo/button.pyi +27 -0
- homeassistant-stubs/components/volvo/coordinator.pyi +20 -9
- homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
- homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
- homeassistant-stubs/components/volvo/entity.pyi +9 -5
- homeassistant-stubs/components/volvo/lock.pyi +37 -0
- homeassistant-stubs/components/volvo/sensor.pyi +9 -8
- homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
- homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
- homeassistant-stubs/components/wallbox/__init__.pyi +2 -3
- homeassistant-stubs/components/wallbox/config_flow.pyi +2 -2
- homeassistant-stubs/components/wallbox/const.pyi +5 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +12 -9
- homeassistant-stubs/components/waqi/__init__.pyi +8 -0
- homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
- homeassistant-stubs/components/waqi/const.pyi +1 -1
- homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
- homeassistant-stubs/components/waqi/diagnostics.pyi +5 -0
- homeassistant-stubs/components/watts/__init__.pyi +28 -0
- homeassistant-stubs/components/watts/application_credentials.pyi +5 -0
- homeassistant-stubs/components/watts/climate.pyi +35 -0
- homeassistant-stubs/components/watts/config_flow.pyi +13 -0
- homeassistant-stubs/components/watts/const.pyi +12 -0
- homeassistant-stubs/components/watts/coordinator.pyi +40 -0
- homeassistant-stubs/components/watts/entity.pyi +17 -0
- homeassistant-stubs/components/webhook/trigger.pyi +3 -1
- homeassistant-stubs/components/webostv/media_player.pyi +3 -0
- homeassistant-stubs/components/websocket_api/automation.pyi +47 -0
- homeassistant-stubs/components/websocket_api/commands.pyi +11 -0
- homeassistant-stubs/components/websocket_api/http.pyi +1 -0
- homeassistant-stubs/components/withings/__init__.pyi +2 -1
- homeassistant-stubs/components/withings/const.pyi +0 -1
- homeassistant-stubs/components/withings/sensor.pyi +2 -2
- homeassistant-stubs/components/wled/__init__.pyi +4 -3
- homeassistant-stubs/components/wled/analytics.pyi +4 -0
- homeassistant-stubs/components/wled/button.pyi +3 -2
- homeassistant-stubs/components/wled/config_flow.pyi +8 -2
- homeassistant-stubs/components/wled/coordinator.pyi +8 -2
- homeassistant-stubs/components/wled/diagnostics.pyi +1 -1
- homeassistant-stubs/components/wled/helpers.pyi +1 -0
- homeassistant-stubs/components/wled/light.pyi +1 -2
- homeassistant-stubs/components/wled/number.pyi +1 -2
- homeassistant-stubs/components/wled/select.pyi +7 -5
- homeassistant-stubs/components/wled/sensor.pyi +3 -2
- homeassistant-stubs/components/wled/switch.pyi +1 -2
- homeassistant-stubs/components/wled/update.pyi +4 -2
- homeassistant-stubs/components/workday/calendar.pyi +23 -0
- homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
- homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
- homeassistant-stubs/components/xbox/__init__.pyi +19 -0
- homeassistant-stubs/components/xbox/api.pyi +15 -0
- homeassistant-stubs/components/xbox/application_credentials.pyi +5 -0
- homeassistant-stubs/components/xbox/binary_sensor.pyi +36 -0
- homeassistant-stubs/components/xbox/browse_media.pyi +17 -0
- homeassistant-stubs/components/xbox/config_flow.pyi +27 -0
- homeassistant-stubs/components/xbox/const.pyi +4 -0
- homeassistant-stubs/components/xbox/coordinator.pyi +54 -0
- homeassistant-stubs/components/xbox/diagnostics.pyi +9 -0
- homeassistant-stubs/components/xbox/entity.pyi +54 -0
- homeassistant-stubs/components/xbox/image.pyi +34 -0
- homeassistant-stubs/components/xbox/media_player.pyi +45 -0
- homeassistant-stubs/components/xbox/media_source.pyi +51 -0
- homeassistant-stubs/components/xbox/remote.pyi +20 -0
- homeassistant-stubs/components/xbox/sensor.pyi +74 -0
- homeassistant-stubs/components/yalexs_ble/__init__.pyi +3 -2
- homeassistant-stubs/components/yalexs_ble/config_cache.pyi +10 -0
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
- homeassistant-stubs/components/youtube/__init__.pyi +1 -1
- homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
- homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
- homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
- homeassistant-stubs/components/zone/condition.pyi +12 -6
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -3
- homeassistant-stubs/components/zwave_js/const.pyi +3 -0
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +2 -2
- homeassistant-stubs/components/zwave_js/entity.pyi +2 -2
- homeassistant-stubs/components/zwave_js/event.pyi +11 -5
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -11
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +13 -9
- homeassistant-stubs/config_entries.pyi +15 -4
- homeassistant-stubs/const.pyi +12 -74
- homeassistant-stubs/core.pyi +4 -17
- homeassistant-stubs/core_config.pyi +1 -1
- homeassistant-stubs/data_entry_flow.pyi +20 -3
- homeassistant-stubs/generated/entity_platforms.pyi +46 -0
- homeassistant-stubs/generated/labs.pyi +3 -0
- homeassistant-stubs/helpers/area_registry.pyi +4 -2
- homeassistant-stubs/helpers/automation.pyi +7 -0
- homeassistant-stubs/helpers/condition.pyi +36 -10
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -4
- homeassistant-stubs/helpers/debounce.pyi +6 -1
- homeassistant-stubs/helpers/deprecation.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +6 -5
- homeassistant-stubs/helpers/entity.pyi +0 -1
- homeassistant-stubs/helpers/entity_component.pyi +3 -5
- homeassistant-stubs/helpers/entity_platform.pyi +2 -2
- homeassistant-stubs/helpers/entity_registry.pyi +4 -4
- homeassistant-stubs/helpers/event.pyi +3 -2
- homeassistant-stubs/helpers/floor_registry.pyi +7 -1
- homeassistant-stubs/helpers/instance_id.pyi +1 -0
- homeassistant-stubs/helpers/intent.pyi +6 -8
- homeassistant-stubs/helpers/json.pyi +1 -0
- homeassistant-stubs/helpers/llm.pyi +6 -1
- homeassistant-stubs/helpers/registry.pyi +0 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
- homeassistant-stubs/helpers/script.pyi +7 -7
- homeassistant-stubs/helpers/selector.pyi +43 -21
- homeassistant-stubs/helpers/service.pyi +17 -19
- homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
- homeassistant-stubs/helpers/storage.pyi +6 -4
- homeassistant-stubs/helpers/target.pyi +9 -4
- homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +12 -141
- homeassistant-stubs/helpers/template/context.pyi +16 -0
- homeassistant-stubs/helpers/template/extensions/__init__.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/areas.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/base.pyi +30 -0
- homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
- homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
- homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
- homeassistant-stubs/helpers/template/extensions/datetime.pyi +28 -0
- homeassistant-stubs/helpers/template/extensions/devices.pyi +13 -0
- homeassistant-stubs/helpers/template/extensions/floors.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/issues.pyi +8 -0
- homeassistant-stubs/helpers/template/extensions/labels.pyi +15 -0
- homeassistant-stubs/helpers/template/extensions/math.pyi +49 -0
- homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
- homeassistant-stubs/helpers/template/helpers.pyi +6 -0
- homeassistant-stubs/helpers/template/render_info.pyi +39 -0
- homeassistant-stubs/helpers/trigger.pyi +136 -11
- homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
- homeassistant-stubs/helpers/typing.pyi +0 -11
- homeassistant-stubs/helpers/update_coordinator.pyi +6 -3
- homeassistant-stubs/loader.pyi +3 -0
- homeassistant-stubs/requirements.pyi +4 -3
- homeassistant-stubs/runner.pyi +17 -1
- homeassistant-stubs/util/__init__.pyi +1 -0
- homeassistant-stubs/util/async_iterator.pyi +33 -0
- homeassistant-stubs/util/unit_conversion.pyi +18 -0
- {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/RECORD +1067 -859
- {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/WHEEL +1 -1
- homeassistant-stubs/components/bluetooth_tracker/__init__.pyi +0 -0
- homeassistant-stubs/components/bluetooth_tracker/const.pyi +0 -7
- homeassistant-stubs/components/bluetooth_tracker/device_tracker.pyi +0 -19
- homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
- homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
- homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
- homeassistant-stubs/components/home_connect/time.pyi +0 -29
- homeassistant-stubs/components/music_assistant/actions.pyi +0 -22
- homeassistant-stubs/components/pandora/__init__.pyi +0 -1
- homeassistant-stubs/components/pandora/media_player.pyi +0 -52
- homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
- homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
- homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
- homeassistant-stubs/components/sfr_box/models.pyi +0 -12
- {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
2
1
|
from .coordinator import TransmissionConfigEntry as TransmissionConfigEntry, TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
|
3
|
-
from
|
|
2
|
+
from .entity import TransmissionEntity as TransmissionEntity
|
|
4
3
|
from collections.abc import Callable as Callable
|
|
5
4
|
from dataclasses import dataclass
|
|
6
5
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
|
-
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
9
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
11
8
|
from typing import Any
|
|
12
9
|
|
|
10
|
+
PARALLEL_UPDATES: int
|
|
11
|
+
AFTER_WRITE_SLEEP: int
|
|
12
|
+
|
|
13
13
|
@dataclass(frozen=True, kw_only=True)
|
|
14
14
|
class TransmissionSwitchEntityDescription(SwitchEntityDescription):
|
|
15
15
|
is_on_func: Callable[[TransmissionDataUpdateCoordinator], bool | None]
|
|
@@ -20,12 +20,8 @@ SWITCH_TYPES: tuple[TransmissionSwitchEntityDescription, ...]
|
|
|
20
20
|
|
|
21
21
|
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
22
22
|
|
|
23
|
-
class TransmissionSwitch(
|
|
23
|
+
class TransmissionSwitch(TransmissionEntity, SwitchEntity):
|
|
24
24
|
entity_description: TransmissionSwitchEntityDescription
|
|
25
|
-
_attr_has_entity_name: bool
|
|
26
|
-
_attr_unique_id: Incomplete
|
|
27
|
-
_attr_device_info: Incomplete
|
|
28
|
-
def __init__(self, coordinator: TransmissionDataUpdateCoordinator, entity_description: TransmissionSwitchEntityDescription) -> None: ...
|
|
29
25
|
@property
|
|
30
26
|
def is_on(self) -> bool: ...
|
|
31
27
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
@@ -10,5 +10,4 @@ _LOGGER: Incomplete
|
|
|
10
10
|
|
|
11
11
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
12
12
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
13
|
-
async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
14
13
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -12,9 +12,10 @@ from datetime import datetime
|
|
|
12
12
|
from homeassistant.components.http import HomeAssistantView
|
|
13
13
|
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
|
|
14
14
|
from homeassistant.helpers.typing import ConfigType
|
|
15
|
+
from pathlib import Path
|
|
15
16
|
from propcache.api import cached_property
|
|
16
17
|
from time import monotonic
|
|
17
|
-
from typing import Any,
|
|
18
|
+
from typing import Any, Protocol
|
|
18
19
|
|
|
19
20
|
__all__ = ['ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_BYTES', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_RATE', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'Provider', 'ResultStream', 'SampleFormat', 'TTSAudioResponse', 'TextToSpeechEntity', 'TtsAudioType', 'Voice', 'async_default_engine', 'async_get_media_source_audio', 'generate_media_source_id']
|
|
20
21
|
|
|
@@ -45,6 +46,7 @@ async def async_get_media_source_audio(hass: HomeAssistant, media_source_id: str
|
|
|
45
46
|
@dataclass
|
|
46
47
|
class ResultStream:
|
|
47
48
|
last_used: float = field(default_factory=monotonic, init=False)
|
|
49
|
+
hass: HomeAssistant
|
|
48
50
|
token: str
|
|
49
51
|
extension: str
|
|
50
52
|
content_type: str
|
|
@@ -54,6 +56,7 @@ class ResultStream:
|
|
|
54
56
|
options: dict
|
|
55
57
|
supports_streaming_input: bool
|
|
56
58
|
_manager: SpeechManager
|
|
59
|
+
_override_media_path: Path | None = ...
|
|
57
60
|
@cached_property
|
|
58
61
|
def url(self) -> str: ...
|
|
59
62
|
@cached_property
|
|
@@ -65,12 +68,13 @@ class ResultStream:
|
|
|
65
68
|
@callback
|
|
66
69
|
def async_set_message_stream(self, message_stream: AsyncGenerator[str]) -> None: ...
|
|
67
70
|
async def async_stream_result(self) -> AsyncGenerator[bytes]: ...
|
|
71
|
+
def async_override_result(self, media_path: str | Path) -> None: ...
|
|
72
|
+
async def _async_stream_override_result(self) -> AsyncGenerator[bytes]: ...
|
|
68
73
|
|
|
69
74
|
class HasLastUsed(Protocol):
|
|
70
75
|
last_used: float
|
|
71
|
-
T = TypeVar('T', bound=HasLastUsed)
|
|
72
76
|
|
|
73
|
-
class DictCleaning
|
|
77
|
+
class DictCleaning[T: HasLastUsed]:
|
|
74
78
|
unsub: CALLBACK_TYPE | None
|
|
75
79
|
hass: Incomplete
|
|
76
80
|
maxage: Incomplete
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from . import UnifiConfigEntry as UnifiConfigEntry
|
|
2
|
+
from .entity import UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
|
|
3
|
+
from .hub import UnifiHub as UnifiHub
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from aiounifi.interfaces.api_handlers import APIHandler as APIHandler, ItemEvent
|
|
6
|
+
from aiounifi.models.api import ApiItem as ApiItem
|
|
7
|
+
from aiounifi.models.device import Device
|
|
8
|
+
from collections.abc import Callable as Callable, Coroutine
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, LightEntityFeature as LightEntityFeature
|
|
11
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
|
12
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
13
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
14
|
+
from homeassistant.util.color import rgb_hex_to_rgb_list as rgb_hex_to_rgb_list
|
|
15
|
+
from typing import Any
|
|
16
|
+
|
|
17
|
+
def convert_brightness_to_unifi(ha_brightness: int) -> int: ...
|
|
18
|
+
def convert_brightness_to_ha(unifi_brightness: int) -> int: ...
|
|
19
|
+
def get_device_brightness_or_default(device: Device) -> int: ...
|
|
20
|
+
@callback
|
|
21
|
+
def async_device_led_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
|
22
|
+
@callback
|
|
23
|
+
def async_device_led_is_on_fn(hub: UnifiHub, device: Device) -> bool: ...
|
|
24
|
+
async def async_device_led_control_fn(hub: UnifiHub, obj_id: str, turn_on: bool, **kwargs: Any) -> None: ...
|
|
25
|
+
|
|
26
|
+
@dataclass(frozen=True, kw_only=True)
|
|
27
|
+
class UnifiLightEntityDescription[HandlerT: APIHandler, ApiItemT: ApiItem](LightEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
|
|
28
|
+
control_fn: Callable[[UnifiHub, str, bool], Coroutine[Any, Any, None]]
|
|
29
|
+
is_on_fn: Callable[[UnifiHub, ApiItemT], bool]
|
|
30
|
+
|
|
31
|
+
ENTITY_DESCRIPTIONS: tuple[UnifiLightEntityDescription, ...]
|
|
32
|
+
|
|
33
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: UnifiConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
34
|
+
|
|
35
|
+
class UnifiLightEntity[HandlerT: APIHandler, ApiItemT: ApiItem](UnifiEntity[HandlerT, ApiItemT], LightEntity):
|
|
36
|
+
entity_description: UnifiLightEntityDescription[HandlerT, ApiItemT]
|
|
37
|
+
_attr_supported_features: Incomplete
|
|
38
|
+
_attr_supported_color_modes: Incomplete
|
|
39
|
+
_attr_color_mode: Incomplete
|
|
40
|
+
@callback
|
|
41
|
+
def async_initiate_state(self) -> None: ...
|
|
42
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
43
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
44
|
+
_attr_is_on: Incomplete
|
|
45
|
+
_attr_brightness: Incomplete
|
|
46
|
+
_attr_rgb_color: Incomplete
|
|
47
|
+
@callback
|
|
48
|
+
def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
|
|
@@ -32,6 +32,8 @@ def async_client_tx_value_fn(hub: UnifiHub, client: Client) -> float: ...
|
|
|
32
32
|
@callback
|
|
33
33
|
def async_client_uptime_value_fn(hub: UnifiHub, client: Client) -> datetime: ...
|
|
34
34
|
@callback
|
|
35
|
+
def async_wired_client_allowed_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
|
36
|
+
@callback
|
|
35
37
|
def async_wlan_client_value_fn(hub: UnifiHub, wlan: Wlan) -> int: ...
|
|
36
38
|
@callback
|
|
37
39
|
def async_device_clients_value_fn(hub: UnifiHub, device: Device) -> int: ...
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
from .const import AUTH_RETRIES as AUTH_RETRIES, CONF_ALLOW_EA as CONF_ALLOW_EA, DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN, MIN_REQUIRED_PROTECT_V as MIN_REQUIRED_PROTECT_V, PLATFORMS as PLATFORMS
|
|
2
2
|
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
|
3
|
-
from .discovery import async_start_discovery as async_start_discovery
|
|
3
|
+
from .discovery import DATA_UNIFIPROTECT as DATA_UNIFIPROTECT, UniFiProtectRuntimeData as UniFiProtectRuntimeData, async_start_discovery as async_start_discovery
|
|
4
4
|
from .migrate import async_migrate_data as async_migrate_data
|
|
5
5
|
from .services import async_setup_services as async_setup_services
|
|
6
6
|
from .utils import _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client, async_get_devices as async_get_devices
|
|
7
7
|
from .views import SnapshotProxyView as SnapshotProxyView, ThumbnailProxyView as ThumbnailProxyView, VideoEventProxyView as VideoEventProxyView, VideoProxyView as VideoProxyView
|
|
8
8
|
from _typeshed import Incomplete
|
|
9
|
-
from homeassistant.config_entries import
|
|
9
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
10
10
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
12
12
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
|
@@ -24,5 +24,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
|
24
24
|
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
|
25
25
|
async def _async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, data_service: ProtectData, bootstrap: Bootstrap) -> None: ...
|
|
26
26
|
async def async_unload_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
|
27
|
+
async def async_remove_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
|
|
27
28
|
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: UFPConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
|
28
|
-
async def async_migrate_entry(hass: HomeAssistant, entry:
|
|
29
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
|
@@ -11,6 +11,7 @@ from uiprotect.data import ModelType, NVR as NVR, ProtectAdoptableDeviceModel as
|
|
|
11
11
|
from uiprotect.data.nvr import UOSDisk as UOSDisk
|
|
12
12
|
|
|
13
13
|
_KEY_DOOR: str
|
|
14
|
+
PARALLEL_UPDATES: int
|
|
14
15
|
|
|
15
16
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
|
16
17
|
class ProtectBinaryEntityDescription(ProtectEntityDescription, BinarySensorEntityDescription): ...
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .const import DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN
|
|
2
2
|
from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
3
|
-
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription,
|
|
3
|
+
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
|
|
4
|
+
from .utils import async_ufp_instance_command as async_ufp_instance_command
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Sequence
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -9,16 +10,15 @@ from homeassistant.const import Platform as Platform
|
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
10
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
11
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
-
from typing import Final
|
|
13
13
|
from uiprotect.data import ModelType, ProtectAdoptableDeviceModel
|
|
14
14
|
|
|
15
15
|
_LOGGER: Incomplete
|
|
16
|
+
PARALLEL_UPDATES: int
|
|
16
17
|
|
|
17
18
|
@dataclass(frozen=True, kw_only=True)
|
|
18
|
-
class ProtectButtonEntityDescription(
|
|
19
|
+
class ProtectButtonEntityDescription(ProtectSettableKeysMixin[T], ButtonEntityDescription):
|
|
19
20
|
ufp_press: str | None = ...
|
|
20
21
|
|
|
21
|
-
DEVICE_CLASS_CHIME_BUTTON: Final[str]
|
|
22
22
|
ALL_DEVICE_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
|
|
23
23
|
ADOPT_BUTTON: Incomplete
|
|
24
24
|
SENSOR_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
|
|
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_ad
|
|
|
31
31
|
|
|
32
32
|
class ProtectButton(ProtectDeviceEntity, ButtonEntity):
|
|
33
33
|
entity_description: ProtectButtonEntityDescription
|
|
34
|
+
@async_ufp_instance_command
|
|
34
35
|
async def async_press(self) -> None: ...
|
|
35
36
|
|
|
36
37
|
class ProtectAdoptButton(ProtectButton):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import ATTR_BITRATE as ATTR_BITRATE, ATTR_CHANNEL_ID as ATTR_CHANNEL_ID, ATTR_FPS as ATTR_FPS, ATTR_HEIGHT as ATTR_HEIGHT, ATTR_WIDTH as ATTR_WIDTH, DOMAIN as DOMAIN
|
|
2
2
|
from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
3
3
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity
|
|
4
|
-
from .utils import get_camera_base_name as get_camera_base_name
|
|
4
|
+
from .utils import async_ufp_instance_command as async_ufp_instance_command, get_camera_base_name as get_camera_base_name
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Generator
|
|
7
7
|
from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature
|
|
@@ -12,6 +12,7 @@ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity
|
|
|
12
12
|
from uiprotect.data import Camera as UFPCamera, CameraChannel as CameraChannel, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
|
13
13
|
|
|
14
14
|
_LOGGER: Incomplete
|
|
15
|
+
PARALLEL_UPDATES: int
|
|
15
16
|
|
|
16
17
|
@callback
|
|
17
18
|
def _create_rtsp_repair(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, camera: UFPCamera) -> None: ...
|
|
@@ -46,5 +47,7 @@ class ProtectCamera(ProtectDeviceEntity, Camera):
|
|
|
46
47
|
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
47
48
|
async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
|
48
49
|
async def stream_source(self) -> str | None: ...
|
|
50
|
+
@async_ufp_instance_command
|
|
49
51
|
async def async_enable_motion_detection(self) -> None: ...
|
|
52
|
+
@async_ufp_instance_command
|
|
50
53
|
async def async_disable_motion_detection(self) -> None: ...
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import voluptuous as vol
|
|
1
2
|
from .const import CONF_ALL_UPDATES as CONF_ALL_UPDATES, CONF_DISABLE_RTSP as CONF_DISABLE_RTSP, CONF_MAX_MEDIA as CONF_MAX_MEDIA, CONF_OVERRIDE_CHOST as CONF_OVERRIDE_CHOST, DEFAULT_MAX_MEDIA as DEFAULT_MAX_MEDIA, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN, MIN_REQUIRED_PROTECT_V as MIN_REQUIRED_PROTECT_V, OUTDATED_LOG_MESSAGE as OUTDATED_LOG_MESSAGE
|
|
2
|
-
from .data import async_last_update_was_successful as async_last_update_was_successful
|
|
3
|
+
from .data import UFPConfigEntry as UFPConfigEntry, async_last_update_was_successful as async_last_update_was_successful
|
|
3
4
|
from .discovery import async_start_discovery as async_start_discovery
|
|
4
|
-
from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass
|
|
5
|
+
from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client
|
|
5
6
|
from _typeshed import Incomplete
|
|
6
7
|
from collections.abc import Mapping
|
|
7
|
-
from homeassistant.config_entries import
|
|
8
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_IGNORE as SOURCE_IGNORE
|
|
8
9
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
|
+
from homeassistant.helpers import selector as selector
|
|
10
12
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession, async_get_clientsession as async_get_clientsession
|
|
11
13
|
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
|
12
14
|
from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo as SsdpServiceInfo
|
|
@@ -18,11 +20,28 @@ from typing import Any
|
|
|
18
20
|
from uiprotect.data import NVR as NVR
|
|
19
21
|
|
|
20
22
|
_LOGGER: Incomplete
|
|
23
|
+
|
|
24
|
+
def _filter_empty_credentials(user_input: dict[str, Any]) -> dict[str, Any]: ...
|
|
25
|
+
def _normalize_port(data: dict[str, Any]) -> dict[str, Any]: ...
|
|
26
|
+
def _build_data_without_credentials(entry_data: Mapping[str, Any]) -> dict[str, Any]: ...
|
|
27
|
+
async def _async_clear_session_if_credentials_changed(hass: HomeAssistant, entry: UFPConfigEntry, new_data: Mapping[str, Any]) -> None: ...
|
|
28
|
+
|
|
21
29
|
ENTRY_FAILURE_STATES: Incomplete
|
|
30
|
+
_TEXT_SELECTOR: Incomplete
|
|
31
|
+
_PASSWORD_SELECTOR: Incomplete
|
|
32
|
+
_PORT_SELECTOR: Incomplete
|
|
33
|
+
_BOOL_SELECTOR: Incomplete
|
|
34
|
+
|
|
35
|
+
def _build_schema(*, include_host: bool = True, include_connection: bool = True, credentials_optional: bool = False) -> vol.Schema: ...
|
|
36
|
+
|
|
37
|
+
CONFIG_SCHEMA: Incomplete
|
|
38
|
+
RECONFIGURE_SCHEMA: Incomplete
|
|
39
|
+
DISCOVERY_SCHEMA: Incomplete
|
|
40
|
+
REAUTH_SCHEMA: Incomplete
|
|
22
41
|
|
|
23
42
|
async def async_local_user_documentation_url(hass: HomeAssistant) -> str: ...
|
|
24
43
|
def _host_is_direct_connect(host: str) -> bool: ...
|
|
25
|
-
async def _async_console_is_offline(hass: HomeAssistant, entry:
|
|
44
|
+
async def _async_console_is_offline(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
|
26
45
|
|
|
27
46
|
class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
28
47
|
VERSION: int
|
|
@@ -35,12 +54,13 @@ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
35
54
|
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
36
55
|
@staticmethod
|
|
37
56
|
@callback
|
|
38
|
-
def async_get_options_flow(config_entry:
|
|
57
|
+
def async_get_options_flow(config_entry: UFPConfigEntry) -> OptionsFlowHandler: ...
|
|
39
58
|
@callback
|
|
40
59
|
def _async_create_entry(self, title: str, data: dict[str, Any]) -> ConfigFlowResult: ...
|
|
41
60
|
async def _async_get_nvr_data(self, user_input: dict[str, Any]) -> tuple[NVR | None, dict[str, str]]: ...
|
|
42
61
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
43
62
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
63
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
44
64
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
45
65
|
|
|
46
66
|
class OptionsFlowHandler(OptionsFlowWithReload):
|
|
@@ -39,6 +39,8 @@ EVENT_TYPE_FINGERPRINT_IDENTIFIED: Final[str]
|
|
|
39
39
|
EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED: Final[str]
|
|
40
40
|
EVENT_TYPE_NFC_SCANNED: Final[str]
|
|
41
41
|
EVENT_TYPE_DOORBELL_RING: Final[str]
|
|
42
|
+
EVENT_TYPE_VEHICLE_DETECTED: Final[str]
|
|
43
|
+
VEHICLE_EVENT_DELAY_SECONDS: Final[int]
|
|
42
44
|
KEYRINGS_ULP_ID: Final[str]
|
|
43
45
|
KEYRINGS_USER_STATUS: Final[str]
|
|
44
46
|
KEYRINGS_USER_FULL_NAME: Final[str]
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
+
from dataclasses import dataclass, field
|
|
3
4
|
from homeassistant import config_entries as config_entries
|
|
4
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
5
6
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
|
6
7
|
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
|
8
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
|
7
9
|
from unifi_discovery import UnifiDevice as UnifiDevice
|
|
8
10
|
|
|
9
11
|
_LOGGER: Incomplete
|
|
10
|
-
|
|
12
|
+
|
|
13
|
+
@dataclass
|
|
14
|
+
class UniFiProtectRuntimeData:
|
|
15
|
+
auth_retries: dict[str, int] = field(default_factory=dict)
|
|
16
|
+
discovery_started: bool = ...
|
|
17
|
+
|
|
18
|
+
DATA_UNIFIPROTECT: HassKey[UniFiProtectRuntimeData]
|
|
11
19
|
DISCOVERY_INTERVAL: Incomplete
|
|
12
20
|
|
|
13
21
|
@callback
|
|
@@ -105,7 +105,7 @@ class ProtectEventMixin(ProtectEntityDescription[T]):
|
|
|
105
105
|
def __post_init__(self) -> None: ...
|
|
106
106
|
|
|
107
107
|
@dataclass(frozen=True, kw_only=True)
|
|
108
|
-
class
|
|
108
|
+
class ProtectSettableKeysMixin(ProtectEntityDescription[T]):
|
|
109
109
|
ufp_set_method: str | None = ...
|
|
110
110
|
ufp_set_method_fn: Callable[[T, Any], Coroutine[Any, Any, None]] | None = ...
|
|
111
111
|
async def ufp_set(self, obj: T, value: Any) -> None: ...
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import dataclasses
|
|
2
2
|
from . import Bootstrap as Bootstrap
|
|
3
|
-
from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS
|
|
3
|
+
from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED, EVENT_TYPE_VEHICLE_DETECTED as EVENT_TYPE_VEHICLE_DETECTED, KEYRINGS_KEY_TYPE_ID_NFC as KEYRINGS_KEY_TYPE_ID_NFC, KEYRINGS_ULP_ID as KEYRINGS_ULP_ID, KEYRINGS_USER_FULL_NAME as KEYRINGS_USER_FULL_NAME, KEYRINGS_USER_STATUS as KEYRINGS_USER_STATUS, VEHICLE_EVENT_DELAY_SECONDS as VEHICLE_EVENT_DELAY_SECONDS
|
|
4
4
|
from .data import Camera as Camera, EventType as EventType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
5
5
|
from .entity import EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEventMixin as ProtectEventMixin
|
|
6
6
|
from _typeshed import Incomplete
|
|
7
7
|
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
|
|
8
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
8
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from homeassistant.helpers.event import async_call_at as async_call_at
|
|
11
|
+
from typing import Any
|
|
12
|
+
from uiprotect.data.nvr import Event as Event, EventDetectedThumbnail as EventDetectedThumbnail
|
|
10
13
|
|
|
14
|
+
PARALLEL_UPDATES: int
|
|
15
|
+
|
|
16
|
+
def _thumbnail_sort_key(t: EventDetectedThumbnail) -> tuple[bool, float, float]: ...
|
|
11
17
|
def _add_ulp_user_infos(bootstrap: Bootstrap, event_data: dict[str, str], ulp_id: str) -> None: ...
|
|
12
18
|
|
|
13
19
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
|
@@ -35,6 +41,32 @@ class ProtectDeviceFingerprintEventEntity(EventEntityMixin, ProtectDeviceEntity,
|
|
|
35
41
|
@callback
|
|
36
42
|
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
37
43
|
|
|
44
|
+
class ProtectDeviceVehicleEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
|
|
45
|
+
entity_description: ProtectEventEntityDescription
|
|
46
|
+
_thumbnail_timer_cancel: CALLBACK_TYPE | None
|
|
47
|
+
_latest_event_id: str | None
|
|
48
|
+
_latest_thumbnails: list[EventDetectedThumbnail] | None
|
|
49
|
+
_thumbnail_timer_due: float
|
|
50
|
+
_fired_event_id: str | None
|
|
51
|
+
_fired_event_data: dict[str, Any] | None
|
|
52
|
+
async def async_added_to_hass(self) -> None: ...
|
|
53
|
+
@callback
|
|
54
|
+
def _cancel_thumbnail_timer(self) -> None: ...
|
|
55
|
+
@callback
|
|
56
|
+
def _async_timer_callback(self, *_: Any) -> None: ...
|
|
57
|
+
@staticmethod
|
|
58
|
+
def _get_vehicle_thumbnails(event: Event) -> list[EventDetectedThumbnail]: ...
|
|
59
|
+
@staticmethod
|
|
60
|
+
def _build_event_data(event_id: str, thumbnails: list[EventDetectedThumbnail]) -> dict[str, Any]: ...
|
|
61
|
+
@callback
|
|
62
|
+
def _fire_vehicle_event(self, event_id: str, thumbnails: list[EventDetectedThumbnail] | None = None) -> None: ...
|
|
63
|
+
@callback
|
|
64
|
+
def _async_set_thumbnail_timer(self) -> None: ...
|
|
65
|
+
_event: Incomplete
|
|
66
|
+
_event_end: Incomplete
|
|
67
|
+
@callback
|
|
68
|
+
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
69
|
+
|
|
38
70
|
EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
|
|
39
71
|
|
|
40
72
|
@callback
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
2
2
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity
|
|
3
|
+
from .utils import async_ufp_instance_command as async_ufp_instance_command
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
|
-
from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
|
|
5
|
+
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
7
8
|
from typing import Any
|
|
8
9
|
from uiprotect.data import Light as Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
|
9
10
|
|
|
10
11
|
_LOGGER: Incomplete
|
|
12
|
+
PARALLEL_UPDATES: int
|
|
11
13
|
|
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
def unifi_brightness_to_hass(value: int) -> int: ...
|
|
@@ -23,5 +25,7 @@ class ProtectLight(ProtectDeviceEntity, LightEntity):
|
|
|
23
25
|
_attr_brightness: Incomplete
|
|
24
26
|
@callback
|
|
25
27
|
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
28
|
+
@async_ufp_instance_command
|
|
26
29
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
30
|
+
@async_ufp_instance_command
|
|
27
31
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
2
2
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity
|
|
3
|
+
from .utils import async_ufp_instance_command as async_ufp_instance_command
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
@@ -8,6 +9,7 @@ from typing import Any
|
|
|
8
9
|
from uiprotect.data import Doorlock, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
|
9
10
|
|
|
10
11
|
_LOGGER: Incomplete
|
|
12
|
+
PARALLEL_UPDATES: int
|
|
11
13
|
|
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
|
|
@@ -22,5 +24,7 @@ class ProtectLock(ProtectDeviceEntity, LockEntity):
|
|
|
22
24
|
_attr_available: bool
|
|
23
25
|
@callback
|
|
24
26
|
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
27
|
+
@async_ufp_instance_command
|
|
25
28
|
async def async_unlock(self, **kwargs: Any) -> None: ...
|
|
29
|
+
@async_ufp_instance_command
|
|
26
30
|
async def async_lock(self, **kwargs: Any) -> None: ...
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
1
2
|
from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
2
3
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity
|
|
3
4
|
from _typeshed import Incomplete
|
|
@@ -10,6 +11,7 @@ from typing import Any
|
|
|
10
11
|
from uiprotect.data import Camera, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
|
11
12
|
|
|
12
13
|
_LOGGER: Incomplete
|
|
14
|
+
PARALLEL_UPDATES: int
|
|
13
15
|
_SPEAKER_DESCRIPTION: Incomplete
|
|
14
16
|
|
|
15
17
|
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
2
|
-
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription,
|
|
2
|
+
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
|
|
3
|
+
from .utils import async_ufp_instance_command as async_ufp_instance_command
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from collections.abc import Sequence
|
|
5
6
|
from dataclasses import dataclass
|
|
@@ -9,8 +10,10 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
|
9
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
11
|
from uiprotect.data import Camera as Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
|
11
12
|
|
|
13
|
+
PARALLEL_UPDATES: int
|
|
14
|
+
|
|
12
15
|
@dataclass(frozen=True, kw_only=True)
|
|
13
|
-
class ProtectNumberEntityDescription(
|
|
16
|
+
class ProtectNumberEntityDescription(ProtectSettableKeysMixin[T], NumberEntityDescription):
|
|
14
17
|
ufp_max: int | float
|
|
15
18
|
ufp_min: int | float
|
|
16
19
|
ufp_step: int | float
|
|
@@ -41,4 +44,5 @@ class ProtectNumbers(ProtectDeviceEntity, NumberEntity):
|
|
|
41
44
|
_attr_native_value: Incomplete
|
|
42
45
|
@callback
|
|
43
46
|
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
47
|
+
@async_ufp_instance_command
|
|
44
48
|
async def async_set_native_value(self, value: float) -> None: ...
|
|
@@ -2,7 +2,6 @@ from .data import UFPConfigEntry as UFPConfigEntry, async_get_data_for_entry_id
|
|
|
2
2
|
from .utils import async_create_api_client as async_create_api_client
|
|
3
3
|
from homeassistant import data_entry_flow as data_entry_flow
|
|
4
4
|
from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
|
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
6
|
from uiprotect import ProtectApiClient as ProtectApiClient
|
|
8
7
|
from uiprotect.data import Bootstrap as Bootstrap, Camera as Camera
|
|
@@ -33,5 +32,5 @@ class RTSPRepair(ProtectRepair):
|
|
|
33
32
|
async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
|
34
33
|
|
|
35
34
|
@callback
|
|
36
|
-
def _async_get_or_create_api_client(hass: HomeAssistant, entry:
|
|
35
|
+
def _async_get_or_create_api_client(hass: HomeAssistant, entry: UFPConfigEntry) -> ProtectApiClient: ...
|
|
37
36
|
async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import TYPE_EMPTY_VALUE as TYPE_EMPTY_VALUE
|
|
2
2
|
from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
|
|
3
|
-
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription,
|
|
4
|
-
from .utils import async_get_light_motion_current as async_get_light_motion_current
|
|
3
|
+
from .entity import PermRequired as PermRequired, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEntityDescription as ProtectEntityDescription, ProtectSettableKeysMixin as ProtectSettableKeysMixin, T as T, async_all_device_entities as async_all_device_entities
|
|
4
|
+
from .utils import async_get_light_motion_current as async_get_light_motion_current, async_ufp_instance_command as async_ufp_instance_command
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable, Sequence
|
|
7
7
|
from dataclasses import dataclass
|
|
@@ -10,12 +10,13 @@ from homeassistant.components.select import SelectEntity as SelectEntity, Select
|
|
|
10
10
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
|
-
from typing import Any
|
|
13
|
+
from typing import Any
|
|
14
14
|
from uiprotect.api import ProtectApiClient as ProtectApiClient
|
|
15
15
|
from uiprotect.data import Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, Sensor, Viewer
|
|
16
16
|
|
|
17
17
|
_LOGGER: Incomplete
|
|
18
18
|
_KEY_LIGHT_MOTION: str
|
|
19
|
+
PARALLEL_UPDATES: int
|
|
19
20
|
HDR_MODES: Incomplete
|
|
20
21
|
INFRARED_MODES: Incomplete
|
|
21
22
|
CHIME_TYPES: Incomplete
|
|
@@ -28,10 +29,9 @@ LIGHT_MODES: Incomplete
|
|
|
28
29
|
LIGHT_MODE_TO_SETTINGS: Incomplete
|
|
29
30
|
MOTION_MODE_TO_LIGHT_MODE: Incomplete
|
|
30
31
|
DEVICE_RECORDING_MODES: Incomplete
|
|
31
|
-
DEVICE_CLASS_LCD_MESSAGE: Final[str]
|
|
32
32
|
|
|
33
33
|
@dataclass(frozen=True, kw_only=True)
|
|
34
|
-
class ProtectSelectEntityDescription(
|
|
34
|
+
class ProtectSelectEntityDescription(ProtectSettableKeysMixin[T], SelectEntityDescription):
|
|
35
35
|
ufp_options: list[dict[str, Any]] | None = ...
|
|
36
36
|
ufp_options_fn: Callable[[ProtectApiClient], list[dict[str, Any]]] | None = ...
|
|
37
37
|
ufp_enum_type: type[Enum] | None = ...
|
|
@@ -68,4 +68,5 @@ class ProtectSelects(ProtectDeviceEntity, SelectEntity):
|
|
|
68
68
|
_unifi_to_hass_options: Incomplete
|
|
69
69
|
@callback
|
|
70
70
|
def _async_set_options(self, data: ProtectData, description: ProtectSelectEntityDescription) -> None: ...
|
|
71
|
+
@async_ufp_instance_command
|
|
71
72
|
async def async_select_option(self, option: str) -> None: ...
|
|
@@ -14,6 +14,7 @@ from uiprotect.data import Camera, ModelType, NVR, ProtectAdoptableDeviceModel a
|
|
|
14
14
|
|
|
15
15
|
_LOGGER: Incomplete
|
|
16
16
|
OBJECT_TYPE_NONE: str
|
|
17
|
+
PARALLEL_UPDATES: int
|
|
17
18
|
|
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
|
19
20
|
class ProtectSensorEntityDescription(ProtectEntityDescription[T], SensorEntityDescription):
|
|
@@ -36,7 +37,6 @@ SENSE_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
|
36
37
|
DOORLOCK_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
37
38
|
NVR_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
38
39
|
NVR_DISABLED_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
39
|
-
LICENSE_PLATE_EVENT_SENSORS: tuple[ProtectSensorEventEntityDescription, ...]
|
|
40
40
|
LIGHT_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
41
41
|
MOTION_TRIP_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
42
42
|
CHIME_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
@@ -61,14 +61,3 @@ class ProtectNVRSensor(BaseProtectSensor, ProtectNVREntity): ...
|
|
|
61
61
|
class ProtectEventSensor(EventEntityMixin, SensorEntity):
|
|
62
62
|
entity_description: ProtectSensorEventEntityDescription
|
|
63
63
|
_state_attrs: Incomplete
|
|
64
|
-
|
|
65
|
-
class ProtectLicensePlateEventSensor(ProtectEventSensor):
|
|
66
|
-
device: Camera
|
|
67
|
-
_attr_native_value: Incomplete
|
|
68
|
-
_attr_extra_state_attributes: Incomplete
|
|
69
|
-
@callback
|
|
70
|
-
def _set_event_done(self) -> None: ...
|
|
71
|
-
_event: Incomplete
|
|
72
|
-
_event_end: Incomplete
|
|
73
|
-
@callback
|
|
74
|
-
def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
|
|
@@ -5,20 +5,21 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
|
|
|
5
5
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
8
|
-
from homeassistant.helpers.target import
|
|
8
|
+
from homeassistant.helpers.target import TargetSelection as TargetSelection, async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
|
|
9
9
|
from homeassistant.util.json import JsonValueType as JsonValueType
|
|
10
10
|
from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
|
|
11
11
|
from typing import Any
|
|
12
12
|
from uiprotect.api import ProtectApiClient as ProtectApiClient
|
|
13
13
|
from uiprotect.data import Camera
|
|
14
14
|
|
|
15
|
+
_LOGGER: Incomplete
|
|
15
16
|
SERVICE_ADD_DOORBELL_TEXT: str
|
|
16
17
|
SERVICE_REMOVE_DOORBELL_TEXT: str
|
|
17
18
|
SERVICE_SET_PRIVACY_ZONE: str
|
|
18
19
|
SERVICE_REMOVE_PRIVACY_ZONE: str
|
|
19
20
|
SERVICE_SET_CHIME_PAIRED: str
|
|
20
21
|
SERVICE_GET_USER_KEYRING_INFO: str
|
|
21
|
-
|
|
22
|
+
ALL_GLOBAL_SERVICES: Incomplete
|
|
22
23
|
DOORBELL_TEXT_SCHEMA: Incomplete
|
|
23
24
|
CHIME_PAIRED_SCHEMA: Incomplete
|
|
24
25
|
REMOVE_PRIVACY_ZONE_SCHEMA: Incomplete
|