homeassistant-stubs 2025.3.4__py3-none-any.whl → 2025.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/bootstrap.pyi +3 -2
- homeassistant-stubs/components/accuweather/const.pyi +3 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
- homeassistant-stubs/components/anova/config_flow.pyi +4 -1
- homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
- homeassistant-stubs/components/arwn/sensor.pyi +3 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
- homeassistant-stubs/components/assist_satellite/const.pyi +3 -0
- homeassistant-stubs/components/assist_satellite/entity.pyi +6 -4
- homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
- homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
- homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/agent.pyi +1 -1
- homeassistant-stubs/components/backup/backup.pyi +1 -1
- homeassistant-stubs/components/backup/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/coordinator.pyi +28 -0
- homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
- homeassistant-stubs/components/backup/entity.pyi +13 -0
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +8 -3
- homeassistant-stubs/components/backup/sensor.pyi +23 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
- homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
- homeassistant-stubs/components/brother/__init__.pyi +1 -0
- homeassistant-stubs/components/brother/coordinator.pyi +1 -0
- homeassistant-stubs/components/cloud/backup.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +6 -3
- homeassistant-stubs/components/cloud/tts.pyi +2 -2
- homeassistant-stubs/components/comelit/__init__.pyi +11 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +44 -0
- homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/comelit/climate.pyi +60 -0
- homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
- homeassistant-stubs/components/comelit/const.pyi +7 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
- homeassistant-stubs/components/comelit/cover.pyi +39 -0
- homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
- homeassistant-stubs/components/comelit/light.pyi +28 -0
- homeassistant-stubs/components/comelit/sensor.pyi +45 -0
- homeassistant-stubs/components/comelit/switch.pyi +27 -0
- homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
- homeassistant-stubs/components/demo/valve.pyi +30 -0
- homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/__init__.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
- homeassistant-stubs/components/esphome/event.pyi +2 -0
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +9 -10
- homeassistant-stubs/components/frontend/storage.pyi +2 -1
- homeassistant-stubs/components/gios/__init__.pyi +1 -0
- homeassistant-stubs/components/gios/config_flow.pyi +1 -0
- homeassistant-stubs/components/gios/coordinator.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +3 -2
- homeassistant-stubs/components/google_drive/backup.pyi +2 -2
- homeassistant-stubs/components/habitica/const.pyi +25 -0
- homeassistant-stubs/components/habitica/services.pyi +6 -2
- homeassistant-stubs/components/heos/const.pyi +1 -0
- homeassistant-stubs/components/heos/coordinator.pyi +5 -5
- homeassistant-stubs/components/heos/media_player.pyi +18 -8
- homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
- homeassistant-stubs/components/home_connect/button.pyi +0 -2
- homeassistant-stubs/components/home_connect/const.pyi +0 -6
- homeassistant-stubs/components/home_connect/entity.pyi +1 -1
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +1 -1
- homeassistant-stubs/components/home_connect/select.pyi +1 -1
- homeassistant-stubs/components/home_connect/services.pyi +35 -0
- homeassistant-stubs/components/home_connect/switch.pyi +2 -1
- homeassistant-stubs/components/home_connect/time.pyi +6 -1
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +68 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +29 -0
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +29 -0
- homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
- homeassistant-stubs/components/homee/button.pyi +1 -0
- homeassistant-stubs/components/homee/cover.pyi +1 -0
- homeassistant-stubs/components/homee/light.pyi +1 -0
- homeassistant-stubs/components/homee/lock.pyi +25 -0
- homeassistant-stubs/components/homee/number.pyi +1 -0
- homeassistant-stubs/components/homee/select.pyi +23 -0
- homeassistant-stubs/components/homee/sensor.pyi +2 -0
- homeassistant-stubs/components/homee/switch.pyi +2 -0
- homeassistant-stubs/components/homee/valve.pyi +1 -0
- homeassistant-stubs/components/homekit/__init__.pyi +3 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -0
- homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
- homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
- homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
- homeassistant-stubs/components/iron_os/number.pyi +2 -0
- homeassistant-stubs/components/iron_os/select.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
- homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
- homeassistant-stubs/components/linkplay/entity.pyi +0 -1
- homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
- homeassistant-stubs/components/linkplay/utils.pyi +0 -32
- homeassistant-stubs/components/lovelace/__init__.pyi +3 -1
- homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
- homeassistant-stubs/components/mastodon/const.pyi +0 -7
- homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
- homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
- homeassistant-stubs/components/mastodon/entity.pyi +1 -1
- homeassistant-stubs/components/mastodon/notify.pyi +3 -2
- homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
- homeassistant-stubs/components/mastodon/services.pyi +1 -0
- homeassistant-stubs/components/mastodon/utils.pyi +3 -2
- homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
- homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
- homeassistant-stubs/components/mcp_server/const.pyi +1 -2
- homeassistant-stubs/components/mcp_server/server.pyi +1 -0
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +6 -2
- homeassistant-stubs/components/modbus/const.pyi +10 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +95 -7
- homeassistant-stubs/components/mqtt/const.pyi +65 -0
- homeassistant-stubs/components/mqtt/cover.pyi +2 -0
- homeassistant-stubs/components/mqtt/entity.pyi +4 -4
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +3 -14
- homeassistant-stubs/components/mqtt/models.pyi +25 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
- homeassistant-stubs/components/mqtt/update.pyi +1 -1
- homeassistant-stubs/components/mqtt/util.pyi +2 -0
- homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/climate.pyi +0 -1
- homeassistant-stubs/components/mysensors/const.pyi +0 -1
- homeassistant-stubs/components/mysensors/cover.pyi +1 -2
- homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
- homeassistant-stubs/components/mysensors/light.pyi +4 -5
- homeassistant-stubs/components/mysensors/remote.pyi +0 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/switch.pyi +1 -2
- homeassistant-stubs/components/mysensors/text.pyi +0 -1
- homeassistant-stubs/components/nam/button.pyi +2 -0
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +2 -2
- homeassistant-stubs/components/nest/media_source.pyi +5 -0
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +2 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
- homeassistant-stubs/components/nextdns/switch.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +1 -0
- homeassistant-stubs/components/nut/button.pyi +14 -0
- homeassistant-stubs/components/nut/entity.pyi +19 -0
- homeassistant-stubs/components/nut/sensor.pyi +8 -13
- homeassistant-stubs/components/nut/switch.pyi +18 -0
- homeassistant-stubs/components/onboarding/views.pyi +2 -1
- homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
- homeassistant-stubs/components/onedrive/backup.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +15 -0
- homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
- homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
- homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
- homeassistant-stubs/components/purpleair/const.pyi +6 -4
- homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
- homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
- homeassistant-stubs/components/purpleair/entity.pyi +2 -3
- homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
- homeassistant-stubs/components/pyload/__init__.pyi +12 -0
- homeassistant-stubs/components/pyload/button.pyi +32 -0
- homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
- homeassistant-stubs/components/pyload/const.pyi +6 -0
- homeassistant-stubs/components/pyload/coordinator.pyi +34 -0
- homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
- homeassistant-stubs/components/pyload/entity.pyi +13 -0
- homeassistant-stubs/components/pyload/sensor.pyi +33 -0
- homeassistant-stubs/components/pyload/switch.pyi +37 -0
- homeassistant-stubs/components/qbus/climate.pyi +41 -0
- homeassistant-stubs/components/qbus/light.pyi +3 -3
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +1 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
- homeassistant-stubs/components/recorder/migration.pyi +16 -2
- homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
- homeassistant-stubs/components/recorder/statistics.pyi +27 -9
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
- homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
- homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
- homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
- homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
- homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
- homeassistant-stubs/components/renault/config_flow.pyi +1 -0
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/host.pyi +4 -4
- homeassistant-stubs/components/reolink/number.pyi +21 -1
- homeassistant-stubs/components/reolink/select.pyi +17 -1
- homeassistant-stubs/components/reolink/update.pyi +2 -1
- homeassistant-stubs/components/reolink/util.pyi +7 -0
- homeassistant-stubs/components/roborock/__init__.pyi +5 -3
- homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
- homeassistant-stubs/components/roborock/button.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
- homeassistant-stubs/components/roborock/const.pyi +7 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
- homeassistant-stubs/components/roborock/entity.pyi +3 -1
- homeassistant-stubs/components/roborock/image.pyi +2 -7
- homeassistant-stubs/components/roborock/models.pyi +7 -0
- homeassistant-stubs/components/roborock/number.pyi +1 -0
- homeassistant-stubs/components/roborock/select.pyi +7 -5
- homeassistant-stubs/components/roborock/sensor.pyi +14 -1
- homeassistant-stubs/components/roborock/switch.pyi +2 -0
- homeassistant-stubs/components/roborock/time.pyi +1 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +15 -3
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
- homeassistant-stubs/components/shelly/button.pyi +22 -7
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/event.pyi +1 -1
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +14 -14
- homeassistant-stubs/components/shelly/update.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +6 -2
- homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
- homeassistant-stubs/components/smlight/__init__.pyi +0 -2
- homeassistant-stubs/components/smlight/sensor.pyi +5 -2
- homeassistant-stubs/components/smlight/update.pyi +0 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
- homeassistant-stubs/components/squeezebox/button.pyi +31 -0
- homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
- homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
- homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
- homeassistant-stubs/components/todo/intent.pyi +8 -0
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
- homeassistant-stubs/components/tts/__init__.pyi +66 -51
- homeassistant-stubs/components/tts/entity.pyi +54 -0
- homeassistant-stubs/components/tts/media_source.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +1 -5
- homeassistant-stubs/components/usb/utils.pyi +2 -0
- homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
- homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
- homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
- homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
- homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
- homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
- homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
- homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
- homeassistant-stubs/components/zwave_js/api.pyi +15 -0
- homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
- homeassistant-stubs/config_entries.pyi +2 -5
- homeassistant-stubs/helpers/backup.pyi +4 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -2
- homeassistant-stubs/helpers/frame.pyi +14 -5
- homeassistant-stubs/helpers/intent.pyi +13 -4
- homeassistant-stubs/helpers/llm.pyi +7 -1
- homeassistant-stubs/helpers/script.pyi +1 -1
- homeassistant-stubs/helpers/selector.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +14 -1
- homeassistant-stubs/loader.pyi +18 -8
- homeassistant-stubs/scripts/check_config.pyi +0 -1
- homeassistant-stubs/util/logging.pyi +18 -1
- homeassistant-stubs/util/unit_conversion.pyi +3 -0
- homeassistant-stubs/util/unit_system.pyi +12 -10
- homeassistant-stubs/util/yaml/__init__.pyi +3 -4
- homeassistant-stubs/util/yaml/dumper.pyi +2 -8
- homeassistant-stubs/util/yaml/input.pyi +2 -9
- homeassistant-stubs/util/yaml/loader.pyi +4 -72
- homeassistant-stubs/util/yaml/objects.pyi +2 -26
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +329 -268
- homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
- homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
- homeassistant-stubs/util/yaml/const.pyi +0 -1
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,9 +3,10 @@ from homeassistant.components import websocket_api as websocket_api
|
|
3
3
|
from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
5
5
|
from homeassistant.helpers.storage import Store as Store
|
6
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
6
7
|
from typing import Any
|
7
8
|
|
8
|
-
DATA_STORAGE: str
|
9
|
+
DATA_STORAGE: HassKey[tuple[dict[str, Store], dict[str, dict]]]
|
9
10
|
STORAGE_VERSION_USER_DATA: int
|
10
11
|
|
11
12
|
@callback
|
@@ -3,6 +3,7 @@ from .coordinator import GiosConfigEntry as GiosConfigEntry, GiosData as GiosDat
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.const import Platform as Platform
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
6
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
7
8
|
|
8
9
|
_LOGGER: Incomplete
|
@@ -2,6 +2,7 @@ from .const import API_TIMEOUT as API_TIMEOUT, CONF_STATION_ID as CONF_STATION_I
|
|
2
2
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
3
3
|
from homeassistant.const import CONF_NAME as CONF_NAME
|
4
4
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
5
|
+
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
|
5
6
|
from typing import Any
|
6
7
|
|
7
8
|
class GiosFlowHandler(ConfigFlow, domain=DOMAIN):
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import API_TIMEOUT as API_TIMEOUT, DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from aiohttp import ClientSession as ClientSession
|
4
3
|
from dataclasses import dataclass
|
4
|
+
from gios import Gios as Gios
|
5
5
|
from gios.model import GiosSensors
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -17,5 +17,5 @@ class GiosData:
|
|
17
17
|
class GiosDataUpdateCoordinator(DataUpdateCoordinator[GiosSensors]):
|
18
18
|
config_entry: GiosConfigEntry
|
19
19
|
gios: Incomplete
|
20
|
-
def __init__(self, hass: HomeAssistant, config_entry: GiosConfigEntry,
|
20
|
+
def __init__(self, hass: HomeAssistant, config_entry: GiosConfigEntry, gios: Gios) -> None: ...
|
21
21
|
async def _async_update_data(self) -> GiosSensors: ...
|
@@ -6,7 +6,7 @@ from .coordinator import CalendarQueryUpdateCoordinator as CalendarQueryUpdateCo
|
|
6
6
|
from _typeshed import Incomplete
|
7
7
|
from collections.abc import Mapping
|
8
8
|
from datetime import datetime, timedelta
|
9
|
-
from gcal_sync.model import Calendar as Calendar, Event
|
9
|
+
from gcal_sync.model import Calendar as Calendar, Event, EventTypeEnum
|
10
10
|
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
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
|
@@ -23,6 +23,7 @@ SYNC_EVENT_MIN_TIME: Incomplete
|
|
23
23
|
OPAQUE: str
|
24
24
|
RRULE_PREFIX: str
|
25
25
|
SERVICE_CREATE_EVENT: str
|
26
|
+
FILTERED_EVENT_TYPES: Incomplete
|
26
27
|
|
27
28
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
28
29
|
class GoogleCalendarEntityDescription(CalendarEntityDescription):
|
@@ -34,7 +35,7 @@ class GoogleCalendarEntityDescription(CalendarEntityDescription):
|
|
34
35
|
search: str | None
|
35
36
|
local_sync: bool
|
36
37
|
device_id: str
|
37
|
-
|
38
|
+
event_type: EventTypeEnum | None = ...
|
38
39
|
|
39
40
|
def _get_entity_descriptions(hass: HomeAssistant, config_entry: ConfigEntry, calendar_item: Calendar, calendar_info: Mapping[str, Any]) -> list[GoogleCalendarEntityDescription]: ...
|
40
41
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
@@ -2,7 +2,7 @@ from . import DATA_BACKUP_AGENT_LISTENERS as DATA_BACKUP_AGENT_LISTENERS, Google
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import AsyncIterator, Callable as Callable, Coroutine
|
5
|
-
from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError
|
5
|
+
from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupNotFound as BackupNotFound
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
8
|
from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
|
@@ -23,6 +23,6 @@ class GoogleDriveBackupAgent(BackupAgent):
|
|
23
23
|
def __init__(self, config_entry: GoogleDriveConfigEntry) -> None: ...
|
24
24
|
async def async_upload_backup(self, *, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], backup: AgentBackup, **kwargs: Any) -> None: ...
|
25
25
|
async def async_list_backups(self, **kwargs: Any) -> list[AgentBackup]: ...
|
26
|
-
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup
|
26
|
+
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup: ...
|
27
27
|
async def async_download_backup(self, backup_id: str, **kwargs: Any) -> AsyncIterator[bytes]: ...
|
28
28
|
async def async_delete_backup(self, backup_id: str, **kwargs: Any) -> None: ...
|
@@ -30,6 +30,23 @@ ATTR_REMOVE_TAG: str
|
|
30
30
|
ATTR_ALIAS: str
|
31
31
|
ATTR_COST: str
|
32
32
|
ATTR_NOTES: str
|
33
|
+
ATTR_UP_DOWN: str
|
34
|
+
ATTR_FREQUENCY: str
|
35
|
+
ATTR_COUNTER_UP: str
|
36
|
+
ATTR_COUNTER_DOWN: str
|
37
|
+
ATTR_ADD_CHECKLIST_ITEM: str
|
38
|
+
ATTR_REMOVE_CHECKLIST_ITEM: str
|
39
|
+
ATTR_SCORE_CHECKLIST_ITEM: str
|
40
|
+
ATTR_UNSCORE_CHECKLIST_ITEM: str
|
41
|
+
ATTR_REMINDER: str
|
42
|
+
ATTR_REMOVE_REMINDER: str
|
43
|
+
ATTR_CLEAR_REMINDER: str
|
44
|
+
ATTR_CLEAR_DATE: str
|
45
|
+
ATTR_REPEAT: str
|
46
|
+
ATTR_INTERVAL: str
|
47
|
+
ATTR_START_DATE: str
|
48
|
+
ATTR_REPEAT_MONTHLY: str
|
49
|
+
ATTR_STREAK: str
|
33
50
|
SERVICE_CAST_SKILL: str
|
34
51
|
SERVICE_START_QUEST: str
|
35
52
|
SERVICE_ACCEPT_QUEST: str
|
@@ -42,8 +59,16 @@ SERVICE_SCORE_HABIT: str
|
|
42
59
|
SERVICE_SCORE_REWARD: str
|
43
60
|
SERVICE_TRANSFORMATION: str
|
44
61
|
SERVICE_UPDATE_REWARD: str
|
62
|
+
SERVICE_CREATE_REWARD: str
|
63
|
+
SERVICE_UPDATE_HABIT: str
|
64
|
+
SERVICE_CREATE_HABIT: str
|
65
|
+
SERVICE_UPDATE_TODO: str
|
66
|
+
SERVICE_CREATE_TODO: str
|
67
|
+
SERVICE_UPDATE_DAILY: str
|
68
|
+
SERVICE_CREATE_DAILY: str
|
45
69
|
DEVELOPER_ID: str
|
46
70
|
X_CLIENT: Incomplete
|
47
71
|
SECTION_REAUTH_LOGIN: str
|
48
72
|
SECTION_REAUTH_API_KEY: str
|
49
73
|
SECTION_DANGER_ZONE: str
|
74
|
+
WEEK_DAYS: Incomplete
|
@@ -1,10 +1,10 @@
|
|
1
|
-
from .const import ATTR_ALIAS as ATTR_ALIAS, ATTR_ARGS as ATTR_ARGS, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_DATA as ATTR_DATA, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PATH as ATTR_PATH, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_SKILL as ATTR_SKILL, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, DOMAIN as DOMAIN, EVENT_API_CALL_SUCCESS as EVENT_API_CALL_SUCCESS, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_API_CALL as SERVICE_API_CALL, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD
|
1
|
+
from .const import ATTR_ADD_CHECKLIST_ITEM as ATTR_ADD_CHECKLIST_ITEM, ATTR_ALIAS as ATTR_ALIAS, ATTR_ARGS as ATTR_ARGS, ATTR_CLEAR_DATE as ATTR_CLEAR_DATE, ATTR_CLEAR_REMINDER as ATTR_CLEAR_REMINDER, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_COUNTER_DOWN as ATTR_COUNTER_DOWN, ATTR_COUNTER_UP as ATTR_COUNTER_UP, ATTR_DATA as ATTR_DATA, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_FREQUENCY as ATTR_FREQUENCY, ATTR_INTERVAL as ATTR_INTERVAL, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PATH as ATTR_PATH, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMINDER as ATTR_REMINDER, ATTR_REMOVE_CHECKLIST_ITEM as ATTR_REMOVE_CHECKLIST_ITEM, ATTR_REMOVE_REMINDER as ATTR_REMOVE_REMINDER, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_REPEAT as ATTR_REPEAT, ATTR_REPEAT_MONTHLY as ATTR_REPEAT_MONTHLY, ATTR_SCORE_CHECKLIST_ITEM as ATTR_SCORE_CHECKLIST_ITEM, ATTR_SKILL as ATTR_SKILL, ATTR_START_DATE as ATTR_START_DATE, ATTR_STREAK as ATTR_STREAK, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, ATTR_UNSCORE_CHECKLIST_ITEM as ATTR_UNSCORE_CHECKLIST_ITEM, ATTR_UP_DOWN as ATTR_UP_DOWN, DOMAIN as DOMAIN, EVENT_API_CALL_SUCCESS as EVENT_API_CALL_SUCCESS, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_API_CALL as SERVICE_API_CALL, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_CREATE_DAILY as SERVICE_CREATE_DAILY, SERVICE_CREATE_HABIT as SERVICE_CREATE_HABIT, SERVICE_CREATE_REWARD as SERVICE_CREATE_REWARD, SERVICE_CREATE_TODO as SERVICE_CREATE_TODO, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_DAILY as SERVICE_UPDATE_DAILY, SERVICE_UPDATE_HABIT as SERVICE_UPDATE_HABIT, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD, SERVICE_UPDATE_TODO as SERVICE_UPDATE_TODO, WEEK_DAYS as WEEK_DAYS
|
2
2
|
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from habiticalib import TaskData as TaskData
|
5
5
|
from homeassistant.components.todo import ATTR_RENAME as ATTR_RENAME
|
6
6
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
7
|
-
from homeassistant.const import ATTR_NAME as ATTR_NAME, CONF_NAME as CONF_NAME
|
7
|
+
from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_NAME as ATTR_NAME, CONF_NAME as CONF_NAME
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
10
10
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
@@ -16,11 +16,15 @@ SERVICE_CAST_SKILL_SCHEMA: Incomplete
|
|
16
16
|
SERVICE_MANAGE_QUEST_SCHEMA: Incomplete
|
17
17
|
SERVICE_SCORE_TASK_SCHEMA: Incomplete
|
18
18
|
SERVICE_TRANSFORMATION_SCHEMA: Incomplete
|
19
|
+
BASE_TASK_SCHEMA: Incomplete
|
19
20
|
SERVICE_UPDATE_TASK_SCHEMA: Incomplete
|
21
|
+
SERVICE_CREATE_TASK_SCHEMA: Incomplete
|
22
|
+
SERVICE_DAILY_SCHEMA: Incomplete
|
20
23
|
SERVICE_GET_TASKS_SCHEMA: Incomplete
|
21
24
|
SKILL_MAP: Incomplete
|
22
25
|
COST_MAP: Incomplete
|
23
26
|
ITEMID_MAP: Incomplete
|
27
|
+
SERVICE_TASK_TYPE_MAP: Incomplete
|
24
28
|
|
25
29
|
def get_config_entry(hass: HomeAssistant, entry_id: str) -> HabiticaConfigEntry: ...
|
26
30
|
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -3,9 +3,9 @@ from _typeshed import Incomplete
|
|
3
3
|
from collections.abc import Callable as Callable, Sequence
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
6
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE,
|
6
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
-
from homeassistant.helpers.
|
8
|
+
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
9
9
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
10
10
|
from pyheos import HeosNowPlayingMedia as HeosNowPlayingMedia, HeosPlayer as HeosPlayer, MediaItem as MediaItem, PlayerUpdateResult as PlayerUpdateResult
|
11
11
|
from typing import Any
|
@@ -14,15 +14,16 @@ _LOGGER: Incomplete
|
|
14
14
|
type HeosConfigEntry = ConfigEntry[HeosCoordinator]
|
15
15
|
|
16
16
|
class HeosCoordinator(DataUpdateCoordinator[None]):
|
17
|
-
host: str
|
18
17
|
heos: Incomplete
|
19
18
|
_platform_callbacks: list[Callable[[Sequence[HeosPlayer]], None]]
|
20
|
-
|
19
|
+
_update_sources_debouncer: Incomplete
|
21
20
|
_source_list: list[str]
|
22
21
|
_favorites: dict[int, MediaItem]
|
23
22
|
_inputs: Sequence[MediaItem]
|
24
23
|
def __init__(self, hass: HomeAssistant, config_entry: HeosConfigEntry) -> None: ...
|
25
24
|
@property
|
25
|
+
def host(self) -> str: ...
|
26
|
+
@property
|
26
27
|
def inputs(self) -> Sequence[MediaItem]: ...
|
27
28
|
@property
|
28
29
|
def favorites(self) -> dict[int, MediaItem]: ...
|
@@ -38,7 +39,6 @@ class HeosCoordinator(DataUpdateCoordinator[None]):
|
|
38
39
|
def _async_update_player_ids(self, updated_player_ids: dict[int, int]) -> None: ...
|
39
40
|
async def _async_update_groups(self) -> None: ...
|
40
41
|
async def _async_update_sources(self) -> None: ...
|
41
|
-
async def _async_update_players(self) -> None: ...
|
42
42
|
@callback
|
43
43
|
def async_get_source_list(self) -> list[str]: ...
|
44
44
|
@callback
|
@@ -1,33 +1,37 @@
|
|
1
|
-
from .const import SERVICE_GROUP_VOLUME_DOWN as SERVICE_GROUP_VOLUME_DOWN, SERVICE_GROUP_VOLUME_SET as SERVICE_GROUP_VOLUME_SET, SERVICE_GROUP_VOLUME_UP as SERVICE_GROUP_VOLUME_UP
|
1
|
+
from .const import SERVICE_GET_QUEUE as SERVICE_GET_QUEUE, SERVICE_GROUP_VOLUME_DOWN as SERVICE_GROUP_VOLUME_DOWN, SERVICE_GROUP_VOLUME_SET as SERVICE_GROUP_VOLUME_SET, SERVICE_GROUP_VOLUME_UP as SERVICE_GROUP_VOLUME_UP
|
2
2
|
from .coordinator import HeosConfigEntry as HeosConfigEntry, HeosCoordinator as HeosCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable, Coroutine
|
5
5
|
from datetime import datetime
|
6
6
|
from homeassistant.components import media_source as media_source
|
7
|
-
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
|
7
|
+
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
|
8
|
+
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource
|
8
9
|
from homeassistant.const import Platform as Platform
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
10
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
11
12
|
from homeassistant.helpers import entity_platform as entity_platform
|
12
13
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
13
14
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
14
15
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
15
16
|
from homeassistant.util.dt import utcnow as utcnow
|
16
|
-
from pyheos import HeosPlayer as HeosPlayer
|
17
|
-
from typing import Any
|
17
|
+
from pyheos import HeosPlayer as HeosPlayer, MediaItem, MediaMusicSource
|
18
|
+
from typing import Any, Final
|
18
19
|
|
19
20
|
PARALLEL_UPDATES: int
|
21
|
+
BROWSE_ROOT: Final[str]
|
20
22
|
BASE_SUPPORTED_FEATURES: Incomplete
|
21
23
|
PLAY_STATE_TO_STATE: Incomplete
|
22
24
|
CONTROL_TO_SUPPORT: Incomplete
|
23
25
|
HA_HEOS_ENQUEUE_MAP: Incomplete
|
24
26
|
HEOS_HA_REPEAT_TYPE_MAP: Incomplete
|
25
27
|
HA_HEOS_REPEAT_TYPE_MAP: Incomplete
|
28
|
+
HEOS_MEDIA_TYPE_TO_MEDIA_CLASS: Incomplete
|
29
|
+
_LOGGER: Incomplete
|
26
30
|
|
27
31
|
async def async_setup_entry(hass: HomeAssistant, entry: HeosConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
28
|
-
type _FuncType[**_P] = Callable[_P, Awaitable[
|
29
|
-
type _ReturnFuncType[**_P] = Callable[_P, Coroutine[Any, Any,
|
30
|
-
def catch_action_error[**_P](action: str) -> Callable[[_FuncType[_P]], _ReturnFuncType[_P]]: ...
|
32
|
+
type _FuncType[**_P, _R] = Callable[_P, Awaitable[_R]]
|
33
|
+
type _ReturnFuncType[**_P, _R] = Callable[_P, Coroutine[Any, Any, _R]]
|
34
|
+
def catch_action_error[**_P, _R](action: str) -> Callable[[_FuncType[_P, _R]], _ReturnFuncType[_P, _R]]: ...
|
31
35
|
|
32
36
|
class HeosMediaPlayer(CoordinatorEntity[HeosCoordinator], MediaPlayerEntity):
|
33
37
|
_attr_media_content_type: Incomplete
|
@@ -52,6 +56,7 @@ class HeosMediaPlayer(CoordinatorEntity[HeosCoordinator], MediaPlayerEntity):
|
|
52
56
|
@callback
|
53
57
|
def _update_attributes(self) -> None: ...
|
54
58
|
async def async_added_to_hass(self) -> None: ...
|
59
|
+
async def async_get_queue(self) -> ServiceResponse: ...
|
55
60
|
async def async_clear_playlist(self) -> None: ...
|
56
61
|
async def async_media_pause(self) -> None: ...
|
57
62
|
async def async_media_play(self) -> None: ...
|
@@ -97,4 +102,9 @@ class HeosMediaPlayer(CoordinatorEntity[HeosCoordinator], MediaPlayerEntity):
|
|
97
102
|
def state(self) -> MediaPlayerState: ...
|
98
103
|
@property
|
99
104
|
def volume_level(self) -> float: ...
|
105
|
+
async def _async_browse_media_root(self) -> BrowseMedia: ...
|
106
|
+
async def _async_browse_heos_media(self, media_content_id: str) -> BrowseMedia: ...
|
107
|
+
async def _async_browse_media_source(self, media_content_id: str | None = None) -> BrowseMediaSource: ...
|
100
108
|
async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
|
109
|
+
|
110
|
+
def _media_to_browse_media(media: MediaItem | MediaMusicSource) -> BrowseMedia: ...
|
@@ -1,31 +1,20 @@
|
|
1
1
|
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
-
from .const import
|
2
|
+
from .const import DOMAIN as DOMAIN, OLD_NEW_UNIQUE_ID_SUFFIX_MAP as OLD_NEW_UNIQUE_ID_SUFFIX_MAP
|
3
3
|
from .coordinator import HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
|
4
|
-
from .
|
4
|
+
from .services import register_actions as register_actions
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from
|
7
|
-
from homeassistant.
|
8
|
-
from homeassistant.
|
9
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
6
|
+
from homeassistant.const import Platform as Platform
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
10
9
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
11
10
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry, async_migrate_entries as async_migrate_entries
|
12
|
-
from homeassistant.helpers.issue_registry import
|
11
|
+
from homeassistant.helpers.issue_registry import async_delete_issue as async_delete_issue
|
13
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
14
13
|
|
15
14
|
_LOGGER: Incomplete
|
16
15
|
CONFIG_SCHEMA: Incomplete
|
17
|
-
PROGRAM_OPTIONS: Incomplete
|
18
|
-
SERVICE_SETTING_SCHEMA: Incomplete
|
19
|
-
SERVICE_OPTION_SCHEMA: Incomplete
|
20
|
-
SERVICE_PROGRAM_SCHEMA: Incomplete
|
21
|
-
|
22
|
-
def _require_program_or_at_least_one_option(data: dict) -> dict: ...
|
23
|
-
|
24
|
-
SERVICE_PROGRAM_AND_OPTIONS_SCHEMA: Incomplete
|
25
|
-
SERVICE_COMMAND_SCHEMA: Incomplete
|
26
16
|
PLATFORMS: Incomplete
|
27
17
|
|
28
|
-
async def _get_client_and_ha_id(hass: HomeAssistant, device_id: str) -> tuple[HomeConnectClient, str]: ...
|
29
18
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
30
19
|
async def async_setup_entry(hass: HomeAssistant, entry: HomeConnectConfigEntry) -> bool: ...
|
31
20
|
async def async_unload_entry(hass: HomeAssistant, entry: HomeConnectConfigEntry) -> bool: ...
|
@@ -22,8 +22,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: HomeConnectConfigEntry,
|
|
22
22
|
|
23
23
|
class HomeConnectButtonEntity(HomeConnectEntity, ButtonEntity):
|
24
24
|
entity_description: ButtonEntityDescription
|
25
|
-
appliance: Incomplete
|
26
|
-
unique_id: Incomplete
|
27
25
|
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData, desc: ButtonEntityDescription) -> None: ...
|
28
26
|
def update_native_value(self) -> None: ...
|
29
27
|
|
@@ -36,12 +36,6 @@ ATTR_UNIT: str
|
|
36
36
|
ATTR_VALUE: str
|
37
37
|
AFFECTS_TO_ACTIVE_PROGRAM: str
|
38
38
|
AFFECTS_TO_SELECTED_PROGRAM: str
|
39
|
-
SVE_TRANSLATION_KEY_SET_SETTING: str
|
40
|
-
SVE_TRANSLATION_PLACEHOLDER_APPLIANCE_NAME: str
|
41
|
-
SVE_TRANSLATION_PLACEHOLDER_ENTITY_ID: str
|
42
|
-
SVE_TRANSLATION_PLACEHOLDER_PROGRAM: str
|
43
|
-
SVE_TRANSLATION_PLACEHOLDER_KEY: str
|
44
|
-
SVE_TRANSLATION_PLACEHOLDER_VALUE: str
|
45
39
|
TRANSLATION_KEYS_PROGRAMS_MAP: Incomplete
|
46
40
|
PROGRAMS_TRANSLATION_KEYS_MAP: Incomplete
|
47
41
|
AVAILABLE_MAPS_ENUM: Incomplete
|
@@ -24,7 +24,7 @@ class HomeConnectEntity(CoordinatorEntity[HomeConnectCoordinator], metaclass=abc
|
|
24
24
|
entity_description: Incomplete
|
25
25
|
_attr_unique_id: Incomplete
|
26
26
|
_attr_device_info: Incomplete
|
27
|
-
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData, desc: EntityDescription) -> None: ...
|
27
|
+
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData, desc: EntityDescription, context_override: Any | None = None) -> None: ...
|
28
28
|
@abstractmethod
|
29
29
|
def update_native_value(self) -> None: ...
|
30
30
|
@callback
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import BSH_AMBIENT_LIGHT_COLOR_CUSTOM_COLOR as BSH_AMBIENT_LIGHT_COLOR_CUSTOM_COLOR, DOMAIN as DOMAIN
|
2
|
+
from .const import BSH_AMBIENT_LIGHT_COLOR_CUSTOM_COLOR as BSH_AMBIENT_LIGHT_COLOR_CUSTOM_COLOR, DOMAIN as DOMAIN
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity
|
5
5
|
from .utils import get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import DOMAIN as DOMAIN,
|
2
|
+
from .const import DOMAIN as DOMAIN, UNIT_MAP as UNIT_MAP
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity, HomeConnectOptionEntity as HomeConnectOptionEntity, constraint_fetcher as constraint_fetcher
|
5
5
|
from .utils import get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import APPLIANCES_WITH_PROGRAMS as APPLIANCES_WITH_PROGRAMS, AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS,
|
2
|
+
from .const import APPLIANCES_WITH_PROGRAMS as APPLIANCES_WITH_PROGRAMS, AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS, TEMPERATURE_OPTIONS as TEMPERATURE_OPTIONS, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP, VARIO_PERFECT_OPTIONS as VARIO_PERFECT_OPTIONS, VENTING_LEVEL_OPTIONS as VENTING_LEVEL_OPTIONS, WARMING_LEVEL_OPTIONS as WARMING_LEVEL_OPTIONS
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity, HomeConnectOptionEntity as HomeConnectOptionEntity, constraint_fetcher as constraint_fetcher
|
5
5
|
from .utils import bsh_key_to_translation_key as bsh_key_to_translation_key, get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from .const import AFFECTS_TO_ACTIVE_PROGRAM as AFFECTS_TO_ACTIVE_PROGRAM, AFFECTS_TO_SELECTED_PROGRAM as AFFECTS_TO_SELECTED_PROGRAM, ATTR_AFFECTS_TO as ATTR_AFFECTS_TO, ATTR_KEY as ATTR_KEY, ATTR_PROGRAM as ATTR_PROGRAM, ATTR_UNIT as ATTR_UNIT, ATTR_VALUE as ATTR_VALUE, DOMAIN as DOMAIN, PROGRAM_ENUM_OPTIONS as PROGRAM_ENUM_OPTIONS, SERVICE_OPTION_ACTIVE as SERVICE_OPTION_ACTIVE, SERVICE_OPTION_SELECTED as SERVICE_OPTION_SELECTED, SERVICE_PAUSE_PROGRAM as SERVICE_PAUSE_PROGRAM, SERVICE_RESUME_PROGRAM as SERVICE_RESUME_PROGRAM, SERVICE_SELECT_PROGRAM as SERVICE_SELECT_PROGRAM, SERVICE_SETTING as SERVICE_SETTING, SERVICE_SET_PROGRAM_AND_OPTIONS as SERVICE_SET_PROGRAM_AND_OPTIONS, SERVICE_START_PROGRAM as SERVICE_START_PROGRAM, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP
|
2
|
+
from .coordinator import HomeConnectConfigEntry as HomeConnectConfigEntry
|
3
|
+
from .utils import bsh_key_to_translation_key as bsh_key_to_translation_key, get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from aiohomeconnect.client import Client as HomeConnectClient
|
6
|
+
from aiohomeconnect.model import CommandKey
|
7
|
+
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
10
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
11
|
+
|
12
|
+
CONFIG_SCHEMA: Incomplete
|
13
|
+
PROGRAM_OPTIONS: Incomplete
|
14
|
+
SERVICE_SETTING_SCHEMA: Incomplete
|
15
|
+
SERVICE_OPTION_SCHEMA: Incomplete
|
16
|
+
SERVICE_PROGRAM_SCHEMA: Incomplete
|
17
|
+
|
18
|
+
def _require_program_or_at_least_one_option(data: dict) -> dict: ...
|
19
|
+
|
20
|
+
SERVICE_PROGRAM_AND_OPTIONS_SCHEMA: Incomplete
|
21
|
+
SERVICE_COMMAND_SCHEMA: Incomplete
|
22
|
+
|
23
|
+
async def _get_client_and_ha_id(hass: HomeAssistant, device_id: str) -> tuple[HomeConnectClient, str]: ...
|
24
|
+
async def _async_service_program(call: ServiceCall, start: bool) -> None: ...
|
25
|
+
async def _async_service_set_program_options(call: ServiceCall, active: bool) -> None: ...
|
26
|
+
async def _async_service_command(call: ServiceCall, command_key: CommandKey) -> None: ...
|
27
|
+
async def async_service_option_active(call: ServiceCall) -> None: ...
|
28
|
+
async def async_service_option_selected(call: ServiceCall) -> None: ...
|
29
|
+
async def async_service_setting(call: ServiceCall) -> None: ...
|
30
|
+
async def async_service_pause_program(call: ServiceCall) -> None: ...
|
31
|
+
async def async_service_resume_program(call: ServiceCall) -> None: ...
|
32
|
+
async def async_service_select_program(call: ServiceCall) -> None: ...
|
33
|
+
async def async_service_set_program_and_options(call: ServiceCall) -> None: ...
|
34
|
+
async def async_service_start_program(call: ServiceCall) -> None: ...
|
35
|
+
def register_actions(hass: HomeAssistant) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import BSH_POWER_OFF as BSH_POWER_OFF, BSH_POWER_ON as BSH_POWER_ON, BSH_POWER_STANDBY as BSH_POWER_STANDBY, DOMAIN as DOMAIN
|
2
|
+
from .const import BSH_POWER_OFF as BSH_POWER_OFF, BSH_POWER_ON as BSH_POWER_ON, BSH_POWER_STANDBY as BSH_POWER_STANDBY, DOMAIN as DOMAIN
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity, HomeConnectOptionEntity as HomeConnectOptionEntity
|
5
5
|
from .utils import get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
@@ -40,6 +40,7 @@ class HomeConnectProgramSwitch(HomeConnectEntity, SwitchEntity):
|
|
40
40
|
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData, program: EnumerateProgram) -> None: ...
|
41
41
|
async def async_added_to_hass(self) -> None: ...
|
42
42
|
async def async_will_remove_from_hass(self) -> None: ...
|
43
|
+
def create_action_handler_issue(self) -> None: ...
|
43
44
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
44
45
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
45
46
|
_attr_is_on: Incomplete
|
@@ -1,14 +1,17 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity
|
5
5
|
from .utils import get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
6
6
|
from _typeshed import Incomplete
|
7
7
|
from datetime import time
|
8
|
+
from homeassistant.components.automation import automations_with_entity as automations_with_entity
|
9
|
+
from homeassistant.components.script import scripts_with_entity as scripts_with_entity
|
8
10
|
from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
|
9
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
14
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
12
15
|
|
13
16
|
PARALLEL_UPDATES: int
|
14
17
|
TIME_ENTITIES: Incomplete
|
@@ -19,6 +22,8 @@ def seconds_to_time(seconds: int) -> time: ...
|
|
19
22
|
def time_to_seconds(t: time) -> int: ...
|
20
23
|
|
21
24
|
class HomeConnectTimeEntity(HomeConnectEntity, TimeEntity):
|
25
|
+
async def async_added_to_hass(self) -> None: ...
|
26
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
22
27
|
async def async_set_value(self, value: time) -> None: ...
|
23
28
|
_attr_native_value: Incomplete
|
24
29
|
def update_native_value(self) -> None: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from aiohttp import ClientSession as ClientSession
|
3
|
+
from ha_silabs_firmware_client import FirmwareManifest
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
6
|
+
|
7
|
+
_LOGGER: Incomplete
|
8
|
+
FIRMWARE_REFRESH_INTERVAL: Incomplete
|
9
|
+
|
10
|
+
class FirmwareUpdateCoordinator(DataUpdateCoordinator[FirmwareManifest]):
|
11
|
+
hass: Incomplete
|
12
|
+
session: Incomplete
|
13
|
+
client: Incomplete
|
14
|
+
def __init__(self, hass: HomeAssistant, session: ClientSession, url: str) -> None: ...
|
15
|
+
async def _async_update_data(self) -> FirmwareManifest: ...
|
@@ -2,7 +2,7 @@ import abc
|
|
2
2
|
import asyncio
|
3
3
|
from . import silabs_multiprotocol_addon as silabs_multiprotocol_addon
|
4
4
|
from .const import OTBR_DOMAIN as OTBR_DOMAIN, ZHA_DOMAIN as ZHA_DOMAIN
|
5
|
-
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, get_otbr_addon_manager as get_otbr_addon_manager, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
|
5
|
+
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, get_otbr_addon_manager as get_otbr_addon_manager, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
|
6
6
|
from _typeshed import Incomplete
|
7
7
|
from abc import ABC, abstractmethod
|
8
8
|
from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
|
@@ -50,6 +50,7 @@ class BaseFirmwareConfigFlow(BaseFirmwareInstallFlow, ConfigFlow, metaclass=abc.
|
|
50
50
|
@callback
|
51
51
|
@abstractmethod
|
52
52
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
53
|
+
_probed_firmware_info: Incomplete
|
53
54
|
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
54
55
|
|
55
56
|
class BaseFirmwareOptionsFlow(BaseFirmwareInstallFlow, OptionsFlow, metaclass=abc.ABCMeta):
|
@@ -0,0 +1,68 @@
|
|
1
|
+
from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
2
|
+
from .helpers import async_register_firmware_info_callback as async_register_firmware_info_callback
|
3
|
+
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, guess_firmware_info as guess_firmware_info, probe_silabs_firmware_info as probe_silabs_firmware_info
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import AsyncIterator, Callable
|
6
|
+
from contextlib import asynccontextmanager
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from ha_silabs_firmware_client import FirmwareManifest, FirmwareMetadata as FirmwareMetadata
|
9
|
+
from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
|
10
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, callback as callback
|
12
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
|
+
from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData
|
14
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
15
|
+
from typing import Any
|
16
|
+
|
17
|
+
_LOGGER: Incomplete
|
18
|
+
type FirmwareChangeCallbackType = Callable[[ApplicationType | None, ApplicationType | None], None]
|
19
|
+
|
20
|
+
@dataclass(kw_only=True, frozen=True)
|
21
|
+
class FirmwareUpdateEntityDescription(UpdateEntityDescription):
|
22
|
+
version_parser: Callable[[str], str]
|
23
|
+
fw_type: str | None
|
24
|
+
version_key: str | None
|
25
|
+
expected_firmware_type: ApplicationType | None
|
26
|
+
firmware_name: str | None
|
27
|
+
|
28
|
+
@dataclass
|
29
|
+
class FirmwareUpdateExtraStoredData(ExtraStoredData):
|
30
|
+
firmware_manifest: FirmwareManifest | None = ...
|
31
|
+
def as_dict(self) -> dict[str, Any]: ...
|
32
|
+
@classmethod
|
33
|
+
def from_dict(cls, data: dict[str, Any]) -> FirmwareUpdateExtraStoredData: ...
|
34
|
+
|
35
|
+
class BaseFirmwareUpdateEntity(CoordinatorEntity[FirmwareUpdateCoordinator], UpdateEntity):
|
36
|
+
entity_description: FirmwareUpdateEntityDescription
|
37
|
+
bootloader_reset_type: str | None
|
38
|
+
_attr_supported_features: Incomplete
|
39
|
+
_attr_has_entity_name: bool
|
40
|
+
_current_device: Incomplete
|
41
|
+
_config_entry: Incomplete
|
42
|
+
_current_firmware_info: FirmwareInfo | None
|
43
|
+
_firmware_type_change_callbacks: set[FirmwareChangeCallbackType]
|
44
|
+
_latest_manifest: FirmwareManifest | None
|
45
|
+
_latest_firmware: FirmwareMetadata | None
|
46
|
+
def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
|
47
|
+
def add_firmware_type_changed_callback(self, change_callback: FirmwareChangeCallbackType) -> CALLBACK_TYPE: ...
|
48
|
+
async def async_added_to_hass(self) -> None: ...
|
49
|
+
@property
|
50
|
+
def extra_restore_state_data(self) -> FirmwareUpdateExtraStoredData: ...
|
51
|
+
@callback
|
52
|
+
def _on_config_entry_change(self) -> None: ...
|
53
|
+
@callback
|
54
|
+
def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
|
55
|
+
_attr_title: Incomplete
|
56
|
+
_attr_installed_version: Incomplete
|
57
|
+
_attr_latest_version: Incomplete
|
58
|
+
_attr_release_summary: Incomplete
|
59
|
+
_attr_release_url: Incomplete
|
60
|
+
def _update_attributes(self) -> None: ...
|
61
|
+
@callback
|
62
|
+
def _handle_coordinator_update(self) -> None: ...
|
63
|
+
_attr_update_percentage: Incomplete
|
64
|
+
def _update_progress(self, offset: int, total_size: int) -> None: ...
|
65
|
+
@asynccontextmanager
|
66
|
+
async def _temporarily_stop_hardware_owners(self, device: str) -> AsyncIterator[None]: ...
|
67
|
+
_attr_in_progress: bool
|
68
|
+
async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
|
@@ -2,7 +2,8 @@ from . import DATA_COMPONENT as DATA_COMPONENT
|
|
2
2
|
from .const import OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
|
3
3
|
from .silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from collections.abc import Iterable
|
5
|
+
from collections.abc import AsyncIterator, Iterable
|
6
|
+
from contextlib import asynccontextmanager
|
6
7
|
from dataclasses import dataclass
|
7
8
|
from enum import StrEnum
|
8
9
|
from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
|
@@ -34,11 +35,15 @@ class OwningAddon:
|
|
34
35
|
slug: str
|
35
36
|
def _get_addon_manager(self, hass: HomeAssistant) -> WaitingAddonManager: ...
|
36
37
|
async def is_running(self, hass: HomeAssistant) -> bool: ...
|
38
|
+
@asynccontextmanager
|
39
|
+
async def temporarily_stop(self, hass: HomeAssistant) -> AsyncIterator[None]: ...
|
37
40
|
|
38
41
|
@dataclass(kw_only=True)
|
39
42
|
class OwningIntegration:
|
40
43
|
config_entry_id: str
|
41
44
|
async def is_running(self, hass: HomeAssistant) -> bool: ...
|
45
|
+
@asynccontextmanager
|
46
|
+
async def temporarily_stop(self, hass: HomeAssistant) -> AsyncIterator[None]: ...
|
42
47
|
|
43
48
|
@dataclass(kw_only=True)
|
44
49
|
class FirmwareInfo:
|
@@ -1,10 +1,16 @@
|
|
1
|
+
from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
|
1
2
|
from _typeshed import Incomplete
|
2
3
|
from homeassistant.components.homeassistant_hardware.util import guess_firmware_info as guess_firmware_info
|
4
|
+
from homeassistant.components.usb import USBDevice as USBDevice, async_register_port_event_callback as async_register_port_event_callback, scan_serial_ports as scan_serial_ports
|
3
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
8
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
5
9
|
|
6
10
|
_LOGGER: Incomplete
|
11
|
+
CONFIG_SCHEMA: Incomplete
|
7
12
|
|
13
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
8
14
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
9
15
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
10
16
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, HardwareVariant as HardwareVariant
|
1
|
+
from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
|
2
2
|
from .util import get_hardware_variant as get_hardware_variant, get_usb_service_info as get_usb_service_info
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components import usb as usb
|