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
|
@@ -4,24 +4,30 @@ from homeassistant.components.media_player import MediaPlayerState as MediaPlaye
|
|
|
4
4
|
from mozart_api.models import Source, SourceArray
|
|
5
5
|
from typing import Final
|
|
6
6
|
|
|
7
|
-
class
|
|
7
|
+
class BeoSource:
|
|
8
|
+
DEEZER: Final[Source]
|
|
8
9
|
LINE_IN: Final[Source]
|
|
10
|
+
NET_RADIO: Final[Source]
|
|
9
11
|
SPDIF: Final[Source]
|
|
12
|
+
TIDAL: Final[Source]
|
|
13
|
+
TV: Final[Source]
|
|
14
|
+
UNKNOWN: Final[Source]
|
|
10
15
|
URI_STREAMER: Final[Source]
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
BEO_STATES: dict[str, MediaPlayerState]
|
|
18
|
+
BEO_REPEAT_FROM_HA: dict[RepeatMode, str]
|
|
19
|
+
BEO_REPEAT_TO_HA: dict[str, RepeatMode]
|
|
15
20
|
|
|
16
|
-
class
|
|
17
|
-
FAVOURITE = 'favourite'
|
|
21
|
+
class BeoMediaType(StrEnum):
|
|
18
22
|
DEEZER = 'deezer'
|
|
23
|
+
FAVOURITE = 'favourite'
|
|
24
|
+
OVERLAY_TTS = 'overlay_tts'
|
|
19
25
|
RADIO = 'radio'
|
|
20
26
|
TIDAL = 'tidal'
|
|
21
27
|
TTS = 'provider'
|
|
22
|
-
|
|
28
|
+
TV = 'tv'
|
|
23
29
|
|
|
24
|
-
class
|
|
30
|
+
class BeoModel(StrEnum):
|
|
25
31
|
BEOCONNECT_CORE = 'Beoconnect Core'
|
|
26
32
|
BEOLAB_8 = 'BeoLab 8'
|
|
27
33
|
BEOLAB_28 = 'BeoLab 28'
|
|
@@ -31,10 +37,32 @@ class BangOlufsenModel(StrEnum):
|
|
|
31
37
|
BEOSOUND_BALANCE = 'Beosound Balance'
|
|
32
38
|
BEOSOUND_EMERGE = 'Beosound Emerge'
|
|
33
39
|
BEOSOUND_LEVEL = 'Beosound Level'
|
|
40
|
+
BEOSOUND_PREMIERE = 'Beosound Premiere'
|
|
34
41
|
BEOSOUND_THEATRE = 'Beosound Theatre'
|
|
42
|
+
BEOREMOTE_ONE = 'Beoremote One'
|
|
43
|
+
|
|
44
|
+
class BeoAttribute(StrEnum):
|
|
45
|
+
BEOLINK = 'beolink'
|
|
46
|
+
BEOLINK_PEERS = 'peers'
|
|
47
|
+
BEOLINK_SELF = 'self'
|
|
48
|
+
BEOLINK_LEADER = 'leader'
|
|
49
|
+
BEOLINK_LISTENERS = 'listeners'
|
|
50
|
+
|
|
51
|
+
class BeoButtons(StrEnum):
|
|
52
|
+
BLUETOOTH = 'Bluetooth'
|
|
53
|
+
MICROPHONE = 'Microphone'
|
|
54
|
+
NEXT = 'Next'
|
|
55
|
+
PLAY_PAUSE = 'PlayPause'
|
|
56
|
+
PRESET_1 = 'Preset1'
|
|
57
|
+
PRESET_2 = 'Preset2'
|
|
58
|
+
PRESET_3 = 'Preset3'
|
|
59
|
+
PRESET_4 = 'Preset4'
|
|
60
|
+
PREVIOUS = 'Previous'
|
|
61
|
+
VOLUME = 'Volume'
|
|
35
62
|
|
|
36
63
|
class WebsocketNotification(StrEnum):
|
|
37
64
|
ACTIVE_LISTENING_MODE = 'active_listening_mode'
|
|
65
|
+
BEO_REMOTE_BUTTON = 'beo_remote_button'
|
|
38
66
|
BUTTON = 'button'
|
|
39
67
|
PLAYBACK_ERROR = 'playback_error'
|
|
40
68
|
PLAYBACK_METADATA = 'playback_metadata'
|
|
@@ -50,6 +78,7 @@ class WebsocketNotification(StrEnum):
|
|
|
50
78
|
BEOLINK_AVAILABLE_LISTENERS = 'beolinkAvailableListeners'
|
|
51
79
|
CONFIGURATION = 'configuration'
|
|
52
80
|
NOTIFICATION = 'notification'
|
|
81
|
+
REMOTE_CONTROL_DEVICES = 'remoteControlDevices'
|
|
53
82
|
REMOTE_MENU_CHANGED = 'remoteMenuChanged'
|
|
54
83
|
ALL = 'all'
|
|
55
84
|
|
|
@@ -57,20 +86,24 @@ DOMAIN: Final[str]
|
|
|
57
86
|
DEFAULT_MODEL: Final[str]
|
|
58
87
|
CONF_SERIAL_NUMBER: Final[str]
|
|
59
88
|
CONF_BEOLINK_JID: Final[str]
|
|
60
|
-
|
|
89
|
+
SELECTABLE_MODELS: list[str]
|
|
90
|
+
MANUFACTURER: Final[str]
|
|
61
91
|
ATTR_TYPE_NUMBER: Final[str]
|
|
62
92
|
ATTR_SERIAL_NUMBER: Final[str]
|
|
63
93
|
ATTR_ITEM_NUMBER: Final[str]
|
|
64
94
|
ATTR_FRIENDLY_NAME: Final[str]
|
|
65
|
-
|
|
95
|
+
BEO_ON: Final[str]
|
|
66
96
|
VALID_MEDIA_TYPES: Final[tuple]
|
|
67
97
|
FALLBACK_SOURCES: Final[SourceArray]
|
|
68
|
-
|
|
69
|
-
MODEL_SUPPORT_MAP: Incomplete
|
|
70
|
-
BANG_OLUFSEN_WEBSOCKET_EVENT: Final[str]
|
|
98
|
+
BEO_WEBSOCKET_EVENT: Final[str]
|
|
71
99
|
EVENT_TRANSLATION_MAP: dict[str, str]
|
|
72
100
|
CONNECTION_STATUS: Final[str]
|
|
73
101
|
DEVICE_BUTTONS: Final[list[str]]
|
|
74
102
|
DEVICE_BUTTON_EVENTS: Final[list[str]]
|
|
103
|
+
BEO_REMOTE_SUBMENU_CONTROL: Final[str]
|
|
104
|
+
BEO_REMOTE_SUBMENU_LIGHT: Final[str]
|
|
105
|
+
BEO_REMOTE_KEYS: Final[tuple[str, ...]]
|
|
106
|
+
BEO_REMOTE_CONTROL_KEYS: Final[tuple[str, ...]]
|
|
107
|
+
BEO_REMOTE_KEY_EVENTS: Final[list[str]]
|
|
75
108
|
BEOLINK_JOIN_SOURCES_TO_UPPER: Incomplete
|
|
76
109
|
BEOLINK_JOIN_SOURCES: Incomplete
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
from . import
|
|
2
|
-
from .const import
|
|
1
|
+
from . import BeoConfigEntry as BeoConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from .util import get_device_buttons as get_device_buttons, get_remote_keys as get_remote_keys, get_remotes as get_remotes
|
|
4
|
+
from homeassistant.const import CONF_MODEL as CONF_MODEL
|
|
3
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
6
|
from typing import Any
|
|
5
7
|
|
|
6
|
-
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry:
|
|
8
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: BeoConfigEntry) -> dict[str, Any]: ...
|
|
@@ -8,7 +8,7 @@ from homeassistant.helpers.entity import Entity as Entity
|
|
|
8
8
|
from mozart_api.models import PlaybackContentMetadata, PlaybackProgress, RenderingState, Source, VolumeState
|
|
9
9
|
from mozart_api.mozart_client import MozartClient as MozartClient
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class BeoBase:
|
|
12
12
|
_client: Incomplete
|
|
13
13
|
entry: ConfigEntry
|
|
14
14
|
_host: str
|
|
@@ -21,7 +21,7 @@ class BangOlufsenBase:
|
|
|
21
21
|
_volume: VolumeState
|
|
22
22
|
def __init__(self, entry: ConfigEntry, client: MozartClient) -> None: ...
|
|
23
23
|
|
|
24
|
-
class
|
|
24
|
+
class BeoEntity(Entity, BeoBase):
|
|
25
25
|
_attr_has_entity_name: bool
|
|
26
26
|
_attr_should_poll: bool
|
|
27
27
|
_attr_device_info: Incomplete
|
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
from . import
|
|
2
|
-
from .const import
|
|
3
|
-
from .entity import
|
|
1
|
+
from . import BeoConfigEntry as BeoConfigEntry
|
|
2
|
+
from .const import BEO_REMOTE_KEY_EVENTS as BEO_REMOTE_KEY_EVENTS, BeoModel as BeoModel, CONNECTION_STATUS as CONNECTION_STATUS, DEVICE_BUTTON_EVENTS as DEVICE_BUTTON_EVENTS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, WebsocketNotification as WebsocketNotification
|
|
3
|
+
from .entity import BeoEntity as BeoEntity
|
|
4
|
+
from .util import get_device_buttons as get_device_buttons, get_remote_keys as get_remote_keys, get_remotes as get_remotes
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
|
|
6
7
|
from homeassistant.const import CONF_MODEL as CONF_MODEL
|
|
7
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
9
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
8
10
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
9
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
+
from mozart_api.models import PairedRemote as PairedRemote
|
|
10
13
|
|
|
11
14
|
PARALLEL_UPDATES: int
|
|
12
15
|
|
|
13
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: BeoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
14
17
|
|
|
15
|
-
class
|
|
18
|
+
class BeoEvent(BeoEntity, EventEntity):
|
|
16
19
|
_attr_device_class: Incomplete
|
|
17
20
|
_attr_entity_registry_enabled_default: bool
|
|
21
|
+
def __init__(self, config_entry: BeoConfigEntry) -> None: ...
|
|
22
|
+
@callback
|
|
23
|
+
def _async_handle_event(self, event: str) -> None: ...
|
|
24
|
+
|
|
25
|
+
class BeoButtonEvent(BeoEvent):
|
|
18
26
|
_attr_event_types = DEVICE_BUTTON_EVENTS
|
|
19
27
|
_attr_unique_id: Incomplete
|
|
20
28
|
_attr_translation_key: Incomplete
|
|
21
29
|
_button_type: Incomplete
|
|
22
|
-
def __init__(self, config_entry:
|
|
30
|
+
def __init__(self, config_entry: BeoConfigEntry, button_type: str) -> None: ...
|
|
31
|
+
async def async_added_to_hass(self) -> None: ...
|
|
32
|
+
|
|
33
|
+
class BeoRemoteKeyEvent(BeoEvent):
|
|
34
|
+
_attr_event_types = BEO_REMOTE_KEY_EVENTS
|
|
35
|
+
_attr_unique_id: Incomplete
|
|
36
|
+
_attr_device_info: Incomplete
|
|
37
|
+
_attr_translation_key: Incomplete
|
|
38
|
+
_key_type: Incomplete
|
|
39
|
+
def __init__(self, config_entry: BeoConfigEntry, remote: PairedRemote, key_type: str) -> None: ...
|
|
23
40
|
async def async_added_to_hass(self) -> None: ...
|
|
24
|
-
@callback
|
|
25
|
-
def _async_handle_event(self, event: str) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from . import
|
|
2
|
-
from .const import
|
|
3
|
-
from .entity import
|
|
1
|
+
from . import BeoConfigEntry as BeoConfigEntry
|
|
2
|
+
from .const import BEOLINK_JOIN_SOURCES as BEOLINK_JOIN_SOURCES, BEOLINK_JOIN_SOURCES_TO_UPPER as BEOLINK_JOIN_SOURCES_TO_UPPER, BEO_REPEAT_FROM_HA as BEO_REPEAT_FROM_HA, BEO_REPEAT_TO_HA as BEO_REPEAT_TO_HA, BEO_STATES as BEO_STATES, BeoAttribute as BeoAttribute, BeoMediaType as BeoMediaType, BeoSource as BeoSource, CONF_BEOLINK_JID as CONF_BEOLINK_JID, CONNECTION_STATUS as CONNECTION_STATUS, DOMAIN as DOMAIN, FALLBACK_SOURCES as FALLBACK_SOURCES, MANUFACTURER as MANUFACTURER, VALID_MEDIA_TYPES as VALID_MEDIA_TYPES, WebsocketNotification as WebsocketNotification
|
|
3
|
+
from .entity import BeoEntity as BeoEntity
|
|
4
4
|
from .util import get_serial_number_from_jid as get_serial_number_from_jid
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable
|
|
@@ -21,11 +21,11 @@ from typing import Any
|
|
|
21
21
|
PARALLEL_UPDATES: int
|
|
22
22
|
SCAN_INTERVAL: Incomplete
|
|
23
23
|
_LOGGER: Incomplete
|
|
24
|
-
|
|
24
|
+
BEO_FEATURES: Incomplete
|
|
25
25
|
|
|
26
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
|
26
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: BeoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
27
27
|
|
|
28
|
-
class
|
|
28
|
+
class BeoMediaPlayer(BeoEntity, MediaPlayerEntity):
|
|
29
29
|
_attr_name: Incomplete
|
|
30
30
|
_attr_device_class: Incomplete
|
|
31
31
|
_beolink_jid: str
|
|
@@ -39,17 +39,13 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
|
39
39
|
_sources: dict[str, str]
|
|
40
40
|
_state: str
|
|
41
41
|
_video_sources: dict[str, str]
|
|
42
|
+
_video_source_id_map: dict[str, str]
|
|
42
43
|
_sound_modes: dict[str, int]
|
|
43
44
|
_beolink_sources: dict[str, bool]
|
|
44
45
|
_remote_leader: BeolinkLeader | None
|
|
45
46
|
_beolink_attributes: dict[str, dict[str, dict[str, str]]]
|
|
46
47
|
def __init__(self, entry: ConfigEntry, client: MozartClient) -> None: ...
|
|
47
48
|
async def async_added_to_hass(self) -> None: ...
|
|
48
|
-
_volume: Incomplete
|
|
49
|
-
_playback_metadata: Incomplete
|
|
50
|
-
_playback_progress: Incomplete
|
|
51
|
-
_source_change: Incomplete
|
|
52
|
-
_playback_state: Incomplete
|
|
53
49
|
_attr_media_position_updated_at: Incomplete
|
|
54
50
|
async def _initialize(self) -> None: ...
|
|
55
51
|
_attr_repeat: Incomplete
|
|
@@ -57,15 +53,20 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
|
57
53
|
async def async_update(self) -> None: ...
|
|
58
54
|
_attr_source_list: Incomplete
|
|
59
55
|
async def _async_update_sources(self, _: Source | None = None) -> None: ...
|
|
56
|
+
_playback_metadata: Incomplete
|
|
60
57
|
async def _async_update_playback_metadata_and_beolink(self, data: PlaybackContentMetadata) -> None: ...
|
|
61
58
|
@callback
|
|
62
59
|
def _async_update_playback_error(self, data: PlaybackError) -> None: ...
|
|
60
|
+
_playback_progress: Incomplete
|
|
63
61
|
@callback
|
|
64
62
|
def _async_update_playback_progress(self, data: PlaybackProgress) -> None: ...
|
|
63
|
+
_playback_state: Incomplete
|
|
65
64
|
@callback
|
|
66
65
|
def _async_update_playback_state(self, data: RenderingState) -> None: ...
|
|
66
|
+
_source_change: Incomplete
|
|
67
67
|
@callback
|
|
68
68
|
def _async_update_source_change(self, data: Source) -> None: ...
|
|
69
|
+
_volume: Incomplete
|
|
69
70
|
@callback
|
|
70
71
|
def _async_update_volume(self, data: VolumeState) -> None: ...
|
|
71
72
|
async def _async_update_name_and_beolink(self) -> None: ...
|
|
@@ -85,12 +86,14 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
|
85
86
|
@property
|
|
86
87
|
def is_volume_muted(self) -> bool | None: ...
|
|
87
88
|
@property
|
|
88
|
-
def media_content_type(self) -> str: ...
|
|
89
|
+
def media_content_type(self) -> MediaType | str | None: ...
|
|
89
90
|
@property
|
|
90
91
|
def media_duration(self) -> int | None: ...
|
|
91
92
|
@property
|
|
92
93
|
def media_position(self) -> int | None: ...
|
|
93
94
|
@property
|
|
95
|
+
def media_content_id(self) -> str | None: ...
|
|
96
|
+
@property
|
|
94
97
|
def media_image_url(self) -> str | None: ...
|
|
95
98
|
@property
|
|
96
99
|
def media_image_remotely_accessible(self) -> bool: ...
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
1
|
+
from .const import BEO_REMOTE_CONTROL_KEYS as BEO_REMOTE_CONTROL_KEYS, BEO_REMOTE_KEYS as BEO_REMOTE_KEYS, BEO_REMOTE_SUBMENU_CONTROL as BEO_REMOTE_SUBMENU_CONTROL, BEO_REMOTE_SUBMENU_LIGHT as BEO_REMOTE_SUBMENU_LIGHT, BeoButtons as BeoButtons, BeoModel as BeoModel, DEVICE_BUTTONS as DEVICE_BUTTONS, DOMAIN as DOMAIN
|
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
3
|
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
|
4
|
+
from mozart_api.models import PairedRemote
|
|
5
|
+
from mozart_api.mozart_client import MozartClient as MozartClient
|
|
4
6
|
|
|
5
7
|
def get_device(hass: HomeAssistant, unique_id: str) -> DeviceEntry: ...
|
|
6
8
|
def get_serial_number_from_jid(jid: str) -> str: ...
|
|
9
|
+
async def get_remotes(client: MozartClient) -> list[PairedRemote]: ...
|
|
10
|
+
def get_device_buttons(model: BeoModel) -> list[str]: ...
|
|
11
|
+
def get_remote_keys() -> list[str]: ...
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
from .const import
|
|
2
|
-
from .entity import
|
|
3
|
-
from .util import get_device as get_device
|
|
1
|
+
from .const import BEO_WEBSOCKET_EVENT as BEO_WEBSOCKET_EVENT, BeoModel as BeoModel, CONNECTION_STATUS as CONNECTION_STATUS, DOMAIN as DOMAIN, EVENT_TRANSLATION_MAP as EVENT_TRANSLATION_MAP, WebsocketNotification as WebsocketNotification
|
|
2
|
+
from .entity import BeoBase as BeoBase
|
|
3
|
+
from .util import get_device as get_device, get_remotes as get_remotes
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
|
8
8
|
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
|
9
|
-
from mozart_api.models import ButtonEvent as ButtonEvent, ListeningModeProps as ListeningModeProps, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
|
|
9
|
+
from mozart_api.models import BeoRemoteButton as BeoRemoteButton, ButtonEvent as ButtonEvent, ListeningModeProps as ListeningModeProps, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
|
|
10
10
|
from mozart_api.mozart_client import BaseWebSocketResponse as BaseWebSocketResponse, MozartClient as MozartClient
|
|
11
11
|
|
|
12
12
|
_LOGGER: Incomplete
|
|
13
13
|
|
|
14
|
-
class
|
|
14
|
+
class BeoWebsocket(BeoBase):
|
|
15
15
|
hass: Incomplete
|
|
16
16
|
_device: Incomplete
|
|
17
17
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry, client: MozartClient) -> None: ...
|
|
@@ -19,8 +19,9 @@ class BangOlufsenWebsocket(BangOlufsenBase):
|
|
|
19
19
|
def on_connection(self) -> None: ...
|
|
20
20
|
def on_connection_lost(self) -> None: ...
|
|
21
21
|
def on_active_listening_mode(self, notification: ListeningModeProps) -> None: ...
|
|
22
|
+
def on_beo_remote_button_notification(self, notification: BeoRemoteButton) -> None: ...
|
|
22
23
|
def on_button_notification(self, notification: ButtonEvent) -> None: ...
|
|
23
|
-
def on_notification_notification(self, notification: WebsocketNotificationTag) -> None: ...
|
|
24
|
+
async def on_notification_notification(self, notification: WebsocketNotificationTag) -> None: ...
|
|
24
25
|
def on_playback_error_notification(self, notification: PlaybackError) -> None: ...
|
|
25
26
|
def on_playback_metadata_notification(self, notification: PlaybackContentMetadata) -> None: ...
|
|
26
27
|
def on_playback_progress_notification(self, notification: PlaybackProgress) -> None: ...
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from . import BinarySensorDeviceClass as BinarySensorDeviceClass, DOMAIN as DOMAIN
|
|
2
|
+
from homeassistant.const import STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
5
|
+
from homeassistant.helpers.entity import get_device_class as get_device_class
|
|
6
|
+
from homeassistant.helpers.trigger import EntityTargetStateTriggerBase as EntityTargetStateTriggerBase, Trigger as Trigger
|
|
7
|
+
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
|
8
|
+
|
|
9
|
+
def get_device_class_or_undefined(hass: HomeAssistant, entity_id: str) -> str | None | UndefinedType: ...
|
|
10
|
+
|
|
11
|
+
class BinarySensorOnOffTrigger(EntityTargetStateTriggerBase):
|
|
12
|
+
_device_class: BinarySensorDeviceClass | None
|
|
13
|
+
_domain: str
|
|
14
|
+
def entity_filter(self, entities: set[str]) -> set[str]: ...
|
|
15
|
+
|
|
16
|
+
def make_binary_sensor_trigger(device_class: BinarySensorDeviceClass | None, to_state: str) -> type[BinarySensorOnOffTrigger]: ...
|
|
17
|
+
|
|
18
|
+
TRIGGERS: dict[str, type[Trigger]]
|
|
19
|
+
|
|
20
|
+
async def async_get_triggers(hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .const import CHARGEPOINT_SETTINGS as CHARGEPOINT_SETTINGS, CHARGEPOINT_STATUS as CHARGEPOINT_STATUS, DOMAIN as DOMAIN, EVSE_ID as EVSE_ID, LOGGER as LOGGER, PLUG_AND_CHARGE as PLUG_AND_CHARGE, VALUE as VALUE
|
|
2
|
+
from .services import async_setup_services as async_setup_services
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from bluecurrent_api import Client
|
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
@@ -6,17 +7,21 @@ from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, Platform as Pl
|
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
|
8
9
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
|
10
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
9
11
|
from typing import Any
|
|
10
12
|
|
|
11
13
|
type BlueCurrentConfigEntry = ConfigEntry[Connector]
|
|
12
14
|
PLATFORMS: Incomplete
|
|
13
15
|
CHARGE_POINTS: str
|
|
16
|
+
CHARGE_CARDS: str
|
|
14
17
|
DATA: str
|
|
15
18
|
DELAY: int
|
|
16
19
|
GRID: str
|
|
17
20
|
OBJECT: str
|
|
18
21
|
VALUE_TYPES: Incomplete
|
|
22
|
+
CONFIG_SCHEMA: Incomplete
|
|
19
23
|
|
|
24
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
20
25
|
async def async_setup_entry(hass: HomeAssistant, config_entry: BlueCurrentConfigEntry) -> bool: ...
|
|
21
26
|
async def async_unload_entry(hass: HomeAssistant, config_entry: BlueCurrentConfigEntry) -> bool: ...
|
|
22
27
|
|
|
@@ -26,6 +31,7 @@ class Connector:
|
|
|
26
31
|
client: Incomplete
|
|
27
32
|
charge_points: dict[str, dict]
|
|
28
33
|
grid: dict[str, Any]
|
|
34
|
+
charge_cards: dict[str, dict[str, Any]]
|
|
29
35
|
def __init__(self, hass: HomeAssistant, config: BlueCurrentConfigEntry, client: Client) -> None: ...
|
|
30
36
|
async def on_data(self, message: dict) -> None: ...
|
|
31
37
|
async def handle_charge_point_data(self, charge_points_data: list) -> None: ...
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from .const import BCU_APP as BCU_APP, CHARGING_CARD_ID as CHARGING_CARD_ID, DOMAIN as DOMAIN, SERVICE_START_CHARGE_SESSION as SERVICE_START_CHARGE_SESSION
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
|
4
|
+
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
|
6
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
7
|
+
|
|
8
|
+
SERVICE_START_CHARGE_SESSION_SCHEMA: Incomplete
|
|
9
|
+
|
|
10
|
+
async def start_charge_session(service_call: ServiceCall) -> None: ...
|
|
11
|
+
@callback
|
|
12
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
1
|
+
from .const import ATTR_MASTER as ATTR_MASTER, DOMAIN as DOMAIN, SERVICE_CLEAR_TIMER as SERVICE_CLEAR_TIMER, SERVICE_JOIN as SERVICE_JOIN, SERVICE_SET_TIMER as SERVICE_SET_TIMER, SERVICE_UNJOIN as SERVICE_UNJOIN
|
|
2
2
|
from .coordinator import BluesoundConfigEntry as BluesoundConfigEntry, BluesoundCoordinator as BluesoundCoordinator, BluesoundRuntimeData as BluesoundRuntimeData
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
8
|
+
from homeassistant.helpers import service as service
|
|
8
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
9
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
10
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from . import BluesoundConfigEntry as BluesoundConfigEntry
|
|
2
|
-
from .const import ATTR_BLUESOUND_GROUP as ATTR_BLUESOUND_GROUP, ATTR_MASTER as ATTR_MASTER, DOMAIN as DOMAIN
|
|
2
|
+
from .const import ATTR_BLUESOUND_GROUP as ATTR_BLUESOUND_GROUP, ATTR_MASTER as ATTR_MASTER, DOMAIN as DOMAIN, SERVICE_CLEAR_TIMER as SERVICE_CLEAR_TIMER, SERVICE_JOIN as SERVICE_JOIN, SERVICE_SET_TIMER as SERVICE_SET_TIMER, SERVICE_UNJOIN as SERVICE_UNJOIN
|
|
3
3
|
from .coordinator import BluesoundCoordinator as BluesoundCoordinator
|
|
4
|
-
from .utils import dispatcher_join_signal as dispatcher_join_signal, dispatcher_unjoin_signal as dispatcher_unjoin_signal, format_unique_id as format_unique_id
|
|
4
|
+
from .utils import dispatcher_join_signal as dispatcher_join_signal, dispatcher_unjoin_signal as dispatcher_unjoin_signal, format_unique_id as format_unique_id, id_to_paired_player as id_to_paired_player
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from asyncio import Task
|
|
7
7
|
from datetime import datetime
|
|
@@ -10,7 +10,6 @@ from homeassistant.components.media_player import BrowseMedia as BrowseMedia, Me
|
|
|
10
10
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
12
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
13
|
-
from homeassistant.helpers import entity_platform as entity_platform
|
|
14
13
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
|
|
15
14
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
|
|
16
15
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
@@ -23,10 +22,6 @@ _LOGGER: Incomplete
|
|
|
23
22
|
SCAN_INTERVAL: Incomplete
|
|
24
23
|
DATA_BLUESOUND = DOMAIN
|
|
25
24
|
DEFAULT_PORT: int
|
|
26
|
-
SERVICE_CLEAR_TIMER: str
|
|
27
|
-
SERVICE_JOIN: str
|
|
28
|
-
SERVICE_SET_TIMER: str
|
|
29
|
-
SERVICE_UNJOIN: str
|
|
30
25
|
POLL_TIMEOUT: int
|
|
31
26
|
|
|
32
27
|
async def async_setup_entry(hass: HomeAssistant, config_entry: BluesoundConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -47,6 +42,7 @@ class BluesoundPlayer(CoordinatorEntity[BluesoundCoordinator], MediaPlayerEntity
|
|
|
47
42
|
_presets: list[Preset]
|
|
48
43
|
_group_name: str | None
|
|
49
44
|
_group_list: list[str]
|
|
45
|
+
_group_members: list[str] | None
|
|
50
46
|
_bluesound_device_name: Incomplete
|
|
51
47
|
_player: Incomplete
|
|
52
48
|
_attr_unique_id: Incomplete
|
|
@@ -94,11 +90,17 @@ class BluesoundPlayer(CoordinatorEntity[BluesoundCoordinator], MediaPlayerEntity
|
|
|
94
90
|
def is_grouped(self) -> bool: ...
|
|
95
91
|
@property
|
|
96
92
|
def shuffle(self) -> bool: ...
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
@property
|
|
94
|
+
def group_members(self) -> list[str] | None: ...
|
|
95
|
+
async def async_join_players(self, group_members: list[str]) -> None: ...
|
|
96
|
+
async def async_unjoin_player(self) -> None: ...
|
|
97
|
+
async def async_bluesound_join(self, master: str) -> None: ...
|
|
98
|
+
async def async_bluesound_unjoin(self) -> None: ...
|
|
99
99
|
@property
|
|
100
100
|
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
|
101
101
|
def rebuild_bluesound_group(self) -> list[str]: ...
|
|
102
|
+
def rebuild_group_members(self) -> list[str] | None: ...
|
|
103
|
+
def _entity_ids_with_sync_status(self) -> dict[str, SyncStatus]: ...
|
|
102
104
|
async def async_add_follower(self, host: str, port: int) -> None: ...
|
|
103
105
|
async def async_remove_follower(self, host: str, port: int) -> None: ...
|
|
104
106
|
async def async_increase_timer(self) -> int: ...
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
2
|
+
from pyblu import PairedPlayer
|
|
2
3
|
|
|
3
4
|
def format_unique_id(mac: str, port: int) -> str: ...
|
|
4
5
|
def dispatcher_join_signal(entity_id: str) -> str: ...
|
|
5
6
|
def dispatcher_unjoin_signal(leader_id: str) -> str: ...
|
|
7
|
+
def id_to_paired_player(id: str) -> PairedPlayer | None: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_remove_scanner as async_remove_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
|
|
1
|
+
from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_clear_address_from_match_history as async_clear_address_from_match_history, async_current_scanners as async_current_scanners, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_remove_scanner as async_remove_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
|
|
2
2
|
from .const import FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS as FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS, SOURCE_LOCAL as SOURCE_LOCAL
|
|
3
3
|
from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
|
|
4
4
|
from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange
|
|
@@ -7,7 +7,4 @@ from habluetooth import BaseHaRemoteScanner as BaseHaRemoteScanner, BaseHaScanne
|
|
|
7
7
|
from home_assistant_bluetooth import BluetoothServiceInfo as BluetoothServiceInfo, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
8
8
|
from homeassistant.core import callback as hass_callback
|
|
9
9
|
|
|
10
|
-
__all__ = ['FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME', 'SOURCE_LOCAL', 'BaseHaRemoteScanner', 'BaseHaScanner', 'BluetoothCallback', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothScannerDevice', 'BluetoothScanningMode', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'HaBluetoothConnector', '
|
|
11
|
-
|
|
12
|
-
# Names in __all__ with no definition:
|
|
13
|
-
# HomeAssistantRemoteScanner
|
|
10
|
+
__all__ = ['FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME', 'SOURCE_LOCAL', 'BaseHaRemoteScanner', 'BaseHaScanner', 'BluetoothCallback', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothScannerDevice', 'BluetoothScanningMode', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'HaBluetoothConnector', 'async_address_present', 'async_ble_device_from_address', 'async_clear_address_from_match_history', 'async_current_scanners', 'async_discovered_service_info', 'async_get_advertisement_callback', 'async_get_fallback_availability_interval', 'async_get_learned_advertising_interval', 'async_get_scanner', 'async_last_service_info', 'async_process_advertisements', 'async_rediscover_address', 'async_register_callback', 'async_register_scanner', 'async_remove_scanner', 'async_scanner_by_source', 'async_scanner_count', 'async_scanner_devices_by_address', 'async_set_fallback_availability_interval', 'async_track_unavailable']
|
|
@@ -2,21 +2,24 @@ from .const import DATA_MANAGER as DATA_MANAGER
|
|
|
2
2
|
from .manager import HomeAssistantBluetoothManager as HomeAssistantBluetoothManager
|
|
3
3
|
from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
|
|
4
4
|
from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange, ProcessAdvertisementCallback as ProcessAdvertisementCallback
|
|
5
|
+
from bleak import BleakScanner
|
|
5
6
|
from bleak.backends.device import BLEDevice as BLEDevice
|
|
6
7
|
from collections.abc import Callable as Callable, Iterable
|
|
7
|
-
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothScannerDevice as BluetoothScannerDevice, BluetoothScanningMode as BluetoothScanningMode
|
|
8
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothScannerDevice as BluetoothScannerDevice, BluetoothScanningMode as BluetoothScanningMode
|
|
8
9
|
from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
9
10
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as hass_callback
|
|
10
11
|
from homeassistant.helpers.singleton import singleton as singleton
|
|
11
12
|
|
|
12
13
|
def _get_manager(hass: HomeAssistant) -> HomeAssistantBluetoothManager: ...
|
|
13
14
|
@hass_callback
|
|
14
|
-
def async_get_scanner(hass: HomeAssistant) ->
|
|
15
|
+
def async_get_scanner(hass: HomeAssistant) -> BleakScanner: ...
|
|
15
16
|
@hass_callback
|
|
16
17
|
def async_scanner_by_source(hass: HomeAssistant, source: str) -> BaseHaScanner | None: ...
|
|
17
18
|
@hass_callback
|
|
18
19
|
def async_scanner_count(hass: HomeAssistant, connectable: bool = True) -> int: ...
|
|
19
20
|
@hass_callback
|
|
21
|
+
def async_current_scanners(hass: HomeAssistant) -> list[BaseHaScanner]: ...
|
|
22
|
+
@hass_callback
|
|
20
23
|
def async_discovered_service_info(hass: HomeAssistant, connectable: bool = True) -> Iterable[BluetoothServiceInfoBleak]: ...
|
|
21
24
|
@hass_callback
|
|
22
25
|
def async_last_service_info(hass: HomeAssistant, address: str, connectable: bool = True) -> BluetoothServiceInfoBleak | None: ...
|
|
@@ -34,6 +37,8 @@ def async_track_unavailable(hass: HomeAssistant, callback: Callable[[BluetoothSe
|
|
|
34
37
|
@hass_callback
|
|
35
38
|
def async_rediscover_address(hass: HomeAssistant, address: str) -> None: ...
|
|
36
39
|
@hass_callback
|
|
40
|
+
def async_clear_address_from_match_history(hass: HomeAssistant, address: str) -> None: ...
|
|
41
|
+
@hass_callback
|
|
37
42
|
def async_register_scanner(hass: HomeAssistant, scanner: BaseHaScanner, connection_slots: int | None = None, source_domain: str | None = None, source_model: str | None = None, source_config_entry_id: str | None = None, source_device_id: str | None = None) -> CALLBACK_TYPE: ...
|
|
38
43
|
@hass_callback
|
|
39
44
|
def async_remove_scanner(hass: HomeAssistant, source: str) -> None: ...
|
|
@@ -7,12 +7,13 @@ from _typeshed import Incomplete
|
|
|
7
7
|
from bleak_retry_connector import BleakSlotManager as BleakSlotManager
|
|
8
8
|
from bluetooth_adapters import BluetoothAdapters as BluetoothAdapters
|
|
9
9
|
from collections.abc import Callable as Callable
|
|
10
|
-
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager
|
|
10
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager, HaScanner
|
|
11
11
|
from homeassistant import config_entries as config_entries
|
|
12
12
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
|
|
13
13
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as hass_callback
|
|
14
14
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
|
15
15
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
16
|
+
from homeassistant.util.package import is_docker_env as is_docker_env
|
|
16
17
|
|
|
17
18
|
_LOGGER: Incomplete
|
|
18
19
|
|
|
@@ -30,6 +31,8 @@ class HomeAssistantBluetoothManager(BluetoothManager):
|
|
|
30
31
|
def _async_trigger_matching_discovery(self, service_info: BluetoothServiceInfoBleak) -> None: ...
|
|
31
32
|
@hass_callback
|
|
32
33
|
def async_rediscover_address(self, address: str) -> None: ...
|
|
34
|
+
@hass_callback
|
|
35
|
+
def async_clear_address_from_match_history(self, address: str) -> None: ...
|
|
33
36
|
def _discover_service_info(self, service_info: BluetoothServiceInfoBleak) -> None: ...
|
|
34
37
|
def _address_disappeared(self, address: str) -> None: ...
|
|
35
38
|
async def async_setup(self) -> None: ...
|
|
@@ -46,3 +49,8 @@ class HomeAssistantBluetoothManager(BluetoothManager):
|
|
|
46
49
|
def async_remove_scanner(self, source: str) -> None: ...
|
|
47
50
|
@hass_callback
|
|
48
51
|
def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
|
|
52
|
+
def on_scanner_start(self, scanner: BaseHaScanner) -> None: ...
|
|
53
|
+
@hass_callback
|
|
54
|
+
def async_check_scanning_mode(self, scanner: HaScanner) -> None: ...
|
|
55
|
+
@hass_callback
|
|
56
|
+
def async_check_degraded_mode(self, scanner: HaScanner) -> None: ...
|
|
@@ -36,8 +36,9 @@ class IntegrationMatchHistory:
|
|
|
36
36
|
manufacturer_data: bool
|
|
37
37
|
service_data: set[str]
|
|
38
38
|
service_uuids: set[str]
|
|
39
|
+
name: str
|
|
39
40
|
|
|
40
|
-
def seen_all_fields(previous_match: IntegrationMatchHistory, advertisement_data: AdvertisementData) -> bool: ...
|
|
41
|
+
def seen_all_fields(previous_match: IntegrationMatchHistory, advertisement_data: AdvertisementData, name: str) -> bool: ...
|
|
41
42
|
|
|
42
43
|
class IntegrationMatcher:
|
|
43
44
|
__slots__: Incomplete
|
|
@@ -5,13 +5,15 @@ from .models import BluetoothChange as BluetoothChange
|
|
|
5
5
|
from .util import InvalidConfigEntryID as InvalidConfigEntryID, InvalidSource as InvalidSource, config_entry_id_to_source as config_entry_id_to_source
|
|
6
6
|
from _typeshed import Incomplete
|
|
7
7
|
from collections.abc import Callable as Callable, Iterable
|
|
8
|
-
from habluetooth import HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerRegistration as HaScannerRegistration
|
|
8
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerModeChange as HaScannerModeChange, HaScannerRegistration as HaScannerRegistration
|
|
9
9
|
from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
10
10
|
from homeassistant.components import websocket_api as websocket_api
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
12
|
from homeassistant.helpers.json import json_bytes as json_bytes
|
|
13
13
|
from typing import Any
|
|
14
14
|
|
|
15
|
+
@callback
|
|
16
|
+
def _async_get_source_from_config_entry(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg_id: int, config_entry_id: str | None, validate_source: bool = True) -> str | None: ...
|
|
15
17
|
@callback
|
|
16
18
|
def async_setup(hass: HomeAssistant) -> None: ...
|
|
17
19
|
def serialize_service_info(service_info: BluetoothServiceInfoBleak, time_diff: float) -> dict[str, Any]: ...
|
|
@@ -44,3 +46,6 @@ async def ws_subscribe_connection_allocations(hass: HomeAssistant, connection: w
|
|
|
44
46
|
@websocket_api.require_admin
|
|
45
47
|
@websocket_api.async_response
|
|
46
48
|
async def ws_subscribe_scanner_details(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
49
|
+
@websocket_api.require_admin
|
|
50
|
+
@websocket_api.async_response
|
|
51
|
+
async def ws_subscribe_scanner_state(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|