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,10 +1,11 @@
|
|
1
|
-
from . import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaPlayerDeviceClass as MediaPlayerDeviceClass
|
1
|
+
from . import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaPlayerDeviceClass as MediaPlayerDeviceClass, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SearchMedia as SearchMedia
|
2
2
|
from .const import MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Iterable
|
5
5
|
from dataclasses import dataclass, field
|
6
6
|
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET
|
7
7
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
9
|
from homeassistant.helpers import intent as intent
|
9
10
|
|
10
11
|
INTENT_MEDIA_PAUSE: str
|
@@ -12,6 +13,8 @@ INTENT_MEDIA_UNPAUSE: str
|
|
12
13
|
INTENT_MEDIA_NEXT: str
|
13
14
|
INTENT_MEDIA_PREVIOUS: str
|
14
15
|
INTENT_SET_VOLUME: str
|
16
|
+
INTENT_MEDIA_SEARCH_AND_PLAY: str
|
17
|
+
_LOGGER: Incomplete
|
15
18
|
|
16
19
|
@dataclass
|
17
20
|
class LastPaused:
|
@@ -33,3 +36,10 @@ class MediaUnpauseHandler(intent.ServiceIntentHandler):
|
|
33
36
|
last_paused: Incomplete
|
34
37
|
def __init__(self, last_paused: LastPaused) -> None: ...
|
35
38
|
async def async_handle_states(self, intent_obj: intent.Intent, match_result: intent.MatchTargetsResult, match_constraints: intent.MatchTargetsConstraints, match_preferences: intent.MatchTargetsPreferences | None = None) -> intent.IntentResponse: ...
|
39
|
+
|
40
|
+
class MediaSearchAndPlayHandler(intent.IntentHandler):
|
41
|
+
description: str
|
42
|
+
intent_type = INTENT_MEDIA_SEARCH_AND_PLAY
|
43
|
+
slot_schema: Incomplete
|
44
|
+
platforms: Incomplete
|
45
|
+
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
@@ -1,11 +1,9 @@
|
|
1
|
-
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME,
|
2
|
-
from .
|
3
|
-
from .helpers import fetch_data as fetch_data, fetch_site as fetch_site
|
1
|
+
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR
|
2
|
+
from .helpers import fetch_data as fetch_data
|
4
3
|
from _typeshed import Incomplete
|
5
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
5
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, Platform as Platform
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
7
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
10
8
|
from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordinator as TimestampDataUpdateCoordinator
|
11
9
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .helpers import fetch_site as fetch_site
|
3
2
|
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -9,10 +9,12 @@ from typing import Any
|
|
9
9
|
|
10
10
|
_LOGGER: Incomplete
|
11
11
|
|
12
|
-
async def validate_input(hass: HomeAssistant,
|
12
|
+
async def validate_input(hass: HomeAssistant, latitude: float, longitude: float, api_key: str) -> dict[str, Any]: ...
|
13
13
|
|
14
14
|
class MetOfficeConfigFlow(ConfigFlow, domain=DOMAIN):
|
15
15
|
VERSION: int
|
16
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
18
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
19
|
|
18
20
|
class CannotConnect(HomeAssistantError): ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
|
-
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT
|
2
|
+
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING
|
3
3
|
|
4
4
|
DOMAIN: str
|
5
5
|
DEFAULT_NAME: str
|
@@ -8,11 +8,12 @@ DEFAULT_SCAN_INTERVAL: Incomplete
|
|
8
8
|
METOFFICE_COORDINATES: str
|
9
9
|
METOFFICE_HOURLY_COORDINATOR: str
|
10
10
|
METOFFICE_DAILY_COORDINATOR: str
|
11
|
+
METOFFICE_TWICE_DAILY_COORDINATOR: str
|
11
12
|
METOFFICE_MONITORED_CONDITIONS: str
|
12
13
|
METOFFICE_NAME: str
|
13
|
-
|
14
|
-
MODE_DAILY: str
|
15
|
-
CONDITION_CLASSES: dict[str, list[str]]
|
14
|
+
CONDITION_CLASSES: dict[str, list[int]]
|
16
15
|
CONDITION_MAP: Incomplete
|
17
|
-
|
18
|
-
|
16
|
+
HOURLY_FORECAST_ATTRIBUTE_MAP: dict[str, str]
|
17
|
+
DAILY_FORECAST_ATTRIBUTE_MAP: dict[str, str]
|
18
|
+
DAY_FORECAST_ATTRIBUTE_MAP: dict[str, str]
|
19
|
+
NIGHT_FORECAST_ATTRIBUTE_MAP: dict[str, str]
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import datapoint
|
2
|
-
from .const import MODE_3HOURLY as MODE_3HOURLY
|
3
|
-
from .data import MetOfficeData as MetOfficeData
|
4
2
|
from _typeshed import Incomplete
|
5
|
-
from datapoint.
|
3
|
+
from datapoint.Forecast import Forecast as Forecast
|
4
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
6
5
|
from homeassistant.helpers.update_coordinator import UpdateFailed as UpdateFailed
|
7
|
-
from
|
6
|
+
from typing import Any, Literal
|
8
7
|
|
9
8
|
_LOGGER: Incomplete
|
10
9
|
|
11
|
-
def
|
12
|
-
def
|
10
|
+
def fetch_data(connection: datapoint.Manager, latitude: float, longitude: float, frequency: Literal['daily', 'twice-daily', 'hourly']) -> Forecast: ...
|
11
|
+
def get_attribute(data: dict[str, Any] | None, attr_name: str) -> Any | None: ...
|
@@ -1,10 +1,12 @@
|
|
1
1
|
from . import get_device_info as get_device_info
|
2
|
-
from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES,
|
3
|
-
from .
|
2
|
+
from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME
|
3
|
+
from .helpers import get_attribute as get_attribute
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from datapoint.Forecast import Forecast
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
6
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
9
|
+
from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
8
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
12
|
from homeassistant.helpers.typing import StateType as StateType
|
@@ -12,22 +14,22 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
|
|
12
14
|
from typing import Any
|
13
15
|
|
14
16
|
ATTR_LAST_UPDATE: str
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class MetOfficeSensorEntityDescription(SensorEntityDescription):
|
20
|
+
native_attr_name: str
|
21
|
+
|
22
|
+
SENSOR_TYPES: tuple[MetOfficeSensorEntityDescription, ...]
|
19
23
|
|
20
24
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
21
25
|
|
22
|
-
class MetOfficeCurrentSensor(CoordinatorEntity[DataUpdateCoordinator[
|
26
|
+
class MetOfficeCurrentSensor(CoordinatorEntity[DataUpdateCoordinator[Forecast]], SensorEntity):
|
23
27
|
_attr_attribution = ATTRIBUTION
|
24
28
|
_attr_has_entity_name: bool
|
25
|
-
entity_description:
|
29
|
+
entity_description: MetOfficeSensorEntityDescription
|
26
30
|
_attr_device_info: Incomplete
|
27
|
-
_attr_name: Incomplete
|
28
31
|
_attr_unique_id: Incomplete
|
29
|
-
|
30
|
-
def __init__(self, coordinator: DataUpdateCoordinator[MetOfficeData], hass_data: dict[str, Any], use_3hourly: bool, description: SensorEntityDescription) -> None: ...
|
32
|
+
def __init__(self, coordinator: DataUpdateCoordinator[Forecast], hass_data: dict[str, Any], description: MetOfficeSensorEntityDescription) -> None: ...
|
31
33
|
@property
|
32
34
|
def native_value(self) -> StateType: ...
|
33
35
|
@property
|
@@ -1,44 +1,56 @@
|
|
1
1
|
from . import get_device_info as get_device_info
|
2
|
-
from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME,
|
3
|
-
from .
|
2
|
+
from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DAILY_FORECAST_ATTRIBUTE_MAP as DAILY_FORECAST_ATTRIBUTE_MAP, DAY_FORECAST_ATTRIBUTE_MAP as DAY_FORECAST_ATTRIBUTE_MAP, DOMAIN as DOMAIN, HOURLY_FORECAST_ATTRIBUTE_MAP as HOURLY_FORECAST_ATTRIBUTE_MAP, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR, NIGHT_FORECAST_ATTRIBUTE_MAP as NIGHT_FORECAST_ATTRIBUTE_MAP
|
3
|
+
from .helpers import get_attribute as get_attribute
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from datapoint.
|
6
|
-
from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as Forecast, WeatherEntityFeature as WeatherEntityFeature
|
5
|
+
from datapoint.Forecast import Forecast as ForecastData
|
6
|
+
from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as Forecast, WeatherEntityFeature as WeatherEntityFeature
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
-
from homeassistant.const import UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
8
|
+
from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
11
|
from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordinator as TimestampDataUpdateCoordinator
|
12
12
|
from typing import Any
|
13
13
|
|
14
14
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
15
|
-
def
|
16
|
-
def
|
15
|
+
def _build_hourly_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
|
16
|
+
def _build_daily_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
|
17
|
+
def _build_twice_daily_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
|
18
|
+
def _populate_forecast_data(forecast: Forecast, timestep: dict[str, Any], mapping: dict[str, str]) -> None: ...
|
17
19
|
|
18
|
-
class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[
|
20
|
+
class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[ForecastData], TimestampDataUpdateCoordinator[ForecastData], TimestampDataUpdateCoordinator[ForecastData]]):
|
19
21
|
_attr_attribution = ATTRIBUTION
|
20
22
|
_attr_has_entity_name: bool
|
23
|
+
_attr_name: Incomplete
|
21
24
|
_attr_native_temperature_unit: Incomplete
|
22
25
|
_attr_native_pressure_unit: Incomplete
|
26
|
+
_attr_native_precipitation_unit: Incomplete
|
27
|
+
_attr_native_visibility_unit: Incomplete
|
23
28
|
_attr_native_wind_speed_unit: Incomplete
|
24
29
|
_attr_supported_features: Incomplete
|
25
30
|
_attr_device_info: Incomplete
|
26
|
-
_attr_name: str
|
27
31
|
_attr_unique_id: Incomplete
|
28
|
-
def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[
|
32
|
+
def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[ForecastData], coordinator_hourly: TimestampDataUpdateCoordinator[ForecastData], coordinator_twice_daily: TimestampDataUpdateCoordinator[ForecastData], hass_data: dict[str, Any]) -> None: ...
|
29
33
|
@property
|
30
34
|
def condition(self) -> str | None: ...
|
31
35
|
@property
|
32
36
|
def native_temperature(self) -> float | None: ...
|
33
37
|
@property
|
38
|
+
def native_dew_point(self) -> float | None: ...
|
39
|
+
@property
|
34
40
|
def native_pressure(self) -> float | None: ...
|
35
41
|
@property
|
36
42
|
def humidity(self) -> float | None: ...
|
37
43
|
@property
|
44
|
+
def uv_index(self) -> float | None: ...
|
45
|
+
@property
|
46
|
+
def native_visibility(self) -> float | None: ...
|
47
|
+
@property
|
38
48
|
def native_wind_speed(self) -> float | None: ...
|
39
49
|
@property
|
40
|
-
def wind_bearing(self) ->
|
50
|
+
def wind_bearing(self) -> float | None: ...
|
41
51
|
@callback
|
42
52
|
def _async_forecast_daily(self) -> list[Forecast] | None: ...
|
43
53
|
@callback
|
44
54
|
def _async_forecast_hourly(self) -> list[Forecast] | None: ...
|
55
|
+
@callback
|
56
|
+
def _async_forecast_twice_daily(self) -> list[Forecast] | None: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
4
|
+
from homeassistant.const import Platform as Platform
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
7
|
+
from homeassistant.helpers import device_registry as dr
|
8
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
10
|
+
|
11
|
+
PLATFORMS: list[Platform]
|
12
|
+
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> bool: ...
|
14
|
+
async def async_unload_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> bool: ...
|
15
|
+
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: MieleConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
@@ -0,0 +1,9 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from aiohttp import ClientSession as ClientSession
|
3
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
4
|
+
from pymiele import AbstractAuth
|
5
|
+
|
6
|
+
class AsyncConfigEntryAuth(AbstractAuth):
|
7
|
+
_oauth_session: Incomplete
|
8
|
+
def __init__(self, websession: ClientSession, oauth_session: config_entry_oauth2_flow.OAuth2Session) -> None: ...
|
9
|
+
async def async_get_access_token(self) -> str: ...
|
@@ -0,0 +1,5 @@
|
|
1
|
+
from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
|
4
|
+
async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
|
5
|
+
async def async_get_description_placeholders(hass: HomeAssistant) -> dict[str, str]: ...
|
@@ -0,0 +1,34 @@
|
|
1
|
+
from .const import MieleAppliance as MieleAppliance
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.typing import StateType as StateType
|
12
|
+
from pymiele import MieleDevice as MieleDevice
|
13
|
+
from typing import Final
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class MieleBinarySensorDescription(BinarySensorEntityDescription):
|
20
|
+
value_fn: Callable[[MieleDevice], StateType]
|
21
|
+
|
22
|
+
@dataclass
|
23
|
+
class MieleBinarySensorDefinition:
|
24
|
+
types: tuple[MieleAppliance, ...]
|
25
|
+
description: MieleBinarySensorDescription
|
26
|
+
|
27
|
+
BINARY_SENSOR_TYPES: Final[tuple[MieleBinarySensorDefinition, ...]]
|
28
|
+
|
29
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
30
|
+
|
31
|
+
class MieleBinarySensor(MieleEntity, BinarySensorEntity):
|
32
|
+
entity_description: MieleBinarySensorDescription
|
33
|
+
@property
|
34
|
+
def is_on(self) -> bool | None: ...
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MieleActions as MieleActions, MieleAppliance as MieleAppliance, PROCESS_ACTION as PROCESS_ACTION
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
+
from typing import Final
|
11
|
+
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
_LOGGER: Incomplete
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class MieleButtonDescription(ButtonEntityDescription):
|
17
|
+
press_data: MieleActions
|
18
|
+
|
19
|
+
@dataclass
|
20
|
+
class MieleButtonDefinition:
|
21
|
+
types: tuple[MieleAppliance, ...]
|
22
|
+
description: MieleButtonDescription
|
23
|
+
|
24
|
+
BUTTON_TYPES: Final[tuple[MieleButtonDefinition, ...]]
|
25
|
+
|
26
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
27
|
+
|
28
|
+
class MieleButton(MieleEntity, ButtonEntity):
|
29
|
+
entity_description: MieleButtonDescription
|
30
|
+
@property
|
31
|
+
def available(self) -> bool: ...
|
32
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,55 @@
|
|
1
|
+
from .const import DEVICE_TYPE_TAGS as DEVICE_TYPE_TAGS, DISABLED_TEMP_ENTITIES as DISABLED_TEMP_ENTITIES, DOMAIN as DOMAIN, MieleAppliance as MieleAppliance
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityDescription as ClimateEntityDescription, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
|
8
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
from homeassistant.helpers.typing import StateType as StateType
|
13
|
+
from pymiele import MieleDevice as MieleDevice
|
14
|
+
from typing import Any, Final
|
15
|
+
|
16
|
+
PARALLEL_UPDATES: int
|
17
|
+
_LOGGER: Incomplete
|
18
|
+
|
19
|
+
@dataclass(frozen=True, kw_only=True)
|
20
|
+
class MieleClimateDescription(ClimateEntityDescription):
|
21
|
+
value_fn: Callable[[MieleDevice], StateType]
|
22
|
+
target_fn: Callable[[MieleDevice], StateType]
|
23
|
+
zone: int = ...
|
24
|
+
|
25
|
+
@dataclass
|
26
|
+
class MieleClimateDefinition:
|
27
|
+
types: tuple[MieleAppliance, ...]
|
28
|
+
description: MieleClimateDescription
|
29
|
+
|
30
|
+
CLIMATE_TYPES: Final[tuple[MieleClimateDefinition, ...]]
|
31
|
+
ZONE1_DEVICES: Incomplete
|
32
|
+
|
33
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
34
|
+
|
35
|
+
class MieleClimate(MieleEntity, ClimateEntity):
|
36
|
+
entity_description: MieleClimateDescription
|
37
|
+
_attr_precision = PRECISION_WHOLE
|
38
|
+
_attr_temperature_unit: Incomplete
|
39
|
+
_attr_target_temperature_step: float
|
40
|
+
_attr_hvac_modes: Incomplete
|
41
|
+
_attr_hvac_mode: Incomplete
|
42
|
+
_attr_supported_features: Incomplete
|
43
|
+
@property
|
44
|
+
def current_temperature(self) -> float | None: ...
|
45
|
+
_attr_name: Incomplete
|
46
|
+
_attr_translation_key: Incomplete
|
47
|
+
_attr_unique_id: Incomplete
|
48
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleClimateDescription) -> None: ...
|
49
|
+
@property
|
50
|
+
def target_temperature(self) -> float | None: ...
|
51
|
+
@property
|
52
|
+
def max_temp(self) -> float: ...
|
53
|
+
@property
|
54
|
+
def min_temp(self) -> float: ...
|
55
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import logging
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
5
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
9
|
+
DOMAIN = DOMAIN
|
10
|
+
@property
|
11
|
+
def logger(self) -> logging.Logger: ...
|
12
|
+
@property
|
13
|
+
def extra_authorize_data(self) -> dict: ...
|
14
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
+
async def async_step_reconfigure(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
|
@@ -0,0 +1,127 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from enum import IntEnum
|
3
|
+
from pymiele import MieleEnum
|
4
|
+
|
5
|
+
DOMAIN: str
|
6
|
+
MANUFACTURER: str
|
7
|
+
ACTIONS: str
|
8
|
+
POWER_ON: str
|
9
|
+
POWER_OFF: str
|
10
|
+
PROCESS_ACTION: str
|
11
|
+
PROGRAM_ID: str
|
12
|
+
VENTILATION_STEP: str
|
13
|
+
TARGET_TEMPERATURE: str
|
14
|
+
AMBIENT_LIGHT: str
|
15
|
+
LIGHT: str
|
16
|
+
LIGHT_ON: int
|
17
|
+
LIGHT_OFF: int
|
18
|
+
DISABLED_TEMP_ENTITIES: Incomplete
|
19
|
+
|
20
|
+
class MieleAppliance(IntEnum):
|
21
|
+
WASHING_MACHINE = 1
|
22
|
+
TUMBLE_DRYER = 2
|
23
|
+
WASHING_MACHINE_SEMI_PROFESSIONAL = 3
|
24
|
+
TUMBLE_DRYER_SEMI_PROFESSIONAL = 4
|
25
|
+
WASHING_MACHINE_PROFESSIONAL = 5
|
26
|
+
DRYER_PROFESSIONAL = 6
|
27
|
+
DISHWASHER = 7
|
28
|
+
DISHWASHER_SEMI_PROFESSIONAL = 8
|
29
|
+
DISHWASHER_PROFESSIONAL = 9
|
30
|
+
OVEN = 12
|
31
|
+
OVEN_MICROWAVE = 13
|
32
|
+
HOB_HIGHLIGHT = 14
|
33
|
+
STEAM_OVEN = 15
|
34
|
+
MICROWAVE = 16
|
35
|
+
COFFEE_SYSTEM = 17
|
36
|
+
HOOD = 18
|
37
|
+
FRIDGE = 19
|
38
|
+
FREEZER = 20
|
39
|
+
FRIDGE_FREEZER = 21
|
40
|
+
ROBOT_VACUUM_CLEANER = 23
|
41
|
+
WASHER_DRYER = 24
|
42
|
+
DISH_WARMER = 25
|
43
|
+
HOB_INDUCTION = 27
|
44
|
+
STEAM_OVEN_COMBI = 31
|
45
|
+
WINE_CABINET = 32
|
46
|
+
WINE_CONDITIONING_UNIT = 33
|
47
|
+
WINE_STORAGE_CONDITIONING_UNIT = 34
|
48
|
+
STEAM_OVEN_MICRO = 45
|
49
|
+
DIALOG_OVEN = 67
|
50
|
+
WINE_CABINET_FREEZER = 68
|
51
|
+
STEAM_OVEN_MK2 = 73
|
52
|
+
HOB_INDUCT_EXTR = 74
|
53
|
+
|
54
|
+
DEVICE_TYPE_TAGS: Incomplete
|
55
|
+
|
56
|
+
class StateStatus(IntEnum):
|
57
|
+
RESERVED = 0
|
58
|
+
OFF = 1
|
59
|
+
ON = 2
|
60
|
+
PROGRAMMED = 3
|
61
|
+
WAITING_TO_START = 4
|
62
|
+
IN_USE = 5
|
63
|
+
PAUSE = 6
|
64
|
+
PROGRAM_ENDED = 7
|
65
|
+
FAILURE = 8
|
66
|
+
PROGRAM_INTERRUPTED = 9
|
67
|
+
IDLE = 10
|
68
|
+
RINSE_HOLD = 11
|
69
|
+
SERVICE = 12
|
70
|
+
SUPERFREEZING = 13
|
71
|
+
SUPERCOOLING = 14
|
72
|
+
SUPERHEATING = 15
|
73
|
+
SUPERCOOLING_SUPERFREEZING = 146
|
74
|
+
AUTOCLEANING = 147
|
75
|
+
NOT_CONNECTED = 255
|
76
|
+
|
77
|
+
STATE_STATUS_TAGS: Incomplete
|
78
|
+
|
79
|
+
class MieleActions(IntEnum):
|
80
|
+
START = 1
|
81
|
+
STOP = 2
|
82
|
+
PAUSE = 3
|
83
|
+
START_SUPERFREEZE = 4
|
84
|
+
STOP_SUPERFREEZE = 5
|
85
|
+
START_SUPERCOOL = 6
|
86
|
+
STOP_SUPERCOOL = 7
|
87
|
+
|
88
|
+
PROCESS_ACTIONS: Incomplete
|
89
|
+
STATE_PROGRAM_PHASE_WASHING_MACHINE: Incomplete
|
90
|
+
STATE_PROGRAM_PHASE_TUMBLE_DRYER: Incomplete
|
91
|
+
STATE_PROGRAM_PHASE_DISHWASHER: Incomplete
|
92
|
+
STATE_PROGRAM_PHASE_OVEN: Incomplete
|
93
|
+
STATE_PROGRAM_PHASE_WARMING_DRAWER: Incomplete
|
94
|
+
STATE_PROGRAM_PHASE_MICROWAVE: Incomplete
|
95
|
+
STATE_PROGRAM_PHASE_COFFEE_SYSTEM: Incomplete
|
96
|
+
STATE_PROGRAM_PHASE_ROBOT_VACUUM_CLEANER: Incomplete
|
97
|
+
STATE_PROGRAM_PHASE_STEAM_OVEN: Incomplete
|
98
|
+
STATE_PROGRAM_PHASE: dict[int, dict[int, str]]
|
99
|
+
|
100
|
+
class StateProgramType(MieleEnum):
|
101
|
+
normal_operation_mode: int
|
102
|
+
own_program: int
|
103
|
+
automatic_program: int
|
104
|
+
cleaning_care_program: int
|
105
|
+
maintenance_program: int
|
106
|
+
missing2none: int
|
107
|
+
|
108
|
+
class StateDryingStep(MieleEnum):
|
109
|
+
extra_dry: int
|
110
|
+
normal_plus: int
|
111
|
+
normal: int
|
112
|
+
slightly_dry: int
|
113
|
+
hand_iron_1: int
|
114
|
+
hand_iron_2: int
|
115
|
+
machine_iron: int
|
116
|
+
smoothing: int
|
117
|
+
missing2none: int
|
118
|
+
|
119
|
+
WASHING_MACHINE_PROGRAM_ID: dict[int, str]
|
120
|
+
DISHWASHER_PROGRAM_ID: dict[int, str]
|
121
|
+
TUMBLE_DRYER_PROGRAM_ID: dict[int, str]
|
122
|
+
OVEN_PROGRAM_ID: dict[int, str]
|
123
|
+
DISH_WARMER_PROGRAM_ID: dict[int, str]
|
124
|
+
ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str]
|
125
|
+
COFFEE_SYSTEM_PROGRAM_ID: dict[int, str]
|
126
|
+
STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str]
|
127
|
+
STATE_PROGRAM_ID: dict[int, dict[int, str]]
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
9
|
+
from pymiele import MieleAction, MieleDevice
|
10
|
+
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
type MieleConfigEntry = ConfigEntry[MieleDataUpdateCoordinator]
|
13
|
+
|
14
|
+
@dataclass
|
15
|
+
class MieleCoordinatorData:
|
16
|
+
devices: dict[str, MieleDevice]
|
17
|
+
actions: dict[str, MieleAction]
|
18
|
+
|
19
|
+
class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
|
20
|
+
config_entry: MieleConfigEntry
|
21
|
+
new_device_callbacks: list[Callable[[dict[str, MieleDevice]], None]]
|
22
|
+
known_devices: set[str]
|
23
|
+
devices: dict[str, MieleDevice]
|
24
|
+
api: Incomplete
|
25
|
+
def __init__(self, hass: HomeAssistant, api: AsyncConfigEntryAuth) -> None: ...
|
26
|
+
async def _async_update_data(self) -> MieleCoordinatorData: ...
|
27
|
+
def async_add_devices(self, added_devices: set[str]) -> tuple[set[str], set[str]]: ...
|
28
|
+
async def callback_update_data(self, devices_json: dict[str, dict]) -> None: ...
|
29
|
+
async def callback_update_actions(self, actions_json: dict[str, dict]) -> None: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
TO_REDACT: Incomplete
|
9
|
+
|
10
|
+
def hash_identifier(key: str) -> str: ...
|
11
|
+
def redact_identifiers(in_data: dict[str, Any]) -> dict[str, Any]: ...
|
12
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry) -> dict[str, Any]: ...
|
13
|
+
async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
+
from .const import DEVICE_TYPE_TAGS as DEVICE_TYPE_TAGS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, MieleAppliance as MieleAppliance, StateStatus as StateStatus
|
3
|
+
from .coordinator import MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
6
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
7
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
8
|
+
from pymiele import MieleAction as MieleAction, MieleDevice as MieleDevice
|
9
|
+
|
10
|
+
class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
|
11
|
+
_attr_has_entity_name: bool
|
12
|
+
_device_id: Incomplete
|
13
|
+
entity_description: Incomplete
|
14
|
+
_attr_unique_id: Incomplete
|
15
|
+
_attr_device_info: Incomplete
|
16
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: EntityDescription) -> None: ...
|
17
|
+
@property
|
18
|
+
def device(self) -> MieleDevice: ...
|
19
|
+
@property
|
20
|
+
def action(self) -> MieleAction: ...
|
21
|
+
@property
|
22
|
+
def api(self) -> AsyncConfigEntryAuth: ...
|
23
|
+
@property
|
24
|
+
def available(self) -> bool: ...
|