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,13 +1,6 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
|
-
from .types import MCPServerConfigEntry
|
|
3
2
|
from _typeshed import Incomplete
|
|
4
|
-
from homeassistant.core import HomeAssistant
|
|
5
|
-
from homeassistant.helpers.typing import ConfigType
|
|
6
3
|
|
|
7
|
-
__all__ = ['CONFIG_SCHEMA', 'DOMAIN'
|
|
4
|
+
__all__ = ['CONFIG_SCHEMA', 'DOMAIN']
|
|
8
5
|
|
|
9
6
|
CONFIG_SCHEMA: Incomplete
|
|
10
|
-
|
|
11
|
-
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
12
|
-
async def async_setup_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
|
|
13
|
-
async def async_unload_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
|
|
@@ -5,13 +5,19 @@ from .types import MCPServerConfigEntry as MCPServerConfigEntry
|
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from aiohttp import web
|
|
7
7
|
from anyio.streams.memory import MemoryObjectReceiveStream as MemoryObjectReceiveStream, MemoryObjectSendStream as MemoryObjectSendStream
|
|
8
|
+
from dataclasses import dataclass
|
|
8
9
|
from homeassistant.components import conversation as conversation
|
|
9
10
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
|
|
10
11
|
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
|
|
11
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
|
+
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
|
|
12
13
|
from homeassistant.helpers import llm as llm
|
|
14
|
+
from mcp.server import InitializationOptions as InitializationOptions, Server as Server
|
|
15
|
+
from mcp.shared.message import SessionMessage
|
|
13
16
|
|
|
14
17
|
_LOGGER: Incomplete
|
|
18
|
+
STREAMABLE_API: str
|
|
19
|
+
TIMEOUT: int
|
|
20
|
+
CONTENT_TYPE_JSON: str
|
|
15
21
|
SSE_API: Incomplete
|
|
16
22
|
MESSAGES_API: Incomplete
|
|
17
23
|
|
|
@@ -19,6 +25,16 @@ MESSAGES_API: Incomplete
|
|
|
19
25
|
def async_register(hass: HomeAssistant) -> None: ...
|
|
20
26
|
def async_get_config_entry(hass: HomeAssistant) -> MCPServerConfigEntry: ...
|
|
21
27
|
|
|
28
|
+
@dataclass
|
|
29
|
+
class Streams:
|
|
30
|
+
read_stream: MemoryObjectReceiveStream[SessionMessage | Exception]
|
|
31
|
+
read_stream_writer: MemoryObjectSendStream[SessionMessage | Exception]
|
|
32
|
+
write_stream: MemoryObjectSendStream[SessionMessage]
|
|
33
|
+
write_stream_reader: MemoryObjectReceiveStream[SessionMessage]
|
|
34
|
+
|
|
35
|
+
def create_streams() -> Streams: ...
|
|
36
|
+
async def create_mcp_server(hass: HomeAssistant, context: Context, entry: MCPServerConfigEntry) -> tuple[Server, InitializationOptions]: ...
|
|
37
|
+
|
|
22
38
|
class ModelContextProtocolSSEView(HomeAssistantView):
|
|
23
39
|
name: Incomplete
|
|
24
40
|
url = SSE_API
|
|
@@ -28,3 +44,9 @@ class ModelContextProtocolMessagesView(HomeAssistantView):
|
|
|
28
44
|
name: Incomplete
|
|
29
45
|
url = MESSAGES_API
|
|
30
46
|
async def post(self, request: web.Request, session_id: str) -> web.StreamResponse: ...
|
|
47
|
+
|
|
48
|
+
class ModelContextProtocolStreamableView(HomeAssistantView):
|
|
49
|
+
name: Incomplete
|
|
50
|
+
url = STREAMABLE_API
|
|
51
|
+
async def get(self, request: web.Request) -> web.StreamResponse: ...
|
|
52
|
+
async def post(self, request: web.Request) -> web.StreamResponse: ...
|
|
@@ -3,13 +3,13 @@ from anyio.streams.memory import MemoryObjectSendStream as MemoryObjectSendStrea
|
|
|
3
3
|
from collections.abc import AsyncGenerator
|
|
4
4
|
from contextlib import asynccontextmanager
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from mcp import
|
|
6
|
+
from mcp.shared.message import SessionMessage as SessionMessage
|
|
7
7
|
|
|
8
8
|
_LOGGER: Incomplete
|
|
9
9
|
|
|
10
10
|
@dataclass
|
|
11
11
|
class Session:
|
|
12
|
-
read_stream_writer: MemoryObjectSendStream[
|
|
12
|
+
read_stream_writer: MemoryObjectSendStream[SessionMessage | Exception]
|
|
13
13
|
|
|
14
14
|
class SessionManager:
|
|
15
15
|
_sessions: dict[str, Session]
|
|
@@ -3,18 +3,26 @@ from .utils import create_version as create_version
|
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Mapping
|
|
5
5
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
6
|
-
from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_HOST as CONF_HOST, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
6
|
+
from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
7
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
|
+
from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
|
|
8
9
|
from typing import Any
|
|
9
10
|
|
|
10
11
|
USER_SCHEMA: Incomplete
|
|
11
12
|
REAUTH_SCHEMA: Incomplete
|
|
13
|
+
DISCOVERY_SCHEMA: Incomplete
|
|
14
|
+
EXAMPLE_URL: str
|
|
12
15
|
|
|
13
16
|
class MealieConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
|
+
VERSION: int
|
|
14
18
|
host: str | None
|
|
15
19
|
verify_ssl: bool
|
|
20
|
+
_hassio_discovery: dict[str, Any] | None
|
|
16
21
|
async def check_connection(self, api_token: str) -> tuple[dict[str, str], str | None]: ...
|
|
17
22
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
18
23
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
19
24
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
20
25
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
26
|
+
async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
|
|
27
|
+
async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
28
|
+
async def _show_hassio_form(self, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
|
@@ -3,6 +3,7 @@ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from abc import abstractmethod
|
|
5
5
|
from aiomealie import MealieClient as MealieClient, Mealplan, MealplanEntryType, ShoppingItem as ShoppingItem, ShoppingList as ShoppingList, Statistics
|
|
6
|
+
from awesomeversion import AwesomeVersion as AwesomeVersion
|
|
6
7
|
from dataclasses import dataclass
|
|
7
8
|
from datetime import timedelta
|
|
8
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
@@ -15,6 +16,7 @@ WEEK: Incomplete
|
|
|
15
16
|
@dataclass
|
|
16
17
|
class MealieData:
|
|
17
18
|
client: MealieClient
|
|
19
|
+
version: AwesomeVersion
|
|
18
20
|
mealplan_coordinator: MealieMealplanCoordinator
|
|
19
21
|
shoppinglist_coordinator: MealieShoppingListCoordinator
|
|
20
22
|
statistics_coordinator: MealieStatisticsCoordinator
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .const import ATTR_END_DATE as ATTR_END_DATE, ATTR_ENTRY_TYPE as ATTR_ENTRY_TYPE, ATTR_INCLUDE_TAGS as ATTR_INCLUDE_TAGS, ATTR_NOTE_TEXT as ATTR_NOTE_TEXT, ATTR_NOTE_TITLE as ATTR_NOTE_TITLE, ATTR_RECIPE_ID as ATTR_RECIPE_ID, ATTR_RESULT_LIMIT as ATTR_RESULT_LIMIT, ATTR_SEARCH_TERMS as ATTR_SEARCH_TERMS, ATTR_START_DATE as ATTR_START_DATE, ATTR_URL as ATTR_URL, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import MealieConfigEntry as MealieConfigEntry
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
+
from awesomeversion import AwesomeVersion
|
|
4
5
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
5
6
|
from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATE as ATTR_DATE
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
|
@@ -20,6 +21,7 @@ SERVICE_SET_MEALPLAN: str
|
|
|
20
21
|
SERVICE_SET_MEALPLAN_SCHEMA: Incomplete
|
|
21
22
|
|
|
22
23
|
def _async_get_entry(call: ServiceCall) -> MealieConfigEntry: ...
|
|
24
|
+
def _validate_mealplan_type(version: AwesomeVersion, entry_type: str) -> None: ...
|
|
23
25
|
async def _async_get_mealplan(call: ServiceCall) -> ServiceResponse: ...
|
|
24
26
|
async def _async_get_recipe(call: ServiceCall) -> ServiceResponse: ...
|
|
25
27
|
async def _async_get_recipes(call: ServiceCall) -> ServiceResponse: ...
|
|
@@ -3,7 +3,7 @@ import collections
|
|
|
3
3
|
import datetime as dt
|
|
4
4
|
import logging
|
|
5
5
|
from .browse_media import BrowseMedia as BrowseMedia, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
|
|
6
|
-
from .const import ATTR_APP_ID as ATTR_APP_ID, ATTR_APP_NAME as ATTR_APP_NAME, ATTR_ENTITY_PICTURE_LOCAL as ATTR_ENTITY_PICTURE_LOCAL, ATTR_GROUP_MEMBERS as ATTR_GROUP_MEMBERS, ATTR_INPUT_SOURCE as ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST as ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_ALBUM_ARTIST as ATTR_MEDIA_ALBUM_ARTIST, ATTR_MEDIA_ALBUM_NAME as ATTR_MEDIA_ALBUM_NAME, ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_ARTIST as ATTR_MEDIA_ARTIST, ATTR_MEDIA_CHANNEL as ATTR_MEDIA_CHANNEL, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_DURATION as ATTR_MEDIA_DURATION, ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EPISODE as ATTR_MEDIA_EPISODE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_PLAYLIST as ATTR_MEDIA_PLAYLIST, ATTR_MEDIA_POSITION as ATTR_MEDIA_POSITION, ATTR_MEDIA_POSITION_UPDATED_AT as ATTR_MEDIA_POSITION_UPDATED_AT, ATTR_MEDIA_REPEAT as ATTR_MEDIA_REPEAT, ATTR_MEDIA_SEARCH_QUERY as ATTR_MEDIA_SEARCH_QUERY, ATTR_MEDIA_SEASON as ATTR_MEDIA_SEASON, ATTR_MEDIA_SEEK_POSITION as ATTR_MEDIA_SEEK_POSITION, ATTR_MEDIA_SERIES_TITLE as ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_SHUFFLE as ATTR_MEDIA_SHUFFLE, ATTR_MEDIA_TITLE as ATTR_MEDIA_TITLE, ATTR_MEDIA_TRACK as ATTR_MEDIA_TRACK, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, ATTR_SOUND_MODE as ATTR_SOUND_MODE, ATTR_SOUND_MODE_LIST as ATTR_SOUND_MODE_LIST, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, DOMAIN as DOMAIN, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, REPEAT_MODES as REPEAT_MODES, RepeatMode as RepeatMode, SERVICE_BROWSE_MEDIA as SERVICE_BROWSE_MEDIA, SERVICE_CLEAR_PLAYLIST as SERVICE_CLEAR_PLAYLIST, SERVICE_JOIN as SERVICE_JOIN, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SERVICE_SELECT_SOUND_MODE as SERVICE_SELECT_SOUND_MODE, SERVICE_SELECT_SOURCE as SERVICE_SELECT_SOURCE, SERVICE_UNJOIN as SERVICE_UNJOIN
|
|
6
|
+
from .const import ATTR_APP_ID as ATTR_APP_ID, ATTR_APP_NAME as ATTR_APP_NAME, ATTR_ENTITY_PICTURE_LOCAL as ATTR_ENTITY_PICTURE_LOCAL, ATTR_GROUP_MEMBERS as ATTR_GROUP_MEMBERS, ATTR_INPUT_SOURCE as ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST as ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_ALBUM_ARTIST as ATTR_MEDIA_ALBUM_ARTIST, ATTR_MEDIA_ALBUM_NAME as ATTR_MEDIA_ALBUM_NAME, ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_ARTIST as ATTR_MEDIA_ARTIST, ATTR_MEDIA_CHANNEL as ATTR_MEDIA_CHANNEL, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_DURATION as ATTR_MEDIA_DURATION, ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EPISODE as ATTR_MEDIA_EPISODE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_PLAYLIST as ATTR_MEDIA_PLAYLIST, ATTR_MEDIA_POSITION as ATTR_MEDIA_POSITION, ATTR_MEDIA_POSITION_UPDATED_AT as ATTR_MEDIA_POSITION_UPDATED_AT, ATTR_MEDIA_REPEAT as ATTR_MEDIA_REPEAT, ATTR_MEDIA_SEARCH_QUERY as ATTR_MEDIA_SEARCH_QUERY, ATTR_MEDIA_SEASON as ATTR_MEDIA_SEASON, ATTR_MEDIA_SEEK_POSITION as ATTR_MEDIA_SEEK_POSITION, ATTR_MEDIA_SERIES_TITLE as ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_SHUFFLE as ATTR_MEDIA_SHUFFLE, ATTR_MEDIA_TITLE as ATTR_MEDIA_TITLE, ATTR_MEDIA_TRACK as ATTR_MEDIA_TRACK, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, ATTR_SOUND_MODE as ATTR_SOUND_MODE, ATTR_SOUND_MODE_LIST as ATTR_SOUND_MODE_LIST, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, DOMAIN as DOMAIN, INTENT_MEDIA_SEARCH_AND_PLAY as INTENT_MEDIA_SEARCH_AND_PLAY, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, REPEAT_MODES as REPEAT_MODES, RepeatMode as RepeatMode, SERVICE_BROWSE_MEDIA as SERVICE_BROWSE_MEDIA, SERVICE_CLEAR_PLAYLIST as SERVICE_CLEAR_PLAYLIST, SERVICE_JOIN as SERVICE_JOIN, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SERVICE_SELECT_SOUND_MODE as SERVICE_SELECT_SOUND_MODE, SERVICE_SELECT_SOURCE as SERVICE_SELECT_SOURCE, SERVICE_UNJOIN as SERVICE_UNJOIN
|
|
7
7
|
from .errors import BrowseError as BrowseError, SearchError as SearchError
|
|
8
8
|
from _typeshed import Incomplete
|
|
9
9
|
from aiohttp import web
|
|
@@ -18,7 +18,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
|
18
18
|
from homeassistant.const import ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PLAY_PAUSE as SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_MEDIA_SEEK as SERVICE_MEDIA_SEEK, SERVICE_MEDIA_STOP as SERVICE_MEDIA_STOP, SERVICE_REPEAT_SET as SERVICE_REPEAT_SET, SERVICE_SHUFFLE_SET as SERVICE_SHUFFLE_SET, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, SERVICE_VOLUME_DOWN as SERVICE_VOLUME_DOWN, SERVICE_VOLUME_MUTE as SERVICE_VOLUME_MUTE, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, SERVICE_VOLUME_UP as SERVICE_VOLUME_UP, STATE_IDLE as STATE_IDLE, STATE_OFF as STATE_OFF, STATE_PLAYING as STATE_PLAYING, STATE_STANDBY as STATE_STANDBY
|
|
19
19
|
from homeassistant.core import HomeAssistant as HomeAssistant, SupportsResponse as SupportsResponse
|
|
20
20
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
21
|
-
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
|
22
21
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
|
23
22
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
|
24
23
|
from homeassistant.helpers.network import get_url as get_url
|
|
@@ -53,9 +52,6 @@ class MediaPlayerDeviceClass(StrEnum):
|
|
|
53
52
|
RECEIVER = 'receiver'
|
|
54
53
|
|
|
55
54
|
DEVICE_CLASSES_SCHEMA: Incomplete
|
|
56
|
-
_DEPRECATED_DEVICE_CLASS_TV: Incomplete
|
|
57
|
-
_DEPRECATED_DEVICE_CLASS_SPEAKER: Incomplete
|
|
58
|
-
_DEPRECATED_DEVICE_CLASS_RECEIVER: Incomplete
|
|
59
55
|
DEVICE_CLASSES: Incomplete
|
|
60
56
|
|
|
61
57
|
def _promote_media_fields(data: dict[str, Any]) -> dict[str, Any]: ...
|
|
@@ -312,7 +308,3 @@ async def websocket_search_media(hass: HomeAssistant, connection: websocket_api.
|
|
|
312
308
|
_FETCH_TIMEOUT: Incomplete
|
|
313
309
|
|
|
314
310
|
async def async_fetch_image(logger: logging.Logger, hass: HomeAssistant, url: str) -> tuple[bytes | None, str | None]: ...
|
|
315
|
-
|
|
316
|
-
__getattr__: Incomplete
|
|
317
|
-
__dir__: Incomplete
|
|
318
|
-
__all__: Incomplete
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
2
|
from enum import IntFlag, StrEnum
|
|
3
|
-
from homeassistant.helpers.deprecation import
|
|
3
|
+
from homeassistant.helpers.deprecation import EnumWithDeprecatedMembers as EnumWithDeprecatedMembers
|
|
4
4
|
|
|
5
5
|
CONTENT_AUTH_EXPIRY_TIME: Incomplete
|
|
6
6
|
ATTR_APP_ID: str
|
|
@@ -37,6 +37,15 @@ ATTR_MEDIA_VOLUME_MUTED: str
|
|
|
37
37
|
ATTR_SOUND_MODE: str
|
|
38
38
|
ATTR_SOUND_MODE_LIST: str
|
|
39
39
|
DOMAIN: str
|
|
40
|
+
INTENT_MEDIA_PAUSE: str
|
|
41
|
+
INTENT_MEDIA_UNPAUSE: str
|
|
42
|
+
INTENT_MEDIA_NEXT: str
|
|
43
|
+
INTENT_MEDIA_PREVIOUS: str
|
|
44
|
+
INTENT_PLAYER_MUTE: str
|
|
45
|
+
INTENT_PLAYER_UNMUTE: str
|
|
46
|
+
INTENT_SET_VOLUME: str
|
|
47
|
+
INTENT_SET_VOLUME_RELATIVE: str
|
|
48
|
+
INTENT_MEDIA_SEARCH_AND_PLAY: str
|
|
40
49
|
|
|
41
50
|
class MediaPlayerState(StrEnum, deprecated={'STANDBY': ('MediaPlayerState.OFF or MediaPlayerState.IDLE', '2026.8.0')}, metaclass=EnumWithDeprecatedMembers):
|
|
42
51
|
OFF = 'off'
|
|
@@ -69,27 +78,6 @@ class MediaClass(StrEnum):
|
|
|
69
78
|
URL = 'url'
|
|
70
79
|
VIDEO = 'video'
|
|
71
80
|
|
|
72
|
-
_DEPRECATED_MEDIA_CLASS_ALBUM: Incomplete
|
|
73
|
-
_DEPRECATED_MEDIA_CLASS_APP: Incomplete
|
|
74
|
-
_DEPRECATED_MEDIA_CLASS_ARTIST: Incomplete
|
|
75
|
-
_DEPRECATED_MEDIA_CLASS_CHANNEL: Incomplete
|
|
76
|
-
_DEPRECATED_MEDIA_CLASS_COMPOSER: Incomplete
|
|
77
|
-
_DEPRECATED_MEDIA_CLASS_CONTRIBUTING_ARTIST: Incomplete
|
|
78
|
-
_DEPRECATED_MEDIA_CLASS_DIRECTORY: Incomplete
|
|
79
|
-
_DEPRECATED_MEDIA_CLASS_EPISODE: Incomplete
|
|
80
|
-
_DEPRECATED_MEDIA_CLASS_GAME: Incomplete
|
|
81
|
-
_DEPRECATED_MEDIA_CLASS_GENRE: Incomplete
|
|
82
|
-
_DEPRECATED_MEDIA_CLASS_IMAGE: Incomplete
|
|
83
|
-
_DEPRECATED_MEDIA_CLASS_MOVIE: Incomplete
|
|
84
|
-
_DEPRECATED_MEDIA_CLASS_MUSIC: Incomplete
|
|
85
|
-
_DEPRECATED_MEDIA_CLASS_PLAYLIST: Incomplete
|
|
86
|
-
_DEPRECATED_MEDIA_CLASS_PODCAST: Incomplete
|
|
87
|
-
_DEPRECATED_MEDIA_CLASS_SEASON: Incomplete
|
|
88
|
-
_DEPRECATED_MEDIA_CLASS_TRACK: Incomplete
|
|
89
|
-
_DEPRECATED_MEDIA_CLASS_TV_SHOW: Incomplete
|
|
90
|
-
_DEPRECATED_MEDIA_CLASS_URL: Incomplete
|
|
91
|
-
_DEPRECATED_MEDIA_CLASS_VIDEO: Incomplete
|
|
92
|
-
|
|
93
81
|
class MediaType(StrEnum):
|
|
94
82
|
ALBUM = 'album'
|
|
95
83
|
APP = 'app'
|
|
@@ -113,27 +101,6 @@ class MediaType(StrEnum):
|
|
|
113
101
|
URL = 'url'
|
|
114
102
|
VIDEO = 'video'
|
|
115
103
|
|
|
116
|
-
_DEPRECATED_MEDIA_TYPE_ALBUM: Incomplete
|
|
117
|
-
_DEPRECATED_MEDIA_TYPE_APP: Incomplete
|
|
118
|
-
_DEPRECATED_MEDIA_TYPE_APPS: Incomplete
|
|
119
|
-
_DEPRECATED_MEDIA_TYPE_ARTIST: Incomplete
|
|
120
|
-
_DEPRECATED_MEDIA_TYPE_CHANNEL: Incomplete
|
|
121
|
-
_DEPRECATED_MEDIA_TYPE_CHANNELS: Incomplete
|
|
122
|
-
_DEPRECATED_MEDIA_TYPE_COMPOSER: Incomplete
|
|
123
|
-
_DEPRECATED_MEDIA_TYPE_CONTRIBUTING_ARTIST: Incomplete
|
|
124
|
-
_DEPRECATED_MEDIA_TYPE_EPISODE: Incomplete
|
|
125
|
-
_DEPRECATED_MEDIA_TYPE_GAME: Incomplete
|
|
126
|
-
_DEPRECATED_MEDIA_TYPE_GENRE: Incomplete
|
|
127
|
-
_DEPRECATED_MEDIA_TYPE_IMAGE: Incomplete
|
|
128
|
-
_DEPRECATED_MEDIA_TYPE_MOVIE: Incomplete
|
|
129
|
-
_DEPRECATED_MEDIA_TYPE_MUSIC: Incomplete
|
|
130
|
-
_DEPRECATED_MEDIA_TYPE_PLAYLIST: Incomplete
|
|
131
|
-
_DEPRECATED_MEDIA_TYPE_PODCAST: Incomplete
|
|
132
|
-
_DEPRECATED_MEDIA_TYPE_SEASON: Incomplete
|
|
133
|
-
_DEPRECATED_MEDIA_TYPE_TRACK: Incomplete
|
|
134
|
-
_DEPRECATED_MEDIA_TYPE_TVSHOW: Incomplete
|
|
135
|
-
_DEPRECATED_MEDIA_TYPE_URL: Incomplete
|
|
136
|
-
_DEPRECATED_MEDIA_TYPE_VIDEO: Incomplete
|
|
137
104
|
SERVICE_CLEAR_PLAYLIST: str
|
|
138
105
|
SERVICE_JOIN: str
|
|
139
106
|
SERVICE_PLAY_MEDIA: str
|
|
@@ -148,9 +115,6 @@ class RepeatMode(StrEnum):
|
|
|
148
115
|
OFF = 'off'
|
|
149
116
|
ONE = 'one'
|
|
150
117
|
|
|
151
|
-
_DEPRECATED_REPEAT_MODE_ALL: Incomplete
|
|
152
|
-
_DEPRECATED_REPEAT_MODE_OFF: Incomplete
|
|
153
|
-
_DEPRECATED_REPEAT_MODE_ONE: Incomplete
|
|
154
118
|
REPEAT_MODES: Incomplete
|
|
155
119
|
|
|
156
120
|
class MediaPlayerEntityFeature(IntFlag):
|
|
@@ -176,26 +140,3 @@ class MediaPlayerEntityFeature(IntFlag):
|
|
|
176
140
|
MEDIA_ANNOUNCE = 1048576
|
|
177
141
|
MEDIA_ENQUEUE = 2097152
|
|
178
142
|
SEARCH_MEDIA = 4194304
|
|
179
|
-
|
|
180
|
-
_DEPRECATED_SUPPORT_PAUSE: Incomplete
|
|
181
|
-
_DEPRECATED_SUPPORT_SEEK: Incomplete
|
|
182
|
-
_DEPRECATED_SUPPORT_VOLUME_SET: Incomplete
|
|
183
|
-
_DEPRECATED_SUPPORT_VOLUME_MUTE: Incomplete
|
|
184
|
-
_DEPRECATED_SUPPORT_PREVIOUS_TRACK: Incomplete
|
|
185
|
-
_DEPRECATED_SUPPORT_NEXT_TRACK: Incomplete
|
|
186
|
-
_DEPRECATED_SUPPORT_TURN_ON: Incomplete
|
|
187
|
-
_DEPRECATED_SUPPORT_TURN_OFF: Incomplete
|
|
188
|
-
_DEPRECATED_SUPPORT_PLAY_MEDIA: Incomplete
|
|
189
|
-
_DEPRECATED_SUPPORT_VOLUME_STEP: Incomplete
|
|
190
|
-
_DEPRECATED_SUPPORT_SELECT_SOURCE: Incomplete
|
|
191
|
-
_DEPRECATED_SUPPORT_STOP: Incomplete
|
|
192
|
-
_DEPRECATED_SUPPORT_CLEAR_PLAYLIST: Incomplete
|
|
193
|
-
_DEPRECATED_SUPPORT_PLAY: Incomplete
|
|
194
|
-
_DEPRECATED_SUPPORT_SHUFFLE_SET: Incomplete
|
|
195
|
-
_DEPRECATED_SUPPORT_SELECT_SOUND_MODE: Incomplete
|
|
196
|
-
_DEPRECATED_SUPPORT_BROWSE_MEDIA: Incomplete
|
|
197
|
-
_DEPRECATED_SUPPORT_REPEAT_SET: Incomplete
|
|
198
|
-
_DEPRECATED_SUPPORT_GROUPING: Incomplete
|
|
199
|
-
__getattr__: Incomplete
|
|
200
|
-
__dir__: Incomplete
|
|
201
|
-
__all__: Incomplete
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
from . import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity
|
|
2
2
|
from .browse_media import SearchMedia as SearchMedia
|
|
3
|
-
from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA
|
|
3
|
+
from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, DOMAIN as DOMAIN, INTENT_MEDIA_NEXT as INTENT_MEDIA_NEXT, INTENT_MEDIA_PAUSE as INTENT_MEDIA_PAUSE, INTENT_MEDIA_PREVIOUS as INTENT_MEDIA_PREVIOUS, INTENT_MEDIA_SEARCH_AND_PLAY as INTENT_MEDIA_SEARCH_AND_PLAY, INTENT_MEDIA_UNPAUSE as INTENT_MEDIA_UNPAUSE, INTENT_PLAYER_MUTE as INTENT_PLAYER_MUTE, INTENT_PLAYER_UNMUTE as INTENT_PLAYER_UNMUTE, INTENT_SET_VOLUME as INTENT_SET_VOLUME, INTENT_SET_VOLUME_RELATIVE as INTENT_SET_VOLUME_RELATIVE, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Iterable
|
|
6
6
|
from dataclasses import dataclass, field
|
|
7
|
-
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_PLAYING as STATE_PLAYING
|
|
7
|
+
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_MUTE as SERVICE_VOLUME_MUTE, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_PLAYING as STATE_PLAYING
|
|
8
8
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
|
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
10
10
|
from homeassistant.helpers import intent as intent
|
|
11
11
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
|
12
12
|
|
|
13
|
-
INTENT_MEDIA_PAUSE: str
|
|
14
|
-
INTENT_MEDIA_UNPAUSE: str
|
|
15
|
-
INTENT_MEDIA_NEXT: str
|
|
16
|
-
INTENT_MEDIA_PREVIOUS: str
|
|
17
|
-
INTENT_SET_VOLUME: str
|
|
18
|
-
INTENT_SET_VOLUME_RELATIVE: str
|
|
19
|
-
INTENT_MEDIA_SEARCH_AND_PLAY: str
|
|
20
13
|
_LOGGER: Incomplete
|
|
21
14
|
|
|
22
15
|
@dataclass
|
|
@@ -40,6 +33,11 @@ class MediaUnpauseHandler(intent.ServiceIntentHandler):
|
|
|
40
33
|
def __init__(self, last_paused: LastPaused) -> None: ...
|
|
41
34
|
async def async_handle_states(self, intent_obj: intent.Intent, match_result: intent.MatchTargetsResult, match_constraints: intent.MatchTargetsConstraints, match_preferences: intent.MatchTargetsPreferences | None = None) -> intent.IntentResponse: ...
|
|
42
35
|
|
|
36
|
+
class MediaPlayerMuteUnmuteHandler(intent.ServiceIntentHandler):
|
|
37
|
+
is_volume_muted: Incomplete
|
|
38
|
+
def __init__(self, is_volume_muted: bool) -> None: ...
|
|
39
|
+
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
|
40
|
+
|
|
43
41
|
class MediaSearchAndPlayHandler(intent.IntentHandler):
|
|
44
42
|
description: str
|
|
45
43
|
intent_type = INTENT_MEDIA_SEARCH_AND_PLAY
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from . import MediaPlayerState as MediaPlayerState
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
|
+
from homeassistant.helpers.trigger import Trigger as Trigger, make_entity_transition_trigger as make_entity_transition_trigger
|
|
5
|
+
|
|
6
|
+
TRIGGERS: dict[str, type[Trigger]]
|
|
7
|
+
|
|
8
|
+
async def async_get_triggers(hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, MEDIA_CLASS_MAP as MEDIA_CLASS_MAP, MEDIA_MIME_TYPES as MEDIA_MIME_TYPES
|
|
2
2
|
from .error import MediaSourceError as MediaSourceError, Unresolvable as Unresolvable
|
|
3
|
+
from .helper import async_browse_media as async_browse_media, async_resolve_media as async_resolve_media
|
|
3
4
|
from .models import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
|
|
4
|
-
from
|
|
5
|
-
from homeassistant.components import websocket_api
|
|
6
|
-
from homeassistant.components.media_player import BrowseMedia
|
|
7
|
-
from homeassistant.core import HomeAssistant, callback
|
|
8
|
-
from homeassistant.helpers.typing import UndefinedType
|
|
9
|
-
from homeassistant.loader import bind_hass
|
|
5
|
+
from homeassistant.core import HomeAssistant
|
|
10
6
|
from typing import Protocol
|
|
11
7
|
|
|
12
8
|
__all__ = ['DOMAIN', 'MEDIA_CLASS_MAP', 'MEDIA_MIME_TYPES', 'BrowseMediaSource', 'MediaSource', 'MediaSourceError', 'MediaSourceItem', 'PlayMedia', 'Unresolvable', 'async_browse_media', 'async_resolve_media', 'generate_media_source_id', 'is_media_source_id']
|
|
@@ -16,7 +12,3 @@ class MediaSourceProtocol(Protocol):
|
|
|
16
12
|
|
|
17
13
|
def is_media_source_id(media_content_id: str) -> bool: ...
|
|
18
14
|
def generate_media_source_id(domain: str, identifier: str) -> str: ...
|
|
19
|
-
@bind_hass
|
|
20
|
-
async def async_browse_media(hass: HomeAssistant, media_content_id: str | None, *, content_filter: Callable[[BrowseMedia], bool] | None = None) -> BrowseMediaSource: ...
|
|
21
|
-
@bind_hass
|
|
22
|
-
async def async_resolve_media(hass: HomeAssistant, media_content_id: str, target_media_player: str | None | UndefinedType = ...) -> PlayMedia: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MEDIA_SOURCE_DATA as MEDIA_SOURCE_DATA
|
|
2
|
+
from .error import UnknownMediaSource as UnknownMediaSource, Unresolvable as Unresolvable
|
|
3
|
+
from .models import BrowseMediaSource as BrowseMediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
|
+
from homeassistant.helpers.frame import report_usage as report_usage
|
|
8
|
+
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
|
9
|
+
from homeassistant.loader import bind_hass as bind_hass
|
|
10
|
+
|
|
11
|
+
@callback
|
|
12
|
+
def _get_media_item(hass: HomeAssistant, media_content_id: str | None, target_media_player: str | None) -> MediaSourceItem: ...
|
|
13
|
+
@bind_hass
|
|
14
|
+
async def async_browse_media(hass: HomeAssistant, media_content_id: str | None, *, content_filter: Callable[[BrowseMedia], bool] | None = None) -> BrowseMediaSource: ...
|
|
15
|
+
@bind_hass
|
|
16
|
+
async def async_resolve_media(hass: HomeAssistant, media_content_id: str, target_media_player: str | None | UndefinedType = ...) -> PlayMedia: ...
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from .error import Unresolvable as Unresolvable
|
|
2
|
+
from .helper import async_browse_media as async_browse_media, async_resolve_media as async_resolve_media
|
|
3
|
+
from homeassistant.components import frontend as frontend, websocket_api as websocket_api
|
|
4
|
+
from homeassistant.components.media_player import ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, BrowseError as BrowseError, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, async_process_play_media_url as async_process_play_media_url
|
|
5
|
+
from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
def async_setup(hass: HomeAssistant) -> None: ...
|
|
10
|
+
@websocket_api.async_response
|
|
11
|
+
async def websocket_browse_media(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
12
|
+
@websocket_api.async_response
|
|
13
|
+
async def websocket_resolve_media(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
@@ -1,41 +1,53 @@
|
|
|
1
|
+
import io
|
|
1
2
|
from .const import DOMAIN as DOMAIN, MEDIA_CLASS_MAP as MEDIA_CLASS_MAP, MEDIA_MIME_TYPES as MEDIA_MIME_TYPES, MEDIA_SOURCE_DATA as MEDIA_SOURCE_DATA
|
|
2
3
|
from .error import Unresolvable as Unresolvable
|
|
3
4
|
from .models import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from aiohttp import web
|
|
6
|
-
from aiohttp.web_request import FileField
|
|
7
7
|
from homeassistant.components import http as http, websocket_api as websocket_api
|
|
8
8
|
from homeassistant.components.http import require_admin as require_admin
|
|
9
9
|
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
11
12
|
from homeassistant.util import raise_if_invalid_filename as raise_if_invalid_filename, raise_if_invalid_path as raise_if_invalid_path
|
|
12
13
|
from pathlib import Path
|
|
13
|
-
from typing import Any
|
|
14
|
+
from typing import Any, Protocol
|
|
14
15
|
|
|
15
16
|
MAX_UPLOAD_SIZE: Incomplete
|
|
16
17
|
LOGGER: Incomplete
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
class PathNotSupportedError(HomeAssistantError): ...
|
|
20
|
+
class InvalidFileNameError(HomeAssistantError): ...
|
|
21
|
+
|
|
22
|
+
class UploadedFile(Protocol):
|
|
23
|
+
filename: str
|
|
24
|
+
file: io.IOBase
|
|
25
|
+
content_type: str
|
|
26
|
+
|
|
27
|
+
async def async_get_media_source(hass: HomeAssistant) -> LocalSource: ...
|
|
20
28
|
|
|
21
29
|
class LocalSource(MediaSource):
|
|
22
|
-
name: str
|
|
23
30
|
hass: Incomplete
|
|
24
|
-
|
|
31
|
+
name: Incomplete
|
|
32
|
+
media_dirs: Incomplete
|
|
33
|
+
url_prefix: Incomplete
|
|
34
|
+
def __init__(self, hass: HomeAssistant, domain: str, name: str, media_dirs: dict[str, str], url_prefix: str) -> None: ...
|
|
25
35
|
@callback
|
|
26
36
|
def async_full_path(self, source_dir_id: str, location: str) -> Path: ...
|
|
27
37
|
@callback
|
|
28
38
|
def async_parse_identifier(self, item: MediaSourceItem) -> tuple[str, str]: ...
|
|
39
|
+
async def async_delete_media(self, item: MediaSourceItem) -> None: ...
|
|
40
|
+
async def async_upload_media(self, target_folder: MediaSourceItem, uploaded_file: UploadedFile) -> str: ...
|
|
29
41
|
async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
|
|
30
42
|
async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
|
|
31
43
|
def _browse_media(self, source_dir_id: str | None, location: str) -> BrowseMediaSource: ...
|
|
32
44
|
def _build_item_response(self, source_dir_id: str, path: Path, is_child: bool = False) -> BrowseMediaSource | None: ...
|
|
33
45
|
|
|
34
46
|
class LocalMediaView(http.HomeAssistantView):
|
|
35
|
-
url: str
|
|
36
47
|
name: str
|
|
37
48
|
hass: Incomplete
|
|
38
49
|
source: Incomplete
|
|
50
|
+
url: Incomplete
|
|
39
51
|
def __init__(self, hass: HomeAssistant, source: LocalSource) -> None: ...
|
|
40
52
|
async def _validate_media_path(self, source_dir_id: str, location: str) -> Path: ...
|
|
41
53
|
async def head(self, request: web.Request, source_dir_id: str, location: str) -> None: ...
|
|
@@ -44,13 +56,9 @@ class LocalMediaView(http.HomeAssistantView):
|
|
|
44
56
|
class UploadMediaView(http.HomeAssistantView):
|
|
45
57
|
url: str
|
|
46
58
|
name: str
|
|
47
|
-
hass: Incomplete
|
|
48
|
-
source: Incomplete
|
|
49
59
|
schema: Incomplete
|
|
50
|
-
def __init__(self, hass: HomeAssistant, source: LocalSource) -> None: ...
|
|
51
60
|
@require_admin
|
|
52
61
|
async def post(self, request: web.Request) -> web.Response: ...
|
|
53
|
-
def _move_file(self, target_dir: Path, uploaded_file: FileField) -> None: ...
|
|
54
62
|
|
|
55
63
|
@websocket_api.require_admin
|
|
56
64
|
@websocket_api.async_response
|
|
@@ -3,6 +3,7 @@ from _typeshed import Incomplete
|
|
|
3
3
|
from dataclasses import dataclass, field
|
|
4
4
|
from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaType as MediaType
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
|
+
from homeassistant.helpers.translation import async_get_cached_translations as async_get_cached_translations
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR
|
|
2
2
|
from .helpers import fetch_data as fetch_data
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
+
from datapoint.Forecast import Forecast as Forecast
|
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
6
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, Platform as Platform
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import datapoint
|
|
2
1
|
from _typeshed import Incomplete
|
|
3
2
|
from datapoint.Forecast import Forecast as Forecast
|
|
3
|
+
from datapoint.Manager import Manager as Manager
|
|
4
4
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
|
5
5
|
from homeassistant.helpers.update_coordinator import UpdateFailed as UpdateFailed
|
|
6
6
|
from typing import Any, Literal
|
|
7
7
|
|
|
8
8
|
_LOGGER: Incomplete
|
|
9
9
|
|
|
10
|
-
def fetch_data(connection:
|
|
10
|
+
def fetch_data(connection: Manager, latitude: float, longitude: float, frequency: Literal['daily', 'twice-daily', 'hourly']) -> Forecast: ...
|
|
11
11
|
def get_attribute(data: dict[str, Any] | None, attr_name: str) -> Any | None: ...
|
|
@@ -6,7 +6,7 @@ from dataclasses import dataclass
|
|
|
6
6
|
from datapoint.Forecast import Forecast
|
|
7
7
|
from homeassistant.components.sensor import EntityCategory as EntityCategory, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
|
-
from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
9
|
+
from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
12
|
from homeassistant.helpers.typing import StateType as StateType
|
|
@@ -2,8 +2,8 @@ from . import get_device_info as get_device_info
|
|
|
2
2
|
from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DAILY_FORECAST_ATTRIBUTE_MAP as DAILY_FORECAST_ATTRIBUTE_MAP, DAY_FORECAST_ATTRIBUTE_MAP as DAY_FORECAST_ATTRIBUTE_MAP, DOMAIN as DOMAIN, HOURLY_FORECAST_ATTRIBUTE_MAP as HOURLY_FORECAST_ATTRIBUTE_MAP, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR, NIGHT_FORECAST_ATTRIBUTE_MAP as NIGHT_FORECAST_ATTRIBUTE_MAP
|
|
3
3
|
from .helpers import get_attribute as get_attribute
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from datapoint.Forecast import Forecast
|
|
6
|
-
from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as
|
|
5
|
+
from datapoint.Forecast import Forecast
|
|
6
|
+
from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as WeatherForecast, WeatherEntityFeature as WeatherEntityFeature
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
@@ -12,12 +12,12 @@ from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordina
|
|
|
12
12
|
from typing import Any
|
|
13
13
|
|
|
14
14
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
|
-
def _build_hourly_forecast_data(timestep: dict[str, Any]) ->
|
|
16
|
-
def _build_daily_forecast_data(timestep: dict[str, Any]) ->
|
|
17
|
-
def _build_twice_daily_forecast_data(timestep: dict[str, Any]) ->
|
|
18
|
-
def _populate_forecast_data(forecast:
|
|
15
|
+
def _build_hourly_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
|
|
16
|
+
def _build_daily_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
|
|
17
|
+
def _build_twice_daily_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
|
|
18
|
+
def _populate_forecast_data(forecast: WeatherForecast, timestep: dict[str, Any], mapping: dict[str, str]) -> None: ...
|
|
19
19
|
|
|
20
|
-
class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[
|
|
20
|
+
class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[Forecast], TimestampDataUpdateCoordinator[Forecast], TimestampDataUpdateCoordinator[Forecast]]):
|
|
21
21
|
_attr_attribution = ATTRIBUTION
|
|
22
22
|
_attr_has_entity_name: bool
|
|
23
23
|
_attr_name: Incomplete
|
|
@@ -29,7 +29,7 @@ class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[F
|
|
|
29
29
|
_attr_supported_features: Incomplete
|
|
30
30
|
_attr_device_info: Incomplete
|
|
31
31
|
_attr_unique_id: Incomplete
|
|
32
|
-
def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[
|
|
32
|
+
def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[Forecast], coordinator_hourly: TimestampDataUpdateCoordinator[Forecast], coordinator_twice_daily: TimestampDataUpdateCoordinator[Forecast], hass_data: dict[str, Any]) -> None: ...
|
|
33
33
|
@property
|
|
34
34
|
def condition(self) -> str | None: ...
|
|
35
35
|
@property
|
|
@@ -49,8 +49,8 @@ class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[F
|
|
|
49
49
|
@property
|
|
50
50
|
def wind_bearing(self) -> float | None: ...
|
|
51
51
|
@callback
|
|
52
|
-
def _async_forecast_daily(self) -> list[
|
|
52
|
+
def _async_forecast_daily(self) -> list[WeatherForecast] | None: ...
|
|
53
53
|
@callback
|
|
54
|
-
def _async_forecast_hourly(self) -> list[
|
|
54
|
+
def _async_forecast_hourly(self) -> list[WeatherForecast] | None: ...
|
|
55
55
|
@callback
|
|
56
|
-
def _async_forecast_twice_daily(self) -> list[
|
|
56
|
+
def _async_forecast_twice_daily(self) -> list[WeatherForecast] | None: ...
|
|
@@ -8,7 +8,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
|
8
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
|
9
9
|
from homeassistant.helpers import device_registry as dr
|
|
10
10
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
11
|
-
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
|
11
|
+
from homeassistant.helpers.config_entry_oauth2_flow import ImplementationUnavailableError as ImplementationUnavailableError, OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
|
12
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
13
13
|
|
|
14
14
|
PLATFORMS: list[Platform]
|
|
@@ -10,12 +10,14 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
|
10
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
12
|
from homeassistant.helpers.typing import StateType as StateType
|
|
13
|
-
from pymiele import MieleDevice as MieleDevice
|
|
13
|
+
from pymiele import MieleDevice as MieleDevice, MieleTemperature as MieleTemperature
|
|
14
14
|
from typing import Any, Final
|
|
15
15
|
|
|
16
16
|
PARALLEL_UPDATES: int
|
|
17
17
|
_LOGGER: Incomplete
|
|
18
18
|
|
|
19
|
+
def _get_temperature_value(temperatures: list[MieleTemperature], index: int) -> float | None: ...
|
|
20
|
+
|
|
19
21
|
@dataclass(frozen=True, kw_only=True)
|
|
20
22
|
class MieleClimateDescription(ClimateEntityDescription):
|
|
21
23
|
value_fn: Callable[[MieleDevice], StateType]
|