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,23 @@
|
|
|
1
|
+
from .const import ATTR_KEY as ATTR_KEY, ATTR_VALUE as ATTR_VALUE, CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN
|
|
2
|
+
from .coordinator import ShellyConfigEntry as ShellyConfigEntry
|
|
3
|
+
from .utils import get_device_entry_gen as get_device_entry_gen
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
6
|
+
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
9
|
+
from homeassistant.util.json import JsonValueType as JsonValueType
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
SERVICE_GET_KVS_VALUE: str
|
|
13
|
+
SERVICE_SET_KVS_VALUE: str
|
|
14
|
+
SERVICE_GET_KVS_VALUE_SCHEMA: Incomplete
|
|
15
|
+
SERVICE_SET_KVS_VALUE_SCHEMA: Incomplete
|
|
16
|
+
|
|
17
|
+
@callback
|
|
18
|
+
def async_get_config_entry_for_service_call(call: ServiceCall) -> ShellyConfigEntry: ...
|
|
19
|
+
async def _async_execute_action(call: ServiceCall, method: str, args: tuple) -> dict[str, Any]: ...
|
|
20
|
+
async def async_get_kvs_value(call: ServiceCall) -> ServiceResponse: ...
|
|
21
|
+
async def async_set_kvs_value(call: ServiceCall) -> None: ...
|
|
22
|
+
@callback
|
|
23
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
from .const import MODEL_FRANKEVER_IRRIGATION_CONTROLLER as MODEL_FRANKEVER_IRRIGATION_CONTROLLER, MODEL_LINKEDGO_ST1820_THERMOSTAT as MODEL_LINKEDGO_ST1820_THERMOSTAT, MODEL_LINKEDGO_ST802_THERMOSTAT as MODEL_LINKEDGO_ST802_THERMOSTAT, MODEL_NEO_WATER_VALVE as MODEL_NEO_WATER_VALVE, MODEL_TOP_EV_CHARGER_EVE01 as MODEL_TOP_EV_CHARGER_EVE01, ROLE_GENERIC as ROLE_GENERIC
|
|
1
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
2
|
-
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity,
|
|
3
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids, is_block_exclude_from_relay as is_block_exclude_from_relay, is_rpc_exclude_from_relay as is_rpc_exclude_from_relay
|
|
3
|
+
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, async_setup_entry_block as async_setup_entry_block, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
|
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_rpc_channel_name as get_rpc_channel_name, get_virtual_component_ids as get_virtual_component_ids, is_block_exclude_from_relay as is_block_exclude_from_relay, is_rpc_exclude_from_relay as is_rpc_exclude_from_relay, is_view_for_platform as is_view_for_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from aioshelly.block_device import Block as Block
|
|
6
7
|
from collections.abc import Callable as Callable
|
|
@@ -26,20 +27,19 @@ class RpcSwitchDescription(RpcEntityDescription, SwitchEntityDescription):
|
|
|
26
27
|
is_on: Callable[[dict[str, Any]], bool]
|
|
27
28
|
method_on: str
|
|
28
29
|
method_off: str
|
|
29
|
-
method_params_fn: Callable[[int | None, bool],
|
|
30
|
+
method_params_fn: Callable[[int | None, bool], tuple]
|
|
30
31
|
|
|
31
32
|
RPC_RELAY_SWITCHES: Incomplete
|
|
32
33
|
RPC_SWITCHES: Incomplete
|
|
33
34
|
|
|
34
35
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
35
36
|
@callback
|
|
36
|
-
def
|
|
37
|
+
def _async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
37
38
|
@callback
|
|
38
|
-
def
|
|
39
|
+
def _async_setup_rpc_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
39
40
|
|
|
40
41
|
class BlockSleepingMotionSwitch(ShellySleepingBlockAttributeEntity, RestoreEntity, SwitchEntity):
|
|
41
42
|
entity_description: BlockSwitchDescription
|
|
42
|
-
_attr_translation_key: str
|
|
43
43
|
last_state: State | None
|
|
44
44
|
def __init__(self, coordinator: ShellyBlockCoordinator, block: Block | None, attribute: str, description: BlockSwitchDescription, entry: RegistryEntry | None = None) -> None: ...
|
|
45
45
|
@property
|
|
@@ -51,6 +51,7 @@ class BlockSleepingMotionSwitch(ShellySleepingBlockAttributeEntity, RestoreEntit
|
|
|
51
51
|
class BlockRelaySwitch(ShellyBlockAttributeEntity, SwitchEntity):
|
|
52
52
|
entity_description: BlockSwitchDescription
|
|
53
53
|
control_result: dict[str, Any] | None
|
|
54
|
+
_attr_name: Incomplete
|
|
54
55
|
_attr_unique_id: str
|
|
55
56
|
def __init__(self, coordinator: ShellyBlockCoordinator, block: Block, attribute: str, description: BlockSwitchDescription) -> None: ...
|
|
56
57
|
@property
|
|
@@ -62,11 +63,15 @@ class BlockRelaySwitch(ShellyBlockAttributeEntity, SwitchEntity):
|
|
|
62
63
|
|
|
63
64
|
class RpcSwitch(ShellyRpcAttributeEntity, SwitchEntity):
|
|
64
65
|
entity_description: RpcSwitchDescription
|
|
66
|
+
_attr_name: Incomplete
|
|
67
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSwitchDescription) -> None: ...
|
|
65
68
|
@property
|
|
66
69
|
def is_on(self) -> bool: ...
|
|
70
|
+
@rpc_call
|
|
67
71
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
72
|
+
@rpc_call
|
|
68
73
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
69
74
|
|
|
70
75
|
class RpcRelaySwitch(RpcSwitch):
|
|
71
76
|
_attr_unique_id: str
|
|
72
|
-
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description:
|
|
77
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSwitchDescription) -> None: ...
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
from .
|
|
1
|
+
from .const import ROLE_GENERIC as ROLE_GENERIC
|
|
2
|
+
from .coordinator import ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
2
3
|
from .entity import RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
|
|
3
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
|
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_rpc_channel_name as get_rpc_channel_name, get_virtual_component_ids as get_virtual_component_ids, is_view_for_platform as is_view_for_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from dataclasses import dataclass
|
|
6
7
|
from homeassistant.components.text import TextEntity as TextEntity, TextEntityDescription as TextEntityDescription
|
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
8
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
9
10
|
from typing import Final
|
|
10
11
|
|
|
@@ -16,11 +17,15 @@ class RpcTextDescription(RpcEntityDescription, TextEntityDescription): ...
|
|
|
16
17
|
RPC_TEXT_ENTITIES: Final[Incomplete]
|
|
17
18
|
|
|
18
19
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
20
|
+
@callback
|
|
21
|
+
def _async_setup_rpc_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
19
22
|
|
|
20
23
|
class RpcText(ShellyRpcAttributeEntity, TextEntity):
|
|
21
24
|
entity_description: RpcTextDescription
|
|
22
25
|
attribute_value: str | None
|
|
23
26
|
_id: int
|
|
27
|
+
_attr_name: Incomplete
|
|
28
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcTextDescription) -> None: ...
|
|
24
29
|
@property
|
|
25
30
|
def native_value(self) -> str | None: ...
|
|
26
31
|
@rpc_call
|
|
@@ -30,6 +30,10 @@ REST_UPDATES: Final[Incomplete]
|
|
|
30
30
|
RPC_UPDATES: Final[Incomplete]
|
|
31
31
|
|
|
32
32
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
33
|
+
@callback
|
|
34
|
+
def _async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
35
|
+
@callback
|
|
36
|
+
def _async_setup_rpc_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
33
37
|
|
|
34
38
|
class RestUpdateEntity(ShellyRestAttributeEntity, UpdateEntity):
|
|
35
39
|
_attr_supported_features: Incomplete
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
|
|
1
|
+
from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DEVICE_UNIT_MAP as DEVICE_UNIT_MAP, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, ROLE_GENERIC as ROLE_GENERIC, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from aiohttp.web import Request as Request, WebSocketResponse as WebSocketResponse
|
|
4
4
|
from aioshelly.block_device import Block as Block, BlockDevice as BlockDevice, COAP
|
|
@@ -10,7 +10,7 @@ from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
|
|
10
10
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
11
11
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
|
12
12
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
|
13
|
-
from homeassistant.helpers import singleton as singleton
|
|
13
|
+
from homeassistant.helpers import entity_registry as er, singleton as singleton
|
|
14
14
|
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
|
15
15
|
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
|
16
16
|
from homeassistant.util.dt import utcnow as utcnow
|
|
@@ -18,9 +18,9 @@ from typing import Any
|
|
|
18
18
|
|
|
19
19
|
@callback
|
|
20
20
|
def async_remove_shelly_entity(hass: HomeAssistant, domain: str, unique_id: str) -> None: ...
|
|
21
|
-
def
|
|
22
|
-
def
|
|
23
|
-
def
|
|
21
|
+
def get_block_number_of_channels(device: BlockDevice, block: Block) -> int: ...
|
|
22
|
+
def get_block_custom_name(device: BlockDevice, block: Block | None) -> str | None: ...
|
|
23
|
+
def get_block_channel(block: Block | None, base: str = '1') -> str: ...
|
|
24
24
|
def get_block_sub_device_name(device: BlockDevice, block: Block) -> str: ...
|
|
25
25
|
def is_block_momentary_input(settings: dict[str, Any], block: Block, include_detached: bool = False) -> bool: ...
|
|
26
26
|
def is_block_exclude_from_relay(settings: dict[str, Any], block: Block) -> bool: ...
|
|
@@ -44,14 +44,20 @@ def get_info_auth(info: dict[str, Any]) -> bool: ...
|
|
|
44
44
|
def get_info_gen(info: dict[str, Any]) -> int: ...
|
|
45
45
|
def get_model_name(info: dict[str, Any]) -> str: ...
|
|
46
46
|
def get_shelly_model_name(model: str, sleep_period: int, device: BlockDevice | RpcDevice) -> str | None: ...
|
|
47
|
+
def get_rpc_key(value: str) -> tuple[bool, str, str]: ...
|
|
48
|
+
def get_rpc_key_id(value: str) -> int: ...
|
|
49
|
+
def get_rpc_custom_name(device: RpcDevice, key: str) -> str | None: ...
|
|
50
|
+
def get_rpc_number_of_channels(device: RpcDevice, component: str) -> int: ...
|
|
47
51
|
def get_rpc_channel_name(device: RpcDevice, key: str) -> str | None: ...
|
|
52
|
+
def get_rpc_key_normalized(key: str) -> str: ...
|
|
48
53
|
def get_rpc_sub_device_name(device: RpcDevice, key: str, emeter_phase: str | None = None) -> str: ...
|
|
49
|
-
def get_rpc_entity_name(device: RpcDevice, key: str, description: str | None = None) -> str | None: ...
|
|
50
54
|
def get_device_entry_gen(entry: ConfigEntry) -> int: ...
|
|
51
55
|
def get_rpc_key_instances(keys_dict: dict[str, Any], key: str, all_lights: bool = False) -> list[str]: ...
|
|
52
56
|
def get_rpc_key_ids(keys_dict: dict[str, Any], key: str) -> list[int]: ...
|
|
57
|
+
def get_rpc_key_by_role(keys_dict: dict[str, Any], role: str) -> str | None: ...
|
|
58
|
+
def get_rpc_role_by_key(keys_dict: dict[str, Any], key: str) -> str: ...
|
|
53
59
|
def is_rpc_momentary_input(config: dict[str, Any], status: dict[str, Any], key: str) -> bool: ...
|
|
54
|
-
def is_block_channel_type_light(settings: dict[str, Any],
|
|
60
|
+
def is_block_channel_type_light(settings: dict[str, Any], block: Block) -> bool: ...
|
|
55
61
|
def is_rpc_channel_type_light(config: dict[str, Any], channel: int) -> bool: ...
|
|
56
62
|
def is_rpc_thermostat_internal_actuator(status: dict[str, Any]) -> bool: ...
|
|
57
63
|
def get_rpc_input_triggers(device: RpcDevice) -> list[tuple[str, str]]: ...
|
|
@@ -68,8 +74,9 @@ def get_http_port(data: Mapping[str, Any]) -> int: ...
|
|
|
68
74
|
def get_host(host: str) -> str: ...
|
|
69
75
|
@callback
|
|
70
76
|
def async_remove_shelly_rpc_entities(hass: HomeAssistant, domain: str, mac: str, keys: list[str]) -> None: ...
|
|
71
|
-
def is_rpc_thermostat_mode(ident: int, status: dict[str, Any]) -> bool: ...
|
|
72
77
|
def get_virtual_component_ids(config: dict[str, Any], platform: str) -> list[str]: ...
|
|
78
|
+
def is_view_for_platform(config: dict[str, Any], key: str, platform: str) -> bool: ...
|
|
79
|
+
def get_virtual_component_unit(config: dict[str, Any]) -> str | None: ...
|
|
73
80
|
@callback
|
|
74
81
|
def async_remove_orphaned_entities(hass: HomeAssistant, config_entry_id: str, mac: str, platform: str, keys: Iterable[str], key_suffix: str | None = None) -> None: ...
|
|
75
82
|
def get_rpc_ws_url(hass: HomeAssistant) -> str | None: ...
|
|
@@ -77,8 +84,16 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
|
|
|
77
84
|
def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
|
|
78
85
|
def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
|
|
79
86
|
async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
|
|
87
|
+
def get_irrigation_zone_id(device: RpcDevice, key: str) -> int | None: ...
|
|
80
88
|
def get_rpc_device_info(device: RpcDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
81
|
-
def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
|
|
89
|
+
def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str, fw_ver: str | None) -> DeviceInfo: ...
|
|
90
|
+
def is_block_single_device(device: BlockDevice, block: Block | None = None) -> bool: ...
|
|
82
91
|
def get_block_device_info(device: BlockDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
83
92
|
@callback
|
|
84
93
|
def remove_stale_blu_trv_devices(hass: HomeAssistant, rpc_device: RpcDevice, entry: ConfigEntry) -> None: ...
|
|
94
|
+
@callback
|
|
95
|
+
def remove_empty_sub_devices(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
96
|
+
def format_ble_addr(ble_addr: str) -> str: ...
|
|
97
|
+
@callback
|
|
98
|
+
def async_migrate_rpc_virtual_components_unique_ids(config: dict[str, Any], entity_entry: er.RegistryEntry) -> dict[str, Any] | None: ...
|
|
99
|
+
def is_rpc_ble_scanner_supported(entry: ConfigEntry) -> bool: ...
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
from .
|
|
2
|
-
from .
|
|
3
|
-
from .
|
|
1
|
+
from .const import MODEL_FRANKEVER_IRRIGATION_CONTROLLER as MODEL_FRANKEVER_IRRIGATION_CONTROLLER, MODEL_FRANKEVER_WATER_VALVE as MODEL_FRANKEVER_WATER_VALVE, MODEL_NEO_WATER_VALVE as MODEL_NEO_WATER_VALVE
|
|
2
|
+
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
3
|
+
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_block_attribute_entities as async_setup_block_attribute_entities, async_setup_entry_rpc as async_setup_entry_rpc
|
|
4
|
+
from .utils import get_device_entry_gen as get_device_entry_gen
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from aioshelly.block_device import Block as Block
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -13,12 +14,40 @@ PARALLEL_UPDATES: int
|
|
|
13
14
|
|
|
14
15
|
@dataclass(kw_only=True, frozen=True)
|
|
15
16
|
class BlockValveDescription(BlockEntityDescription, ValveEntityDescription): ...
|
|
17
|
+
@dataclass(kw_only=True, frozen=True)
|
|
18
|
+
class RpcValveDescription(RpcEntityDescription, ValveEntityDescription): ...
|
|
19
|
+
|
|
20
|
+
BLOCK_VALVES: dict[tuple[str, str], BlockValveDescription]
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
class RpcShellyBaseWaterValve(ShellyRpcAttributeEntity, ValveEntity):
|
|
23
|
+
entity_description: RpcValveDescription
|
|
24
|
+
_attr_device_class: Incomplete
|
|
25
|
+
_id: int
|
|
26
|
+
_attr_name: Incomplete
|
|
27
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcEntityDescription) -> None: ...
|
|
28
|
+
|
|
29
|
+
class RpcShellyWaterValve(RpcShellyBaseWaterValve):
|
|
30
|
+
_attr_supported_features: Incomplete
|
|
31
|
+
_attr_reports_position: bool
|
|
32
|
+
@property
|
|
33
|
+
def current_valve_position(self) -> int: ...
|
|
34
|
+
async def async_set_valve_position(self, position: int) -> None: ...
|
|
35
|
+
|
|
36
|
+
class RpcShellySimpleWaterValve(RpcShellyBaseWaterValve):
|
|
37
|
+
_attr_supported_features: Incomplete
|
|
38
|
+
_attr_reports_position: bool
|
|
39
|
+
@property
|
|
40
|
+
def is_closed(self) -> bool | None: ...
|
|
41
|
+
async def async_open_valve(self, **kwargs: Any) -> None: ...
|
|
42
|
+
async def async_close_valve(self, **kwargs: Any) -> None: ...
|
|
43
|
+
|
|
44
|
+
RPC_VALVES: dict[str, RpcValveDescription]
|
|
18
45
|
|
|
19
46
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
20
47
|
@callback
|
|
21
|
-
def
|
|
48
|
+
def _async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
49
|
+
@callback
|
|
50
|
+
def _async_setup_rpc_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
22
51
|
|
|
23
52
|
class BlockShellyValve(ShellyBlockAttributeEntity, ValveEntity):
|
|
24
53
|
entity_description: BlockValveDescription
|
|
@@ -26,7 +26,8 @@ ATTR_PIN_LABEL_OR_VALUE: str
|
|
|
26
26
|
ATTR_PIN_VALUE: str
|
|
27
27
|
ATTR_TIMESTAMP: str
|
|
28
28
|
DEFAULT_SCAN_INTERVAL: Incomplete
|
|
29
|
-
|
|
29
|
+
WEBSOCKET_RECONNECT_RETRIES: int
|
|
30
|
+
WEBSOCKET_RETRY_DELAY: int
|
|
30
31
|
EVENT_SIMPLISAFE_EVENT: str
|
|
31
32
|
EVENT_SIMPLISAFE_NOTIFICATION: str
|
|
32
33
|
PLATFORMS: Incomplete
|
|
@@ -53,6 +54,7 @@ class SimpliSafe:
|
|
|
53
54
|
_api: Incomplete
|
|
54
55
|
_hass: Incomplete
|
|
55
56
|
_system_notifications: dict[int, set[SystemNotification]]
|
|
57
|
+
_websocket_reconnect_retries: int
|
|
56
58
|
_websocket_reconnect_task: asyncio.Task | None
|
|
57
59
|
entry: Incomplete
|
|
58
60
|
initial_event_to_use: dict[int, dict[str, Any]]
|
|
@@ -10,6 +10,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
|
10
10
|
from simplipy.device import DeviceV3 as DeviceV3
|
|
11
11
|
from simplipy.device.sensor.v3 import SensorV3 as SensorV3
|
|
12
12
|
from simplipy.system.v3 import SystemV3 as SystemV3
|
|
13
|
+
from simplipy.websocket import WebsocketEvent as WebsocketEvent
|
|
13
14
|
|
|
14
15
|
SUPPORTED_BATTERY_SENSOR_TYPES: Incomplete
|
|
15
16
|
TRIGGERED_SENSOR_TYPES: Incomplete
|
|
@@ -23,6 +24,8 @@ class TriggeredBinarySensor(SimpliSafeEntity, BinarySensorEntity):
|
|
|
23
24
|
_attr_is_on: Incomplete
|
|
24
25
|
@callback
|
|
25
26
|
def async_update_from_rest_api(self) -> None: ...
|
|
27
|
+
@callback
|
|
28
|
+
def async_update_from_websocket_event(self, event: WebsocketEvent) -> None: ...
|
|
26
29
|
|
|
27
30
|
class BatteryBinarySensor(SimpliSafeEntity, BinarySensorEntity):
|
|
28
31
|
_attr_device_class: Incomplete
|
|
@@ -8,6 +8,8 @@ from homeassistant.helpers import aiohttp_client as aiohttp_client
|
|
|
8
8
|
from typing import Any, NamedTuple
|
|
9
9
|
|
|
10
10
|
CONF_AUTH_CODE: str
|
|
11
|
+
CONF_DOCUMENTATION_URL: str
|
|
12
|
+
DOCUMENTATION_URL: str
|
|
11
13
|
STEP_USER_SCHEMA: Incomplete
|
|
12
14
|
|
|
13
15
|
class SimpliSafeOAuthValues(NamedTuple):
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from . import DOMAIN as DOMAIN
|
|
2
|
+
from homeassistant.const import STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
|
+
from homeassistant.helpers.trigger import Trigger as Trigger, make_entity_target_state_trigger as make_entity_target_state_trigger
|
|
5
|
+
|
|
6
|
+
TRIGGERS: dict[str, type[Trigger]]
|
|
7
|
+
|
|
8
|
+
async def async_get_triggers(hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from .const import CONF_GROUP as CONF_GROUP
|
|
2
|
+
from .coordinator import SMADataUpdateCoordinator as SMADataUpdateCoordinator
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_SSL as CONF_SSL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
|
6
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
|
+
|
|
9
|
+
PLATFORMS: Incomplete
|
|
10
|
+
_LOGGER: Incomplete
|
|
11
|
+
type SMAConfigEntry = ConfigEntry[SMADataUpdateCoordinator]
|
|
12
|
+
|
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SMAConfigEntry) -> bool: ...
|
|
14
|
+
async def async_unload_entry(hass: HomeAssistant, entry: SMAConfigEntry) -> bool: ...
|
|
15
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from .const import CONF_GROUP as CONF_GROUP, DOMAIN as DOMAIN, GROUPS as GROUPS
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
5
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_SSL as CONF_SSL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
9
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
_LOGGER: Incomplete
|
|
13
|
+
|
|
14
|
+
async def validate_input(hass: HomeAssistant, user_input: dict[str, Any], data: dict[str, Any] | None = None) -> dict[str, Any]: ...
|
|
15
|
+
|
|
16
|
+
class SmaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
|
+
VERSION: int
|
|
18
|
+
MINOR_VERSION: int
|
|
19
|
+
_data: dict[str, Any]
|
|
20
|
+
_discovery_data: dict[str, Any]
|
|
21
|
+
def __init__(self) -> None: ...
|
|
22
|
+
async def _handle_user_input(self, user_input: dict[str, Any], discovery: bool = False) -> tuple[dict[str, str], dict[str, str]]: ...
|
|
23
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
24
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
25
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
26
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
|
27
|
+
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
+
from homeassistant.const import CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
|
8
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
9
|
+
from pysma import SMAWebConnect as SMAWebConnect
|
|
10
|
+
from pysma.helpers import DeviceInfo
|
|
11
|
+
from pysma.sensor import Sensors
|
|
12
|
+
|
|
13
|
+
_LOGGER: Incomplete
|
|
14
|
+
|
|
15
|
+
@dataclass(slots=True)
|
|
16
|
+
class SMACoordinatorData:
|
|
17
|
+
sma_device_info: DeviceInfo
|
|
18
|
+
sensors: Sensors
|
|
19
|
+
|
|
20
|
+
class SMADataUpdateCoordinator(DataUpdateCoordinator[SMACoordinatorData]):
|
|
21
|
+
config_entry: ConfigEntry
|
|
22
|
+
sma: Incomplete
|
|
23
|
+
_sma_device_info: Incomplete
|
|
24
|
+
_sensors: Incomplete
|
|
25
|
+
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, sma: SMAWebConnect) -> None: ...
|
|
26
|
+
async def _async_setup(self) -> None: ...
|
|
27
|
+
async def _async_update_data(self) -> SMACoordinatorData: ...
|
|
28
|
+
async def async_close_sma_session(self) -> None: ...
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
4
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
TO_REDACT: Incomplete
|
|
9
|
+
|
|
10
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from . import SMAConfigEntry as SMAConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from .coordinator import SMADataUpdateCoordinator as SMADataUpdateCoordinator
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_SSL as CONF_SSL, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfReactivePower as UnitOfReactivePower, UnitOfTemperature as UnitOfTemperature
|
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from homeassistant.helpers.typing import StateType as StateType
|
|
11
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
12
|
+
from pysma.sensor import Sensor as Sensor
|
|
13
|
+
|
|
14
|
+
SENSOR_ENTITIES: dict[str, SensorEntityDescription]
|
|
15
|
+
|
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SMAConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
17
|
+
|
|
18
|
+
class SMAsensor(CoordinatorEntity[SMADataUpdateCoordinator], SensorEntity):
|
|
19
|
+
entity_description: Incomplete
|
|
20
|
+
_attr_name: Incomplete
|
|
21
|
+
_sensor: Incomplete
|
|
22
|
+
_serial: Incomplete
|
|
23
|
+
_attr_device_info: Incomplete
|
|
24
|
+
_attr_unique_id: Incomplete
|
|
25
|
+
def __init__(self, coordinator: SMADataUpdateCoordinator, description: SensorEntityDescription | None, pysma_sensor: Sensor, entry: SMAConfigEntry) -> None: ...
|
|
26
|
+
@property
|
|
27
|
+
def name(self) -> str: ...
|
|
28
|
+
@property
|
|
29
|
+
def available(self) -> bool: ...
|
|
30
|
+
@property
|
|
31
|
+
def native_value(self) -> StateType: ...
|
|
32
|
+
async def async_added_to_hass(self) -> None: ...
|
|
33
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
|
|
1
|
+
from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator, SMHIFireDataUpdateCoordinator as SMHIFireDataUpdateCoordinator
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, Platform as Platform
|
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -6,15 +6,20 @@ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as
|
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
|
8
8
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
9
|
-
from pysmhi import SMHIForecast as SMHIForecast
|
|
9
|
+
from pysmhi import SMHIFireForecast as SMHIFireForecast, SMHIForecast as SMHIForecast
|
|
10
10
|
|
|
11
|
-
type SMHIConfigEntry = ConfigEntry[SMHIDataUpdateCoordinator]
|
|
11
|
+
type SMHIConfigEntry = ConfigEntry[tuple[SMHIDataUpdateCoordinator, SMHIFireDataUpdateCoordinator]]
|
|
12
12
|
@dataclass
|
|
13
13
|
class SMHIForecastData:
|
|
14
14
|
daily: list[SMHIForecast]
|
|
15
15
|
hourly: list[SMHIForecast]
|
|
16
16
|
twice_daily: list[SMHIForecast]
|
|
17
17
|
|
|
18
|
+
@dataclass
|
|
19
|
+
class SMHIFireForecastData:
|
|
20
|
+
fire_daily: list[SMHIFireForecast]
|
|
21
|
+
fire_hourly: list[SMHIFireForecast]
|
|
22
|
+
|
|
18
23
|
class SMHIDataUpdateCoordinator(DataUpdateCoordinator[SMHIForecastData]):
|
|
19
24
|
config_entry: SMHIConfigEntry
|
|
20
25
|
_smhi_api: Incomplete
|
|
@@ -22,3 +27,11 @@ class SMHIDataUpdateCoordinator(DataUpdateCoordinator[SMHIForecastData]):
|
|
|
22
27
|
async def _async_update_data(self) -> SMHIForecastData: ...
|
|
23
28
|
@property
|
|
24
29
|
def current(self) -> SMHIForecast: ...
|
|
30
|
+
|
|
31
|
+
class SMHIFireDataUpdateCoordinator(DataUpdateCoordinator[SMHIFireForecastData]):
|
|
32
|
+
config_entry: SMHIConfigEntry
|
|
33
|
+
_smhi_fire_api: Incomplete
|
|
34
|
+
def __init__(self, hass: HomeAssistant, config_entry: SMHIConfigEntry) -> None: ...
|
|
35
|
+
async def _async_update_data(self) -> SMHIFireForecastData: ...
|
|
36
|
+
@property
|
|
37
|
+
def fire_current(self) -> SMHIFireForecast: ...
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
|
3
|
-
from .coordinator import SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
|
|
3
|
+
from .coordinator import SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator, SMHIFireDataUpdateCoordinator as SMHIFireDataUpdateCoordinator
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from abc import abstractmethod
|
|
6
6
|
from homeassistant.core import callback as callback
|
|
7
7
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
8
|
+
from homeassistant.helpers.entity import Entity as Entity
|
|
8
9
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
9
10
|
|
|
10
|
-
class SmhiWeatherBaseEntity(
|
|
11
|
+
class SmhiWeatherBaseEntity(Entity, metaclass=abc.ABCMeta):
|
|
11
12
|
_attr_attribution: str
|
|
12
13
|
_attr_has_entity_name: bool
|
|
13
14
|
_attr_unique_id: Incomplete
|
|
14
15
|
_attr_device_info: Incomplete
|
|
16
|
+
def __init__(self, latitude: str, longitude: str) -> None: ...
|
|
17
|
+
@abstractmethod
|
|
18
|
+
def update_entity_data(self) -> None: ...
|
|
19
|
+
|
|
20
|
+
class SmhiWeatherEntity(CoordinatorEntity[SMHIDataUpdateCoordinator], SmhiWeatherBaseEntity, metaclass=abc.ABCMeta):
|
|
15
21
|
def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator) -> None: ...
|
|
16
22
|
@callback
|
|
17
23
|
def _handle_coordinator_update(self) -> None: ...
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
|
|
25
|
+
class SmhiFireEntity(CoordinatorEntity[SMHIFireDataUpdateCoordinator], SmhiWeatherBaseEntity, metaclass=abc.ABCMeta):
|
|
26
|
+
def __init__(self, latitude: str, longitude: str, coordinator: SMHIFireDataUpdateCoordinator) -> None: ...
|
|
27
|
+
@callback
|
|
28
|
+
def _handle_coordinator_update(self) -> None: ...
|
|
@@ -1,30 +1,46 @@
|
|
|
1
|
-
from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
|
|
2
|
-
from .entity import
|
|
1
|
+
from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator, SMHIFireDataUpdateCoordinator as SMHIFireDataUpdateCoordinator
|
|
2
|
+
from .entity import SmhiFireEntity as SmhiFireEntity, SmhiWeatherEntity as SmhiWeatherEntity
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Callable as Callable
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from datetime import datetime
|
|
7
|
-
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
|
8
|
-
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, PERCENTAGE as PERCENTAGE
|
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
|
+
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, PERCENTAGE as PERCENTAGE, UnitOfSpeed as UnitOfSpeed
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
11
|
from homeassistant.helpers.typing import StateType as StateType
|
|
12
12
|
|
|
13
13
|
PARALLEL_UPDATES: int
|
|
14
|
+
FWI_INDEX_MAP: Incomplete
|
|
15
|
+
GRASSFIRE_MAP: Incomplete
|
|
16
|
+
FORESTDRY_MAP: Incomplete
|
|
14
17
|
|
|
15
|
-
def get_percentage_values(entity:
|
|
18
|
+
def get_percentage_values(entity: SMHIWeatherSensor, key: str) -> int | None: ...
|
|
19
|
+
def get_fire_index_value(entity: SMHIFireSensor, key: str) -> str: ...
|
|
16
20
|
|
|
17
21
|
@dataclass(frozen=True, kw_only=True)
|
|
18
|
-
class
|
|
19
|
-
value_fn: Callable[[
|
|
22
|
+
class SMHIWeatherEntityDescription(SensorEntityDescription):
|
|
23
|
+
value_fn: Callable[[SMHIWeatherSensor], StateType | datetime]
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
|
26
|
+
class SMHIFireEntityDescription(SensorEntityDescription):
|
|
27
|
+
value_fn: Callable[[SMHIFireSensor], StateType | datetime]
|
|
28
|
+
|
|
29
|
+
WEATHER_SENSOR_DESCRIPTIONS: tuple[SMHIWeatherEntityDescription, ...]
|
|
30
|
+
FIRE_SENSOR_DESCRIPTIONS: tuple[SMHIFireEntityDescription, ...]
|
|
22
31
|
|
|
23
32
|
async def async_setup_entry(hass: HomeAssistant, entry: SMHIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
24
33
|
|
|
25
|
-
class
|
|
26
|
-
entity_description:
|
|
34
|
+
class SMHIWeatherSensor(SmhiWeatherEntity, SensorEntity):
|
|
35
|
+
entity_description: SMHIWeatherEntityDescription
|
|
36
|
+
_attr_unique_id: Incomplete
|
|
37
|
+
def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator, entity_description: SMHIWeatherEntityDescription) -> None: ...
|
|
38
|
+
_attr_native_value: Incomplete
|
|
39
|
+
def update_entity_data(self) -> None: ...
|
|
40
|
+
|
|
41
|
+
class SMHIFireSensor(SmhiFireEntity, SensorEntity):
|
|
42
|
+
entity_description: SMHIFireEntityDescription
|
|
27
43
|
_attr_unique_id: Incomplete
|
|
28
|
-
def __init__(self, latitude: str, longitude: str, coordinator:
|
|
44
|
+
def __init__(self, latitude: str, longitude: str, coordinator: SMHIFireDataUpdateCoordinator, entity_description: SMHIFireEntityDescription) -> None: ...
|
|
29
45
|
_attr_native_value: Incomplete
|
|
30
46
|
def update_entity_data(self) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .const import ATTR_SMHI_THUNDER_PROBABILITY as ATTR_SMHI_THUNDER_PROBABILITY, ENTITY_ID_SENSOR_FORMAT as ENTITY_ID_SENSOR_FORMAT
|
|
2
2
|
from .coordinator import SMHIConfigEntry as SMHIConfigEntry
|
|
3
|
-
from .entity import
|
|
3
|
+
from .entity import SmhiWeatherEntity as SmhiWeatherEntity
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Mapping
|
|
6
6
|
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
|
|
@@ -8,6 +8,7 @@ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as
|
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
9
9
|
from homeassistant.helpers import sun as sun
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
+
from homeassistant.util import slugify as slugify
|
|
11
12
|
from pysmhi import SMHIForecast as SMHIForecast
|
|
12
13
|
from typing import Any, Final
|
|
13
14
|
|
|
@@ -16,7 +17,7 @@ CONDITION_MAP: Incomplete
|
|
|
16
17
|
|
|
17
18
|
async def async_setup_entry(hass: HomeAssistant, config_entry: SMHIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
18
19
|
|
|
19
|
-
class SmhiWeather(
|
|
20
|
+
class SmhiWeather(SmhiWeatherEntity, SingleCoordinatorWeatherEntity):
|
|
20
21
|
_attr_native_temperature_unit: Incomplete
|
|
21
22
|
_attr_native_visibility_unit: Incomplete
|
|
22
23
|
_attr_native_precipitation_unit: Incomplete
|