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
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from .coordinator import PortainerConfigEntry as PortainerConfigEntry, PortainerContainerData as PortainerContainerData, PortainerCoordinator as PortainerCoordinator
|
|
2
|
+
from .entity import PortainerContainerEntity as PortainerContainerEntity, PortainerCoordinatorData as PortainerCoordinatorData, PortainerEndpointEntity as PortainerEndpointEntity
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from homeassistant.components.sensor import EntityCategory as EntityCategory, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass, StateType as StateType
|
|
7
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfInformation as UnitOfInformation
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
|
|
11
|
+
@dataclass(frozen=True, kw_only=True)
|
|
12
|
+
class PortainerContainerSensorEntityDescription(SensorEntityDescription):
|
|
13
|
+
value_fn: Callable[[PortainerContainerData], StateType]
|
|
14
|
+
|
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
|
16
|
+
class PortainerEndpointSensorEntityDescription(SensorEntityDescription):
|
|
17
|
+
value_fn: Callable[[PortainerCoordinatorData], StateType]
|
|
18
|
+
|
|
19
|
+
CONTAINER_SENSORS: tuple[PortainerContainerSensorEntityDescription, ...]
|
|
20
|
+
ENDPOINT_SENSORS: tuple[PortainerEndpointSensorEntityDescription, ...]
|
|
21
|
+
|
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PortainerConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
23
|
+
|
|
24
|
+
class PortainerContainerSensor(PortainerContainerEntity, SensorEntity):
|
|
25
|
+
entity_description: PortainerContainerSensorEntityDescription
|
|
26
|
+
_attr_unique_id: Incomplete
|
|
27
|
+
def __init__(self, coordinator: PortainerCoordinator, entity_description: PortainerContainerSensorEntityDescription, device_info: PortainerContainerData, via_device: PortainerCoordinatorData) -> None: ...
|
|
28
|
+
@property
|
|
29
|
+
def available(self) -> bool: ...
|
|
30
|
+
@property
|
|
31
|
+
def native_value(self) -> StateType: ...
|
|
32
|
+
|
|
33
|
+
class PortainerEndpointSensor(PortainerEndpointEntity, SensorEntity):
|
|
34
|
+
entity_description: PortainerEndpointSensorEntityDescription
|
|
35
|
+
_attr_unique_id: Incomplete
|
|
36
|
+
def __init__(self, coordinator: PortainerCoordinator, entity_description: PortainerEndpointSensorEntityDescription, device_info: PortainerCoordinatorData) -> None: ...
|
|
37
|
+
@property
|
|
38
|
+
def available(self) -> bool: ...
|
|
39
|
+
@property
|
|
40
|
+
def native_value(self) -> StateType: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from . import PortainerConfigEntry as PortainerConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from .coordinator import PortainerContainerData as PortainerContainerData, PortainerCoordinator as PortainerCoordinator
|
|
4
|
+
from .entity import PortainerContainerEntity as PortainerContainerEntity, PortainerCoordinatorData as PortainerCoordinatorData
|
|
5
|
+
from _typeshed import Incomplete
|
|
6
|
+
from collections.abc import Callable as Callable, Coroutine
|
|
7
|
+
from dataclasses import dataclass
|
|
8
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
+
from pyportainer import Portainer as Portainer
|
|
13
|
+
from typing import Any
|
|
14
|
+
|
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
|
16
|
+
class PortainerSwitchEntityDescription(SwitchEntityDescription):
|
|
17
|
+
is_on_fn: Callable[[PortainerContainerData], bool | None]
|
|
18
|
+
turn_on_fn: Callable[[str, Portainer, int, str], Coroutine[Any, Any, None]]
|
|
19
|
+
turn_off_fn: Callable[[str, Portainer, int, str], Coroutine[Any, Any, None]]
|
|
20
|
+
|
|
21
|
+
async def perform_action(action: str, portainer: Portainer, endpoint_id: int, container_id: str) -> None: ...
|
|
22
|
+
|
|
23
|
+
SWITCHES: tuple[PortainerSwitchEntityDescription, ...]
|
|
24
|
+
|
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PortainerConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
26
|
+
|
|
27
|
+
class PortainerContainerSwitch(PortainerContainerEntity, SwitchEntity):
|
|
28
|
+
entity_description: PortainerSwitchEntityDescription
|
|
29
|
+
_attr_unique_id: Incomplete
|
|
30
|
+
def __init__(self, coordinator: PortainerCoordinator, entity_description: PortainerSwitchEntityDescription, device_info: PortainerContainerData, via_device: PortainerCoordinatorData) -> None: ...
|
|
31
|
+
@property
|
|
32
|
+
def is_on(self) -> bool | None: ...
|
|
33
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
34
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
2
|
from aiohttp import web
|
|
3
|
-
from collections.abc import Callable as Callable
|
|
3
|
+
from collections.abc import Callable as Callable, Sequence
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
from homeassistant.components.alarm_control_panel import AlarmControlPanelState as AlarmControlPanelState
|
|
6
6
|
from homeassistant.components.climate import ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, HVACAction as HVACAction
|
|
@@ -12,9 +12,12 @@ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS
|
|
|
12
12
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
|
13
13
|
from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_MODE as ATTR_MODE, ATTR_TEMPERATURE as ATTR_TEMPERATURE, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONTENT_TYPE_TEXT_PLAIN as CONTENT_TYPE_TEXT_PLAIN, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, PERCENTAGE as PERCENTAGE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
|
|
14
14
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State
|
|
15
|
-
from homeassistant.helpers import entityfilter as entityfilter
|
|
15
|
+
from homeassistant.helpers import area_registry as ar, device_registry as dr, entity_registry as er, entityfilter as entityfilter, floor_registry as fr
|
|
16
|
+
from homeassistant.helpers.area_registry import AreaEntry as AreaEntry, EVENT_AREA_REGISTRY_UPDATED as EVENT_AREA_REGISTRY_UPDATED, EventAreaRegistryUpdatedData as EventAreaRegistryUpdatedData
|
|
17
|
+
from homeassistant.helpers.device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
|
16
18
|
from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGISTRY_UPDATED, EventEntityRegistryUpdatedData as EventEntityRegistryUpdatedData
|
|
17
19
|
from homeassistant.helpers.entity_values import EntityValues as EntityValues
|
|
20
|
+
from homeassistant.helpers.floor_registry import EVENT_FLOOR_REGISTRY_UPDATED as EVENT_FLOOR_REGISTRY_UPDATED, EventFloorRegistryUpdatedData as EventFloorRegistryUpdatedData, FloorEntry as FloorEntry
|
|
18
21
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
19
22
|
from homeassistant.util.dt import as_timestamp as as_timestamp
|
|
20
23
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
|
@@ -55,10 +58,21 @@ class PrometheusMetrics:
|
|
|
55
58
|
_metrics: dict[str, MetricWrapperBase]
|
|
56
59
|
_metrics_by_entity_id: dict[str, set[MetricNameWithLabelValues]]
|
|
57
60
|
_climate_units: Incomplete
|
|
58
|
-
|
|
61
|
+
_area_info_metrics: dict[str, MetricNameWithLabelValues]
|
|
62
|
+
_floor_info_metrics: dict[str, MetricNameWithLabelValues]
|
|
63
|
+
area_registry: Incomplete
|
|
64
|
+
device_registry: Incomplete
|
|
65
|
+
entity_registry: Incomplete
|
|
66
|
+
floor_registry: Incomplete
|
|
67
|
+
def __init__(self, entity_filter: entityfilter.EntityFilter, namespace: str, climate_units: UnitOfTemperature, component_config: EntityValues, override_metric: str | None, default_metric: str | None, area_registry: ar.AreaRegistry, device_registry: dr.DeviceRegistry, entity_registry: er.EntityRegistry, floor_registry: fr.FloorRegistry) -> None: ...
|
|
59
68
|
def handle_state_changed_event(self, event: Event[EventStateChangedData]) -> None: ...
|
|
60
69
|
def handle_state(self, state: State) -> None: ...
|
|
61
70
|
def handle_entity_registry_updated(self, event: Event[EventEntityRegistryUpdatedData]) -> None: ...
|
|
71
|
+
def handle_device_registry_updated(self, event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
|
|
72
|
+
def handle_area_registry_updated(self, event: Event[EventAreaRegistryUpdatedData]) -> None: ...
|
|
73
|
+
def handle_area(self, area: AreaEntry) -> None: ...
|
|
74
|
+
def handle_floor_registry_updated(self, event: Event[EventFloorRegistryUpdatedData]) -> None: ...
|
|
75
|
+
def handle_floor(self, floor: FloorEntry) -> None: ...
|
|
62
76
|
def _remove_labelsets(self, entity_id: str, ignored_metric_names: set[str] | None = None) -> None: ...
|
|
63
77
|
def _handle_attributes(self, state: State) -> None: ...
|
|
64
78
|
def _metric[_MetricBaseT: MetricWrapperBase](self, metric_name: str, factory: type[_MetricBaseT], documentation: str, labels: dict[str, str]) -> _MetricBaseT: ...
|
|
@@ -68,20 +82,34 @@ class PrometheusMetrics:
|
|
|
68
82
|
def state_as_number(state: State) -> float | None: ...
|
|
69
83
|
@staticmethod
|
|
70
84
|
def _labels(state: State, extra_labels: dict[str, str] | None = None) -> dict[str, Any]: ...
|
|
71
|
-
def
|
|
85
|
+
def _remove_entity_info(self, entity_id: str) -> None: ...
|
|
86
|
+
def _add_entity_info(self, entity_id: str, area_id: str) -> None: ...
|
|
87
|
+
def _find_area_id(self, entity_id: str) -> str | None: ...
|
|
88
|
+
def _battery_metric(self, state: State) -> None: ...
|
|
89
|
+
def _temperature_metric(self, state: State, attr: str, metric_name: str, metric_description: str) -> None: ...
|
|
90
|
+
def _bool_metric(self, state: State, attr: str, metric_name: str, metric_description: str, true_values: set[Any] | None = None) -> None: ...
|
|
91
|
+
def _float_metric(self, state: State, attr: str, metric_name: str, metric_description: str) -> None: ...
|
|
92
|
+
def _enum_metric(self, state: State, current_value: Any | None, values: Sequence[str] | None, metric_name: str, metric_description: str, enum_label_name: str) -> None: ...
|
|
93
|
+
def _numeric_metric(self, state: State, domain: str, title: str) -> None: ...
|
|
72
94
|
def _handle_binary_sensor(self, state: State) -> None: ...
|
|
73
95
|
def _handle_input_boolean(self, state: State) -> None: ...
|
|
74
|
-
def _numeric_handler(self, state: State, domain: str, title: str) -> None: ...
|
|
75
96
|
def _handle_input_number(self, state: State) -> None: ...
|
|
76
97
|
def _handle_number(self, state: State) -> None: ...
|
|
77
98
|
def _handle_device_tracker(self, state: State) -> None: ...
|
|
78
99
|
def _handle_person(self, state: State) -> None: ...
|
|
100
|
+
def _handle_lock(self, state: State) -> None: ...
|
|
79
101
|
def _handle_cover(self, state: State) -> None: ...
|
|
80
102
|
def _handle_light(self, state: State) -> None: ...
|
|
81
|
-
def _handle_lock(self, state: State) -> None: ...
|
|
82
|
-
def _handle_climate_temp(self, state: State, attr: str, metric_name: str, metric_description: str) -> None: ...
|
|
83
103
|
def _handle_climate(self, state: State) -> None: ...
|
|
84
104
|
def _handle_humidifier(self, state: State) -> None: ...
|
|
105
|
+
def _handle_water_heater(self, state: State) -> None: ...
|
|
106
|
+
def _handle_switch(self, state: State) -> None: ...
|
|
107
|
+
def _handle_fan(self, state: State) -> None: ...
|
|
108
|
+
def _handle_zwave(self, state: State) -> None: ...
|
|
109
|
+
def _handle_automation(self, state: State) -> None: ...
|
|
110
|
+
def _handle_counter(self, state: State) -> None: ...
|
|
111
|
+
def _handle_update(self, state: State) -> None: ...
|
|
112
|
+
def _handle_alarm_control_panel(self, state: State) -> None: ...
|
|
85
113
|
def _handle_sensor(self, state: State) -> None: ...
|
|
86
114
|
def _sensor_default_metric(self, state: State, unit: str | None) -> str | None: ...
|
|
87
115
|
@staticmethod
|
|
@@ -94,13 +122,6 @@ class PrometheusMetrics:
|
|
|
94
122
|
def _sensor_fallback_metric(state: State, unit: str | None) -> str | None: ...
|
|
95
123
|
@staticmethod
|
|
96
124
|
def _unit_string(unit: str | None) -> str | None: ...
|
|
97
|
-
def _handle_switch(self, state: State) -> None: ...
|
|
98
|
-
def _handle_fan(self, state: State) -> None: ...
|
|
99
|
-
def _handle_zwave(self, state: State) -> None: ...
|
|
100
|
-
def _handle_automation(self, state: State) -> None: ...
|
|
101
|
-
def _handle_counter(self, state: State) -> None: ...
|
|
102
|
-
def _handle_update(self, state: State) -> None: ...
|
|
103
|
-
def _handle_alarm_control_panel(self, state: State) -> None: ...
|
|
104
125
|
|
|
105
126
|
class PrometheusView(HomeAssistantView):
|
|
106
127
|
url = API_ENDPOINT
|
|
@@ -5,11 +5,13 @@ from abc import ABC, abstractmethod
|
|
|
5
5
|
from datetime import timedelta
|
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
8
|
+
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
|
8
9
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
9
10
|
from pyprusalink import JobInfo, LegacyPrinterStatus, PrinterInfo, PrinterStatus, PrusaLink as PrusaLink
|
|
10
11
|
from typing import TypeVar
|
|
11
12
|
|
|
12
13
|
_LOGGER: Incomplete
|
|
14
|
+
_MINIMUM_REFRESH_INTERVAL: float
|
|
13
15
|
T = TypeVar('T', PrinterStatus, LegacyPrinterStatus, JobInfo)
|
|
14
16
|
|
|
15
17
|
class PrusaLinkUpdateCoordinator(DataUpdateCoordinator[T], ABC, metaclass=abc.ABCMeta):
|
|
@@ -9,10 +9,8 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, form
|
|
|
9
9
|
from homeassistant.helpers.entity import Entity as Entity
|
|
10
10
|
from qbusmqttapi.discovery import QbusMqttDevice as QbusMqttDevice, QbusMqttOutput as QbusMqttOutput
|
|
11
11
|
from qbusmqttapi.state import QbusMqttState
|
|
12
|
-
from typing import Generic, TypeVar
|
|
13
12
|
|
|
14
13
|
_REFID_REGEX: Incomplete
|
|
15
|
-
StateT = TypeVar('StateT', bound=QbusMqttState)
|
|
16
14
|
|
|
17
15
|
def create_new_entities(coordinator: QbusControllerCoordinator, added_outputs: list[QbusMqttOutput], filter_fn: Callable[[QbusMqttOutput], bool], entity_type: type[QbusEntity]) -> list[QbusEntity]: ...
|
|
18
16
|
def determine_new_outputs(coordinator: QbusControllerCoordinator, added_outputs: list[QbusMqttOutput], filter_fn: Callable[[QbusMqttOutput], bool]) -> list[QbusMqttOutput]: ...
|
|
@@ -20,7 +18,7 @@ def format_ref_id(ref_id: str) -> str | None: ...
|
|
|
20
18
|
def create_device_identifier(mqtt_device: QbusMqttDevice) -> tuple[str, str]: ...
|
|
21
19
|
def create_unique_id(serial_number: str, suffix: str) -> str: ...
|
|
22
20
|
|
|
23
|
-
class QbusEntity(Entity, ABC,
|
|
21
|
+
class QbusEntity[StateT: QbusMqttState](Entity, ABC, metaclass=abc.ABCMeta):
|
|
24
22
|
_state_cls: type[StateT]
|
|
25
23
|
_attr_has_entity_name: bool
|
|
26
24
|
_attr_should_poll: bool
|
|
@@ -4,6 +4,7 @@ from _typeshed import Incomplete
|
|
|
4
4
|
from homeassistant.components.media_player import MediaClass as MediaClass, MediaType as MediaType
|
|
5
5
|
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
|
+
from homeassistant.util.location import vincenty as vincenty
|
|
7
8
|
from radios import RadioBrowser as RadioBrowser, Station as Station
|
|
8
9
|
|
|
9
10
|
CODEC_TO_MIMETYPE: Incomplete
|
|
@@ -28,3 +29,5 @@ class RadioMediaSource(MediaSource):
|
|
|
28
29
|
async def _async_build_by_language(self, radios: RadioBrowser, item: MediaSourceItem) -> list[BrowseMediaSource]: ...
|
|
29
30
|
async def _async_build_popular(self, radios: RadioBrowser, item: MediaSourceItem) -> list[BrowseMediaSource]: ...
|
|
30
31
|
async def _async_build_by_tag(self, radios: RadioBrowser, item: MediaSourceItem) -> list[BrowseMediaSource]: ...
|
|
32
|
+
def _filter_local_stations(self, stations: list[Station], latitude: float, longitude: float) -> list[Station]: ...
|
|
33
|
+
async def _async_build_local(self, radios: RadioBrowser, item: MediaSourceItem) -> list[BrowseMediaSource]: ...
|
|
@@ -14,6 +14,7 @@ from homeassistant.util.dt import as_timestamp as as_timestamp, utcnow as utcnow
|
|
|
14
14
|
from homeassistant.util.network import is_ip_address as is_ip_address
|
|
15
15
|
from regenmaschine.controller import Controller as Controller
|
|
16
16
|
|
|
17
|
+
API_URL_REFERENCE: str
|
|
17
18
|
DEFAULT_SSL: bool
|
|
18
19
|
PLATFORMS: Incomplete
|
|
19
20
|
CONF_CONDITION: str
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from homeassistant.components.hardware
|
|
3
|
+
from homeassistant.components.hardware import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
|
|
4
4
|
from homeassistant.components.hassio import get_os_info as get_os_info
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .. import Recorder as Recorder
|
|
2
2
|
from ..const import SupportedDialect as SupportedDialect
|
|
3
|
-
from ..db_schema import DOUBLE_PRECISION_TYPE_SQL as DOUBLE_PRECISION_TYPE_SQL, DOUBLE_TYPE as DOUBLE_TYPE
|
|
3
|
+
from ..db_schema import DOUBLE_PRECISION_TYPE_SQL as DOUBLE_PRECISION_TYPE_SQL, DOUBLE_TYPE as DOUBLE_TYPE, MYSQL_COLLATE as MYSQL_COLLATE
|
|
4
4
|
from ..util import session_scope as session_scope
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Iterable, Mapping
|
|
@@ -24,8 +24,8 @@ KEEPALIVE_TIME: int
|
|
|
24
24
|
CONTEXT_ID_AS_BINARY_SCHEMA_VERSION: int
|
|
25
25
|
EVENT_TYPE_IDS_SCHEMA_VERSION: int
|
|
26
26
|
STATES_META_SCHEMA_VERSION: int
|
|
27
|
-
LAST_REPORTED_SCHEMA_VERSION: int
|
|
28
27
|
CIRCULAR_MEAN_SCHEMA_VERSION: int
|
|
28
|
+
UNIT_CLASS_SCHEMA_VERSION: int
|
|
29
29
|
LEGACY_STATES_EVENT_ID_INDEX_SCHEMA_VERSION: int
|
|
30
30
|
LEGACY_STATES_EVENT_FOREIGN_KEYS_FIXED_SCHEMA_VERSION: int
|
|
31
31
|
INTEGRATION_PLATFORM_COMPILE_STATISTICS: str
|
|
@@ -3,10 +3,10 @@ import psutil_home_assistant as ha_psutil
|
|
|
3
3
|
import queue
|
|
4
4
|
import threading
|
|
5
5
|
from . import migration as migration, statistics as statistics
|
|
6
|
-
from .const import DB_WORKER_PREFIX as DB_WORKER_PREFIX, DEFAULT_MAX_BIND_VARS as DEFAULT_MAX_BIND_VARS, DOMAIN as DOMAIN, KEEPALIVE_TIME as KEEPALIVE_TIME,
|
|
6
|
+
from .const import DB_WORKER_PREFIX as DB_WORKER_PREFIX, DEFAULT_MAX_BIND_VARS as DEFAULT_MAX_BIND_VARS, DOMAIN as DOMAIN, KEEPALIVE_TIME as KEEPALIVE_TIME, MARIADB_PYMYSQL_URL_PREFIX as MARIADB_PYMYSQL_URL_PREFIX, MARIADB_URL_PREFIX as MARIADB_URL_PREFIX, MAX_QUEUE_BACKLOG_MIN_VALUE as MAX_QUEUE_BACKLOG_MIN_VALUE, MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG as MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG, MYSQLDB_PYMYSQL_URL_PREFIX as MYSQLDB_PYMYSQL_URL_PREFIX, MYSQLDB_URL_PREFIX as MYSQLDB_URL_PREFIX, SQLITE_URL_PREFIX as SQLITE_URL_PREFIX, SupportedDialect as SupportedDialect
|
|
7
7
|
from .db_schema import Base as Base, EventData as EventData, EventTypes as EventTypes, Events as Events, SCHEMA_VERSION as SCHEMA_VERSION, StateAttributes as StateAttributes, States as States, StatesMeta as StatesMeta, Statistics as Statistics, StatisticsShortTerm as StatisticsShortTerm
|
|
8
8
|
from .executor import DBInterruptibleThreadPoolExecutor as DBInterruptibleThreadPoolExecutor
|
|
9
|
-
from .models import DatabaseEngine as DatabaseEngine, StatisticData as StatisticData,
|
|
9
|
+
from .models import DatabaseEngine as DatabaseEngine, StatisticData as StatisticData, StatisticMetaData as StatisticMetaData, UnsupportedDialect as UnsupportedDialect
|
|
10
10
|
from .pool import MutexPool as MutexPool, POOL_SIZE as POOL_SIZE, RecorderPool as RecorderPool
|
|
11
11
|
from .table_managers.event_data import EventDataManager as EventDataManager
|
|
12
12
|
from .table_managers.event_types import EventTypeManager as EventTypeManager
|
|
@@ -158,7 +158,7 @@ class Recorder(threading.Thread):
|
|
|
158
158
|
@callback
|
|
159
159
|
def async_clear_statistics(self, statistic_ids: list[str], *, on_done: Callable[[], None] | None = None) -> None: ...
|
|
160
160
|
@callback
|
|
161
|
-
def async_update_statistics_metadata(self, statistic_id: str, *, new_statistic_id: str | UndefinedType = ..., new_unit_of_measurement: str | None | UndefinedType = ..., on_done: Callable[[], None] | None = None) -> None: ...
|
|
161
|
+
def async_update_statistics_metadata(self, statistic_id: str, *, new_statistic_id: str | UndefinedType = ..., new_unit_class: str | None | UndefinedType = ..., new_unit_of_measurement: str | None | UndefinedType = ..., on_done: Callable[[], None] | None = None) -> None: ...
|
|
162
162
|
@callback
|
|
163
163
|
def async_update_states_metadata(self, entity_id: str, new_entity_id: str) -> None: ...
|
|
164
164
|
@callback
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
from .const import ALL_DOMAIN_EXCLUDE_ATTRS as ALL_DOMAIN_EXCLUDE_ATTRS, SupportedDialect as SupportedDialect
|
|
2
|
-
from .models import StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData,
|
|
2
|
+
from .models import StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_timestamp as process_timestamp, ulid_to_bytes_or_none as ulid_to_bytes_or_none, uuid_hex_to_bytes_or_none as uuid_hex_to_bytes_or_none
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Callable as Callable
|
|
5
5
|
from datetime import datetime, timedelta
|
|
6
6
|
from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS
|
|
7
7
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, MATCH_ALL as MATCH_ALL, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_ENTITY_ID as MAX_LENGTH_STATE_ENTITY_ID, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE
|
|
8
|
-
from homeassistant.core import
|
|
8
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData
|
|
9
9
|
from homeassistant.helpers.json import JSON_DUMP as JSON_DUMP, json_bytes as json_bytes, json_bytes_strip_null as json_bytes_strip_null
|
|
10
|
-
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads, json_loads_object as json_loads_object
|
|
11
10
|
from sqlalchemy import CHAR, ColumnElement as ColumnElement, DateTime, JSON, LargeBinary
|
|
12
11
|
from sqlalchemy.dialects import sqlite
|
|
13
12
|
from sqlalchemy.engine.interfaces import Dialect as Dialect
|
|
@@ -85,8 +84,6 @@ class _LiteralProcessorType(Protocol):
|
|
|
85
84
|
class JSONLiteral(JSON):
|
|
86
85
|
def literal_processor(self, dialect: Dialect) -> _LiteralProcessorType: ...
|
|
87
86
|
|
|
88
|
-
EVENT_ORIGIN_ORDER: Incomplete
|
|
89
|
-
|
|
90
87
|
class Events(Base):
|
|
91
88
|
__table_args__: Incomplete
|
|
92
89
|
__tablename__ = TABLE_EVENTS
|
|
@@ -112,7 +109,6 @@ class Events(Base):
|
|
|
112
109
|
def _time_fired_isotime(self) -> str | None: ...
|
|
113
110
|
@staticmethod
|
|
114
111
|
def from_event(event: Event) -> Events: ...
|
|
115
|
-
def to_native(self, validate_entity_id: bool = True) -> Event | None: ...
|
|
116
112
|
|
|
117
113
|
class LegacyEvents(LegacyBase):
|
|
118
114
|
__table_args__: Incomplete
|
|
@@ -131,7 +127,6 @@ class EventData(Base):
|
|
|
131
127
|
def shared_data_bytes_from_event(event: Event, dialect: SupportedDialect | None) -> bytes: ...
|
|
132
128
|
@staticmethod
|
|
133
129
|
def hash_shared_data_bytes(shared_data_bytes: bytes) -> int: ...
|
|
134
|
-
def to_native(self) -> dict[str, Any]: ...
|
|
135
130
|
|
|
136
131
|
class EventTypes(Base):
|
|
137
132
|
__table_args__: Incomplete
|
|
@@ -171,7 +166,6 @@ class States(Base):
|
|
|
171
166
|
def _last_updated_isotime(self) -> str | None: ...
|
|
172
167
|
@staticmethod
|
|
173
168
|
def from_event(event: Event[EventStateChangedData]) -> States: ...
|
|
174
|
-
def to_native(self, validate_entity_id: bool = True) -> State | None: ...
|
|
175
169
|
|
|
176
170
|
class LegacyStates(LegacyBase):
|
|
177
171
|
__table_args__: Incomplete
|
|
@@ -192,7 +186,6 @@ class StateAttributes(Base):
|
|
|
192
186
|
def shared_attrs_bytes_from_event(event: Event[EventStateChangedData], dialect: SupportedDialect | None) -> bytes: ...
|
|
193
187
|
@staticmethod
|
|
194
188
|
def hash_shared_attrs_bytes(shared_attrs_bytes: bytes) -> int: ...
|
|
195
|
-
def to_native(self) -> dict[str, Any]: ...
|
|
196
189
|
|
|
197
190
|
class StatesMeta(Base):
|
|
198
191
|
__table_args__: Incomplete
|
|
@@ -245,6 +238,7 @@ class _StatisticsMeta:
|
|
|
245
238
|
statistic_id: Mapped[str | None]
|
|
246
239
|
source: Mapped[str | None]
|
|
247
240
|
unit_of_measurement: Mapped[str | None]
|
|
241
|
+
unit_class: Mapped[str | None]
|
|
248
242
|
has_mean: Mapped[bool | None]
|
|
249
243
|
has_sum: Mapped[bool | None]
|
|
250
244
|
name: Mapped[str | None]
|
|
@@ -266,7 +260,6 @@ class RecorderRuns(Base):
|
|
|
266
260
|
closed_incorrect: Mapped[bool]
|
|
267
261
|
created: Mapped[datetime]
|
|
268
262
|
def __repr__(self) -> str: ...
|
|
269
|
-
def to_native(self, validate_entity_id: bool = True) -> Self: ...
|
|
270
263
|
|
|
271
264
|
class MigrationChanges(Base):
|
|
272
265
|
__tablename__ = TABLE_MIGRATION_CHANGES
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .core import Recorder as Recorder
|
|
2
|
+
from .statistics import async_update_statistics_metadata as async_update_statistics_metadata
|
|
2
3
|
from .util import filter_unique_constraint_integrity_error as filter_unique_constraint_integrity_error, get_instance as get_instance, session_scope as session_scope
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
|
@@ -7,8 +7,8 @@ from typing import Any
|
|
|
7
7
|
|
|
8
8
|
__all__ = ['NEED_ATTRIBUTE_DOMAINS', 'SIGNIFICANT_DOMAINS', 'get_full_significant_states_with_session', 'get_last_state_changes', 'get_significant_states', 'get_significant_states_with_session', 'state_changes_during_period']
|
|
9
9
|
|
|
10
|
-
def get_full_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, no_attributes: bool = False) -> dict[str, list[State]]: ...
|
|
11
|
-
def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
|
|
12
10
|
def get_significant_states(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
|
|
13
11
|
def get_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
|
|
12
|
+
def get_full_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, no_attributes: bool = False) -> dict[str, list[State]]: ...
|
|
14
13
|
def state_changes_during_period(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_id: str | None = None, no_attributes: bool = False, descending: bool = False, limit: int | None = None, include_start_time_state: bool = True) -> dict[str, list[State]]: ...
|
|
14
|
+
def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
|
|
@@ -6,7 +6,7 @@ from .db_schema import BIG_INTEGER_SQL as BIG_INTEGER_SQL, Base as Base, CONTEXT
|
|
|
6
6
|
from .models import StatisticMeanType as StatisticMeanType, process_timestamp as process_timestamp
|
|
7
7
|
from .models.time import datetime_to_timestamp_or_none as datetime_to_timestamp_or_none
|
|
8
8
|
from .queries import batch_cleanup_entity_ids as batch_cleanup_entity_ids, delete_duplicate_short_term_statistics_row as delete_duplicate_short_term_statistics_row, delete_duplicate_statistics_row as delete_duplicate_statistics_row, find_entity_ids_to_migrate as find_entity_ids_to_migrate, find_event_type_to_migrate as find_event_type_to_migrate, find_events_context_ids_to_migrate as find_events_context_ids_to_migrate, find_states_context_ids_to_migrate as find_states_context_ids_to_migrate, find_unmigrated_short_term_statistics_rows as find_unmigrated_short_term_statistics_rows, find_unmigrated_statistics_rows as find_unmigrated_statistics_rows, get_migration_changes as get_migration_changes, has_entity_ids_to_migrate as has_entity_ids_to_migrate, has_event_type_to_migrate as has_event_type_to_migrate, has_events_context_ids_to_migrate as has_events_context_ids_to_migrate, has_states_context_ids_to_migrate as has_states_context_ids_to_migrate, has_used_states_entity_ids as has_used_states_entity_ids, has_used_states_event_ids as has_used_states_event_ids, migrate_single_short_term_statistics_row_to_timestamp as migrate_single_short_term_statistics_row_to_timestamp, migrate_single_statistics_row_to_timestamp as migrate_single_statistics_row_to_timestamp
|
|
9
|
-
from .statistics import cleanup_statistics_timestamp_migration as cleanup_statistics_timestamp_migration, get_start_time as get_start_time
|
|
9
|
+
from .statistics import _PRIMARY_UNIT_CONVERTERS as _PRIMARY_UNIT_CONVERTERS, cleanup_statistics_timestamp_migration as cleanup_statistics_timestamp_migration, get_start_time as get_start_time
|
|
10
10
|
from .tasks import RecorderTask as RecorderTask
|
|
11
11
|
from .util import database_job_retry_wrapper as database_job_retry_wrapper, database_job_retry_wrapper_method as database_job_retry_wrapper_method, execute_stmt_lambda_element as execute_stmt_lambda_element, get_index_by_name as get_index_by_name, retryable_database_job_method as retryable_database_job_method, session_scope as session_scope
|
|
12
12
|
from _typeshed import Incomplete
|
|
@@ -259,6 +259,17 @@ class _SchemaVersion49Migrator(_SchemaVersionMigrator, target_version=49):
|
|
|
259
259
|
class _SchemaVersion50Migrator(_SchemaVersionMigrator, target_version=50):
|
|
260
260
|
def _apply_update(self) -> None: ...
|
|
261
261
|
|
|
262
|
+
class _SchemaVersion51Migrator(_SchemaVersionMigrator, target_version=51):
|
|
263
|
+
def _apply_update(self) -> None: ...
|
|
264
|
+
|
|
265
|
+
class _SchemaVersion52Migrator(_SchemaVersionMigrator, target_version=52):
|
|
266
|
+
def _apply_update(self) -> None: ...
|
|
267
|
+
def _apply_update_mysql(self) -> None: ...
|
|
268
|
+
def _apply_update_postgresql_sqlite(self) -> None: ...
|
|
269
|
+
|
|
270
|
+
class _SchemaVersion53Migrator(_SchemaVersionMigrator, target_version=53):
|
|
271
|
+
def _apply_update(self) -> None: ...
|
|
272
|
+
|
|
262
273
|
def _migrate_statistics_columns_to_timestamp_removing_duplicates(hass: HomeAssistant, instance: Recorder, session_maker: Callable[[], Session], engine: Engine) -> None: ...
|
|
263
274
|
def _correct_table_character_set_and_collation(table: str, session_maker: Callable[[], Session]) -> None: ...
|
|
264
275
|
def _wipe_old_string_time_columns(instance: Recorder, engine: Engine, session: Session) -> None: ...
|
|
@@ -38,11 +38,13 @@ class StatisticMetaData(TypedDict):
|
|
|
38
38
|
name: str | None
|
|
39
39
|
source: str
|
|
40
40
|
statistic_id: str
|
|
41
|
+
unit_class: str | None
|
|
41
42
|
unit_of_measurement: str | None
|
|
42
43
|
|
|
43
44
|
class CalendarStatisticPeriod(TypedDict, total=False):
|
|
44
45
|
period: Literal['hour', 'day', 'week', 'month', 'year']
|
|
45
46
|
offset: int
|
|
47
|
+
first_weekday: Literal['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']
|
|
46
48
|
|
|
47
49
|
class FixedStatisticPeriod(TypedDict, total=False):
|
|
48
50
|
end_time: datetime
|
|
@@ -10,12 +10,13 @@ from datetime import datetime, timedelta
|
|
|
10
10
|
from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
|
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
13
|
+
from homeassistant.helpers.frame import report_usage as report_usage
|
|
13
14
|
from homeassistant.helpers.recorder import DATA_RECORDER as DATA_RECORDER
|
|
14
15
|
from homeassistant.helpers.singleton import singleton as singleton
|
|
15
16
|
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
|
16
17
|
from homeassistant.util.collection import chunked_or_all as chunked_or_all
|
|
17
18
|
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
|
18
|
-
from homeassistant.util.unit_conversion import ApparentPowerConverter as ApparentPowerConverter, AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, ReactivePowerConverter as ReactivePowerConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
|
19
|
+
from homeassistant.util.unit_conversion import ApparentPowerConverter as ApparentPowerConverter, AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, CarbonMonoxideConcentrationConverter as CarbonMonoxideConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, ReactivePowerConverter as ReactivePowerConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, TemperatureDeltaConverter as TemperatureDeltaConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
|
19
20
|
from sqlalchemy import Label as Label, Select as Select
|
|
20
21
|
from sqlalchemy.engine.row import Row
|
|
21
22
|
from sqlalchemy.orm.session import Session as Session
|
|
@@ -29,8 +30,10 @@ def query_circular_mean(table: type[StatisticsBase]) -> tuple[Label, Label]: ...
|
|
|
29
30
|
|
|
30
31
|
QUERY_STATISTICS_SUMMARY_MEAN: Incomplete
|
|
31
32
|
QUERY_STATISTICS_SUMMARY_SUM: Incomplete
|
|
33
|
+
_PRIMARY_UNIT_CONVERTERS: list[type[BaseUnitConverter]]
|
|
34
|
+
_SECONDARY_UNIT_CONVERTERS: list[type[BaseUnitConverter]]
|
|
32
35
|
STATISTIC_UNIT_TO_UNIT_CONVERTER: dict[str | None, type[BaseUnitConverter]]
|
|
33
|
-
|
|
36
|
+
UNIT_CLASS_TO_UNIT_CONVERTER: dict[str | None, type[BaseUnitConverter]]
|
|
34
37
|
DATA_SHORT_TERM_STATISTICS_RUN_CACHE: str
|
|
35
38
|
|
|
36
39
|
def mean(values: list[float]) -> float | None: ...
|
|
@@ -63,11 +66,12 @@ class StatisticsRow(BaseStatisticsRow, total=False):
|
|
|
63
66
|
mean_weight: float | None
|
|
64
67
|
change: float | None
|
|
65
68
|
|
|
66
|
-
def
|
|
67
|
-
def
|
|
68
|
-
def
|
|
69
|
-
def
|
|
70
|
-
def
|
|
69
|
+
def _get_unit_converter(unit_class: str | None, from_unit: str | None) -> type[BaseUnitConverter] | None: ...
|
|
70
|
+
def get_display_unit(hass: HomeAssistant, statistic_id: str, unit_class: str | None, statistic_unit: str | None) -> str | None: ...
|
|
71
|
+
def _get_statistic_to_display_unit_converter(unit_class: str | None, statistic_unit: str | None, state_unit: str | None, requested_units: dict[str, str] | None, allow_none: bool = True) -> Callable[[float | None], float | None] | Callable[[float], float] | None: ...
|
|
72
|
+
def _get_display_to_statistic_unit_converter_func(unit_class: str | None, display_unit: str | None, statistic_unit: str | None) -> Callable[[float], float] | None: ...
|
|
73
|
+
def _get_unit_converter_func(unit_class: str | None, from_unit: str, to_unit: str) -> Callable[[float | None], float | None] | None: ...
|
|
74
|
+
def can_convert_units(unit_class: str | None, from_unit: str | None, to_unit: str | None) -> bool: ...
|
|
71
75
|
|
|
72
76
|
@dataclasses.dataclass
|
|
73
77
|
class PlatformCompiledStatistics:
|
|
@@ -101,7 +105,9 @@ def _update_statistics(session: Session, table: type[StatisticsBase], stat_id: i
|
|
|
101
105
|
def get_metadata_with_session(instance: Recorder, session: Session, *, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None) -> dict[str, tuple[int, StatisticMetaData]]: ...
|
|
102
106
|
def get_metadata(hass: HomeAssistant, *, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None) -> dict[str, tuple[int, StatisticMetaData]]: ...
|
|
103
107
|
def clear_statistics(instance: Recorder, statistic_ids: list[str]) -> None: ...
|
|
104
|
-
|
|
108
|
+
@callback
|
|
109
|
+
def async_update_statistics_metadata(hass: HomeAssistant, statistic_id: str, *, new_statistic_id: str | UndefinedType = ..., new_unit_class: str | None | UndefinedType = ..., new_unit_of_measurement: str | None | UndefinedType = ..., on_done: Callable[[], None] | None = None, _called_from_ws_api: bool = False) -> None: ...
|
|
110
|
+
def update_statistics_metadata(instance: Recorder, statistic_id: str, new_statistic_id: str | None | UndefinedType, new_unit_class: str | None | UndefinedType, new_unit_of_measurement: str | None | UndefinedType) -> None: ...
|
|
105
111
|
async def async_list_statistic_ids(hass: HomeAssistant, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None) -> list[dict]: ...
|
|
106
112
|
def _statistic_by_id_from_metadata(hass: HomeAssistant, metadata: dict[str, tuple[int, StatisticMetaData]]) -> dict[str, dict[str, Any]]: ...
|
|
107
113
|
def _flatten_list_statistic_ids_metadata_result(result: dict[str, dict[str, Any]]) -> list[dict]: ...
|
|
@@ -161,9 +167,9 @@ def _statistics_exists(session: Session, table: type[StatisticsBase], metadata_i
|
|
|
161
167
|
@callback
|
|
162
168
|
def _async_import_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData]) -> None: ...
|
|
163
169
|
@callback
|
|
164
|
-
def async_import_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData]) -> None: ...
|
|
170
|
+
def async_import_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData], *, _called_from_ws_api: bool = False) -> None: ...
|
|
165
171
|
@callback
|
|
166
|
-
def async_add_external_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData]) -> None: ...
|
|
172
|
+
def async_add_external_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData], *, _called_from_ws_api: bool = False) -> None: ...
|
|
167
173
|
def _import_statistics_with_session(instance: Recorder, session: Session, metadata: StatisticMetaData, statistics: Iterable[StatisticData], table: type[StatisticsBase]) -> bool: ...
|
|
168
174
|
def get_short_term_statistics_run_cache(hass: HomeAssistant) -> ShortTermStatisticsRunCache: ...
|
|
169
175
|
def cache_latest_short_term_statistic_id_for_metadata_id(run_cache: ShortTermStatisticsRunCache, session: Session, metadata_id: int) -> int | None: ...
|
|
@@ -172,6 +178,5 @@ def import_statistics(instance: Recorder, metadata: StatisticMetaData, statistic
|
|
|
172
178
|
def adjust_statistics(instance: Recorder, statistic_id: str, start_time: datetime, sum_adjustment: float, adjustment_unit: str) -> bool: ...
|
|
173
179
|
def _change_statistics_unit_for_table(session: Session, table: type[StatisticsBase], metadata_id: int, convert: Callable[[float | None], float | None]) -> None: ...
|
|
174
180
|
def change_statistics_unit(instance: Recorder, statistic_id: str, new_unit: str, old_unit: str) -> None: ...
|
|
175
|
-
|
|
176
|
-
def async_change_statistics_unit(hass: HomeAssistant, statistic_id: str, *, new_unit_of_measurement: str, old_unit_of_measurement: str) -> None: ...
|
|
181
|
+
async def async_change_statistics_unit(hass: HomeAssistant, statistic_id: str, *, new_unit_of_measurement: str, old_unit_of_measurement: str) -> None: ...
|
|
177
182
|
def cleanup_statistics_timestamp_migration(instance: Recorder) -> bool: ...
|
|
@@ -11,7 +11,6 @@ from sqlalchemy.orm.session import Session as Session
|
|
|
11
11
|
CACHE_SIZE: int
|
|
12
12
|
|
|
13
13
|
class StatesMetaManager(BaseLRUTableManager[StatesMeta]):
|
|
14
|
-
active: bool
|
|
15
14
|
_did_first_load: bool
|
|
16
15
|
def __init__(self, recorder: Recorder) -> None: ...
|
|
17
16
|
def load(self, events: list[Event[EventStateChangedData]], session: Session) -> None: ...
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
from ..const import CIRCULAR_MEAN_SCHEMA_VERSION as CIRCULAR_MEAN_SCHEMA_VERSION
|
|
1
|
+
from ..const import CIRCULAR_MEAN_SCHEMA_VERSION as CIRCULAR_MEAN_SCHEMA_VERSION, UNIT_CLASS_SCHEMA_VERSION as UNIT_CLASS_SCHEMA_VERSION
|
|
2
2
|
from ..core import Recorder as Recorder
|
|
3
3
|
from ..db_schema import StatisticsMeta as StatisticsMeta
|
|
4
4
|
from ..models import StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData
|
|
5
|
+
from ..statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER
|
|
5
6
|
from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element
|
|
6
7
|
from _typeshed import Incomplete
|
|
7
8
|
from lru import LRU
|
|
@@ -12,7 +13,7 @@ from typing import Final, Literal
|
|
|
12
13
|
|
|
13
14
|
CACHE_SIZE: int
|
|
14
15
|
_LOGGER: Incomplete
|
|
15
|
-
|
|
16
|
+
QUERY_STATISTICS_META: Incomplete
|
|
16
17
|
INDEX_ID: Final[int]
|
|
17
18
|
INDEX_STATISTIC_ID: Final[int]
|
|
18
19
|
INDEX_SOURCE: Final[int]
|
|
@@ -20,6 +21,7 @@ INDEX_UNIT_OF_MEASUREMENT: Final[int]
|
|
|
20
21
|
INDEX_HAS_SUM: Final[int]
|
|
21
22
|
INDEX_NAME: Final[int]
|
|
22
23
|
INDEX_MEAN_TYPE: Final[int]
|
|
24
|
+
INDEX_UNIT_CLASS: Final[int]
|
|
23
25
|
|
|
24
26
|
def _generate_get_metadata_stmt(statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None, schema_version: int = 0) -> StatementLambdaElement: ...
|
|
25
27
|
|
|
@@ -37,7 +39,7 @@ class StatisticsMetaManager:
|
|
|
37
39
|
def get_many(self, session: Session, statistic_ids: set[str] | None = None, statistic_type: Literal['mean', 'sum'] | None = None, statistic_source: str | None = None) -> dict[str, tuple[int, StatisticMetaData]]: ...
|
|
38
40
|
def get_from_cache_threadsafe(self, statistic_ids: set[str]) -> dict[str, tuple[int, StatisticMetaData]]: ...
|
|
39
41
|
def update_or_add(self, session: Session, new_metadata: StatisticMetaData, old_metadata_dict: dict[str, tuple[int, StatisticMetaData]]) -> tuple[str | None, int]: ...
|
|
40
|
-
def update_unit_of_measurement(self, session: Session, statistic_id: str, new_unit: str | None) -> None: ...
|
|
42
|
+
def update_unit_of_measurement(self, session: Session, statistic_id: str, new_unit_class: str | None, new_unit: str | None) -> None: ...
|
|
41
43
|
def update_statistic_id(self, session: Session, source: str, old_statistic_id: str, new_statistic_id: str) -> None: ...
|
|
42
44
|
def delete(self, session: Session, statistic_ids: list[str]) -> None: ...
|
|
43
45
|
def reset(self) -> None: ...
|
|
@@ -41,6 +41,7 @@ class UpdateStatisticsMetadataTask(RecorderTask):
|
|
|
41
41
|
on_done: Callable[[], None] | None
|
|
42
42
|
statistic_id: str
|
|
43
43
|
new_statistic_id: str | None | UndefinedType
|
|
44
|
+
new_unit_class: str | None | UndefinedType
|
|
44
45
|
new_unit_of_measurement: str | None | UndefinedType
|
|
45
46
|
def run(self, instance: Recorder) -> None: ...
|
|
46
47
|
|
|
@@ -7,6 +7,7 @@ from awesomeversion import AwesomeVersion
|
|
|
7
7
|
from collections.abc import Callable, Generator, Sequence
|
|
8
8
|
from contextlib import contextmanager
|
|
9
9
|
from datetime import date, datetime
|
|
10
|
+
from homeassistant.const import WEEKDAYS as WEEKDAYS
|
|
10
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
12
|
from homeassistant.helpers.recorder import DATA_INSTANCE as DATA_INSTANCE, get_instance as get_instance, session_scope as session_scope
|
|
12
13
|
from sqlalchemy.engine import Result as Result, Row as Row
|
|
@@ -47,7 +48,7 @@ FIRST_POSSIBLE_SUNDAY: int
|
|
|
47
48
|
SUNDAY_WEEKDAY: int
|
|
48
49
|
DAYS_IN_WEEK: int
|
|
49
50
|
|
|
50
|
-
def execute(qry: Query
|
|
51
|
+
def execute(qry: Query) -> list[Row]: ...
|
|
51
52
|
def execute_stmt_lambda_element(session: Session, stmt: StatementLambdaElement, start_time: datetime | None = None, end_time: datetime | None = None, yield_per: int = ..., orm_rows: bool = True) -> Sequence[Row] | Result: ...
|
|
52
53
|
def validate_or_move_away_sqlite_database(dburl: str) -> bool: ...
|
|
53
54
|
def dburl_to_path(dburl: str) -> str: ...
|