homeassistant-stubs 2025.3.3__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 +1 -6
- homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
- homeassistant-stubs/components/home_connect/entity.pyi +7 -2
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +4 -3
- homeassistant-stubs/components/home_connect/select.pyi +7 -3
- homeassistant-stubs/components/home_connect/sensor.pyi +3 -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.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +331 -270
- 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.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,8 @@
|
|
1
1
|
from .const import CONF_BACKUP_PATH as CONF_BACKUP_PATH, CONF_BACKUP_SHARE as CONF_BACKUP_SHARE, DATA_BACKUP_AGENT_LISTENERS as DATA_BACKUP_AGENT_LISTENERS, DOMAIN as DOMAIN
|
2
|
-
from .
|
2
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import AsyncIterator, Callable as Callable, Coroutine
|
5
5
|
from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupNotFound as BackupNotFound, suggested_filename as suggested_filename
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
7
|
from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
|
9
8
|
from homeassistant.helpers.json import json_dumps as json_dumps
|
@@ -25,7 +24,7 @@ class SynologyDSMBackupAgent(BackupAgent):
|
|
25
24
|
path: Incomplete
|
26
25
|
api: Incomplete
|
27
26
|
backup_base_names: dict[str, str]
|
28
|
-
def __init__(self, hass: HomeAssistant, entry:
|
27
|
+
def __init__(self, hass: HomeAssistant, entry: SynologyDSMConfigEntry, unique_id: str) -> None: ...
|
29
28
|
@property
|
30
29
|
def _file_station(self) -> SynoFileStation: ...
|
31
30
|
async def _async_backup_filenames(self, backup_id: str) -> tuple[str, str]: ...
|
@@ -34,4 +33,4 @@ class SynologyDSMBackupAgent(BackupAgent):
|
|
34
33
|
async def async_delete_backup(self, backup_id: str, **kwargs: Any) -> None: ...
|
35
34
|
async def async_list_backups(self, **kwargs: Any) -> list[AgentBackup]: ...
|
36
35
|
async def _async_list_backups(self, **kwargs: Any) -> dict[str, AgentBackup]: ...
|
37
|
-
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup
|
36
|
+
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup: ...
|
@@ -1,11 +1,8 @@
|
|
1
1
|
from . import SynoApi as SynoApi
|
2
|
-
from .
|
3
|
-
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator
|
2
|
+
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator, SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
4
3
|
from .entity import SynologyDSMBaseEntity as SynologyDSMBaseEntity, SynologyDSMDeviceEntity as SynologyDSMDeviceEntity, SynologyDSMEntityDescription as SynologyDSMEntityDescription
|
5
|
-
from .models import SynologyDSMData as SynologyDSMData
|
6
4
|
from dataclasses import dataclass
|
7
5
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
6
|
from homeassistant.const import CONF_DISKS as CONF_DISKS, EntityCategory as EntityCategory
|
10
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -16,7 +13,7 @@ class SynologyDSMBinarySensorEntityDescription(BinarySensorEntityDescription, Sy
|
|
16
13
|
SECURITY_BINARY_SENSORS: tuple[SynologyDSMBinarySensorEntityDescription, ...]
|
17
14
|
STORAGE_DISK_BINARY_SENSORS: tuple[SynologyDSMBinarySensorEntityDescription, ...]
|
18
15
|
|
19
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
20
17
|
|
21
18
|
class SynoDSMBinarySensor(SynologyDSMBaseEntity[SynologyDSMCentralUpdateCoordinator], BinarySensorEntity):
|
22
19
|
entity_description: SynologyDSMBinarySensorEntityDescription
|
@@ -1,11 +1,10 @@
|
|
1
1
|
from . import SynoApi as SynoApi
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
|
-
from .
|
3
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable, Coroutine
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
@@ -20,7 +19,7 @@ class SynologyDSMbuttonDescription(ButtonEntityDescription):
|
|
20
19
|
|
21
20
|
BUTTONS: Final[Incomplete]
|
22
21
|
|
23
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
24
23
|
|
25
24
|
class SynologyDSMButton(ButtonEntity):
|
26
25
|
entity_description: SynologyDSMbuttonDescription
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from . import SynoApi as SynoApi
|
2
2
|
from .const import CONF_SNAPSHOT_QUALITY as CONF_SNAPSHOT_QUALITY, DEFAULT_SNAPSHOT_QUALITY as DEFAULT_SNAPSHOT_QUALITY, DOMAIN as DOMAIN, SIGNAL_CAMERA_SOURCE_CHANGED as SIGNAL_CAMERA_SOURCE_CHANGED
|
3
|
-
from .coordinator import SynologyDSMCameraUpdateCoordinator as SynologyDSMCameraUpdateCoordinator
|
3
|
+
from .coordinator import SynologyDSMCameraUpdateCoordinator as SynologyDSMCameraUpdateCoordinator, SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
4
4
|
from .entity import SynologyDSMBaseEntity as SynologyDSMBaseEntity, SynologyDSMEntityDescription as SynologyDSMEntityDescription
|
5
|
-
from .models import SynologyDSMData as SynologyDSMData
|
6
5
|
from _typeshed import Incomplete
|
7
6
|
from dataclasses import dataclass
|
8
7
|
from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
9
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
10
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
@@ -19,7 +17,7 @@ _LOGGER: Incomplete
|
|
19
17
|
class SynologyDSMCameraEntityDescription(CameraEntityDescription, SynologyDSMEntityDescription):
|
20
18
|
camera_id: int
|
21
19
|
|
22
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
21
|
|
24
22
|
class SynoDSMCamera(SynologyDSMBaseEntity[SynologyDSMCameraUpdateCoordinator], Camera):
|
25
23
|
_attr_supported_features: Incomplete
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .const import CONF_BACKUP_PATH as CONF_BACKUP_PATH, CONF_BACKUP_SHARE as CONF_BACKUP_SHARE, CONF_DEVICE_TOKEN as CONF_DEVICE_TOKEN, CONF_SNAPSHOT_QUALITY as CONF_SNAPSHOT_QUALITY, CONF_VOLUMES as CONF_VOLUMES, DEFAULT_BACKUP_PATH as DEFAULT_BACKUP_PATH, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PORT_SSL as DEFAULT_PORT_SSL, DEFAULT_SNAPSHOT_QUALITY as DEFAULT_SNAPSHOT_QUALITY, DEFAULT_TIMEOUT as DEFAULT_TIMEOUT, DEFAULT_USE_SSL as DEFAULT_USE_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
3
|
-
from .
|
3
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Mapping
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
@@ -31,7 +31,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
31
31
|
VERSION: int
|
32
32
|
@staticmethod
|
33
33
|
@callback
|
34
|
-
def async_get_options_flow(config_entry:
|
34
|
+
def async_get_options_flow(config_entry: SynologyDSMConfigEntry) -> SynologyDSMOptionsFlowHandler: ...
|
35
35
|
saved_user_input: dict[str, Any]
|
36
36
|
discovered_conf: dict[str, Any]
|
37
37
|
reauth_conf: Mapping[str, Any]
|
@@ -52,6 +52,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
52
52
|
def _async_get_existing_entry(self, discovered_mac: str) -> ConfigEntry | None: ...
|
53
53
|
|
54
54
|
class SynologyDSMOptionsFlowHandler(OptionsFlow):
|
55
|
+
config_entry: SynologyDSMConfigEntry
|
55
56
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
56
57
|
|
57
58
|
async def _login_and_fetch_syno_info(api: SynologyDSM, otp_code: str | None) -> str: ...
|
@@ -2,6 +2,7 @@ from .common import SynoApi as SynoApi, raise_config_entry_auth_error as raise_c
|
|
2
2
|
from .const import SIGNAL_CAMERA_SOURCE_CHANGED as SIGNAL_CAMERA_SOURCE_CHANGED, SYNOLOGY_AUTH_FAILED_EXCEPTIONS as SYNOLOGY_AUTH_FAILED_EXCEPTIONS, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
5
|
+
from dataclasses import dataclass
|
5
6
|
from datetime import timedelta
|
6
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -12,26 +13,35 @@ from typing import Any, Concatenate
|
|
12
13
|
|
13
14
|
_LOGGER: Incomplete
|
14
15
|
|
16
|
+
@dataclass
|
17
|
+
class SynologyDSMData:
|
18
|
+
api: SynoApi
|
19
|
+
coordinator_central: SynologyDSMCentralUpdateCoordinator
|
20
|
+
coordinator_central_old_update_success: bool
|
21
|
+
coordinator_cameras: SynologyDSMCameraUpdateCoordinator | None
|
22
|
+
coordinator_switches: SynologyDSMSwitchUpdateCoordinator | None
|
23
|
+
type SynologyDSMConfigEntry = ConfigEntry[SynologyDSMData]
|
24
|
+
|
15
25
|
def async_re_login_on_expired[_T: SynologyDSMUpdateCoordinator[Any], **_P, _R](func: Callable[Concatenate[_T, _P], Awaitable[_R]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, _R]]: ...
|
16
26
|
|
17
27
|
class SynologyDSMUpdateCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
|
18
|
-
config_entry:
|
28
|
+
config_entry: SynologyDSMConfigEntry
|
19
29
|
api: Incomplete
|
20
|
-
def __init__(self, hass: HomeAssistant, entry:
|
30
|
+
def __init__(self, hass: HomeAssistant, entry: SynologyDSMConfigEntry, api: SynoApi, update_interval: timedelta) -> None: ...
|
21
31
|
|
22
32
|
class SynologyDSMSwitchUpdateCoordinator(SynologyDSMUpdateCoordinator[dict[str, dict[str, Any]]]):
|
23
33
|
version: str | None
|
24
|
-
def __init__(self, hass: HomeAssistant, entry:
|
34
|
+
def __init__(self, hass: HomeAssistant, entry: SynologyDSMConfigEntry, api: SynoApi) -> None: ...
|
25
35
|
async def async_setup(self) -> None: ...
|
26
36
|
@async_re_login_on_expired
|
27
37
|
async def _async_update_data(self) -> dict[str, dict[str, Any]]: ...
|
28
38
|
|
29
39
|
class SynologyDSMCentralUpdateCoordinator(SynologyDSMUpdateCoordinator[None]):
|
30
|
-
def __init__(self, hass: HomeAssistant, entry:
|
40
|
+
def __init__(self, hass: HomeAssistant, entry: SynologyDSMConfigEntry, api: SynoApi) -> None: ...
|
31
41
|
@async_re_login_on_expired
|
32
42
|
async def _async_update_data(self) -> None: ...
|
33
43
|
|
34
44
|
class SynologyDSMCameraUpdateCoordinator(SynologyDSMUpdateCoordinator[dict[str, dict[int, SynoCamera]]]):
|
35
|
-
def __init__(self, hass: HomeAssistant, entry:
|
45
|
+
def __init__(self, hass: HomeAssistant, entry: SynologyDSMConfigEntry, api: SynoApi) -> None: ...
|
36
46
|
@async_re_login_on_expired
|
37
47
|
async def _async_update_data(self) -> dict[str, dict[int, SynoCamera]]: ...
|
@@ -1,12 +1,11 @@
|
|
1
|
-
from .const import CONF_DEVICE_TOKEN as CONF_DEVICE_TOKEN
|
2
|
-
from .
|
1
|
+
from .const import CONF_DEVICE_TOKEN as CONF_DEVICE_TOKEN
|
2
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
5
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
7
|
from typing import Any
|
9
8
|
|
10
9
|
TO_REDACT: Incomplete
|
11
10
|
|
12
|
-
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry:
|
11
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: SynologyDSMConfigEntry) -> dict[str, Any]: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, SHARED_SUFFIX as SHARED_SUFFIX
|
2
|
-
from .
|
2
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry, SynologyDSMData as SynologyDSMData
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aiohttp import web
|
5
5
|
from homeassistant.components import http as http
|
@@ -9,6 +9,8 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from synology_dsm.api.photos import SynoPhotosItem
|
11
11
|
|
12
|
+
LOGGER: Incomplete
|
13
|
+
|
12
14
|
async def async_get_media_source(hass: HomeAssistant) -> MediaSource: ...
|
13
15
|
|
14
16
|
class SynologyPhotosMediaSourceIdentifier:
|
@@ -1,9 +1,8 @@
|
|
1
1
|
from .const import CONF_BACKUP_PATH as CONF_BACKUP_PATH, CONF_BACKUP_SHARE as CONF_BACKUP_SHARE, DOMAIN as DOMAIN, ISSUE_MISSING_BACKUP_SETUP as ISSUE_MISSING_BACKUP_SETUP, SYNOLOGY_CONNECTION_EXCEPTIONS as SYNOLOGY_CONNECTION_EXCEPTIONS
|
2
|
-
from .
|
2
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant import data_entry_flow as data_entry_flow
|
5
5
|
from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
7
|
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
|
9
8
|
from synology_dsm.api.file_station.models import SynoFileSharedFolder as SynoFileSharedFolder
|
@@ -13,7 +12,7 @@ LOGGER: Incomplete
|
|
13
12
|
class MissingBackupSetupRepairFlow(RepairsFlow):
|
14
13
|
entry: Incomplete
|
15
14
|
issue_id: Incomplete
|
16
|
-
def __init__(self, entry:
|
15
|
+
def __init__(self, entry: SynologyDSMConfigEntry, issue_id: str) -> None: ...
|
17
16
|
async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
18
17
|
async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
19
18
|
async def async_step_ignore(self, _: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from . import SynoApi as SynoApi
|
2
|
-
from .const import CONF_VOLUMES as CONF_VOLUMES,
|
3
|
-
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator
|
2
|
+
from .const import CONF_VOLUMES as CONF_VOLUMES, ENTITY_UNIT_LOAD as ENTITY_UNIT_LOAD
|
3
|
+
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator, SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
4
4
|
from .entity import SynologyDSMBaseEntity as SynologyDSMBaseEntity, SynologyDSMDeviceEntity as SynologyDSMDeviceEntity, SynologyDSMEntityDescription as SynologyDSMEntityDescription
|
5
|
-
from .models import SynologyDSMData as SynologyDSMData
|
6
5
|
from dataclasses import dataclass
|
7
6
|
from datetime import datetime
|
8
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
8
|
from homeassistant.const import CONF_DISKS as CONF_DISKS, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfInformation as UnitOfInformation, UnitOfTemperature as UnitOfTemperature
|
11
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -21,7 +19,7 @@ STORAGE_VOL_SENSORS: tuple[SynologyDSMSensorEntityDescription, ...]
|
|
21
19
|
STORAGE_DISK_SENSORS: tuple[SynologyDSMSensorEntityDescription, ...]
|
22
20
|
INFORMATION_SENSORS: tuple[SynologyDSMSensorEntityDescription, ...]
|
23
21
|
|
24
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
25
23
|
|
26
24
|
class SynoDSMSensor(SynologyDSMBaseEntity[SynologyDSMCentralUpdateCoordinator], SensorEntity):
|
27
25
|
entity_description: SynologyDSMSensorEntityDescription
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .const import CONF_SERIAL as CONF_SERIAL, DOMAIN as DOMAIN, SERVICES as SERVICES, SERVICE_REBOOT as SERVICE_REBOOT, SERVICE_SHUTDOWN as SERVICE_SHUTDOWN
|
2
|
-
from .
|
2
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
5
5
|
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from . import SynoApi as SynoApi
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
|
-
from .coordinator import SynologyDSMSwitchUpdateCoordinator as SynologyDSMSwitchUpdateCoordinator
|
3
|
+
from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry, SynologyDSMSwitchUpdateCoordinator as SynologyDSMSwitchUpdateCoordinator
|
4
4
|
from .entity import SynologyDSMBaseEntity as SynologyDSMBaseEntity, SynologyDSMEntityDescription as SynologyDSMEntityDescription
|
5
|
-
from .models import SynologyDSMData as SynologyDSMData
|
6
5
|
from _typeshed import Incomplete
|
7
6
|
from dataclasses import dataclass
|
8
7
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
9
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -19,7 +17,7 @@ class SynologyDSMSwitchEntityDescription(SwitchEntityDescription, SynologyDSMEnt
|
|
19
17
|
|
20
18
|
SURVEILLANCE_SWITCH: tuple[SynologyDSMSwitchEntityDescription, ...]
|
21
19
|
|
22
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
21
|
|
24
22
|
class SynoDSMSurveillanceHomeModeToggle(SynologyDSMBaseEntity[SynologyDSMSwitchUpdateCoordinator], SwitchEntity):
|
25
23
|
entity_description: SynologyDSMSwitchEntityDescription
|
@@ -1,11 +1,8 @@
|
|
1
|
-
from .
|
2
|
-
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator
|
1
|
+
from .coordinator import SynologyDSMCentralUpdateCoordinator as SynologyDSMCentralUpdateCoordinator, SynologyDSMConfigEntry as SynologyDSMConfigEntry
|
3
2
|
from .entity import SynologyDSMBaseEntity as SynologyDSMBaseEntity, SynologyDSMEntityDescription as SynologyDSMEntityDescription
|
4
|
-
from .models import SynologyDSMData as SynologyDSMData
|
5
3
|
from _typeshed import Incomplete
|
6
4
|
from dataclasses import dataclass
|
7
5
|
from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
10
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -16,7 +13,7 @@ class SynologyDSMUpdateEntityEntityDescription(UpdateEntityDescription, Synology
|
|
16
13
|
|
17
14
|
UPDATE_ENTITIES: Final[Incomplete]
|
18
15
|
|
19
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
20
17
|
|
21
18
|
class SynoDSMUpdateEntity(SynologyDSMBaseEntity[SynologyDSMCentralUpdateCoordinator], UpdateEntity):
|
22
19
|
entity_description: SynologyDSMUpdateEntityEntityDescription
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import tibber
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components.recorder import get_instance as get_instance
|
4
|
-
from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMetaData as StatisticMetaData
|
4
|
+
from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData
|
5
5
|
from homeassistant.components.recorder.statistics import async_add_external_statistics as async_add_external_statistics, get_last_statistics as get_last_statistics, statistics_during_period as statistics_during_period
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.const import UnitOfEnergy as UnitOfEnergy
|
@@ -5,6 +5,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
5
|
from homeassistant.helpers import intent as intent
|
6
6
|
|
7
7
|
INTENT_LIST_ADD_ITEM: str
|
8
|
+
INTENT_LIST_COMPLETE_ITEM: str
|
8
9
|
|
9
10
|
async def async_setup_intents(hass: HomeAssistant) -> None: ...
|
10
11
|
|
@@ -14,3 +15,10 @@ class ListAddItemIntent(intent.IntentHandler):
|
|
14
15
|
slot_schema: Incomplete
|
15
16
|
platforms: Incomplete
|
16
17
|
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
18
|
+
|
19
|
+
class ListCompleteItemIntent(intent.IntentHandler):
|
20
|
+
intent_type = INTENT_LIST_COMPLETE_ITEM
|
21
|
+
description: str
|
22
|
+
slot_schema: Incomplete
|
23
|
+
platforms: Incomplete
|
24
|
+
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
@@ -8,6 +8,7 @@ from homeassistant.helpers import selector as selector
|
|
8
8
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
9
|
from typing import Any
|
10
10
|
|
11
|
+
_LOGGER: Incomplete
|
11
12
|
DATA_SCHEMA: Incomplete
|
12
13
|
DATA_SCHEMA_REAUTH: Incomplete
|
13
14
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from .const import CONF_STATION as CONF_STATION, DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
2
3
|
from collections.abc import Mapping
|
3
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
5
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY
|
@@ -6,6 +7,8 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
|
|
6
7
|
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
7
8
|
from typing import Any
|
8
9
|
|
10
|
+
_LOGGER: Incomplete
|
11
|
+
|
9
12
|
class TVWeatherConfigFlow(ConfigFlow, domain=DOMAIN):
|
10
13
|
VERSION: int
|
11
14
|
async def validate_input(self, sensor_api: str, station: str) -> None: ...
|
@@ -1,19 +1,21 @@
|
|
1
1
|
import asyncio
|
2
2
|
from .const import DEFAULT_CACHE_DIR as DEFAULT_CACHE_DIR, TtsAudioType as TtsAudioType
|
3
|
+
from .entity import TextToSpeechEntity as TextToSpeechEntity
|
3
4
|
from .legacy import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE, Provider as Provider
|
4
5
|
from .media_source import generate_media_source_id as generate_media_source_id
|
5
6
|
from .models import Voice as Voice
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from aiohttp import web
|
8
|
-
from collections.abc import
|
9
|
+
from collections.abc import AsyncGenerator
|
10
|
+
from dataclasses import dataclass
|
11
|
+
from datetime import datetime
|
9
12
|
from homeassistant.components.http import HomeAssistantView
|
10
|
-
from homeassistant.core import HomeAssistant, callback
|
11
|
-
from homeassistant.helpers.restore_state import RestoreEntity
|
13
|
+
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
|
12
14
|
from homeassistant.helpers.typing import ConfigType
|
13
15
|
from propcache.api import cached_property
|
14
|
-
from typing import Any
|
16
|
+
from typing import Any
|
15
17
|
|
16
|
-
__all__ = ['ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_BYTES', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_RATE', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'Provider', 'SampleFormat', 'TtsAudioType', 'Voice', 'async_default_engine', 'async_get_media_source_audio', '
|
18
|
+
__all__ = ['ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_BYTES', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_RATE', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'Provider', 'ResultStream', 'SampleFormat', 'TextToSpeechEntity', 'TtsAudioType', 'Voice', 'async_default_engine', 'async_get_media_source_audio', 'generate_media_source_id']
|
17
19
|
|
18
20
|
ATTR_AUDIO_OUTPUT: str
|
19
21
|
ATTR_PREFERRED_FORMAT: str
|
@@ -22,54 +24,68 @@ ATTR_PREFERRED_SAMPLE_CHANNELS: str
|
|
22
24
|
ATTR_PREFERRED_SAMPLE_BYTES: str
|
23
25
|
CONF_LANG: str
|
24
26
|
|
25
|
-
class TTSCache
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
class TTSCache:
|
28
|
+
_result_data: bytes | None
|
29
|
+
_partial_data: list[bytes] | None
|
30
|
+
_loading_error: Exception | None
|
31
|
+
_consumers: list[asyncio.Queue[bytes | None]] | None
|
32
|
+
cache_key: Incomplete
|
33
|
+
extension: Incomplete
|
34
|
+
last_used: Incomplete
|
35
|
+
_data_gen: Incomplete
|
36
|
+
def __init__(self, cache_key: str, extension: str, data_gen: AsyncGenerator[bytes]) -> None: ...
|
37
|
+
async def async_load_data(self) -> bytes: ...
|
38
|
+
async def async_stream_data(self) -> AsyncGenerator[bytes]: ...
|
29
39
|
|
30
40
|
@callback
|
31
41
|
def async_default_engine(hass: HomeAssistant) -> str | None: ...
|
32
|
-
async def async_support_options(hass: HomeAssistant, engine: str, language: str | None = None, options: dict | None = None) -> bool: ...
|
33
42
|
async def async_get_media_source_audio(hass: HomeAssistant, media_source_id: str) -> tuple[str, bytes]: ...
|
34
43
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
44
|
+
@dataclass
|
45
|
+
class ResultStream:
|
46
|
+
token: str
|
47
|
+
extension: str
|
48
|
+
content_type: str
|
49
|
+
engine: str
|
50
|
+
use_file_cache: bool
|
51
|
+
language: str
|
52
|
+
options: dict
|
53
|
+
_manager: SpeechManager
|
45
54
|
@cached_property
|
46
|
-
def
|
55
|
+
def url(self) -> str: ...
|
47
56
|
@cached_property
|
48
|
-
def
|
49
|
-
@
|
50
|
-
def
|
51
|
-
@cached_property
|
52
|
-
def default_options(self) -> Mapping[str, Any] | None: ...
|
57
|
+
def _result_cache(self) -> asyncio.Future[TTSCache]: ...
|
58
|
+
@callback
|
59
|
+
def async_set_message_cache(self, cache: TTSCache) -> None: ...
|
53
60
|
@callback
|
54
|
-
def
|
55
|
-
async def
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
+
def async_set_message(self, message: str) -> None: ...
|
62
|
+
async def async_stream_result(self) -> AsyncGenerator[bytes]: ...
|
63
|
+
|
64
|
+
class MemcacheCleanup:
|
65
|
+
unsub: CALLBACK_TYPE | None
|
66
|
+
hass: Incomplete
|
67
|
+
maxage: Incomplete
|
68
|
+
memcache: Incomplete
|
69
|
+
cleanup_job: Incomplete
|
70
|
+
def __init__(self, hass: HomeAssistant, maxage: float, memcache: dict[str, TTSCache]) -> None: ...
|
71
|
+
@callback
|
72
|
+
def schedule(self) -> None: ...
|
73
|
+
@callback
|
74
|
+
def _on_hass_stop(self, event: Event) -> None: ...
|
75
|
+
@callback
|
76
|
+
def _cleanup(self, _now: datetime) -> None: ...
|
61
77
|
|
62
78
|
class SpeechManager:
|
63
79
|
hass: Incomplete
|
64
80
|
providers: dict[str, Provider]
|
65
|
-
|
81
|
+
use_file_cache: Incomplete
|
66
82
|
cache_dir: Incomplete
|
67
|
-
|
83
|
+
memory_cache_maxage: Incomplete
|
68
84
|
file_cache: dict[str, str]
|
69
85
|
mem_cache: dict[str, TTSCache]
|
70
|
-
|
71
|
-
|
72
|
-
def __init__(self, hass: HomeAssistant,
|
86
|
+
token_to_stream: dict[str, ResultStream]
|
87
|
+
memcache_cleanup: Incomplete
|
88
|
+
def __init__(self, hass: HomeAssistant, use_file_cache: bool, cache_dir: str, memory_cache_maxage: int) -> None: ...
|
73
89
|
def _init_cache(self) -> dict[str, str]: ...
|
74
90
|
async def async_init_cache(self) -> None: ...
|
75
91
|
async def async_clear_cache(self) -> None: ...
|
@@ -77,16 +93,15 @@ class SpeechManager:
|
|
77
93
|
def async_register_legacy_engine(self, engine: str, provider: Provider, config: ConfigType) -> None: ...
|
78
94
|
@callback
|
79
95
|
def process_options(self, engine_instance: TextToSpeechEntity | Provider, language: str | None, options: dict | None) -> tuple[str, dict[str, Any]]: ...
|
80
|
-
async def async_get_url_path(self, engine: str, message: str, cache: bool | None = None, language: str | None = None, options: dict | None = None) -> str: ...
|
81
|
-
async def async_get_tts_audio(self, engine: str, message: str, cache: bool | None = None, language: str | None = None, options: dict | None = None) -> tuple[str, bytes]: ...
|
82
96
|
@callback
|
83
|
-
def
|
84
|
-
|
85
|
-
|
86
|
-
async def _async_file_to_mem(self, cache_key: str) -> None: ...
|
97
|
+
def async_create_result_stream(self, engine: str, message: str | None = None, use_file_cache: bool | None = None, language: str | None = None, options: dict | None = None) -> ResultStream: ...
|
98
|
+
@callback
|
99
|
+
def async_cache_message_in_memory(self, engine: str, message: str, use_file_cache: bool | None = None, language: str | None = None, options: dict | None = None) -> TTSCache: ...
|
87
100
|
@callback
|
88
|
-
def
|
89
|
-
async def
|
101
|
+
def _async_ensure_cached_in_memory(self, engine: str, engine_instance: TextToSpeechEntity | Provider, message: str, use_file_cache: bool, language: str, options: dict) -> TTSCache: ...
|
102
|
+
async def _load_data_into_cache(self, cache: TTSCache, engine_instance: TextToSpeechEntity | Provider, message: str, store_to_disk: bool, language: str, options: dict) -> None: ...
|
103
|
+
async def _async_generate_tts_audio(self, engine_instance: TextToSpeechEntity | Provider, message: str, language: str, options: dict[str, Any]) -> AsyncGenerator[bytes]: ...
|
104
|
+
async def _async_load_file(self, cache_key: str) -> AsyncGenerator[bytes]: ...
|
90
105
|
@staticmethod
|
91
106
|
def write_tags(filename: str, data: bytes, engine_name: str, message: str, language: str, options: dict | None) -> bytes: ...
|
92
107
|
|
@@ -94,17 +109,17 @@ class TextToSpeechUrlView(HomeAssistantView):
|
|
94
109
|
requires_auth: bool
|
95
110
|
url: str
|
96
111
|
name: str
|
97
|
-
|
98
|
-
def __init__(self,
|
112
|
+
manager: Incomplete
|
113
|
+
def __init__(self, manager: SpeechManager) -> None: ...
|
99
114
|
async def post(self, request: web.Request) -> web.Response: ...
|
100
115
|
|
101
116
|
class TextToSpeechView(HomeAssistantView):
|
102
117
|
requires_auth: bool
|
103
118
|
url: str
|
104
119
|
name: str
|
105
|
-
|
106
|
-
def __init__(self,
|
107
|
-
async def get(self, request: web.Request,
|
120
|
+
manager: Incomplete
|
121
|
+
def __init__(self, manager: SpeechManager) -> None: ...
|
122
|
+
async def get(self, request: web.Request, token: str) -> web.StreamResponse: ...
|
108
123
|
|
109
124
|
# Names in __all__ with no definition:
|
110
125
|
# SampleFormat
|
@@ -0,0 +1,54 @@
|
|
1
|
+
from .const import TtsAudioType as TtsAudioType
|
2
|
+
from .media_source import generate_media_source_id as generate_media_source_id
|
3
|
+
from .models import Voice as Voice
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import AsyncGenerator, Mapping
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.media_player import ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, MediaType as MediaType, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA
|
8
|
+
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
9
|
+
from homeassistant.core import callback as callback
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
12
|
+
from propcache.api import cached_property
|
13
|
+
from typing import Any, final
|
14
|
+
|
15
|
+
CACHED_PROPERTIES_WITH_ATTR_: Incomplete
|
16
|
+
|
17
|
+
@dataclass
|
18
|
+
class TTSAudioRequest:
|
19
|
+
language: str
|
20
|
+
options: dict[str, Any]
|
21
|
+
message_gen: AsyncGenerator[str]
|
22
|
+
|
23
|
+
@dataclass
|
24
|
+
class TTSAudioResponse:
|
25
|
+
extension: str
|
26
|
+
data_gen: AsyncGenerator[bytes]
|
27
|
+
|
28
|
+
class TextToSpeechEntity(RestoreEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
29
|
+
_attr_should_poll: bool
|
30
|
+
__last_tts_loaded: str | None
|
31
|
+
_attr_default_language: str
|
32
|
+
_attr_default_options: Mapping[str, Any] | None
|
33
|
+
_attr_supported_languages: list[str]
|
34
|
+
_attr_supported_options: list[str] | None
|
35
|
+
@property
|
36
|
+
@final
|
37
|
+
def state(self) -> str | None: ...
|
38
|
+
@cached_property
|
39
|
+
def supported_languages(self) -> list[str]: ...
|
40
|
+
@cached_property
|
41
|
+
def default_language(self) -> str: ...
|
42
|
+
@cached_property
|
43
|
+
def supported_options(self) -> list[str] | None: ...
|
44
|
+
@cached_property
|
45
|
+
def default_options(self) -> Mapping[str, Any] | None: ...
|
46
|
+
@callback
|
47
|
+
def async_get_supported_voices(self, language: str) -> list[Voice] | None: ...
|
48
|
+
async def async_internal_added_to_hass(self) -> None: ...
|
49
|
+
async def async_speak(self, media_player_entity_id: list[str], message: str, cache: bool, language: str | None = None, options: dict | None = None) -> None: ...
|
50
|
+
@final
|
51
|
+
async def internal_async_stream_tts_audio(self, request: TTSAudioRequest) -> TTSAudioResponse: ...
|
52
|
+
async def async_stream_tts_audio(self, request: TTSAudioRequest) -> TTSAudioResponse: ...
|
53
|
+
def get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
|
54
|
+
async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
|
@@ -30,7 +30,7 @@ class UpdateEntity(RestoreEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_
|
|
30
30
|
_attr_installed_version: str | None
|
31
31
|
_attr_device_class: UpdateDeviceClass | None
|
32
32
|
_attr_display_precision: int
|
33
|
-
_attr_in_progress: bool
|
33
|
+
_attr_in_progress: bool
|
34
34
|
_attr_latest_version: str | None
|
35
35
|
_attr_release_summary: str | None
|
36
36
|
_attr_release_url: str | None
|
@@ -54,7 +54,7 @@ class UpdateEntity(RestoreEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_
|
|
54
54
|
@property
|
55
55
|
def entity_picture(self) -> str | None: ...
|
56
56
|
@cached_property
|
57
|
-
def in_progress(self) -> bool |
|
57
|
+
def in_progress(self) -> bool | None: ...
|
58
58
|
@cached_property
|
59
59
|
def latest_version(self) -> str | None: ...
|
60
60
|
@cached_property
|