homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.0__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/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
- homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
- homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
- homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
- homeassistant-stubs/components/axis/config_flow.pyi +2 -2
- homeassistant-stubs/components/axis/entity.pyi +1 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/coordinator.pyi +3 -0
- homeassistant-stubs/components/backup/entity.pyi +5 -2
- homeassistant-stubs/components/backup/event.pyi +23 -0
- homeassistant-stubs/components/backup/manager.pyi +22 -3
- homeassistant-stubs/components/backup/models.pyi +2 -2
- homeassistant-stubs/components/blue_current/button.pyi +25 -0
- homeassistant-stubs/components/blue_current/entity.pyi +3 -6
- homeassistant-stubs/components/bluesound/button.pyi +35 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
- homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
- homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
- homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
- homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
- homeassistant-stubs/components/bring/__init__.pyi +1 -1
- homeassistant-stubs/components/bring/coordinator.pyi +21 -3
- homeassistant-stubs/components/bring/entity.pyi +3 -3
- homeassistant-stubs/components/bring/event.pyi +3 -2
- homeassistant-stubs/components/bring/sensor.pyi +1 -0
- homeassistant-stubs/components/bring/todo.pyi +1 -0
- homeassistant-stubs/components/camera/__init__.pyi +2 -10
- homeassistant-stubs/components/camera/webrtc.pyi +1 -22
- homeassistant-stubs/components/climate/__init__.pyi +3 -13
- homeassistant-stubs/components/climate/const.pyi +0 -3
- homeassistant-stubs/components/climate/significant_change.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
- homeassistant-stubs/components/cloud/client.pyi +2 -1
- homeassistant-stubs/components/cloud/const.pyi +0 -1
- homeassistant-stubs/components/cloud/google_config.pyi +1 -1
- homeassistant-stubs/components/cloud/http_api.pyi +0 -2
- homeassistant-stubs/components/comelit/climate.pyi +14 -5
- homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
- homeassistant-stubs/components/comelit/const.pyi +3 -0
- homeassistant-stubs/components/comelit/cover.pyi +3 -1
- homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
- homeassistant-stubs/components/comelit/light.pyi +2 -0
- homeassistant-stubs/components/comelit/switch.pyi +2 -0
- homeassistant-stubs/components/comelit/utils.pyi +11 -0
- homeassistant-stubs/components/command_line/notify.pyi +3 -1
- homeassistant-stubs/components/config/entity_registry.pyi +6 -0
- homeassistant-stubs/components/deconz/entity.pyi +1 -0
- homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/demo/media_player.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
- homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
- homeassistant-stubs/components/downloader/__init__.pyi +3 -4
- homeassistant-stubs/components/downloader/services.pyi +7 -0
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/button.pyi +2 -2
- homeassistant-stubs/components/ecovacs/number.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
- homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
- homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
- homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
- homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
- homeassistant-stubs/components/elkm1/climate.pyi +0 -6
- homeassistant-stubs/components/esphome/entity.pyi +2 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- homeassistant-stubs/components/esphome/manager.pyi +0 -1
- homeassistant-stubs/components/esphome/update.pyi +8 -4
- homeassistant-stubs/components/feedreader/event.pyi +1 -2
- homeassistant-stubs/components/fritz/__init__.pyi +1 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
- homeassistant-stubs/components/fritz/const.pyi +2 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
- homeassistant-stubs/components/frontend/storage.pyi +25 -9
- homeassistant-stubs/components/fyta/image.pyi +18 -4
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
- homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
- homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
- homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
- homeassistant-stubs/components/google/__init__.pyi +7 -8
- homeassistant-stubs/components/google/api.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +5 -5
- homeassistant-stubs/components/google/config_flow.pyi +3 -2
- homeassistant-stubs/components/google/const.pyi +0 -2
- homeassistant-stubs/components/google/coordinator.pyi +5 -5
- homeassistant-stubs/components/google/diagnostics.pyi +2 -3
- homeassistant-stubs/components/google/store.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
- homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
- homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
- homeassistant-stubs/components/guardian/__init__.pyi +11 -18
- homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
- homeassistant-stubs/components/guardian/button.pyi +4 -5
- homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
- homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
- homeassistant-stubs/components/guardian/entity.pyi +3 -3
- homeassistant-stubs/components/guardian/sensor.pyi +3 -4
- homeassistant-stubs/components/guardian/services.pyi +28 -0
- homeassistant-stubs/components/guardian/switch.pyi +4 -5
- homeassistant-stubs/components/guardian/util.pyi +2 -2
- homeassistant-stubs/components/guardian/valve.pyi +4 -5
- homeassistant-stubs/components/habitica/const.pyi +1 -6
- homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -4
- homeassistant-stubs/components/habitica/util.pyi +2 -0
- homeassistant-stubs/components/hardware/__init__.pyi +3 -1
- homeassistant-stubs/components/hardware/const.pyi +4 -0
- homeassistant-stubs/components/hardware/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/models.pyi +14 -1
- homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
- homeassistant-stubs/components/heos/media_player.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
- homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
- homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
- homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
- homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
- homeassistant-stubs/components/home_connect/entity.pyi +0 -1
- homeassistant-stubs/components/home_connect/light.pyi +2 -2
- homeassistant-stubs/components/home_connect/number.pyi +1 -0
- homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
- homeassistant-stubs/components/home_connect/switch.pyi +1 -19
- homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
- homeassistant-stubs/components/homee/const.pyi +2 -0
- homeassistant-stubs/components/homee/event.pyi +19 -0
- homeassistant-stubs/components/homee/fan.pyi +38 -0
- homeassistant-stubs/components/homee/sensor.pyi +5 -1
- homeassistant-stubs/components/homekit/const.pyi +1 -0
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/homeworks/button.pyi +2 -3
- homeassistant-stubs/components/homeworks/light.pyi +2 -3
- homeassistant-stubs/components/http/decorators.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
- homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
- homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
- homeassistant-stubs/components/immich/__init__.pyi +10 -0
- homeassistant-stubs/components/immich/config_flow.pyi +27 -0
- homeassistant-stubs/components/immich/const.pyi +4 -0
- homeassistant-stubs/components/immich/coordinator.pyi +27 -0
- homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
- homeassistant-stubs/components/immich/entity.pyi +10 -0
- homeassistant-stubs/components/immich/media_source.pyi +38 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- homeassistant-stubs/components/integration/__init__.pyi +2 -1
- homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
- homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
- homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
- homeassistant-stubs/components/iqvia/entity.pyi +5 -6
- homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/__init__.pyi +6 -7
- homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/button.pyi +2 -3
- homeassistant-stubs/components/isy994/climate.pyi +3 -4
- homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
- homeassistant-stubs/components/isy994/cover.pyi +3 -5
- homeassistant-stubs/components/isy994/fan.pyi +3 -5
- homeassistant-stubs/components/isy994/light.pyi +3 -4
- homeassistant-stubs/components/isy994/lock.pyi +2 -5
- homeassistant-stubs/components/isy994/models.pyi +2 -0
- homeassistant-stubs/components/isy994/number.pyi +3 -4
- homeassistant-stubs/components/isy994/select.pyi +3 -4
- homeassistant-stubs/components/isy994/sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/services.pyi +1 -1
- homeassistant-stubs/components/isy994/switch.pyi +2 -4
- homeassistant-stubs/components/isy994/system_health.pyi +1 -3
- homeassistant-stubs/components/isy994/util.pyi +3 -2
- homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
- homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
- homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
- homeassistant-stubs/components/knx/const.pyi +7 -0
- homeassistant-stubs/components/knx/cover.pyi +20 -9
- homeassistant-stubs/components/knx/schema.pyi +1 -6
- homeassistant-stubs/components/knx/storage/const.pyi +6 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
- homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
- homeassistant-stubs/components/lcn/const.pyi +3 -1
- homeassistant-stubs/components/lcn/cover.pyi +7 -2
- homeassistant-stubs/components/lcn/entity.pyi +1 -0
- homeassistant-stubs/components/lcn/helpers.pyi +0 -1
- homeassistant-stubs/components/lcn/schemas.pyi +1 -1
- homeassistant-stubs/components/lcn/services.pyi +2 -3
- homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +2 -0
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/media_player/intent.pyi +11 -1
- homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
- homeassistant-stubs/components/metoffice/const.pyi +7 -6
- homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
- homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
- homeassistant-stubs/components/metoffice/weather.pyi +23 -11
- homeassistant-stubs/components/miele/__init__.pyi +15 -0
- homeassistant-stubs/components/miele/api.pyi +9 -0
- homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
- homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
- homeassistant-stubs/components/miele/button.pyi +32 -0
- homeassistant-stubs/components/miele/climate.pyi +55 -0
- homeassistant-stubs/components/miele/config_flow.pyi +17 -0
- homeassistant-stubs/components/miele/const.pyi +127 -0
- homeassistant-stubs/components/miele/coordinator.pyi +29 -0
- homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
- homeassistant-stubs/components/miele/entity.pyi +24 -0
- homeassistant-stubs/components/miele/fan.pyi +39 -0
- homeassistant-stubs/components/miele/light.pyi +39 -0
- homeassistant-stubs/components/miele/sensor.pyi +72 -0
- homeassistant-stubs/components/miele/switch.pyi +52 -0
- homeassistant-stubs/components/miele/vacuum.pyi +84 -0
- homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/const.pyi +9 -0
- homeassistant-stubs/components/modbus/light.pyi +24 -1
- homeassistant-stubs/components/modbus/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/button.pyi +1 -3
- homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
- homeassistant-stubs/components/mqtt/const.pyi +57 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -25
- homeassistant-stubs/components/mqtt/fan.pyi +1 -31
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
- homeassistant-stubs/components/mqtt/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/number/const.pyi +3 -2
- homeassistant-stubs/components/nut/__init__.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/openuv/entity.pyi +1 -0
- homeassistant-stubs/components/pandora/__init__.pyi +1 -0
- homeassistant-stubs/components/pandora/media_player.pyi +14 -13
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
- homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
- homeassistant-stubs/components/qbus/climate.pyi +1 -0
- homeassistant-stubs/components/qbus/entity.pyi +3 -3
- homeassistant-stubs/components/qbus/light.pyi +1 -0
- homeassistant-stubs/components/qbus/scene.pyi +21 -0
- homeassistant-stubs/components/qbus/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/services.pyi +7 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +3 -1
- homeassistant-stubs/components/reolink/const.pyi +5 -0
- homeassistant-stubs/components/reolink/host.pyi +3 -3
- homeassistant-stubs/components/reolink/media_source.pyi +2 -1
- homeassistant-stubs/components/reolink/views.pyi +1 -0
- homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
- homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
- homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
- homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
- homeassistant-stubs/components/sensor/__init__.pyi +1 -0
- homeassistant-stubs/components/sensor/const.pyi +5 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/shelly/button.pyi +5 -4
- homeassistant-stubs/components/shelly/climate.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/cover.pyi +2 -0
- homeassistant-stubs/components/shelly/entity.pyi +4 -2
- homeassistant-stubs/components/shelly/event.pyi +4 -2
- homeassistant-stubs/components/shelly/light.pyi +2 -0
- homeassistant-stubs/components/shelly/number.pyi +3 -2
- homeassistant-stubs/components/shelly/select.pyi +2 -0
- homeassistant-stubs/components/shelly/sensor.pyi +9 -2
- homeassistant-stubs/components/shelly/switch.pyi +2 -2
- homeassistant-stubs/components/shelly/text.pyi +2 -0
- homeassistant-stubs/components/shelly/update.pyi +1 -0
- homeassistant-stubs/components/shelly/utils.pyi +14 -7
- homeassistant-stubs/components/shelly/valve.pyi +2 -0
- homeassistant-stubs/components/smlight/button.pyi +3 -2
- homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
- homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/squeezebox/button.pyi +3 -0
- homeassistant-stubs/components/squeezebox/const.pyi +12 -2
- homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
- homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
- homeassistant-stubs/components/squeezebox/update.pyi +50 -0
- homeassistant-stubs/components/statistics/__init__.pyi +2 -1
- homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
- homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -0
- homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -1
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/tts/__init__.pyi +4 -1
- homeassistant-stubs/components/tts/const.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +4 -0
- homeassistant-stubs/components/tts/legacy.pyi +3 -1
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
- homeassistant-stubs/components/wallbox/const.pyi +10 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
- homeassistant-stubs/components/wallbox/select.pyi +29 -0
- homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
- homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
- homeassistant-stubs/components/wemo/light.pyi +1 -0
- homeassistant-stubs/components/whois/const.pyi +1 -0
- homeassistant-stubs/components/whois/sensor.pyi +2 -1
- homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
- homeassistant-stubs/components/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -7
- homeassistant-stubs/components/zwave_js/const.pyi +1 -2
- homeassistant-stubs/config_entries.pyi +0 -1
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core_config.pyi +0 -2
- homeassistant-stubs/helpers/condition.pyi +1 -6
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
- homeassistant-stubs/helpers/config_validation.pyi +7 -2
- homeassistant-stubs/helpers/device.pyi +1 -1
- homeassistant-stubs/helpers/device_registry.pyi +4 -4
- homeassistant-stubs/helpers/entity_component.pyi +5 -2
- homeassistant-stubs/helpers/entity_platform.pyi +4 -1
- homeassistant-stubs/helpers/entity_registry.pyi +7 -6
- homeassistant-stubs/helpers/helper_integration.pyi +6 -0
- homeassistant-stubs/helpers/selector.pyi +55 -50
- homeassistant-stubs/helpers/service.pyi +3 -3
- homeassistant-stubs/helpers/template.pyi +4 -1
- homeassistant-stubs/util/aiohttp.pyi +5 -0
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +416 -357
- homeassistant-stubs/components/metoffice/data.pyi +0 -10
- homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,13 +1,12 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
|
-
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_entity_name as get_block_entity_name, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances
|
3
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioshelly.block_device import Block as Block
|
6
6
|
from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
11
10
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
12
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
12
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
@@ -60,6 +59,7 @@ class RestEntityDescription(EntityDescription):
|
|
60
59
|
def rpc_call[_T: ShellyRpcEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
61
60
|
|
62
61
|
class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
62
|
+
_attr_has_entity_name: bool
|
63
63
|
block: Incomplete
|
64
64
|
_attr_name: Incomplete
|
65
65
|
_attr_device_info: Incomplete
|
@@ -71,6 +71,7 @@ class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
|
71
71
|
async def set_state(self, **kwargs: Any) -> Any: ...
|
72
72
|
|
73
73
|
class ShellyRpcEntity(CoordinatorEntity[ShellyRpcCoordinator]):
|
74
|
+
_attr_has_entity_name: bool
|
74
75
|
key: Incomplete
|
75
76
|
_attr_device_info: Incomplete
|
76
77
|
_attr_unique_id: Incomplete
|
@@ -100,6 +101,7 @@ class ShellyBlockAttributeEntity(ShellyBlockEntity, Entity):
|
|
100
101
|
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
101
102
|
|
102
103
|
class ShellyRestAttributeEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
104
|
+
_attr_has_entity_name: bool
|
103
105
|
entity_description: RestEntityDescription
|
104
106
|
block_coordinator: Incomplete
|
105
107
|
attribute: Incomplete
|
@@ -1,18 +1,19 @@
|
|
1
1
|
from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import ShellyBlockEntity as ShellyBlockEntity
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from collections.abc import Callable as Callable
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
12
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
13
12
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
14
13
|
from typing import Any, Final
|
15
14
|
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
|
16
17
|
@dataclass(frozen=True, kw_only=True)
|
17
18
|
class ShellyBlockEventDescription(EventEntityDescription):
|
18
19
|
removal_condition: Callable[[dict, Block], bool] | None = ...
|
@@ -38,6 +39,7 @@ class ShellyBlockEvent(ShellyBlockEntity, EventEntity):
|
|
38
39
|
def _async_handle_event(self, event: dict[str, Any]) -> None: ...
|
39
40
|
|
40
41
|
class ShellyRpcEvent(CoordinatorEntity[ShellyRpcCoordinator], EventEntity):
|
42
|
+
_attr_has_entity_name: bool
|
41
43
|
entity_description: ShellyRpcEventDescription
|
42
44
|
event_id: Incomplete
|
43
45
|
_attr_device_info: Incomplete
|
@@ -9,6 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
10
|
from typing import Any
|
11
11
|
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
13
15
|
@callback
|
14
16
|
def async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER, VIRTUAL_NUMBER_MODE_MAP as VIRTUAL_NUMBER_MODE_MAP
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, 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_virtual_component_ids as get_virtual_component_ids
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from collections.abc import Callable as Callable
|
@@ -10,11 +10,12 @@ from homeassistant.components.number import NumberEntity as NumberEntity, Number
|
|
10
10
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
|
14
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
15
14
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
16
15
|
from typing import Any, Final
|
17
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
18
|
+
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
|
20
21
|
rest_path: str = ...
|
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Final
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class RpcSelectDescription(RpcEntityDescription, SelectEntityDescription): ...
|
13
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, ROLE_TO_DEVICE_CLASS_MAP as ROLE_TO_DEVICE_CLASS_MAP
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_rpc_device_info as get_rpc_device_info, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from collections.abc import Callable as Callable
|
@@ -9,18 +9,20 @@ from dataclasses import dataclass
|
|
9
9
|
from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
|
10
10
|
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
|
13
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
14
13
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
15
14
|
from homeassistant.helpers.typing import StateType as StateType
|
16
15
|
from typing import Final
|
17
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
18
|
+
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class BlockSensorDescription(BlockEntityDescription, SensorEntityDescription): ...
|
20
21
|
|
21
22
|
@dataclass(frozen=True, kw_only=True)
|
22
23
|
class RpcSensorDescription(RpcEntityDescription, SensorEntityDescription):
|
23
24
|
device_class_fn: Callable[[dict], SensorDeviceClass | None] | None = ...
|
25
|
+
emeter_phase: str | None = ...
|
24
26
|
|
25
27
|
@dataclass(frozen=True, kw_only=True)
|
26
28
|
class RestSensorDescription(RestEntityDescription, SensorEntityDescription): ...
|
@@ -33,6 +35,11 @@ class RpcSensor(ShellyRpcAttributeEntity, SensorEntity):
|
|
33
35
|
@property
|
34
36
|
def native_value(self) -> StateType: ...
|
35
37
|
|
38
|
+
class RpcEmeterPhaseSensor(RpcSensor):
|
39
|
+
entity_description: RpcSensorDescription
|
40
|
+
_attr_device_info: Incomplete
|
41
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
|
42
|
+
|
36
43
|
class RpcBluTrvSensor(RpcSensor):
|
37
44
|
_attr_device_info: Incomplete
|
38
45
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
|
@@ -13,6 +13,8 @@ from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
|
13
13
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
14
14
|
from typing import Any
|
15
15
|
|
16
|
+
PARALLEL_UPDATES: int
|
17
|
+
|
16
18
|
@dataclass(frozen=True, kw_only=True)
|
17
19
|
class BlockSwitchDescription(BlockEntityDescription, SwitchEntityDescription): ...
|
18
20
|
|
@@ -60,13 +62,11 @@ class BlockRelaySwitch(ShellyBlockAttributeEntity, SwitchEntity):
|
|
60
62
|
|
61
63
|
class RpcSwitch(ShellyRpcAttributeEntity, SwitchEntity):
|
62
64
|
entity_description: RpcSwitchDescription
|
63
|
-
_attr_has_entity_name: bool
|
64
65
|
@property
|
65
66
|
def is_on(self) -> bool: ...
|
66
67
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
67
68
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
68
69
|
|
69
70
|
class RpcRelaySwitch(RpcSwitch):
|
70
|
-
_attr_has_entity_name: bool
|
71
71
|
_attr_unique_id: str
|
72
72
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcEntityDescription) -> None: ...
|
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Final
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class RpcTextDescription(RpcEntityDescription, TextEntityDescription): ...
|
13
15
|
|
@@ -14,6 +14,7 @@ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
|
14
14
|
from typing import Any, Final
|
15
15
|
|
16
16
|
LOGGER: Incomplete
|
17
|
+
PARALLEL_UPDATES: int
|
17
18
|
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class RpcUpdateDescription(RpcEntityDescription, UpdateEntityDescription):
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import API_WS_URL as API_WS_URL, 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_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, 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
|
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
|
@@ -11,7 +11,7 @@ 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
13
|
from homeassistant.helpers import singleton as singleton
|
14
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
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
|
17
17
|
from typing import Any
|
@@ -19,8 +19,9 @@ from typing import Any
|
|
19
19
|
@callback
|
20
20
|
def async_remove_shelly_entity(hass: HomeAssistant, domain: str, unique_id: str) -> None: ...
|
21
21
|
def get_number_of_channels(device: BlockDevice, block: Block) -> int: ...
|
22
|
-
def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str: ...
|
23
|
-
def get_block_channel_name(device: BlockDevice, block: Block | None) -> str: ...
|
22
|
+
def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str | None: ...
|
23
|
+
def get_block_channel_name(device: BlockDevice, block: Block | None) -> str | None: ...
|
24
|
+
def get_block_sub_device_name(device: BlockDevice, block: Block) -> str: ...
|
24
25
|
def is_block_momentary_input(settings: dict[str, Any], block: Block, include_detached: bool = False) -> bool: ...
|
25
26
|
def is_block_exclude_from_relay(settings: dict[str, Any], block: Block) -> bool: ...
|
26
27
|
def get_device_uptime(uptime: float, last_uptime: datetime | None) -> datetime: ...
|
@@ -43,10 +44,11 @@ def get_info_auth(info: dict[str, Any]) -> bool: ...
|
|
43
44
|
def get_info_gen(info: dict[str, Any]) -> int: ...
|
44
45
|
def get_model_name(info: dict[str, Any]) -> str: ...
|
45
46
|
def get_shelly_model_name(model: str, sleep_period: int, device: BlockDevice | RpcDevice) -> str | None: ...
|
46
|
-
def get_rpc_channel_name(device: RpcDevice, key: str) -> str: ...
|
47
|
-
def
|
47
|
+
def get_rpc_channel_name(device: RpcDevice, key: str) -> str | None: ...
|
48
|
+
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: ...
|
48
50
|
def get_device_entry_gen(entry: ConfigEntry) -> int: ...
|
49
|
-
def get_rpc_key_instances(keys_dict: dict[str, Any], key: str) -> list[str]: ...
|
51
|
+
def get_rpc_key_instances(keys_dict: dict[str, Any], key: str, all_lights: bool = False) -> list[str]: ...
|
50
52
|
def get_rpc_key_ids(keys_dict: dict[str, Any], key: str) -> list[int]: ...
|
51
53
|
def is_rpc_momentary_input(config: dict[str, Any], status: dict[str, Any], key: str) -> bool: ...
|
52
54
|
def is_block_channel_type_light(settings: dict[str, Any], channel: int) -> bool: ...
|
@@ -75,3 +77,8 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
|
|
75
77
|
def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
|
76
78
|
def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
|
77
79
|
async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
|
80
|
+
def get_rpc_device_info(device: RpcDevice, mac: str, key: str | None = None, emeter_phase: str | None = None) -> DeviceInfo: ...
|
81
|
+
def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
|
82
|
+
def get_block_device_info(device: BlockDevice, mac: str, block: Block | None = None) -> DeviceInfo: ...
|
83
|
+
@callback
|
84
|
+
def remove_stale_blu_trv_devices(hass: HomeAssistant, rpc_device: RpcDevice, entry: ConfigEntry) -> None: ...
|
@@ -9,6 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
10
|
from typing import Any
|
11
11
|
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
12
14
|
@dataclass(kw_only=True, frozen=True)
|
13
15
|
class BlockValveDescription(BlockEntityDescription, ValveEntityDescription): ...
|
14
16
|
|
@@ -15,7 +15,7 @@ _LOGGER: Incomplete
|
|
15
15
|
|
16
16
|
@dataclass(frozen=True, kw_only=True)
|
17
17
|
class SmButtonDescription(ButtonEntityDescription):
|
18
|
-
press_fn: Callable[[CmdWrapper], Awaitable[None]]
|
18
|
+
press_fn: Callable[[CmdWrapper, int], Awaitable[None]]
|
19
19
|
|
20
20
|
BUTTONS: list[SmButtonDescription]
|
21
21
|
ROUTER: Incomplete
|
@@ -26,6 +26,7 @@ class SmButton(SmEntity, ButtonEntity):
|
|
26
26
|
coordinator: SmDataUpdateCoordinator
|
27
27
|
entity_description: SmButtonDescription
|
28
28
|
_attr_entity_category: Incomplete
|
29
|
+
idx: Incomplete
|
29
30
|
_attr_unique_id: Incomplete
|
30
|
-
def __init__(self, coordinator: SmDataUpdateCoordinator, description: SmButtonDescription) -> None: ...
|
31
|
+
def __init__(self, coordinator: SmDataUpdateCoordinator, description: SmButtonDescription, idx: int = 0) -> None: ...
|
31
32
|
async def async_press(self) -> None: ...
|
@@ -5,7 +5,7 @@ from dataclasses import dataclass
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
9
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
10
10
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType, format_mac as format_mac
|
11
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
@@ -7,6 +7,7 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
|
10
|
+
PARALLEL_UPDATES: int
|
10
11
|
SENSORS: tuple[BinarySensorEntityDescription, ...]
|
11
12
|
_LOGGER: Incomplete
|
12
13
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import UNPLAYABLE_TYPES as UNPLAYABLE_TYPES
|
1
|
+
from .const import DOMAIN as DOMAIN, UNPLAYABLE_TYPES as UNPLAYABLE_TYPES
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from dataclasses import dataclass, field
|
4
4
|
from homeassistant.components import media_source as media_source
|
@@ -11,6 +11,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
|
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
12
|
|
13
13
|
_LOGGER: Incomplete
|
14
|
+
PARALLEL_UPDATES: int
|
14
15
|
HARDWARE_MODELS_WITH_SCREEN: Incomplete
|
15
16
|
HARDWARE_MODELS_WITH_TONE: Incomplete
|
16
17
|
|
@@ -28,4 +29,6 @@ class SqueezeboxButtonEntity(SqueezeboxEntity, ButtonEntity):
|
|
28
29
|
entity_description: SqueezeboxButtonEntityDescription
|
29
30
|
_attr_unique_id: Incomplete
|
30
31
|
def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator, entity_description: SqueezeboxButtonEntityDescription) -> None: ...
|
32
|
+
@property
|
33
|
+
def available(self) -> bool: ...
|
31
34
|
async def async_press(self) -> None: ...
|
@@ -13,8 +13,6 @@ SERVER_MODEL: str
|
|
13
13
|
STATUS_API_TIMEOUT: int
|
14
14
|
STATUS_SENSOR_LASTSCAN: str
|
15
15
|
STATUS_SENSOR_NEEDSRESTART: str
|
16
|
-
STATUS_SENSOR_NEWVERSION: str
|
17
|
-
STATUS_SENSOR_NEWPLUGINS: str
|
18
16
|
STATUS_SENSOR_RESCAN: str
|
19
17
|
STATUS_SENSOR_INFO_TOTAL_ALBUMS: str
|
20
18
|
STATUS_SENSOR_INFO_TOTAL_ARTISTS: str
|
@@ -27,6 +25,8 @@ STATUS_QUERY_LIBRARYNAME: str
|
|
27
25
|
STATUS_QUERY_MAC: str
|
28
26
|
STATUS_QUERY_UUID: str
|
29
27
|
STATUS_QUERY_VERSION: str
|
28
|
+
STATUS_UPDATE_NEWVERSION: str
|
29
|
+
STATUS_UPDATE_NEWPLUGINS: str
|
30
30
|
SQUEEZEBOX_SOURCE_STRINGS: Incomplete
|
31
31
|
SIGNAL_PLAYER_DISCOVERED: str
|
32
32
|
SIGNAL_PLAYER_REDISCOVERED: str
|
@@ -39,3 +39,13 @@ DEFAULT_VOLUME_STEP: int
|
|
39
39
|
ATTR_ANNOUNCE_VOLUME: str
|
40
40
|
ATTR_ANNOUNCE_TIMEOUT: str
|
41
41
|
UNPLAYABLE_TYPES: Incomplete
|
42
|
+
ATTR_ALARM_ID: str
|
43
|
+
ATTR_DAYS_OF_WEEK: str
|
44
|
+
ATTR_ENABLED: str
|
45
|
+
ATTR_REPEAT: str
|
46
|
+
ATTR_SCHEDULED_TODAY: str
|
47
|
+
ATTR_TIME: str
|
48
|
+
ATTR_VOLUME: str
|
49
|
+
ATTR_URL: str
|
50
|
+
UPDATE_PLUGINS_RELEASE_SUMMARY: str
|
51
|
+
UPDATE_RELEASE_SUMMARY: str
|
@@ -1,11 +1,13 @@
|
|
1
1
|
from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
|
2
|
-
from .const import PLAYER_UPDATE_INTERVAL as PLAYER_UPDATE_INTERVAL, SENSOR_UPDATE_INTERVAL as SENSOR_UPDATE_INTERVAL, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT
|
2
|
+
from .const import DOMAIN as DOMAIN, PLAYER_UPDATE_INTERVAL as PLAYER_UPDATE_INTERVAL, SENSOR_UPDATE_INTERVAL as SENSOR_UPDATE_INTERVAL, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
6
7
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
7
8
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
9
|
from pysqueezebox import Player as Player, Server as Server
|
10
|
+
from pysqueezebox.player import Alarm as Alarm
|
9
11
|
from typing import Any
|
10
12
|
|
11
13
|
_LOGGER: Incomplete
|
@@ -13,16 +15,18 @@ _LOGGER: Incomplete
|
|
13
15
|
class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator):
|
14
16
|
config_entry: SqueezeboxConfigEntry
|
15
17
|
lms: Incomplete
|
16
|
-
|
18
|
+
can_server_restart: bool
|
17
19
|
def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, lms: Server) -> None: ...
|
20
|
+
async def _async_setup(self) -> None: ...
|
18
21
|
async def _async_update_data(self) -> dict: ...
|
19
|
-
def _prepare_status_data(self, data: dict) -> dict: ...
|
20
22
|
|
21
23
|
class SqueezeBoxPlayerUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
22
24
|
config_entry: SqueezeboxConfigEntry
|
23
25
|
player: Incomplete
|
24
26
|
available: bool
|
27
|
+
known_alarms: set[str]
|
25
28
|
_remove_dispatcher: Callable | None
|
29
|
+
player_uuid: Incomplete
|
26
30
|
server_uuid: Incomplete
|
27
31
|
def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, player: Player, server_uuid: str) -> None: ...
|
28
32
|
async def _async_update_data(self) -> dict[str, Any]: ...
|
@@ -7,7 +7,7 @@ from _typeshed import Incomplete
|
|
7
7
|
from collections.abc import Callable as Callable
|
8
8
|
from datetime import datetime
|
9
9
|
from homeassistant.components import media_source as media_source
|
10
|
-
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
|
10
|
+
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
|
11
11
|
from homeassistant.config_entries import SOURCE_INTEGRATION_DISCOVERY as SOURCE_INTEGRATION_DISCOVERY
|
12
12
|
from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
|
13
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
@@ -25,6 +25,7 @@ SERVICE_CALL_METHOD: str
|
|
25
25
|
SERVICE_CALL_QUERY: str
|
26
26
|
ATTR_QUERY_RESULT: str
|
27
27
|
_LOGGER: Incomplete
|
28
|
+
PARALLEL_UPDATES: int
|
28
29
|
ATTR_PARAMETERS: str
|
29
30
|
ATTR_OTHER_PLAYER: str
|
30
31
|
ATTR_TO_PROPERTY: Incomplete
|
@@ -103,6 +104,7 @@ class SqueezeBoxMediaPlayerEntity(SqueezeboxEntity, MediaPlayerEntity):
|
|
103
104
|
async def async_media_seek(self, position: float) -> None: ...
|
104
105
|
async def async_turn_on(self) -> None: ...
|
105
106
|
async def async_play_media(self, media_type: MediaType | str, media_id: str, announce: bool | None = None, **kwargs: Any) -> None: ...
|
107
|
+
async def async_search_media(self, query: SearchMediaQuery) -> SearchMedia: ...
|
106
108
|
async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
|
107
109
|
async def async_set_shuffle(self, shuffle: bool) -> None: ...
|
108
110
|
async def async_clear_playlist(self) -> None: ...
|
@@ -8,6 +8,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from homeassistant.helpers.typing import StateType as StateType
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
11
12
|
SENSORS: tuple[SensorEntityDescription, ...]
|
12
13
|
_LOGGER: Incomplete
|
13
14
|
|
@@ -0,0 +1,47 @@
|
|
1
|
+
from .const import ATTR_ALARM_ID as ATTR_ALARM_ID, DOMAIN as DOMAIN, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED
|
2
|
+
from .coordinator import SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
|
3
|
+
from .entity import SqueezeboxEntity as SqueezeboxEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
10
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
from homeassistant.helpers.event import async_track_time_change as async_track_time_change
|
13
|
+
from pysqueezebox.player import Alarm as Alarm
|
14
|
+
from typing import Any
|
15
|
+
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
19
|
+
|
20
|
+
class SqueezeBoxAlarmEntity(SqueezeboxEntity, SwitchEntity):
|
21
|
+
_attr_translation_key: str
|
22
|
+
_attr_entity_category: Incomplete
|
23
|
+
_alarm_id: Incomplete
|
24
|
+
_attr_translation_placeholders: Incomplete
|
25
|
+
_attr_unique_id: str
|
26
|
+
def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator, alarm_id: str) -> None: ...
|
27
|
+
async def async_added_to_hass(self) -> None: ...
|
28
|
+
@property
|
29
|
+
def alarm(self) -> Alarm: ...
|
30
|
+
@property
|
31
|
+
def available(self) -> bool: ...
|
32
|
+
@property
|
33
|
+
def extra_state_attributes(self) -> dict[str, Any]: ...
|
34
|
+
@property
|
35
|
+
def is_on(self) -> bool: ...
|
36
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
37
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
38
|
+
|
39
|
+
class SqueezeBoxAlarmsEnabledEntity(SqueezeboxEntity, SwitchEntity):
|
40
|
+
_attr_translation_key: str
|
41
|
+
_attr_entity_category: Incomplete
|
42
|
+
_attr_unique_id: str
|
43
|
+
def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator) -> None: ...
|
44
|
+
@property
|
45
|
+
def is_on(self) -> bool: ...
|
46
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
47
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,50 @@
|
|
1
|
+
from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN, SERVER_MODEL as SERVER_MODEL, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION, STATUS_UPDATE_NEWPLUGINS as STATUS_UPDATE_NEWPLUGINS, STATUS_UPDATE_NEWVERSION as STATUS_UPDATE_NEWVERSION, UPDATE_PLUGINS_RELEASE_SUMMARY as UPDATE_PLUGINS_RELEASE_SUMMARY, UPDATE_RELEASE_SUMMARY as UPDATE_RELEASE_SUMMARY
|
3
|
+
from .entity import LMSStatusEntity as LMSStatusEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from datetime import datetime
|
7
|
+
from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.event import async_call_later as async_call_later
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
newserver: Incomplete
|
15
|
+
newplugins: Incomplete
|
16
|
+
POLL_AFTER_INSTALL: int
|
17
|
+
PARALLEL_UPDATES: int
|
18
|
+
_LOGGER: Incomplete
|
19
|
+
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
21
|
+
|
22
|
+
class ServerStatusUpdate(LMSStatusEntity, UpdateEntity):
|
23
|
+
@property
|
24
|
+
def latest_version(self) -> str: ...
|
25
|
+
|
26
|
+
class ServerStatusUpdateLMS(ServerStatusUpdate):
|
27
|
+
title: str
|
28
|
+
@property
|
29
|
+
def installed_version(self) -> str: ...
|
30
|
+
@property
|
31
|
+
def release_url(self) -> str: ...
|
32
|
+
@property
|
33
|
+
def release_summary(self) -> None | str: ...
|
34
|
+
|
35
|
+
class ServerStatusUpdatePlugins(ServerStatusUpdate):
|
36
|
+
auto_update: bool
|
37
|
+
title: str
|
38
|
+
installed_version: str
|
39
|
+
restart_triggered: bool
|
40
|
+
_cancel_update: Callable | None
|
41
|
+
@property
|
42
|
+
def supported_features(self) -> UpdateEntityFeature: ...
|
43
|
+
@property
|
44
|
+
def release_summary(self) -> None | str: ...
|
45
|
+
@property
|
46
|
+
def release_url(self) -> str: ...
|
47
|
+
@property
|
48
|
+
def in_progress(self) -> bool: ...
|
49
|
+
async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
|
50
|
+
async def _async_update_catchall(self, now: datetime | None = None) -> None: ...
|
@@ -2,7 +2,8 @@ from _typeshed import Incomplete
|
|
2
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
3
|
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
-
from homeassistant.helpers.device import async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
|
5
|
+
from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
|
6
|
+
from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
|
6
7
|
|
7
8
|
DOMAIN: str
|
8
9
|
PLATFORMS: Incomplete
|
@@ -1,11 +1,18 @@
|
|
1
1
|
from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DATA_REFRESH_INTERVAL as DATA_REFRESH_INTERVAL, DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
2
3
|
from dataclasses import dataclass
|
4
|
+
from datetime import date
|
5
|
+
from homeassistant.components.recorder import get_instance as get_instance
|
6
|
+
from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMetaData as StatisticMetaData
|
7
|
+
from homeassistant.components.recorder.statistics import StatisticMeanType as StatisticMeanType, StatisticsRow as StatisticsRow, async_add_external_statistics as async_add_external_statistics, get_last_statistics as get_last_statistics
|
3
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
-
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
5
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, CURRENCY_EURO as CURRENCY_EURO, UnitOfVolume as UnitOfVolume
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
11
|
from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
|
7
12
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
|
-
from pysuez import SuezClient
|
13
|
+
from pysuez import SuezClient, TelemetryMeasure as TelemetryMeasure
|
14
|
+
|
15
|
+
_LOGGER: Incomplete
|
9
16
|
|
10
17
|
@dataclass
|
11
18
|
class SuezWaterAggregatedAttributes:
|
@@ -20,12 +27,20 @@ class SuezWaterAggregatedAttributes:
|
|
20
27
|
class SuezWaterData:
|
21
28
|
aggregated_value: float
|
22
29
|
aggregated_attr: SuezWaterAggregatedAttributes
|
23
|
-
price: float
|
30
|
+
price: float | None
|
24
31
|
type SuezWaterConfigEntry = ConfigEntry[SuezWaterCoordinator]
|
25
32
|
|
26
33
|
class SuezWaterCoordinator(DataUpdateCoordinator[SuezWaterData]):
|
27
34
|
_suez_client: SuezClient
|
28
35
|
config_entry: SuezWaterConfigEntry
|
36
|
+
_counter_id: Incomplete
|
37
|
+
_cost_statistic_id: Incomplete
|
38
|
+
_water_statistic_id: Incomplete
|
29
39
|
def __init__(self, hass: HomeAssistant, config_entry: SuezWaterConfigEntry) -> None: ...
|
30
40
|
async def _async_setup(self) -> None: ...
|
31
41
|
async def _async_update_data(self) -> SuezWaterData: ...
|
42
|
+
async def _update_statistics(self, current_price: float | None) -> None: ...
|
43
|
+
def _build_statistics(self, current_price: float | None, consumption_sum: float, cost_sum: float, last_stats: date | None, usage: list[TelemetryMeasure]) -> tuple[list[StatisticData], list[StatisticData]]: ...
|
44
|
+
def _persist_statistics(self, consumption_statistics: list[StatisticData], cost_statistics: list[StatisticData]) -> None: ...
|
45
|
+
def _get_statistics_metadata(self, id: str, name: str, unit: str) -> StatisticMetaData: ...
|
46
|
+
async def _get_last_stat(self, id: str) -> StatisticsRow | None: ...
|
@@ -29,6 +29,8 @@ class SuezWaterSensor(CoordinatorEntity[SuezWaterCoordinator], SensorEntity):
|
|
29
29
|
_attr_device_info: Incomplete
|
30
30
|
def __init__(self, coordinator: SuezWaterCoordinator, counter_id: int, entity_description: SuezWaterSensorEntityDescription) -> None: ...
|
31
31
|
@property
|
32
|
+
def available(self) -> bool: ...
|
33
|
+
@property
|
32
34
|
def native_value(self) -> float | str | None: ...
|
33
35
|
@property
|
34
36
|
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from datetime import timedelta
|
3
|
+
from homeassistant.const import CONF_CONDITION as CONF_CONDITION, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.condition import ConditionCheckerType as ConditionCheckerType, condition_trace_set_result as condition_trace_set_result, condition_trace_update_result as condition_trace_update_result, trace_condition_function as trace_condition_function
|
6
|
+
from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
|
7
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
|
8
|
+
|
9
|
+
_CONDITION_SCHEMA: Incomplete
|
10
|
+
|
11
|
+
async def async_validate_condition_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
|
12
|
+
def sun(hass: HomeAssistant, before: str | None = None, after: str | None = None, before_offset: timedelta | None = None, after_offset: timedelta | None = None) -> bool: ...
|
13
|
+
def async_condition_from_config(config: ConfigType) -> ConditionCheckerType: ...
|
@@ -1,4 +1,17 @@
|
|
1
|
-
from .
|
2
|
-
from
|
1
|
+
from .const import CONF_INVERT as CONF_INVERT, CONF_TARGET_DOMAIN as CONF_TARGET_DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.homeassistant import exposed_entities as exposed_entities
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
|
3
8
|
|
4
|
-
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
|
11
|
+
@callback
|
12
|
+
def async_add_to_device(hass: HomeAssistant, entry: ConfigEntry, entity_id: str) -> str | None: ...
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
14
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
15
|
+
async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
16
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
17
|
+
async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|