homeassistant-stubs 2025.5.2__py3-none-any.whl → 2025.6.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
- homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
- homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
- homeassistant-stubs/components/amazon_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/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 +1 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- 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/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 +7 -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 -5
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
- homeassistant-stubs/components/history_stats/data.pyi +2 -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 +4 -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 +37 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- 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/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 +35 -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 +25 -8
- 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/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/nest/config_flow.pyi +2 -0
- 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/otbr/util.pyi +1 -3
- homeassistant-stubs/components/pandora/media_player.pyi +12 -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/media_source.pyi +2 -1
- 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/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 +12 -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/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/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/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -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/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -2
- homeassistant-stubs/components/zwave_js/api.pyi +1 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -3
- homeassistant-stubs/components/zwave_js/const.pyi +1 -1
- 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_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/selector.pyi +55 -50
- homeassistant-stubs/helpers/service.pyi +3 -3
- homeassistant-stubs/helpers/template.pyi +4 -1
- homeassistant-stubs/scripts/check_config.pyi +1 -1
- homeassistant-stubs/util/aiohttp.pyi +5 -0
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +394 -337
- 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.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
|
2
|
-
from .entity import EheimDigitalEntity as EheimDigitalEntity
|
2
|
+
from .entity import EheimDigitalEntity as EheimDigitalEntity, exception_handler as exception_handler
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
@@ -23,6 +23,7 @@ class EheimDigitalNumberDescription(NumberEntityDescription, Generic[_DeviceT_co
|
|
23
23
|
|
24
24
|
CLASSICVARIO_DESCRIPTIONS: tuple[EheimDigitalNumberDescription[EheimDigitalClassicVario], ...]
|
25
25
|
HEATER_DESCRIPTIONS: tuple[EheimDigitalNumberDescription[EheimDigitalHeater], ...]
|
26
|
+
GENERAL_DESCRIPTIONS: tuple[EheimDigitalNumberDescription[EheimDigitalDevice], ...]
|
26
27
|
|
27
28
|
async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
28
29
|
|
@@ -31,6 +32,7 @@ class EheimDigitalNumber(EheimDigitalEntity[_DeviceT_co], NumberEntity, Generic[
|
|
31
32
|
_attr_unique_id: Incomplete
|
32
33
|
def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalNumberDescription[_DeviceT_co]) -> None: ...
|
33
34
|
@override
|
35
|
+
@exception_handler
|
34
36
|
async def async_set_native_value(self, value: float) -> None: ...
|
35
37
|
_attr_native_value: Incomplete
|
36
38
|
_attr_native_unit_of_measurement: Incomplete
|
@@ -0,0 +1,34 @@
|
|
1
|
+
from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
|
2
|
+
from .entity import EheimDigitalEntity as EheimDigitalEntity, exception_handler as exception_handler
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Awaitable, Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from eheimdigital.classic_vario import EheimDigitalClassicVario
|
7
|
+
from eheimdigital.device import EheimDigitalDevice
|
8
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from typing import Generic, TypeVar, override
|
12
|
+
|
13
|
+
PARALLEL_UPDATES: int
|
14
|
+
_DeviceT_co = TypeVar('_DeviceT_co', bound=EheimDigitalDevice, covariant=True)
|
15
|
+
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class EheimDigitalSelectDescription(SelectEntityDescription, Generic[_DeviceT_co]):
|
18
|
+
value_fn: Callable[[_DeviceT_co], str | None]
|
19
|
+
set_value_fn: Callable[[_DeviceT_co, str], Awaitable[None]]
|
20
|
+
|
21
|
+
CLASSICVARIO_DESCRIPTIONS: tuple[EheimDigitalSelectDescription[EheimDigitalClassicVario], ...]
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class EheimDigitalSelect(EheimDigitalEntity[_DeviceT_co], SelectEntity, Generic[_DeviceT_co]):
|
26
|
+
entity_description: EheimDigitalSelectDescription[_DeviceT_co]
|
27
|
+
_attr_unique_id: Incomplete
|
28
|
+
def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalSelectDescription[_DeviceT_co]) -> None: ...
|
29
|
+
@override
|
30
|
+
@exception_handler
|
31
|
+
async def async_select_option(self, option: str) -> None: ...
|
32
|
+
_attr_current_option: Incomplete
|
33
|
+
@override
|
34
|
+
def _async_update_attrs(self) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
|
2
|
-
from .entity import EheimDigitalEntity as EheimDigitalEntity
|
2
|
+
from .entity import EheimDigitalEntity as EheimDigitalEntity, exception_handler as exception_handler
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from eheimdigital.classic_vario import EheimDigitalClassicVario
|
5
5
|
from eheimdigital.device import EheimDigitalDevice as EheimDigitalDevice
|
@@ -18,8 +18,10 @@ class EheimDigitalClassicVarioSwitch(EheimDigitalEntity[EheimDigitalClassicVario
|
|
18
18
|
_attr_unique_id: Incomplete
|
19
19
|
def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: EheimDigitalClassicVario) -> None: ...
|
20
20
|
@override
|
21
|
+
@exception_handler
|
21
22
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
22
23
|
@override
|
24
|
+
@exception_handler
|
23
25
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
24
26
|
_attr_is_on: Incomplete
|
25
27
|
@override
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
|
2
|
-
from .entity import EheimDigitalEntity as EheimDigitalEntity
|
2
|
+
from .entity import EheimDigitalEntity as EheimDigitalEntity, exception_handler as exception_handler
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
@@ -31,6 +31,7 @@ class EheimDigitalTime(EheimDigitalEntity[_DeviceT_co], TimeEntity, Generic[_Dev
|
|
31
31
|
_attr_unique_id: Incomplete
|
32
32
|
def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalTimeDescription[_DeviceT_co]) -> None: ...
|
33
33
|
@override
|
34
|
+
@exception_handler
|
34
35
|
async def async_set_value(self, value: time) -> None: ...
|
35
36
|
_attr_native_value: Incomplete
|
36
37
|
@override
|
@@ -1,5 +1,4 @@
|
|
1
1
|
from . import ElkM1ConfigEntry as ElkM1ConfigEntry
|
2
|
-
from .const import DOMAIN as DOMAIN
|
3
2
|
from .entity import ElkEntity as ElkEntity, create_elk_entities as create_elk_entities
|
4
3
|
from _typeshed import Incomplete
|
5
4
|
from elkm1_lib.const import ThermostatFan, ThermostatMode
|
@@ -9,7 +8,6 @@ from homeassistant.components.climate import ATTR_TARGET_TEMP_HIGH as ATTR_TARGE
|
|
9
8
|
from homeassistant.const import PRECISION_WHOLE as PRECISION_WHOLE
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
13
11
|
from typing import Any
|
14
12
|
|
15
13
|
SUPPORT_HVAC: Incomplete
|
@@ -43,13 +41,9 @@ class ElkThermostat(ElkEntity, ClimateEntity):
|
|
43
41
|
@property
|
44
42
|
def current_humidity(self) -> int | None: ...
|
45
43
|
@property
|
46
|
-
def is_aux_heat(self) -> bool: ...
|
47
|
-
@property
|
48
44
|
def fan_mode(self) -> str | None: ...
|
49
45
|
def _elk_set(self, mode: ThermostatMode | None, fan: ThermostatFan | None) -> None: ...
|
50
46
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
51
|
-
async def async_turn_aux_heat_on(self) -> None: ...
|
52
|
-
async def async_turn_aux_heat_off(self) -> None: ...
|
53
47
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
54
48
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
55
49
|
def _element_changed(self, element: Element, changeset: Any) -> None: ...
|
@@ -21,6 +21,7 @@ _StateT = TypeVar('_StateT', bound=EntityState)
|
|
21
21
|
def async_static_info_updated(hass: HomeAssistant, entry_data: RuntimeEntryData, platform: entity_platform.EntityPlatform, async_add_entities: AddEntitiesCallback, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT], infos: list[EntityInfo]) -> None: ...
|
22
22
|
async def platform_async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddEntitiesCallback, *, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT]) -> None: ...
|
23
23
|
def esphome_state_property[_R, _EntityT: EsphomeEntity[Any, Any]](func: Callable[[_EntityT], _R]) -> Callable[[_EntityT], _R | None]: ...
|
24
|
+
def async_esphome_state_property[_R, _EntityT: EsphomeEntity[Any, Any]](func: Callable[[_EntityT], Awaitable[_R | None]]) -> Callable[[_EntityT], Coroutine[Any, Any, _R | None]]: ...
|
24
25
|
def esphome_float_state_property[_EntityT: EsphomeEntity[Any, Any]](func: Callable[[_EntityT], float | None]) -> Callable[[_EntityT], float | None]: ...
|
25
26
|
def convert_api_error_ha_error[**_P, _R, _EntityT: EsphomeBaseEntity](func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
|
26
27
|
|
@@ -67,18 +67,12 @@ class RuntimeEntryData:
|
|
67
67
|
@callback
|
68
68
|
def async_register_static_info_callback(self, entity_info_type: type[EntityInfo], callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
|
69
69
|
@callback
|
70
|
-
def _async_unsubscribe_register_static_info(self, callbacks: list[Callable[[list[EntityInfo]], None]], callback_: Callable[[list[EntityInfo]], None]) -> None: ...
|
71
|
-
@callback
|
72
70
|
def async_register_key_static_info_updated_callback(self, static_info: EntityInfo, callback_: Callable[[EntityInfo], None]) -> CALLBACK_TYPE: ...
|
73
71
|
@callback
|
74
|
-
def _async_unsubscribe_static_key_info_updated(self, callbacks: list[Callable[[EntityInfo], None]], callback_: Callable[[EntityInfo], None]) -> None: ...
|
75
|
-
@callback
|
76
72
|
def async_set_assist_pipeline_state(self, state: bool) -> None: ...
|
77
73
|
@callback
|
78
74
|
def async_subscribe_assist_pipeline_update(self, update_callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
79
75
|
@callback
|
80
|
-
def _async_unsubscribe_assist_pipeline_update(self, update_callback: CALLBACK_TYPE) -> None: ...
|
81
|
-
@callback
|
82
76
|
def async_remove_entities(self, hass: HomeAssistant, static_infos: Iterable[EntityInfo], mac: str) -> None: ...
|
83
77
|
@callback
|
84
78
|
def async_update_entity_infos(self, static_infos: Iterable[EntityInfo]) -> None: ...
|
@@ -87,16 +81,10 @@ class RuntimeEntryData:
|
|
87
81
|
@callback
|
88
82
|
def async_subscribe_device_updated(self, callback_: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
89
83
|
@callback
|
90
|
-
def _async_unsubscribe_device_update(self, callback_: CALLBACK_TYPE) -> None: ...
|
91
|
-
@callback
|
92
84
|
def async_subscribe_static_info_updated(self, callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
|
93
85
|
@callback
|
94
|
-
def _async_unsubscribe_static_info_updated(self, callback_: Callable[[list[EntityInfo]], None]) -> None: ...
|
95
|
-
@callback
|
96
86
|
def async_subscribe_state_update(self, state_type: type[EntityState], state_key: int, entity_callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
97
87
|
@callback
|
98
|
-
def _async_unsubscribe_state_update(self, subscription_key: tuple[type[EntityState], int]) -> None: ...
|
99
|
-
@callback
|
100
88
|
def async_update_state(self, state: EntityState) -> None: ...
|
101
89
|
@callback
|
102
90
|
def async_update_device_state(self) -> None: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from aioesphomeapi import EntityInfo as EntityInfo, LightColorCapability, LightInfo, LightState
|
3
|
+
from aioesphomeapi import ColorMode as ESPHomeColorMode, EntityInfo as EntityInfo, LightColorCapability, LightInfo, LightState
|
4
4
|
from functools import lru_cache
|
5
5
|
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_FLASH as ATTR_FLASH, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_WHITE as ATTR_WHITE, ColorMode as ColorMode, FLASH_LONG as FLASH_LONG, FLASH_SHORT as FLASH_SHORT, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
|
6
6
|
from homeassistant.core import callback as callback
|
@@ -12,14 +12,14 @@ _COLOR_MODE_MAPPING: Incomplete
|
|
12
12
|
|
13
13
|
def _mired_to_kelvin(mired_temperature: float) -> int: ...
|
14
14
|
@lru_cache
|
15
|
-
def _color_mode_to_ha(mode:
|
15
|
+
def _color_mode_to_ha(mode: ESPHomeColorMode) -> ColorMode: ...
|
16
16
|
@lru_cache
|
17
|
-
def _filter_color_modes(supported: list[
|
17
|
+
def _filter_color_modes(supported: list[ESPHomeColorMode], features: LightColorCapability) -> tuple[ESPHomeColorMode, ...]: ...
|
18
18
|
@lru_cache
|
19
19
|
def _least_complex_color_mode(color_modes: tuple[int, ...]) -> int: ...
|
20
20
|
|
21
21
|
class EsphomeLight(EsphomeEntity[LightInfo, LightState], LightEntity):
|
22
|
-
_native_supported_color_modes: tuple[
|
22
|
+
_native_supported_color_modes: tuple[ESPHomeColorMode, ...]
|
23
23
|
_supports_color_mode: bool
|
24
24
|
@property
|
25
25
|
@esphome_state_property
|
@@ -1,7 +1,8 @@
|
|
1
|
+
import asyncio
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import ESPHomeDashboardCoordinator as ESPHomeDashboardCoordinator
|
3
4
|
from .dashboard import async_get_dashboard as async_get_dashboard
|
4
|
-
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
5
|
+
from .entity import EsphomeEntity as EsphomeEntity, async_esphome_state_property as async_esphome_state_property, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
5
6
|
from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from aioesphomeapi import DeviceInfo as ESPHomeDeviceInfo, EntityInfo as EntityInfo, UpdateInfo, UpdateState
|
@@ -29,6 +30,8 @@ class ESPHomeDashboardUpdateEntity(CoordinatorEntity[ESPHomeDashboardCoordinator
|
|
29
30
|
_entry_data: Incomplete
|
30
31
|
_attr_unique_id: Incomplete
|
31
32
|
_attr_device_info: Incomplete
|
33
|
+
_install_lock: Incomplete
|
34
|
+
_available_future: asyncio.Future[None] | None
|
32
35
|
def __init__(self, entry_data: RuntimeEntryData, coordinator: ESPHomeDashboardCoordinator) -> None: ...
|
33
36
|
_attr_supported_features: Incomplete
|
34
37
|
_attr_installed_version: Incomplete
|
@@ -44,6 +47,8 @@ class ESPHomeDashboardUpdateEntity(CoordinatorEntity[ESPHomeDashboardCoordinator
|
|
44
47
|
@callback
|
45
48
|
def _handle_device_update(self, static_info: list[EntityInfo] | None = None) -> None: ...
|
46
49
|
async def async_added_to_hass(self) -> None: ...
|
50
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
51
|
+
async def _async_wait_available(self) -> None: ...
|
47
52
|
async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
|
48
53
|
|
49
54
|
class ESPHomeUpdateEntity(EsphomeEntity[UpdateInfo, UpdateState], UpdateEntity):
|
@@ -60,9 +65,8 @@ class ESPHomeUpdateEntity(EsphomeEntity[UpdateInfo, UpdateState], UpdateEntity):
|
|
60
65
|
@property
|
61
66
|
@esphome_state_property
|
62
67
|
def latest_version(self) -> str | None: ...
|
63
|
-
@
|
64
|
-
|
65
|
-
def release_summary(self) -> str: ...
|
68
|
+
@async_esphome_state_property
|
69
|
+
async def async_release_notes(self) -> str | None: ...
|
66
70
|
@property
|
67
71
|
@esphome_state_property
|
68
72
|
def release_url(self) -> str: ...
|
@@ -27,6 +27,5 @@ class FeedReaderEvent(CoordinatorEntity[FeedReaderCoordinator], EventEntity):
|
|
27
27
|
_attr_translation_key: str
|
28
28
|
_attr_device_info: Incomplete
|
29
29
|
def __init__(self, coordinator: FeedReaderCoordinator) -> None: ...
|
30
|
-
async def async_added_to_hass(self) -> None: ...
|
31
30
|
@callback
|
32
|
-
def
|
31
|
+
def _handle_coordinator_update(self) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, PLATFORMS as PLATFORMS
|
1
|
+
from .const import CONF_FEATURE_DEVICE_TRACKING as CONF_FEATURE_DEVICE_TRACKING, DEFAULT_CONF_FEATURE_DEVICE_TRACKING as DEFAULT_CONF_FEATURE_DEVICE_TRACKING, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, PLATFORMS as PLATFORMS
|
2
2
|
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
3
3
|
from .services import async_setup_services as async_setup_services
|
4
4
|
from _typeshed import Incomplete
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_HTTPS_PORT as DEFAULT_HTTPS_PORT, DEFAULT_HTTP_PORT as DEFAULT_HTTP_PORT, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, ERROR_AUTH_INVALID as ERROR_AUTH_INVALID, ERROR_CANNOT_CONNECT as ERROR_CANNOT_CONNECT, ERROR_UNKNOWN as ERROR_UNKNOWN, ERROR_UPNP_NOT_CONFIGURED as ERROR_UPNP_NOT_CONFIGURED, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS
|
1
|
+
from .const import CONF_FEATURE_DEVICE_TRACKING as CONF_FEATURE_DEVICE_TRACKING, CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_FEATURE_DEVICE_TRACKING as DEFAULT_CONF_FEATURE_DEVICE_TRACKING, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_HTTPS_PORT as DEFAULT_HTTPS_PORT, DEFAULT_HTTP_PORT as DEFAULT_HTTP_PORT, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, ERROR_AUTH_INVALID as ERROR_AUTH_INVALID, ERROR_CANNOT_CONNECT as ERROR_CANNOT_CONNECT, ERROR_UNKNOWN as ERROR_UNKNOWN, ERROR_UPNP_NOT_CONFIGURED as ERROR_UPNP_NOT_CONFIGURED, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS
|
2
2
|
from .coordinator import FritzConfigEntry as FritzConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
@@ -22,6 +22,7 @@ class FritzBoxToolsFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
22
22
|
_name: str
|
23
23
|
_password: str
|
24
24
|
_use_tls: bool
|
25
|
+
_feature_device_discovery: bool
|
25
26
|
_port: int | None
|
26
27
|
_username: str
|
27
28
|
_model: str
|
@@ -12,6 +12,8 @@ DOMAIN: str
|
|
12
12
|
PLATFORMS: Incomplete
|
13
13
|
CONF_OLD_DISCOVERY: str
|
14
14
|
DEFAULT_CONF_OLD_DISCOVERY: bool
|
15
|
+
CONF_FEATURE_DEVICE_TRACKING: str
|
16
|
+
DEFAULT_CONF_FEATURE_DEVICE_TRACKING: bool
|
15
17
|
DSL_CONNECTION: Literal['dsl']
|
16
18
|
DEFAULT_DEVICE_NAME: str
|
17
19
|
DEFAULT_HOST: str
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles
|
1
|
+
from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_FEATURE_DEVICE_TRACKING as DEFAULT_CONF_FEATURE_DEVICE_TRACKING, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable as Callable, Mapping, ValuesView
|
4
4
|
from dataclasses import dataclass, field
|
@@ -77,6 +77,7 @@ class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
|
|
77
77
|
port: Incomplete
|
78
78
|
username: Incomplete
|
79
79
|
use_tls: Incomplete
|
80
|
+
device_discovery_enabled: Incomplete
|
80
81
|
has_call_deflections: bool
|
81
82
|
_model: str | None
|
82
83
|
_current_firmware: str | None
|
@@ -84,7 +85,7 @@ class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
|
|
84
85
|
_update_available: bool
|
85
86
|
_release_url: str | None
|
86
87
|
_entity_update_functions: dict[str, Callable[[FritzStatus, StateType], Any]]
|
87
|
-
def __init__(self, hass: HomeAssistant, config_entry: FritzConfigEntry, password: str, port: int, username: str = ..., host: str = ..., use_tls: bool = ...) -> None: ...
|
88
|
+
def __init__(self, hass: HomeAssistant, config_entry: FritzConfigEntry, password: str, port: int, username: str = ..., host: str = ..., use_tls: bool = ..., device_discovery_enabled: bool = ...) -> None: ...
|
88
89
|
async def async_setup(self, options: Mapping[str, Any] | None = None) -> None: ...
|
89
90
|
def setup(self) -> None: ...
|
90
91
|
async def async_register_entity_updates(self, key: str, update_fn: Callable[[FritzStatus, StateType], Any]) -> Callable[[], None]: ...
|
@@ -115,8 +116,9 @@ class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
|
|
115
116
|
def _update_device_info(self) -> tuple[bool, str | None, str | None]: ...
|
116
117
|
async def _async_update_device_info(self) -> tuple[bool, str | None, str | None]: ...
|
117
118
|
async def async_update_call_deflections(self) -> dict[int, dict[str, Any]]: ...
|
118
|
-
def manage_device_info(self, dev_info: Device, dev_mac: str, consider_home:
|
119
|
+
def manage_device_info(self, dev_info: Device, dev_mac: str, consider_home: float) -> bool: ...
|
119
120
|
async def async_send_signal_device_update(self, new_device: bool) -> None: ...
|
121
|
+
async def async_update_device_info(self, now: datetime | None = None) -> None: ...
|
120
122
|
async def async_scan_devices(self, now: datetime | None = None) -> None: ...
|
121
123
|
async def async_trigger_firmware_update(self) -> bool: ...
|
122
124
|
async def async_trigger_reboot(self) -> None: ...
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from _typeshed import Incomplete
|
1
2
|
from collections.abc import Callable as Callable, Coroutine
|
2
3
|
from homeassistant.components import websocket_api as websocket_api
|
3
4
|
from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
|
@@ -6,17 +7,32 @@ from homeassistant.helpers.storage import Store as Store
|
|
6
7
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
7
8
|
from typing import Any
|
8
9
|
|
9
|
-
DATA_STORAGE: HassKey[
|
10
|
+
DATA_STORAGE: HassKey[dict[str, UserStore]]
|
10
11
|
STORAGE_VERSION_USER_DATA: int
|
11
12
|
|
12
|
-
@callback
|
13
|
-
def _initialize_frontend_storage(hass: HomeAssistant) -> None: ...
|
14
13
|
async def async_setup_frontend_storage(hass: HomeAssistant) -> None: ...
|
15
|
-
async def async_user_store(hass: HomeAssistant, user_id: str) ->
|
16
|
-
|
14
|
+
async def async_user_store(hass: HomeAssistant, user_id: str) -> UserStore: ...
|
15
|
+
|
16
|
+
class UserStore:
|
17
|
+
_store: Incomplete
|
18
|
+
data: dict[str, Any]
|
19
|
+
subscriptions: dict[str | None, list[Callable[[], None]]]
|
20
|
+
def __init__(self, hass: HomeAssistant, user_id: str) -> None: ...
|
21
|
+
async def async_load(self) -> None: ...
|
22
|
+
async def async_set_item(self, key: str, value: Any) -> None: ...
|
23
|
+
@callback
|
24
|
+
def async_subscribe(self, key: str | None, on_update_callback: Callable[[], None]) -> Callable[[], None]: ...
|
25
|
+
|
26
|
+
class _UserStore(Store[dict[str, Any]]):
|
27
|
+
def __init__(self, hass: HomeAssistant, user_id: str) -> None: ...
|
28
|
+
|
29
|
+
def with_user_store(orig_func: Callable[[HomeAssistant, ActiveConnection, dict[str, Any], UserStore], Coroutine[Any, Any, None]]) -> Callable[[HomeAssistant, ActiveConnection, dict[str, Any]], Coroutine[Any, Any, None]]: ...
|
30
|
+
@websocket_api.async_response
|
31
|
+
@with_user_store
|
32
|
+
async def websocket_set_user_data(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], store: UserStore) -> None: ...
|
17
33
|
@websocket_api.async_response
|
18
|
-
@
|
19
|
-
async def
|
34
|
+
@with_user_store
|
35
|
+
async def websocket_get_user_data(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], store: UserStore) -> None: ...
|
20
36
|
@websocket_api.async_response
|
21
|
-
@
|
22
|
-
async def
|
37
|
+
@with_user_store
|
38
|
+
async def websocket_subscribe_user_data(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], store: UserStore) -> None: ...
|
@@ -1,17 +1,31 @@
|
|
1
1
|
from .coordinator import FytaConfigEntry as FytaConfigEntry, FytaCoordinator as FytaCoordinator
|
2
2
|
from .entity import FytaPlantEntity as FytaPlantEntity
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from fyta_cli.fyta_models import Plant as Plant
|
7
|
+
from homeassistant.components.image import Image as Image, ImageEntity as ImageEntity, ImageEntityDescription as ImageEntityDescription, valid_image_content_type as valid_image_content_type
|
5
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from typing import Final
|
12
|
+
|
13
|
+
_LOGGER: Incomplete
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class FytaImageEntityDescription(ImageEntityDescription):
|
17
|
+
url_fn: Callable[[Plant], str]
|
18
|
+
name_key: str | None = ...
|
19
|
+
|
20
|
+
IMAGES: Final[list[FytaImageEntityDescription]]
|
8
21
|
|
9
22
|
async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
10
23
|
|
11
24
|
class FytaPlantImageEntity(FytaPlantEntity, ImageEntity):
|
12
|
-
entity_description:
|
13
|
-
|
14
|
-
|
25
|
+
entity_description: FytaImageEntityDescription
|
26
|
+
def __init__(self, coordinator: FytaCoordinator, entry: ConfigEntry, description: FytaImageEntityDescription, plant_id: int) -> None: ...
|
27
|
+
_cached_image: Incomplete
|
28
|
+
async def async_image(self) -> bytes | None: ...
|
15
29
|
_attr_image_last_updated: Incomplete
|
16
30
|
@property
|
17
31
|
def image_url(self) -> str: ...
|
@@ -1,12 +1,10 @@
|
|
1
|
-
from .
|
2
|
-
from .coordinator import GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
|
1
|
+
from .coordinator import GeocachingConfigEntry as GeocachingConfigEntry, GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
|
3
2
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
3
|
from homeassistant.const import Platform as Platform
|
6
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
5
|
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
8
6
|
|
9
7
|
PLATFORMS: Incomplete
|
10
8
|
|
11
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
12
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
9
|
+
async def async_setup_entry(hass: HomeAssistant, entry: GeocachingConfigEntry) -> bool: ...
|
10
|
+
async def async_unload_entry(hass: HomeAssistant, entry: GeocachingConfigEntry) -> bool: ...
|
@@ -7,9 +7,10 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
|
|
7
7
|
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
|
8
8
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
9
9
|
|
10
|
+
type GeocachingConfigEntry = ConfigEntry[GeocachingDataUpdateCoordinator]
|
10
11
|
class GeocachingDataUpdateCoordinator(DataUpdateCoordinator[GeocachingStatus]):
|
11
|
-
config_entry:
|
12
|
+
config_entry: GeocachingConfigEntry
|
12
13
|
session: Incomplete
|
13
14
|
geocaching: Incomplete
|
14
|
-
def __init__(self, hass: HomeAssistant, *, entry:
|
15
|
+
def __init__(self, hass: HomeAssistant, *, entry: GeocachingConfigEntry, session: OAuth2Session) -> None: ...
|
15
16
|
async def _async_update_data(self) -> GeocachingStatus: ...
|
@@ -1,11 +1,10 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .coordinator import GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
|
2
|
+
from .coordinator import GeocachingConfigEntry as GeocachingConfigEntry, GeocachingDataUpdateCoordinator as GeocachingDataUpdateCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from geocachingapi.models import GeocachingStatus as GeocachingStatus
|
7
7
|
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
9
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
11
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -17,7 +16,7 @@ class GeocachingSensorEntityDescription(SensorEntityDescription):
|
|
17
16
|
|
18
17
|
SENSORS: tuple[GeocachingSensorEntityDescription, ...]
|
19
18
|
|
20
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
19
|
+
async def async_setup_entry(hass: HomeAssistant, entry: GeocachingConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
21
20
|
|
22
21
|
class GeocachingSensor(CoordinatorEntity[GeocachingDataUpdateCoordinator], SensorEntity):
|
23
22
|
entity_description: GeocachingSensorEntityDescription
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .api import ApiAuthImpl as ApiAuthImpl, get_feature_access as get_feature_access
|
2
|
-
from .const import
|
3
|
-
from .store import LocalCalendarStore as LocalCalendarStore
|
2
|
+
from .const import DOMAIN as DOMAIN, EVENT_DESCRIPTION as EVENT_DESCRIPTION, EVENT_END_DATE as EVENT_END_DATE, EVENT_END_DATETIME as EVENT_END_DATETIME, EVENT_IN as EVENT_IN, EVENT_IN_DAYS as EVENT_IN_DAYS, EVENT_IN_WEEKS as EVENT_IN_WEEKS, EVENT_LOCATION as EVENT_LOCATION, EVENT_START_DATE as EVENT_START_DATE, EVENT_START_DATETIME as EVENT_START_DATETIME, EVENT_SUMMARY as EVENT_SUMMARY, EVENT_TYPES_CONF as EVENT_TYPES_CONF, FeatureAccess as FeatureAccess
|
3
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry, GoogleRuntimeData as GoogleRuntimeData, LocalCalendarStore as LocalCalendarStore
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Mapping
|
6
6
|
from gcal_sync.api import GoogleCalendarService
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_OFFSET as CONF_OFFSET, Platform as Platform
|
9
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
10
9
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
@@ -32,11 +31,11 @@ DEVICE_SCHEMA: Incomplete
|
|
32
31
|
_EVENT_IN_TYPES: Incomplete
|
33
32
|
ADD_EVENT_SERVICE_SCHEMA: Incomplete
|
34
33
|
|
35
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
36
|
-
def async_entry_has_scopes(entry:
|
37
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
38
|
-
async def async_reload_entry(hass: HomeAssistant, entry:
|
39
|
-
async def async_remove_entry(hass: HomeAssistant, entry:
|
34
|
+
async def async_setup_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
|
35
|
+
def async_entry_has_scopes(entry: GoogleConfigEntry) -> bool: ...
|
36
|
+
async def async_unload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
|
37
|
+
async def async_reload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
|
38
|
+
async def async_remove_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
|
40
39
|
async def async_setup_add_event_service(hass: HomeAssistant, calendar_service: GoogleCalendarService) -> None: ...
|
41
40
|
def get_calendar_info(hass: HomeAssistant, calendar: Mapping[str, Any]) -> dict[str, Any]: ...
|
42
41
|
def load_config(path: str) -> dict[str, Any]: ...
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import aiohttp
|
2
2
|
import datetime
|
3
3
|
from .const import CONF_CALENDAR_ACCESS as CONF_CALENDAR_ACCESS, DEFAULT_FEATURE_ACCESS as DEFAULT_FEATURE_ACCESS, FeatureAccess as FeatureAccess
|
4
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from gcal_sync.auth import AbstractAuth
|
6
7
|
from homeassistant.components.application_credentials import AuthImplementation as AuthImplementation
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
10
10
|
from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_time_interval as async_track_time_interval
|
@@ -47,7 +47,7 @@ class DeviceFlow:
|
|
47
47
|
@callback
|
48
48
|
def _finish(self) -> None: ...
|
49
49
|
|
50
|
-
def get_feature_access(config_entry:
|
50
|
+
def get_feature_access(config_entry: GoogleConfigEntry) -> FeatureAccess: ...
|
51
51
|
async def async_create_device_flow(hass: HomeAssistant, client_id: str, client_secret: str, access: FeatureAccess) -> DeviceFlow: ...
|
52
52
|
|
53
53
|
class ApiAuthImpl(AbstractAuth):
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import dataclasses
|
2
|
-
from . import CONF_IGNORE_AVAILABILITY as CONF_IGNORE_AVAILABILITY, CONF_SEARCH as CONF_SEARCH, CONF_TRACK as CONF_TRACK, DEFAULT_CONF_OFFSET as DEFAULT_CONF_OFFSET,
|
2
|
+
from . import CONF_IGNORE_AVAILABILITY as CONF_IGNORE_AVAILABILITY, CONF_SEARCH as CONF_SEARCH, CONF_TRACK as CONF_TRACK, DEFAULT_CONF_OFFSET as DEFAULT_CONF_OFFSET, YAML_DEVICES as YAML_DEVICES, get_calendar_info as get_calendar_info, load_config as load_config, update_config as update_config
|
3
3
|
from .api import get_feature_access as get_feature_access
|
4
|
-
from .const import
|
4
|
+
from .const import EVENT_END_DATE as EVENT_END_DATE, EVENT_END_DATETIME as EVENT_END_DATETIME, EVENT_IN as EVENT_IN, EVENT_IN_DAYS as EVENT_IN_DAYS, EVENT_IN_WEEKS as EVENT_IN_WEEKS, EVENT_START_DATE as EVENT_START_DATE, EVENT_START_DATETIME as EVENT_START_DATETIME, FeatureAccess as FeatureAccess
|
5
5
|
from .coordinator import CalendarQueryUpdateCoordinator as CalendarQueryUpdateCoordinator, CalendarSyncUpdateCoordinator as CalendarSyncUpdateCoordinator
|
6
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from collections.abc import Mapping
|
8
9
|
from datetime import datetime, timedelta
|
9
10
|
from gcal_sync.model import Calendar as Calendar, Event, EventTypeEnum
|
10
11
|
from homeassistant.components.calendar import CREATE_EVENT_SCHEMA as CREATE_EVENT_SCHEMA, CalendarEntity as CalendarEntity, CalendarEntityDescription as CalendarEntityDescription, CalendarEntityFeature as CalendarEntityFeature, CalendarEvent as CalendarEvent, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, EVENT_DESCRIPTION as EVENT_DESCRIPTION, EVENT_END as EVENT_END, EVENT_LOCATION as EVENT_LOCATION, EVENT_RRULE as EVENT_RRULE, EVENT_START as EVENT_START, EVENT_SUMMARY as EVENT_SUMMARY, extract_offset as extract_offset, is_offset_reached as is_offset_reached
|
11
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
12
|
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_OFFSET as CONF_OFFSET
|
13
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
14
14
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
@@ -37,8 +37,8 @@ class GoogleCalendarEntityDescription(CalendarEntityDescription):
|
|
37
37
|
device_id: str
|
38
38
|
event_type: EventTypeEnum | None = ...
|
39
39
|
|
40
|
-
def _get_entity_descriptions(hass: HomeAssistant, config_entry:
|
41
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
40
|
+
def _get_entity_descriptions(hass: HomeAssistant, config_entry: GoogleConfigEntry, calendar_item: Calendar, calendar_info: Mapping[str, Any]) -> list[GoogleCalendarEntityDescription]: ...
|
41
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: GoogleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
42
42
|
|
43
43
|
class GoogleCalendarEntity(CoordinatorEntity[CalendarSyncUpdateCoordinator | CalendarQueryUpdateCoordinator], CalendarEntity):
|
44
44
|
entity_description: GoogleCalendarEntityDescription
|
@@ -2,9 +2,10 @@ import asyncio
|
|
2
2
|
import logging
|
3
3
|
from .api import AccessTokenAuthImpl as AccessTokenAuthImpl, DEVICE_AUTH_CREDS as DEVICE_AUTH_CREDS, DeviceFlow as DeviceFlow, GoogleHybridAuth as GoogleHybridAuth, InvalidCredential as InvalidCredential, OAuthError as OAuthError, async_create_device_flow as async_create_device_flow
|
4
4
|
from .const import CONF_CALENDAR_ACCESS as CONF_CALENDAR_ACCESS, CONF_CREDENTIAL_TYPE as CONF_CREDENTIAL_TYPE, CredentialType as CredentialType, DEFAULT_FEATURE_ACCESS as DEFAULT_FEATURE_ACCESS, DOMAIN as DOMAIN, FeatureAccess as FeatureAccess
|
5
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry
|
5
6
|
from _typeshed import Incomplete
|
6
7
|
from collections.abc import Mapping
|
7
|
-
from homeassistant.config_entries import
|
8
|
+
from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
|
8
9
|
from homeassistant.core import callback as callback
|
9
10
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
10
11
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
@@ -30,7 +31,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
|
|
30
31
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
31
32
|
@staticmethod
|
32
33
|
@callback
|
33
|
-
def async_get_options_flow(config_entry:
|
34
|
+
def async_get_options_flow(config_entry: GoogleConfigEntry) -> OptionsFlow: ...
|
34
35
|
|
35
36
|
class OptionsFlowHandler(OptionsFlow):
|
36
37
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry
|
1
2
|
from _typeshed import Incomplete
|
2
3
|
from collections.abc import Iterable
|
3
4
|
from datetime import datetime
|
@@ -5,7 +6,6 @@ from gcal_sync.api import GoogleCalendarService as GoogleCalendarService
|
|
5
6
|
from gcal_sync.model import Event
|
6
7
|
from gcal_sync.sync import CalendarEventSyncManager as CalendarEventSyncManager
|
7
8
|
from gcal_sync.timeline import Timeline
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
11
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
@@ -17,21 +17,21 @@ MAX_UPCOMING_EVENTS: int
|
|
17
17
|
def _truncate_timeline(timeline: Timeline, max_events: int) -> Timeline: ...
|
18
18
|
|
19
19
|
class CalendarSyncUpdateCoordinator(DataUpdateCoordinator[Timeline]):
|
20
|
-
config_entry:
|
20
|
+
config_entry: GoogleConfigEntry
|
21
21
|
sync: Incomplete
|
22
22
|
_upcoming_timeline: Timeline | None
|
23
|
-
def __init__(self, hass: HomeAssistant, config_entry:
|
23
|
+
def __init__(self, hass: HomeAssistant, config_entry: GoogleConfigEntry, sync: CalendarEventSyncManager, name: str) -> None: ...
|
24
24
|
async def _async_update_data(self) -> Timeline: ...
|
25
25
|
async def async_get_events(self, start_date: datetime, end_date: datetime) -> Iterable[Event]: ...
|
26
26
|
@property
|
27
27
|
def upcoming(self) -> Iterable[Event] | None: ...
|
28
28
|
|
29
29
|
class CalendarQueryUpdateCoordinator(DataUpdateCoordinator[list[Event]]):
|
30
|
-
config_entry:
|
30
|
+
config_entry: GoogleConfigEntry
|
31
31
|
calendar_service: Incomplete
|
32
32
|
calendar_id: Incomplete
|
33
33
|
_search: Incomplete
|
34
|
-
def __init__(self, hass: HomeAssistant, config_entry:
|
34
|
+
def __init__(self, hass: HomeAssistant, config_entry: GoogleConfigEntry, calendar_service: GoogleCalendarService, name: str, calendar_id: str, search: str | None) -> None: ...
|
35
35
|
async def async_get_events(self, start_date: datetime, end_date: datetime) -> Iterable[Event]: ...
|
36
36
|
async def _async_update_data(self) -> list[Event]: ...
|
37
37
|
@property
|
@@ -1,11 +1,10 @@
|
|
1
|
-
from .
|
1
|
+
from .store import GoogleConfigEntry as GoogleConfigEntry
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
5
|
from typing import Any
|
7
6
|
|
8
7
|
TO_REDACT: Incomplete
|
9
8
|
|
10
9
|
def redact_store(data: dict[str, Any]) -> dict[str, Any]: ...
|
11
|
-
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry:
|
10
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: GoogleConfigEntry) -> dict[str, Any]: ...
|