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,9 +1,11 @@
|
|
1
1
|
from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
|
5
|
-
from homeassistant.const import CONF_CODE as CONF_CODE, CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
|
6
|
-
from
|
4
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_DHCP as SOURCE_DHCP, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
|
5
|
+
from homeassistant.const import CONF_CODE as CONF_CODE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
|
6
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
7
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
8
|
+
from typing import Any, Self
|
7
9
|
|
8
10
|
_LOGGER: Incomplete
|
9
11
|
STEP_USER_DATA_SCHEMA: Incomplete
|
@@ -16,8 +18,12 @@ async def try_connect(data: dict[str, Any], load_selector: int = 0) -> tuple[str
|
|
16
18
|
|
17
19
|
class BoschAlarmConfigFlow(ConfigFlow, domain=DOMAIN):
|
18
20
|
_data: dict[str, Any]
|
21
|
+
mac: str | None
|
22
|
+
host: str | None
|
19
23
|
def __init__(self) -> None: ...
|
24
|
+
def is_matching(self, other_flow: Self) -> bool: ...
|
20
25
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
21
27
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
22
28
|
async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
29
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
@@ -1,5 +1,5 @@
|
|
1
|
-
from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
|
2
1
|
from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE
|
2
|
+
from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
5
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
|
@@ -9,8 +9,10 @@ PARALLEL_UPDATES: int
|
|
9
9
|
class BoschAlarmEntity(Entity):
|
10
10
|
_attr_has_entity_name: bool
|
11
11
|
panel: Incomplete
|
12
|
+
_observe_faults: Incomplete
|
13
|
+
_attr_should_poll: bool
|
12
14
|
_attr_device_info: Incomplete
|
13
|
-
def __init__(self, panel: Panel, unique_id: str) -> None: ...
|
15
|
+
def __init__(self, panel: Panel, unique_id: str, observe_faults: bool = False) -> None: ...
|
14
16
|
@property
|
15
17
|
def available(self) -> bool: ...
|
16
18
|
async def async_added_to_hass(self) -> None: ...
|
@@ -27,3 +29,30 @@ class BoschAlarmAreaEntity(BoschAlarmEntity):
|
|
27
29
|
def __init__(self, panel: Panel, area_id: int, unique_id: str, observe_alarms: bool, observe_ready: bool, observe_status: bool) -> None: ...
|
28
30
|
async def async_added_to_hass(self) -> None: ...
|
29
31
|
async def async_will_remove_from_hass(self) -> None: ...
|
32
|
+
|
33
|
+
class BoschAlarmPointEntity(BoschAlarmEntity):
|
34
|
+
_point_id: Incomplete
|
35
|
+
_point_unique_id: Incomplete
|
36
|
+
_point: Incomplete
|
37
|
+
_attr_device_info: Incomplete
|
38
|
+
def __init__(self, panel: Panel, point_id: int, unique_id: str) -> None: ...
|
39
|
+
async def async_added_to_hass(self) -> None: ...
|
40
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
41
|
+
|
42
|
+
class BoschAlarmDoorEntity(BoschAlarmEntity):
|
43
|
+
_door_id: Incomplete
|
44
|
+
_door: Incomplete
|
45
|
+
_door_unique_id: Incomplete
|
46
|
+
_attr_device_info: Incomplete
|
47
|
+
def __init__(self, panel: Panel, door_id: int, unique_id: str) -> None: ...
|
48
|
+
async def async_added_to_hass(self) -> None: ...
|
49
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
50
|
+
|
51
|
+
class BoschAlarmOutputEntity(BoschAlarmEntity):
|
52
|
+
_output_id: Incomplete
|
53
|
+
_output: Incomplete
|
54
|
+
_output_unique_id: Incomplete
|
55
|
+
_attr_device_info: Incomplete
|
56
|
+
def __init__(self, panel: Panel, output_id: int, unique_id: str) -> None: ...
|
57
|
+
async def async_added_to_hass(self) -> None: ...
|
58
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
@@ -9,13 +9,17 @@ from homeassistant.components.sensor import SensorEntity as SensorEntity, Sensor
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
11
|
|
12
|
+
ALARM_TYPES: Incomplete
|
13
|
+
|
12
14
|
@dataclass(kw_only=True, frozen=True)
|
13
15
|
class BoschAlarmSensorEntityDescription(SensorEntityDescription):
|
14
|
-
value_fn: Callable[[Area], int]
|
16
|
+
value_fn: Callable[[Area], str | int]
|
15
17
|
observe_alarms: bool = ...
|
16
18
|
observe_ready: bool = ...
|
17
19
|
observe_status: bool = ...
|
18
20
|
|
21
|
+
def priority_value_fn(priority_info: dict[int, str]) -> Callable[[Area], str]: ...
|
22
|
+
|
19
23
|
SENSOR_TYPES: list[BoschAlarmSensorEntityDescription]
|
20
24
|
|
21
25
|
async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
@@ -27,4 +31,4 @@ class BoschAreaSensor(BoschAlarmAreaEntity, SensorEntity):
|
|
27
31
|
_attr_unique_id: Incomplete
|
28
32
|
def __init__(self, panel: Panel, area_id: int, unique_id: str, entity_description: BoschAlarmSensorEntityDescription) -> None: ...
|
29
33
|
@property
|
30
|
-
def native_value(self) -> int: ...
|
34
|
+
def native_value(self) -> str | int: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import datetime as dt
|
2
|
+
from .const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATETIME as ATTR_DATETIME, DOMAIN as DOMAIN, SERVICE_SET_DATE_TIME as SERVICE_SET_DATE_TIME
|
3
|
+
from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
7
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
def validate_datetime(value: Any) -> dt.datetime: ...
|
11
|
+
|
12
|
+
SET_DATE_TIME_SCHEMA: Incomplete
|
13
|
+
|
14
|
+
async def async_set_panel_date(call: ServiceCall) -> None: ...
|
15
|
+
def setup_services(hass: HomeAssistant) -> None: ...
|
@@ -0,0 +1,43 @@
|
|
1
|
+
from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import BoschAlarmDoorEntity as BoschAlarmDoorEntity, BoschAlarmOutputEntity as BoschAlarmOutputEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from bosch_alarm_mode2 import Panel as Panel
|
6
|
+
from bosch_alarm_mode2.panel import Door as Door
|
7
|
+
from collections.abc import Callable as Callable, Coroutine
|
8
|
+
from dataclasses import dataclass
|
9
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
12
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
@dataclass(kw_only=True, frozen=True)
|
16
|
+
class BoschAlarmSwitchEntityDescription(SwitchEntityDescription):
|
17
|
+
value_fn: Callable[[Door], bool]
|
18
|
+
on_fn: Callable[[Panel, int], Coroutine[Any, Any, None]]
|
19
|
+
off_fn: Callable[[Panel, int], Coroutine[Any, Any, None]]
|
20
|
+
|
21
|
+
DOOR_SWITCH_TYPES: list[BoschAlarmSwitchEntityDescription]
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
PARALLEL_UPDATES: int
|
26
|
+
|
27
|
+
class PanelDoorEntity(BoschAlarmDoorEntity, SwitchEntity):
|
28
|
+
entity_description: BoschAlarmSwitchEntityDescription
|
29
|
+
_attr_unique_id: Incomplete
|
30
|
+
def __init__(self, panel: Panel, door_id: int, unique_id: str, entity_description: BoschAlarmSwitchEntityDescription) -> None: ...
|
31
|
+
@property
|
32
|
+
def is_on(self) -> bool: ...
|
33
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
34
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
35
|
+
|
36
|
+
class PanelOutputEntity(BoschAlarmOutputEntity, SwitchEntity):
|
37
|
+
_attr_name: Incomplete
|
38
|
+
_attr_unique_id: Incomplete
|
39
|
+
def __init__(self, panel: Panel, output_id: int, unique_id: str) -> None: ...
|
40
|
+
@property
|
41
|
+
def is_on(self) -> bool: ...
|
42
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
43
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .coordinator import BringConfigEntry as BringConfigEntry, BringDataUpdateCoordinator as BringDataUpdateCoordinator
|
1
|
+
from .coordinator import BringActivityCoordinator as BringActivityCoordinator, BringConfigEntry as BringConfigEntry, BringCoordinators as BringCoordinators, BringDataUpdateCoordinator as BringDataUpdateCoordinator
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -10,22 +10,40 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
10
10
|
from mashumaro.mixins.orjson import DataClassORJSONMixin
|
11
11
|
|
12
12
|
_LOGGER: Incomplete
|
13
|
-
type BringConfigEntry = ConfigEntry[
|
13
|
+
type BringConfigEntry = ConfigEntry[BringCoordinators]
|
14
|
+
|
15
|
+
@dataclass
|
16
|
+
class BringCoordinators:
|
17
|
+
data: BringDataUpdateCoordinator
|
18
|
+
activity: BringActivityCoordinator
|
14
19
|
|
15
20
|
@dataclass(frozen=True)
|
16
21
|
class BringData(DataClassORJSONMixin):
|
17
22
|
lst: BringList
|
18
23
|
content: BringItemsResponse
|
24
|
+
|
25
|
+
@dataclass(frozen=True)
|
26
|
+
class BringActivityData(DataClassORJSONMixin):
|
19
27
|
activity: BringActivityResponse
|
20
28
|
users: BringUsersResponse
|
21
29
|
|
22
|
-
class
|
30
|
+
class BringBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
|
23
31
|
config_entry: BringConfigEntry
|
24
|
-
user_settings: BringUserSettingsResponse
|
25
32
|
lists: list[BringList]
|
33
|
+
|
34
|
+
class BringDataUpdateCoordinator(BringBaseCoordinator[dict[str, BringData]]):
|
35
|
+
user_settings: BringUserSettingsResponse
|
26
36
|
bring: Incomplete
|
27
37
|
previous_lists: set[str]
|
28
38
|
def __init__(self, hass: HomeAssistant, config_entry: BringConfigEntry, bring: Bring) -> None: ...
|
39
|
+
lists: Incomplete
|
29
40
|
async def _async_update_data(self) -> dict[str, BringData]: ...
|
30
41
|
async def _async_setup(self) -> None: ...
|
31
42
|
def _purge_deleted_lists(self) -> None: ...
|
43
|
+
|
44
|
+
class BringActivityCoordinator(BringBaseCoordinator[dict[str, BringActivityData]]):
|
45
|
+
user_settings: BringUserSettingsResponse
|
46
|
+
coordinator: Incomplete
|
47
|
+
lists: Incomplete
|
48
|
+
def __init__(self, hass: HomeAssistant, config_entry: BringConfigEntry, coordinator: BringDataUpdateCoordinator) -> None: ...
|
49
|
+
async def _async_update_data(self) -> dict[str, BringActivityData]: ...
|
@@ -1,12 +1,12 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .coordinator import
|
2
|
+
from .coordinator import BringBaseCoordinator as BringBaseCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from bring_api import BringList as BringList
|
5
5
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
6
6
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
7
7
|
|
8
|
-
class BringBaseEntity(CoordinatorEntity[
|
8
|
+
class BringBaseEntity(CoordinatorEntity[BringBaseCoordinator]):
|
9
9
|
_attr_has_entity_name: bool
|
10
10
|
_list_uuid: Incomplete
|
11
11
|
device_info: Incomplete
|
12
|
-
def __init__(self, coordinator:
|
12
|
+
def __init__(self, coordinator: BringBaseCoordinator, bring_list: BringList) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import BringConfigEntry as BringConfigEntry
|
2
|
-
from .coordinator import
|
2
|
+
from .coordinator import BringActivityCoordinator as BringActivityCoordinator
|
3
3
|
from .entity import BringBaseEntity as BringBaseEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from bring_api import BringList as BringList
|
@@ -13,9 +13,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: BringConfigEntry,
|
|
13
13
|
|
14
14
|
class BringEventEntity(BringBaseEntity, EventEntity):
|
15
15
|
_attr_translation_key: str
|
16
|
+
coordinator: BringActivityCoordinator
|
16
17
|
_attr_unique_id: Incomplete
|
17
18
|
_attr_event_types: Incomplete
|
18
|
-
def __init__(self, coordinator:
|
19
|
+
def __init__(self, coordinator: BringActivityCoordinator, bring_list: BringList) -> None: ...
|
19
20
|
def _async_handle_event(self) -> None: ...
|
20
21
|
@property
|
21
22
|
def entity_picture(self) -> str | None: ...
|
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: BringConfigEntry,
|
|
31
31
|
|
32
32
|
class BringSensorEntity(BringBaseEntity, SensorEntity):
|
33
33
|
entity_description: BringSensorEntityDescription
|
34
|
+
coordinator: BringDataUpdateCoordinator
|
34
35
|
_attr_unique_id: Incomplete
|
35
36
|
def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList, entity_description: BringSensorEntityDescription) -> None: ...
|
36
37
|
@property
|
@@ -17,6 +17,7 @@ class BringTodoListEntity(BringBaseEntity, TodoListEntity):
|
|
17
17
|
_attr_translation_key: str
|
18
18
|
_attr_name: Incomplete
|
19
19
|
_attr_supported_features: Incomplete
|
20
|
+
coordinator: BringDataUpdateCoordinator
|
20
21
|
_attr_unique_id: Incomplete
|
21
22
|
def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList) -> None: ...
|
22
23
|
@property
|
@@ -4,7 +4,7 @@ from .const import CAMERA_IMAGE_TIMEOUT as CAMERA_IMAGE_TIMEOUT, CAMERA_STREAM_S
|
|
4
4
|
from .helper import get_camera_from_entity_id as get_camera_from_entity_id
|
5
5
|
from .img_util import scale_jpeg_camera_image as scale_jpeg_camera_image
|
6
6
|
from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings
|
7
|
-
from .webrtc import
|
7
|
+
from .webrtc import CameraWebRTCProvider as CameraWebRTCProvider, DATA_ICE_SERVERS as DATA_ICE_SERVERS, WebRTCAnswer as WebRTCAnswer, WebRTCCandidate as WebRTCCandidate, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCError as WebRTCError, WebRTCMessage as WebRTCMessage, WebRTCSendMessage as WebRTCSendMessage, async_get_supported_provider as async_get_supported_provider, async_register_ice_servers as async_register_ice_servers, async_register_webrtc_provider as async_register_webrtc_provider, async_register_ws as async_register_ws
|
8
8
|
from _typeshed import Incomplete
|
9
9
|
from aiohttp import web
|
10
10
|
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
@@ -19,11 +19,10 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
19
19
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_FILENAME as CONF_FILENAME, CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
|
20
20
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
21
21
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
22
|
-
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant,
|
22
|
+
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
23
23
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
24
24
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
25
25
|
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
26
|
-
from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
|
27
26
|
from homeassistant.helpers.network import get_url as get_url
|
28
27
|
from homeassistant.helpers.template import Template as Template
|
29
28
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
@@ -97,7 +96,6 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
97
96
|
_entity_component_unrecorded_attributes: Incomplete
|
98
97
|
_attr_brand: str | None
|
99
98
|
_attr_frame_interval: float
|
100
|
-
_attr_frontend_stream_type: StreamType | None
|
101
99
|
_attr_is_on: bool
|
102
100
|
_attr_is_recording: bool
|
103
101
|
_attr_is_streaming: bool
|
@@ -115,10 +113,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
115
113
|
_warned_old_signature: bool
|
116
114
|
_create_stream_lock: asyncio.Lock | None
|
117
115
|
_webrtc_provider: CameraWebRTCProvider | None
|
118
|
-
_legacy_webrtc_provider: CameraWebRTCLegacyProvider | None
|
119
|
-
_supports_native_sync_webrtc: Incomplete
|
120
116
|
_supports_native_async_webrtc: Incomplete
|
121
|
-
_deprecate_attr_frontend_stream_type_logged: bool
|
122
117
|
def __init__(self) -> None: ...
|
123
118
|
@cached_property
|
124
119
|
def entity_picture(self) -> str: ...
|
@@ -141,12 +136,9 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
141
136
|
@cached_property
|
142
137
|
def frame_interval(self) -> float: ...
|
143
138
|
@property
|
144
|
-
def frontend_stream_type(self) -> StreamType | None: ...
|
145
|
-
@property
|
146
139
|
def available(self) -> bool: ...
|
147
140
|
async def async_create_stream(self) -> Stream | None: ...
|
148
141
|
async def stream_source(self) -> str | None: ...
|
149
|
-
async def async_handle_web_rtc_offer(self, offer_sdp: str) -> str | None: ...
|
150
142
|
async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
|
151
143
|
def camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
152
144
|
async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
@@ -10,15 +10,13 @@ from functools import cache
|
|
10
10
|
from homeassistant.components import websocket_api as websocket_api
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
|
-
from homeassistant.helpers.deprecation import deprecated_function as deprecated_function
|
14
13
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
15
14
|
from homeassistant.util.ulid import ulid as ulid
|
16
|
-
from typing import Any
|
15
|
+
from typing import Any
|
17
16
|
from webrtc_models import RTCConfiguration, RTCIceCandidate as RTCIceCandidate, RTCIceCandidateInit, RTCIceServer as RTCIceServer
|
18
17
|
|
19
18
|
_LOGGER: Incomplete
|
20
19
|
DATA_WEBRTC_PROVIDERS: HassKey[set[CameraWebRTCProvider]]
|
21
|
-
DATA_WEBRTC_LEGACY_PROVIDERS: HassKey[dict[str, CameraWebRTCLegacyProvider]]
|
22
20
|
DATA_ICE_SERVERS: HassKey[list[Callable[[], Iterable[RTCIceServer]]]]
|
23
21
|
_WEBRTC: str
|
24
22
|
|
@@ -52,7 +50,6 @@ type WebRTCSendMessage = Callable[[WebRTCMessage], None]
|
|
52
50
|
class WebRTCClientConfiguration:
|
53
51
|
configuration: RTCConfiguration = field(default_factory=RTCConfiguration)
|
54
52
|
data_channel: str | None = ...
|
55
|
-
get_candidates_upfront: bool = ...
|
56
53
|
def to_frontend_dict(self) -> dict[str, Any]: ...
|
57
54
|
|
58
55
|
class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
|
@@ -69,10 +66,6 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
|
|
69
66
|
@callback
|
70
67
|
def async_close_session(self, session_id: str) -> None: ...
|
71
68
|
|
72
|
-
class CameraWebRTCLegacyProvider(Protocol):
|
73
|
-
async def async_is_supported(self, stream_source: str) -> bool: ...
|
74
|
-
async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
|
75
|
-
|
76
69
|
@callback
|
77
70
|
def async_register_webrtc_provider(hass: HomeAssistant, provider: CameraWebRTCProvider) -> Callable[[], None]: ...
|
78
71
|
async def _async_refresh_providers(hass: HomeAssistant) -> None: ...
|
@@ -88,19 +81,5 @@ async def ws_candidate(connection: websocket_api.ActiveConnection, msg: dict[str
|
|
88
81
|
@callback
|
89
82
|
def async_register_ws(hass: HomeAssistant) -> None: ...
|
90
83
|
async def async_get_supported_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCProvider | None: ...
|
91
|
-
async def async_get_supported_legacy_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCLegacyProvider | None: ...
|
92
84
|
@callback
|
93
85
|
def async_register_ice_servers(hass: HomeAssistant, get_ice_server_fn: Callable[[], Iterable[RTCIceServer]]) -> Callable[[], None]: ...
|
94
|
-
|
95
|
-
_RTSP_PREFIXES: Incomplete
|
96
|
-
type RtspToWebRtcProviderType = Callable[[str, str, str], Awaitable[str | None]]
|
97
|
-
|
98
|
-
class _CameraRtspToWebRTCProvider(CameraWebRTCLegacyProvider):
|
99
|
-
_fn: Incomplete
|
100
|
-
def __init__(self, fn: RtspToWebRtcProviderType) -> None: ...
|
101
|
-
async def async_is_supported(self, stream_source: str) -> bool: ...
|
102
|
-
async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
|
103
|
-
|
104
|
-
def async_register_rtsp_to_web_rtc_provider(hass: HomeAssistant, domain: str, provider: RtspToWebRtcProviderType) -> Callable[[], None]: ...
|
105
|
-
@callback
|
106
|
-
def _async_check_conflicting_legacy_provider(hass: HomeAssistant) -> None: ...
|
@@ -1,13 +1,13 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
-
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON,
|
4
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, UnitOfTemperature as UnitOfTemperature
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
6
6
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
7
7
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
8
8
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
9
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
10
|
-
from homeassistant.loader import
|
10
|
+
from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
|
11
11
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
12
12
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
13
13
|
from propcache.api import cached_property
|
@@ -45,7 +45,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
45
45
|
_attr_hvac_action: HVACAction | None
|
46
46
|
_attr_hvac_mode: HVACMode | None
|
47
47
|
_attr_hvac_modes: list[HVACMode]
|
48
|
-
_attr_is_aux_heat: bool | None
|
49
48
|
_attr_max_humidity: float
|
50
49
|
_attr_max_temp: float
|
51
50
|
_attr_min_humidity: float
|
@@ -64,8 +63,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
64
63
|
_attr_target_temperature_step: float | None
|
65
64
|
_attr_target_temperature: float | None
|
66
65
|
_attr_temperature_unit: str
|
67
|
-
__climate_reported_legacy_aux: bool
|
68
|
-
def _report_legacy_aux(self) -> None: ...
|
69
66
|
@final
|
70
67
|
@property
|
71
68
|
def state(self) -> str | None: ...
|
@@ -103,8 +100,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
103
100
|
@cached_property
|
104
101
|
def preset_modes(self) -> list[str] | None: ...
|
105
102
|
@cached_property
|
106
|
-
def is_aux_heat(self) -> bool | None: ...
|
107
|
-
@cached_property
|
108
103
|
def fan_mode(self) -> str | None: ...
|
109
104
|
@cached_property
|
110
105
|
def fan_modes(self) -> list[str] | None: ...
|
@@ -143,10 +138,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
143
138
|
async def async_handle_set_preset_mode_service(self, preset_mode: str) -> None: ...
|
144
139
|
def set_preset_mode(self, preset_mode: str) -> None: ...
|
145
140
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
146
|
-
def turn_aux_heat_on(self) -> None: ...
|
147
|
-
async def async_turn_aux_heat_on(self) -> None: ...
|
148
|
-
def turn_aux_heat_off(self) -> None: ...
|
149
|
-
async def async_turn_aux_heat_off(self) -> None: ...
|
150
141
|
def turn_on(self) -> None: ...
|
151
142
|
async def async_turn_on(self) -> None: ...
|
152
143
|
def turn_off(self) -> None: ...
|
@@ -164,6 +155,5 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
164
155
|
@cached_property
|
165
156
|
def max_humidity(self) -> float: ...
|
166
157
|
|
167
|
-
async def async_service_aux_heat(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
|
168
158
|
async def async_service_humidity_set(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
|
169
159
|
async def async_service_temperature_set(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
|
@@ -48,7 +48,6 @@ class HVACAction(StrEnum):
|
|
48
48
|
PREHEATING = 'preheating'
|
49
49
|
|
50
50
|
CURRENT_HVAC_ACTIONS: Incomplete
|
51
|
-
ATTR_AUX_HEAT: str
|
52
51
|
ATTR_CURRENT_HUMIDITY: str
|
53
52
|
ATTR_CURRENT_TEMPERATURE: str
|
54
53
|
ATTR_FAN_MODES: str
|
@@ -76,7 +75,6 @@ DEFAULT_MIN_HUMIDITY: int
|
|
76
75
|
DEFAULT_MAX_HUMIDITY: int
|
77
76
|
DOMAIN: str
|
78
77
|
INTENT_SET_TEMPERATURE: str
|
79
|
-
SERVICE_SET_AUX_HEAT: str
|
80
78
|
SERVICE_SET_FAN_MODE: str
|
81
79
|
SERVICE_SET_PRESET_MODE: str
|
82
80
|
SERVICE_SET_HUMIDITY: str
|
@@ -92,7 +90,6 @@ class ClimateEntityFeature(IntFlag):
|
|
92
90
|
FAN_MODE = 8
|
93
91
|
PRESET_MODE = 16
|
94
92
|
SWING_MODE = 32
|
95
|
-
AUX_HEAT = 64
|
96
93
|
TURN_OFF = 128
|
97
94
|
TURN_ON = 256
|
98
95
|
SWING_HORIZONTAL_MODE = 512
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from . import
|
1
|
+
from . import ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TEMPERATURE as ATTR_TEMPERATURE
|
2
2
|
from homeassistant.const import UnitOfTemperature as UnitOfTemperature
|
3
3
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
4
4
|
from homeassistant.helpers.significant_change import check_absolute_change as check_absolute_change, check_valid_float as check_valid_float
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import account_link as account_link, backup as backup, http_api as http_api
|
2
2
|
from .client import CloudClient as CloudClient
|
3
|
-
from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER,
|
3
|
+
from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER, CONF_USER_POOL_ID as CONF_USER_POOL_ID, DATA_CLOUD as DATA_CLOUD, DATA_CLOUD_LOG_HANDLER as DATA_CLOUD_LOG_HANDLER, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, MODE_DEV as MODE_DEV, MODE_PROD as MODE_PROD
|
4
4
|
from .helpers import FixedSizeQueueLogHandler as FixedSizeQueueLogHandler
|
5
5
|
from .prefs import CloudPreferences as CloudPreferences
|
6
6
|
from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .client import CloudClient as CloudClient
|
2
|
-
from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
|
2
|
+
from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DOMAIN as DOMAIN, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
|
3
3
|
from .prefs import ALEXA_SETTINGS_VERSION as ALEXA_SETTINGS_VERSION, CloudPreferences as CloudPreferences
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
@@ -12,7 +12,7 @@ from homeassistant.core import Context as Context, HassJob as HassJob, HomeAssis
|
|
12
12
|
from homeassistant.helpers.aiohttp_client import SERVER_SOFTWARE as SERVER_SOFTWARE
|
13
13
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
14
14
|
from homeassistant.helpers.event import async_call_later as async_call_later
|
15
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
15
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
16
16
|
from homeassistant.util.aiohttp import MockRequest as MockRequest, serialize_response as serialize_response
|
17
17
|
from pathlib import Path
|
18
18
|
from typing import Any, Literal
|
@@ -71,3 +71,4 @@ class CloudClient(Interface):
|
|
71
71
|
async def async_system_message(self, payload: dict[Any, Any] | None) -> None: ...
|
72
72
|
async def async_cloudhooks_update(self, data: dict[str, dict[str, str | bool]]) -> None: ...
|
73
73
|
async def async_create_repair_issue(self, identifier: str, translation_key: str, *, placeholders: dict[str, str] | None = None, severity: Literal['error', 'warning'] = 'warning') -> None: ...
|
74
|
+
async def async_delete_repair_issue(self, identifier: str) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .client import CloudClient as CloudClient
|
2
|
-
from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DEFAULT_DISABLE_2FA as DEFAULT_DISABLE_2FA, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
|
2
|
+
from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DEFAULT_DISABLE_2FA as DEFAULT_DISABLE_2FA, DOMAIN as DOMAIN, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
|
3
3
|
from .prefs import CloudPreferences as CloudPreferences, GOOGLE_SETTINGS_VERSION as GOOGLE_SETTINGS_VERSION
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from hass_nabucasa import Cloud as Cloud
|
@@ -146,6 +146,4 @@ async def alexa_list(hass: HomeAssistant, connection: websocket_api.ActiveConnec
|
|
146
146
|
@_require_cloud_login
|
147
147
|
@websocket_api.async_response
|
148
148
|
async def alexa_sync(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
149
|
-
@websocket_api.async_response
|
150
|
-
async def thingtalk_convert(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
151
149
|
def tts_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -1,13 +1,13 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import PRESET_MODE_AUTO as PRESET_MODE_AUTO, PRESET_MODE_AUTO_TARGET_TEMP as PRESET_MODE_AUTO_TARGET_TEMP, PRESET_MODE_MANUAL as PRESET_MODE_MANUAL
|
2
2
|
from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
|
3
3
|
from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
|
4
|
+
from .utils import bridge_api_call as bridge_api_call, cleanup_stale_entity as cleanup_stale_entity, load_api_data as load_api_data
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
|
6
7
|
from enum import StrEnum
|
7
8
|
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, UnitOfTemperature as UnitOfTemperature
|
8
9
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
12
|
from typing import Any, TypedDict
|
13
13
|
|
@@ -20,30 +20,36 @@ class ClimaComelitMode(StrEnum):
|
|
20
20
|
UPPER = 'U'
|
21
21
|
|
22
22
|
class ClimaComelitCommand(StrEnum):
|
23
|
+
AUTO = 'auto'
|
24
|
+
MANUAL = 'man'
|
23
25
|
OFF = 'off'
|
24
26
|
ON = 'on'
|
25
|
-
MANUAL = 'man'
|
26
27
|
SET = 'set'
|
27
|
-
|
28
|
+
SNOW = 'lower'
|
29
|
+
SUN = 'upper'
|
28
30
|
|
29
31
|
class ClimaComelitApiStatus(TypedDict):
|
30
32
|
hvac_mode: HVACMode
|
31
33
|
hvac_action: HVACAction
|
32
34
|
|
33
35
|
API_STATUS: dict[str, ClimaComelitApiStatus]
|
34
|
-
|
36
|
+
HVACMODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand]
|
37
|
+
PRESET_MODE_TO_ACTION: dict[str, ClimaComelitCommand]
|
35
38
|
|
36
39
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
37
40
|
|
38
41
|
class ComelitClimateEntity(ComelitBridgeBaseEntity, ClimateEntity):
|
39
42
|
_attr_hvac_modes: Incomplete
|
43
|
+
_attr_preset_modes: Incomplete
|
40
44
|
_attr_max_temp: int
|
41
45
|
_attr_min_temp: int
|
42
46
|
_attr_supported_features: Incomplete
|
43
47
|
_attr_target_temperature_step = PRECISION_TENTHS
|
44
48
|
_attr_temperature_unit: Incomplete
|
45
49
|
_attr_name: Incomplete
|
50
|
+
_attr_translation_key: str
|
46
51
|
def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
|
52
|
+
_attr_preset_mode: Incomplete
|
47
53
|
_attr_current_temperature: Incomplete
|
48
54
|
_attr_hvac_action: Incomplete
|
49
55
|
_attr_hvac_mode: Incomplete
|
@@ -51,5 +57,8 @@ class ComelitClimateEntity(ComelitBridgeBaseEntity, ClimateEntity):
|
|
51
57
|
def _update_attributes(self) -> None: ...
|
52
58
|
@callback
|
53
59
|
def _handle_coordinator_update(self) -> None: ...
|
60
|
+
@bridge_api_call
|
54
61
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
62
|
+
@bridge_api_call
|
55
63
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
64
|
+
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|