homeassistant-stubs 2025.9.4__py3-none-any.whl → 2025.10.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of homeassistant-stubs might be problematic. Click here for more details.
- homeassistant-stubs/components/acaia/coordinator.pyi +1 -0
- homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
- homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
- homeassistant-stubs/components/accuweather/const.pyi +1 -0
- homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
- homeassistant-stubs/components/accuweather/weather.pyi +5 -2
- homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airos/config_flow.pyi +1 -1
- homeassistant-stubs/components/airos/coordinator.pyi +4 -4
- homeassistant-stubs/components/airos/sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/select.pyi +1 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +2 -0
- homeassistant-stubs/components/analytics/__init__.pyi +4 -21
- homeassistant-stubs/components/analytics/analytics.pyi +42 -5
- homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
- homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
- homeassistant-stubs/components/androidtv/services.pyi +16 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +7 -4
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/asuswrt/bridge.pyi +8 -0
- homeassistant-stubs/components/blue_current/__init__.pyi +11 -5
- homeassistant-stubs/components/blue_current/const.pyi +6 -0
- homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
- homeassistant-stubs/components/bluetooth/api.pyi +5 -2
- homeassistant-stubs/components/bluetooth/manager.pyi +7 -1
- homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
- homeassistant-stubs/components/brother/__init__.pyi +4 -2
- homeassistant-stubs/components/brother/config_flow.pyi +5 -2
- homeassistant-stubs/components/brother/const.pyi +4 -0
- homeassistant-stubs/components/bthome/sensor.pyi +1 -1
- homeassistant-stubs/components/camera/__init__.pyi +1 -1
- homeassistant-stubs/components/camera/prefs.pyi +3 -1
- homeassistant-stubs/components/cloud/http_api.pyi +2 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +2 -1
- homeassistant-stubs/components/comelit/sensor.pyi +1 -1
- homeassistant-stubs/components/compit/__init__.pyi +11 -0
- homeassistant-stubs/components/compit/climate.pyi +63 -0
- homeassistant-stubs/components/compit/config_flow.pyi +17 -0
- homeassistant-stubs/components/compit/const.pyi +2 -0
- homeassistant-stubs/components/compit/coordinator.pyi +16 -0
- homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
- homeassistant-stubs/components/droplet/__init__.pyi +10 -0
- homeassistant-stubs/components/droplet/config_flow.pyi +13 -0
- homeassistant-stubs/components/droplet/const.pyi +7 -0
- homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
- homeassistant-stubs/components/droplet/sensor.pyi +37 -0
- homeassistant-stubs/components/ecovacs/number.pyi +4 -1
- homeassistant-stubs/components/elkm1/config_flow.pyi +2 -0
- homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
- homeassistant-stubs/components/energy/sensor.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
- homeassistant-stubs/components/esphome/climate.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +8 -4
- homeassistant-stubs/components/esphome/lock.pyi +1 -1
- homeassistant-stubs/components/esphome/select.pyi +4 -3
- homeassistant-stubs/components/fritz/sensor.pyi +2 -1
- homeassistant-stubs/components/frontend/__init__.pyi +5 -2
- homeassistant-stubs/components/geocaching/entity.pyi +14 -0
- homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
- homeassistant-stubs/components/go2rtc/__init__.pyi +3 -0
- homeassistant-stubs/components/google/__init__.pyi +0 -1
- homeassistant-stubs/components/google/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
- homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
- homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
- homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/habitica/const.pyi +1 -0
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -1
- homeassistant-stubs/components/habitica/util.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +7 -2
- homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
- homeassistant-stubs/components/home_connect/application_credentials.pyi +0 -1
- homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +38 -11
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
- homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
- homeassistant-stubs/components/homee/button.pyi +3 -1
- homeassistant-stubs/components/homee/climate.pyi +3 -1
- homeassistant-stubs/components/homee/cover.pyi +3 -1
- homeassistant-stubs/components/homee/event.pyi +3 -1
- homeassistant-stubs/components/homee/fan.pyi +3 -1
- homeassistant-stubs/components/homee/helpers.pyi +6 -0
- homeassistant-stubs/components/homee/light.pyi +2 -0
- homeassistant-stubs/components/homee/lock.pyi +4 -2
- homeassistant-stubs/components/homee/number.pyi +3 -1
- homeassistant-stubs/components/homee/select.pyi +3 -1
- homeassistant-stubs/components/homee/sensor.pyi +2 -2
- homeassistant-stubs/components/homee/siren.pyi +4 -1
- homeassistant-stubs/components/homee/switch.pyi +4 -2
- homeassistant-stubs/components/homee/valve.pyi +3 -1
- homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
- homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +1 -0
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/image_upload/const.pyi +1 -0
- homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
- homeassistant-stubs/components/immich/media_source.pyi +2 -2
- homeassistant-stubs/components/integration/__init__.pyi +0 -1
- homeassistant-stubs/components/integration/config_flow.pyi +1 -0
- homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
- homeassistant-stubs/components/letpot/number.pyi +34 -0
- homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +9 -0
- homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
- homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
- homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +21 -0
- homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +34 -0
- homeassistant-stubs/components/litterrobot/select.pyi +1 -1
- homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
- homeassistant-stubs/components/logbook/helpers.pyi +4 -3
- homeassistant-stubs/components/mastodon/const.pyi +1 -0
- homeassistant-stubs/components/mastodon/services.pyi +1 -1
- homeassistant-stubs/components/matter/models.pyi +1 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -0
- homeassistant-stubs/components/mcp_server/session.pyi +2 -2
- homeassistant-stubs/components/media_source/__init__.pyi +2 -10
- homeassistant-stubs/components/media_source/helper.pyi +16 -0
- homeassistant-stubs/components/media_source/http.pyi +13 -0
- homeassistant-stubs/components/media_source/local_source.pyi +19 -11
- homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
- homeassistant-stubs/components/miele/const.pyi +193 -17
- homeassistant-stubs/components/miele/sensor.pyi +12 -3
- homeassistant-stubs/components/miele/vacuum.pyi +1 -2
- homeassistant-stubs/components/min_max/sensor.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/climate.pyi +2 -2
- homeassistant-stubs/components/modbus/const.pyi +1 -0
- homeassistant-stubs/components/modbus/cover.pyi +2 -2
- homeassistant-stubs/components/modbus/entity.pyi +4 -4
- homeassistant-stubs/components/modbus/fan.pyi +2 -2
- homeassistant-stubs/components/modbus/light.pyi +2 -2
- homeassistant-stubs/components/modbus/modbus.pyi +1 -2
- homeassistant-stubs/components/modbus/sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/switch.pyi +2 -2
- homeassistant-stubs/components/modbus/validators.pyi +1 -1
- homeassistant-stubs/components/motionmount/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +61 -60
- homeassistant-stubs/components/mqtt/const.pyi +6 -0
- homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
- homeassistant-stubs/components/mqtt/entity.pyi +2 -2
- homeassistant-stubs/components/mqtt/image.pyi +1 -5
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
- homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/music_assistant/__init__.pyi +2 -1
- homeassistant-stubs/components/music_assistant/config_flow.pyi +1 -1
- homeassistant-stubs/components/music_assistant/const.pyi +1 -0
- homeassistant-stubs/components/nordpool/coordinator.pyi +4 -2
- homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
- homeassistant-stubs/components/ntfy/const.pyi +6 -0
- homeassistant-stubs/components/ntfy/entity.pyi +18 -0
- homeassistant-stubs/components/ntfy/event.pyi +29 -0
- homeassistant-stubs/components/ntfy/notify.pyi +19 -13
- homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
- homeassistant-stubs/components/number/const.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
- homeassistant-stubs/components/openai_conversation/entity.pyi +2 -2
- homeassistant-stubs/components/openuv/__init__.pyi +1 -1
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
- homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
- homeassistant-stubs/components/opnsense/const.pyi +5 -0
- homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
- homeassistant-stubs/components/portainer/__init__.pyi +11 -0
- homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
- homeassistant-stubs/components/portainer/config_flow.pyi +20 -0
- homeassistant-stubs/components/portainer/const.pyi +2 -0
- homeassistant-stubs/components/portainer/coordinator.pyi +29 -0
- homeassistant-stubs/components/portainer/entity.pyi +22 -0
- homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
- homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
- homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +1 -0
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/entity.pyi +10 -0
- homeassistant-stubs/components/reolink/light.pyi +7 -1
- homeassistant-stubs/components/reolink/number.pyi +10 -1
- homeassistant-stubs/components/reolink/select.pyi +11 -3
- homeassistant-stubs/components/reolink/siren.pyi +11 -1
- homeassistant-stubs/components/reolink/switch.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
- homeassistant-stubs/components/roborock/const.pyi +1 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +1 -1
- homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
- homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
- homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
- homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
- homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
- homeassistant-stubs/components/scrape/__init__.pyi +0 -1
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
- homeassistant-stubs/components/scrape/coordinator.pyi +5 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -1
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
- homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
- homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
- homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
- homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +5 -1
- homeassistant-stubs/components/shelly/button.pyi +10 -2
- homeassistant-stubs/components/shelly/const.pyi +5 -2
- homeassistant-stubs/components/shelly/cover.pyi +6 -0
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/light.pyi +18 -10
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/repairs.pyi +4 -2
- homeassistant-stubs/components/shelly/select.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +12 -8
- homeassistant-stubs/components/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/text.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +7 -2
- homeassistant-stubs/components/sql/__init__.pyi +2 -2
- homeassistant-stubs/components/sql/config_flow.pyi +6 -2
- homeassistant-stubs/components/sql/const.pyi +1 -0
- homeassistant-stubs/components/sql/sensor.pyi +1 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/ssdp/server.pyi +2 -3
- homeassistant-stubs/components/starlink/sensor.pyi +8 -1
- homeassistant-stubs/components/statistics/__init__.pyi +0 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +7 -0
- homeassistant-stubs/components/switchbot_cloud/climate.pyi +7 -3
- homeassistant-stubs/components/switchbot_cloud/const.pyi +13 -0
- homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
- homeassistant-stubs/components/switchbot_cloud/light.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +13 -1
- homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -0
- homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
- homeassistant-stubs/components/telegram_bot/bot.pyi +1 -0
- homeassistant-stubs/components/telegram_bot/const.pyi +13 -0
- homeassistant-stubs/components/threshold/__init__.pyi +0 -1
- homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
- homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
- homeassistant-stubs/components/tts/__init__.pyi +5 -0
- homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
- homeassistant-stubs/components/vacuum/intent.pyi +1 -1
- homeassistant-stubs/components/volvo/__init__.pyi +1 -1
- homeassistant-stubs/components/volvo/api.pyi +4 -0
- homeassistant-stubs/components/volvo/coordinator.pyi +28 -15
- homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
- homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
- homeassistant-stubs/components/webhook/trigger.pyi +2 -1
- homeassistant-stubs/components/workday/calendar.pyi +25 -0
- homeassistant-stubs/components/yalexs_ble/__init__.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +2 -2
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
- homeassistant-stubs/components/zwave_js/const.pyi +3 -0
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -9
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +11 -7
- homeassistant-stubs/config_entries.pyi +6 -1
- homeassistant-stubs/const.pyi +7 -46
- homeassistant-stubs/data_entry_flow.pyi +16 -3
- homeassistant-stubs/generated/entity_platforms.pyi +46 -0
- homeassistant-stubs/helpers/condition.pyi +3 -1
- homeassistant-stubs/helpers/config_validation.pyi +1 -1
- homeassistant-stubs/helpers/deprecation.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +4 -3
- homeassistant-stubs/helpers/entity_component.pyi +1 -3
- homeassistant-stubs/helpers/event.pyi +2 -1
- homeassistant-stubs/helpers/intent.pyi +5 -8
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
- homeassistant-stubs/helpers/selector.pyi +16 -16
- homeassistant-stubs/helpers/service.pyi +12 -14
- homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
- homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +14 -97
- homeassistant-stubs/helpers/template/context.pyi +16 -0
- homeassistant-stubs/helpers/template/extensions/__init__.pyi +8 -0
- homeassistant-stubs/helpers/template/extensions/base.pyi +21 -0
- homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
- homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
- homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
- homeassistant-stubs/helpers/template/extensions/math.pyi +43 -0
- homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
- homeassistant-stubs/helpers/template/helpers.pyi +4 -0
- homeassistant-stubs/helpers/template/render_info.pyi +39 -0
- homeassistant-stubs/helpers/trigger.pyi +16 -5
- homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
- homeassistant-stubs/runner.pyi +16 -0
- homeassistant-stubs/util/unit_conversion.pyi +6 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/RECORD +304 -246
- homeassistant-stubs/components/home_connect/time.pyi +0 -29
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import voluptuous as vol
|
|
2
|
-
from .const import CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
|
|
2
|
+
from .const import CONF_ADVANCED_OPTIONS as CONF_ADVANCED_OPTIONS, CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
|
|
3
3
|
from .util import resolve_db_url as resolve_db_url
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
|
|
@@ -7,8 +7,9 @@ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
|
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
|
|
8
8
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
|
9
9
|
from homeassistant.core import callback as callback
|
|
10
|
+
from homeassistant.data_entry_flow import section as section
|
|
10
11
|
from homeassistant.helpers import selector as selector
|
|
11
|
-
from sqlalchemy.engine import Result as Result
|
|
12
|
+
from sqlalchemy.engine import Engine as Engine, Result as Result
|
|
12
13
|
from sqlalchemy.orm import Session as Session
|
|
13
14
|
from typing import Any
|
|
14
15
|
|
|
@@ -17,14 +18,17 @@ OPTIONS_SCHEMA: vol.Schema
|
|
|
17
18
|
CONFIG_SCHEMA: vol.Schema
|
|
18
19
|
|
|
19
20
|
def validate_sql_select(value: str) -> str: ...
|
|
21
|
+
def validate_db_connection(db_url: str) -> bool: ...
|
|
20
22
|
def validate_query(db_url: str, query: str, column: str) -> bool: ...
|
|
21
23
|
|
|
22
24
|
class SQLConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
23
25
|
VERSION: int
|
|
26
|
+
data: dict[str, Any]
|
|
24
27
|
@staticmethod
|
|
25
28
|
@callback
|
|
26
29
|
def async_get_options_flow(config_entry: ConfigEntry) -> SQLOptionsFlowHandler: ...
|
|
27
30
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
31
|
+
async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
28
32
|
|
|
29
33
|
class SQLOptionsFlowHandler(OptionsFlowWithReload):
|
|
30
34
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .const import CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
|
|
1
|
+
from .const import CONF_ADVANCED_OPTIONS as CONF_ADVANCED_OPTIONS, CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
|
|
2
2
|
from .models import SQLData as SQLData
|
|
3
3
|
from .util import redact_credentials as redact_credentials, resolve_db_url as resolve_db_url
|
|
4
4
|
from _typeshed import Incomplete
|
|
@@ -29,7 +29,7 @@ class BrowseData:
|
|
|
29
29
|
def _build_response_apps_radios_category(browse_data: BrowseData, cmd: str | MediaType, item: dict[str, Any]) -> BrowseMedia: ...
|
|
30
30
|
def _build_response_known_app(browse_data: BrowseData, search_type: str, item: dict[str, Any]) -> BrowseMedia: ...
|
|
31
31
|
def _build_response_favorites(item: dict[str, Any]) -> BrowseMedia: ...
|
|
32
|
-
def _get_item_thumbnail(item: dict[str, Any], player: Player, entity: MediaPlayerEntity, item_type: str | MediaType | None, search_type: str, internal_request: bool) -> str | None: ...
|
|
32
|
+
def _get_item_thumbnail(item: dict[str, Any], player: Player, entity: MediaPlayerEntity, item_type: str | MediaType | None, search_type: str, internal_request: bool, known_apps_radios: set[str]) -> str | None: ...
|
|
33
33
|
async def build_item_response(entity: MediaPlayerEntity, player: Player, payload: dict[str, str | None], browse_limit: int, browse_data: BrowseData) -> BrowseMedia: ...
|
|
34
34
|
async def library_payload(hass: HomeAssistant, player: Player, browse_media: BrowseData) -> BrowseMedia: ...
|
|
35
35
|
def media_source_content_filter(item: BrowseMedia) -> bool: ...
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import socket
|
|
1
2
|
from .common import async_build_source_set as async_build_source_set
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from async_upnp_client.const import AddressTupleVXType as AddressTupleVXType
|
|
@@ -8,8 +9,6 @@ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableE
|
|
|
8
9
|
from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
|
|
9
10
|
from typing import Any
|
|
10
11
|
|
|
11
|
-
UPNP_SERVER_MIN_PORT: int
|
|
12
|
-
UPNP_SERVER_MAX_PORT: int
|
|
13
12
|
_LOGGER: Incomplete
|
|
14
13
|
|
|
15
14
|
class HassUpnpServiceDevice(UpnpServerDevice):
|
|
@@ -17,7 +16,7 @@ class HassUpnpServiceDevice(UpnpServerDevice):
|
|
|
17
16
|
EMBEDDED_DEVICES: list[type[UpnpServerDevice]]
|
|
18
17
|
SERVICES: list[type[UpnpServerService]]
|
|
19
18
|
|
|
20
|
-
async def _async_find_next_available_port(source: AddressTupleVXType) -> int: ...
|
|
19
|
+
async def _async_find_next_available_port(source: AddressTupleVXType) -> tuple[int, socket.socket]: ...
|
|
21
20
|
|
|
22
21
|
class Server:
|
|
23
22
|
hass: Incomplete
|
|
@@ -3,7 +3,7 @@ from .entity import StarlinkEntity as StarlinkEntity
|
|
|
3
3
|
from collections.abc import Callable as Callable
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
from datetime import datetime
|
|
6
|
-
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
6
|
+
from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
7
7
|
from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfEnergy as UnitOfEnergy, UnitOfInformation as UnitOfInformation, UnitOfPower as UnitOfPower, UnitOfTime as UnitOfTime
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
@@ -21,4 +21,11 @@ class StarlinkSensorEntity(StarlinkEntity, SensorEntity):
|
|
|
21
21
|
@property
|
|
22
22
|
def native_value(self) -> StateType | datetime: ...
|
|
23
23
|
|
|
24
|
+
class StarlinkRestoreSensor(StarlinkSensorEntity, RestoreSensor):
|
|
25
|
+
_attr_native_value: int | float
|
|
26
|
+
@property
|
|
27
|
+
def native_value(self) -> int | float: ...
|
|
28
|
+
async def async_added_to_hass(self) -> None: ...
|
|
29
|
+
|
|
24
30
|
SENSORS: tuple[StarlinkSensorEntityDescription, ...]
|
|
31
|
+
RESTORE_SENSORS: tuple[StarlinkSensorEntityDescription, ...]
|
|
@@ -12,4 +12,3 @@ _LOGGER: Incomplete
|
|
|
12
12
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
13
13
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
14
14
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
15
|
-
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
@@ -23,6 +23,7 @@ class StatisticsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
|
|
|
23
23
|
MINOR_VERSION: int
|
|
24
24
|
config_flow = CONFIG_FLOW
|
|
25
25
|
options_flow = OPTIONS_FLOW
|
|
26
|
+
options_flow_reloads: bool
|
|
26
27
|
def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
|
|
27
28
|
@staticmethod
|
|
28
29
|
async def async_setup_preview(hass: HomeAssistant) -> None: ...
|
|
@@ -26,6 +26,7 @@ class SwitchbotDevices:
|
|
|
26
26
|
locks: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
|
|
27
27
|
fans: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
|
|
28
28
|
lights: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
|
|
29
|
+
humidifiers: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
|
|
29
30
|
|
|
30
31
|
@dataclass
|
|
31
32
|
class SwitchbotCloudData:
|
|
@@ -3,6 +3,7 @@ from .const import DOMAIN as DOMAIN
|
|
|
3
3
|
from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
|
|
4
4
|
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
|
+
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
7
8
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
|
8
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
@@ -10,13 +11,19 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
|
10
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
13
|
from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
|
|
14
|
+
from typing import Any
|
|
13
15
|
|
|
14
16
|
@dataclass(frozen=True)
|
|
15
17
|
class SwitchBotCloudBinarySensorEntityDescription(BinarySensorEntityDescription):
|
|
16
18
|
on_value: bool | str = ...
|
|
19
|
+
value_fn: Callable[[dict[str, Any]], bool | None] | None = ...
|
|
17
20
|
|
|
18
21
|
CALIBRATION_DESCRIPTION: Incomplete
|
|
19
22
|
DOOR_OPEN_DESCRIPTION: Incomplete
|
|
23
|
+
MOVE_DETECTED_DESCRIPTION: Incomplete
|
|
24
|
+
IS_LIGHT_DESCRIPTION: Incomplete
|
|
25
|
+
LEAK_DESCRIPTION: Incomplete
|
|
26
|
+
OPEN_DESCRIPTION: Incomplete
|
|
20
27
|
BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
|
|
21
28
|
|
|
22
29
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -2,13 +2,15 @@ from . import SwitchbotCloudData as SwitchbotCloudData
|
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
|
3
3
|
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
|
|
5
|
+
from homeassistant.components.climate import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
|
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
|
-
from homeassistant.const import
|
|
7
|
+
from homeassistant.const import STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
|
10
11
|
from typing import Any
|
|
11
12
|
|
|
13
|
+
_LOGGER: Incomplete
|
|
12
14
|
_SWITCHBOT_HVAC_MODES: dict[HVACMode, int]
|
|
13
15
|
_DEFAULT_SWITCHBOT_HVAC_MODE: Incomplete
|
|
14
16
|
_SWITCHBOT_FAN_MODES: dict[str, int]
|
|
@@ -16,7 +18,7 @@ _DEFAULT_SWITCHBOT_FAN_MODE: Incomplete
|
|
|
16
18
|
|
|
17
19
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
18
20
|
|
|
19
|
-
class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
|
|
21
|
+
class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity, RestoreEntity):
|
|
20
22
|
_attr_assumed_state: bool
|
|
21
23
|
_attr_supported_features: Incomplete
|
|
22
24
|
_attr_fan_modes: Incomplete
|
|
@@ -28,6 +30,8 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
|
|
|
28
30
|
_attr_target_temperature_step: int
|
|
29
31
|
_attr_precision: int
|
|
30
32
|
_attr_name: Incomplete
|
|
33
|
+
async def async_added_to_hass(self) -> None: ...
|
|
34
|
+
def _get_mode(self, hvac_mode: HVACMode | None) -> int: ...
|
|
31
35
|
async def _do_send_command(self, hvac_mode: HVACMode | None = None, fan_mode: str | None = None, temperature: float | None = None) -> None: ...
|
|
32
36
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
|
33
37
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
|
@@ -14,6 +14,7 @@ VACUUM_FAN_SPEED_STRONG: str
|
|
|
14
14
|
VACUUM_FAN_SPEED_MAX: str
|
|
15
15
|
AFTER_COMMAND_REFRESH: int
|
|
16
16
|
COVER_ENTITY_AFTER_COMMAND_REFRESH: int
|
|
17
|
+
HUMIDITY_LEVELS: Incomplete
|
|
17
18
|
|
|
18
19
|
class AirPurifierMode(Enum):
|
|
19
20
|
NORMAL = 1
|
|
@@ -22,3 +23,15 @@ class AirPurifierMode(Enum):
|
|
|
22
23
|
PET = 4
|
|
23
24
|
@classmethod
|
|
24
25
|
def get_modes(cls) -> list[str]: ...
|
|
26
|
+
|
|
27
|
+
class Humidifier2Mode(Enum):
|
|
28
|
+
HIGH = 1
|
|
29
|
+
MEDIUM = 2
|
|
30
|
+
LOW = 3
|
|
31
|
+
QUIET = 4
|
|
32
|
+
TARGET_HUMIDITY = 5
|
|
33
|
+
SLEEP = 6
|
|
34
|
+
AUTO = 7
|
|
35
|
+
DRYING_FILTER = 8
|
|
36
|
+
@classmethod
|
|
37
|
+
def get_modes(cls) -> list[str]: ...
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from . import SwitchbotCloudData as SwitchbotCloudData
|
|
2
|
+
from .const import AFTER_COMMAND_REFRESH as AFTER_COMMAND_REFRESH, DOMAIN as DOMAIN, HUMIDITY_LEVELS as HUMIDITY_LEVELS, Humidifier2Mode as Humidifier2Mode
|
|
3
|
+
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.components.humidifier import HumidifierDeviceClass as HumidifierDeviceClass, HumidifierEntity as HumidifierEntity, HumidifierEntityFeature as HumidifierEntityFeature, MODE_AUTO as MODE_AUTO, MODE_NORMAL as MODE_NORMAL
|
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
|
+
from homeassistant.const import STATE_ON as STATE_ON
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
PARALLEL_UPDATES: int
|
|
13
|
+
|
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
|
+
|
|
16
|
+
class SwitchBotHumidifier(SwitchBotCloudEntity, HumidifierEntity):
|
|
17
|
+
_attr_supported_features: Incomplete
|
|
18
|
+
_attr_device_class: Incomplete
|
|
19
|
+
_attr_available_modes: Incomplete
|
|
20
|
+
_attr_min_humidity: int
|
|
21
|
+
_attr_translation_key: str
|
|
22
|
+
_attr_name: Incomplete
|
|
23
|
+
_attr_target_humidity: int
|
|
24
|
+
_attr_is_on: Incomplete
|
|
25
|
+
_attr_mode: Incomplete
|
|
26
|
+
_attr_current_humidity: Incomplete
|
|
27
|
+
def _set_attributes(self) -> None: ...
|
|
28
|
+
async def async_set_humidity(self, humidity: int) -> None: ...
|
|
29
|
+
async def async_set_mode(self, mode: str) -> None: ...
|
|
30
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
31
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
32
|
+
def _map_humidity_to_supported_level(self, humidity: int) -> tuple[int, int]: ...
|
|
33
|
+
|
|
34
|
+
class SwitchBotEvaporativeHumidifier(SwitchBotCloudEntity, HumidifierEntity):
|
|
35
|
+
_attr_supported_features: Incomplete
|
|
36
|
+
_attr_device_class: Incomplete
|
|
37
|
+
_attr_available_modes: Incomplete
|
|
38
|
+
_attr_translation_key: str
|
|
39
|
+
_attr_name: Incomplete
|
|
40
|
+
_attr_target_humidity: int
|
|
41
|
+
_attr_is_on: Incomplete
|
|
42
|
+
_attr_mode: Incomplete
|
|
43
|
+
_attr_current_humidity: Incomplete
|
|
44
|
+
def _set_attributes(self) -> None: ...
|
|
45
|
+
async def async_set_humidity(self, humidity: int) -> None: ...
|
|
46
|
+
async def async_set_mode(self, mode: str) -> None: ...
|
|
47
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
48
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
@@ -10,6 +10,7 @@ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as Sw
|
|
|
10
10
|
from typing import Any
|
|
11
11
|
|
|
12
12
|
def value_map_brightness(value: int) -> int: ...
|
|
13
|
+
def brightness_map_value(value: int) -> int: ...
|
|
13
14
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
14
15
|
|
|
15
16
|
class SwitchBotCloudLight(SwitchBotCloudEntity, LightEntity):
|
|
@@ -3,12 +3,15 @@ from .const import DOMAIN as DOMAIN
|
|
|
3
3
|
from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
|
|
4
4
|
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
|
+
from collections.abc import Callable as Callable
|
|
7
|
+
from dataclasses import dataclass
|
|
6
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
7
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
|
-
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
|
10
|
+
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
|
9
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
13
|
from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
|
|
14
|
+
from typing import Any
|
|
12
15
|
|
|
13
16
|
SENSOR_TYPE_TEMPERATURE: str
|
|
14
17
|
SENSOR_TYPE_HUMIDITY: str
|
|
@@ -17,6 +20,14 @@ SENSOR_TYPE_CO2: str
|
|
|
17
20
|
SENSOR_TYPE_POWER: str
|
|
18
21
|
SENSOR_TYPE_VOLTAGE: str
|
|
19
22
|
SENSOR_TYPE_CURRENT: str
|
|
23
|
+
SENSOR_TYPE_USED_ELECTRICITY: str
|
|
24
|
+
SENSOR_TYPE_LIGHTLEVEL: str
|
|
25
|
+
|
|
26
|
+
@dataclass(frozen=True, kw_only=True)
|
|
27
|
+
class SwitchbotCloudSensorEntityDescription(SensorEntityDescription):
|
|
28
|
+
value_fn: Callable[[Any], Any] = ...
|
|
29
|
+
|
|
30
|
+
USED_ELECTRICITY_DESCRIPTION: Incomplete
|
|
20
31
|
TEMPERATURE_DESCRIPTION: Incomplete
|
|
21
32
|
HUMIDITY_DESCRIPTION: Incomplete
|
|
22
33
|
BATTERY_DESCRIPTION: Incomplete
|
|
@@ -25,6 +36,7 @@ VOLTAGE_DESCRIPTION: Incomplete
|
|
|
25
36
|
CURRENT_DESCRIPTION_IN_MA: Incomplete
|
|
26
37
|
CURRENT_DESCRIPTION_IN_A: Incomplete
|
|
27
38
|
CO2_DESCRIPTION: Incomplete
|
|
39
|
+
LIGHTLEVEL_DESCRIPTION: Incomplete
|
|
28
40
|
SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
|
|
29
41
|
|
|
30
42
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -3,8 +3,8 @@ from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry, Synol
|
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from aiohttp import web
|
|
5
5
|
from homeassistant.components import http as http
|
|
6
|
-
from homeassistant.components.media_player import MediaClass as MediaClass
|
|
7
|
-
from homeassistant.components.media_source import
|
|
6
|
+
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
|
|
7
|
+
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
|
8
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
|
|
@@ -10,6 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
11
|
from homeassistant.helpers.typing import StateType as StateType
|
|
12
12
|
from homeassistant.util.dt import utcnow as utcnow
|
|
13
|
+
from synology_dsm.api.core.external_usb import SynoCoreExternalUSBDevice as SynoCoreExternalUSBDevice
|
|
13
14
|
|
|
14
15
|
@dataclass(frozen=True, kw_only=True)
|
|
15
16
|
class SynologyDSMSensorEntityDescription(SensorEntityDescription, SynologyDSMEntityDescription): ...
|
|
@@ -44,6 +45,8 @@ class SynoDSMExternalUSBSensor(SynologyDSMDeviceEntity, SynoDSMSensor):
|
|
|
44
45
|
def __init__(self, api: SynoApi, coordinator: SynologyDSMCentralUpdateCoordinator, description: SynologyDSMSensorEntityDescription, device_id: str | None = None) -> None: ...
|
|
45
46
|
@property
|
|
46
47
|
def native_value(self) -> StateType: ...
|
|
48
|
+
@property
|
|
49
|
+
def available(self) -> bool: ...
|
|
47
50
|
|
|
48
51
|
class SynoDSMInfoSensor(SynoDSMSensor):
|
|
49
52
|
_previous_uptime: str | None
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from . import SystemMonitorConfigEntry as SystemMonitorConfigEntry
|
|
2
|
-
from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN
|
|
2
|
+
from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN, PROCESS_ERRORS as PROCESS_ERRORS
|
|
3
3
|
from .coordinator import SystemMonitorCoordinator as SystemMonitorCoordinator
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Callable as Callable
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import psutil_home_assistant as ha_psutil
|
|
2
2
|
from . import SystemMonitorConfigEntry as SystemMonitorConfigEntry
|
|
3
|
+
from .const import CONF_PROCESS as CONF_PROCESS, PROCESS_ERRORS as PROCESS_ERRORS
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from dataclasses import dataclass
|
|
5
6
|
from datetime import datetime
|
|
@@ -34,6 +35,7 @@ class VirtualMemory(NamedTuple):
|
|
|
34
35
|
free: float
|
|
35
36
|
|
|
36
37
|
class SystemMonitorCoordinator(TimestampDataUpdateCoordinator[SensorData]):
|
|
38
|
+
config_entry: SystemMonitorConfigEntry
|
|
37
39
|
_psutil: Incomplete
|
|
38
40
|
_arguments: Incomplete
|
|
39
41
|
boot_time: datetime | None
|
|
@@ -25,6 +25,8 @@ SENSOR_TYPE_ICON: int
|
|
|
25
25
|
SENSOR_TYPE_DEVICE_CLASS: int
|
|
26
26
|
SENSOR_TYPE_MANDATORY_ARG: int
|
|
27
27
|
SIGNAL_SYSTEMMONITOR_UPDATE: str
|
|
28
|
+
SENSORS_NO_ARG: Incomplete
|
|
29
|
+
SENSORS_WITH_ARG: Incomplete
|
|
28
30
|
|
|
29
31
|
@lru_cache
|
|
30
32
|
def get_cpu_icon() -> Literal['mdi:cpu-64-bit', 'mdi:cpu-32-bit']: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from . import broadcast as broadcast, polling as polling, webhooks as webhooks
|
|
2
2
|
from .bot import TelegramBotConfigEntry as TelegramBotConfigEntry, TelegramNotificationService as TelegramNotificationService, initialize_bot as initialize_bot
|
|
3
|
-
from .const import ATTR_ALLOWS_MULTIPLE_ANSWERS as ATTR_ALLOWS_MULTIPLE_ANSWERS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CALLBACK_QUERY_ID as ATTR_CALLBACK_QUERY_ID, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_IS_ANONYMOUS as ATTR_IS_ANONYMOUS, ATTR_IS_BIG as ATTR_IS_BIG, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_OPTIONS as ATTR_OPTIONS, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_QUESTION as ATTR_QUESTION, ATTR_REACTION as ATTR_REACTION, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_SHOW_ALERT as ATTR_SHOW_ALERT, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TARGET as ATTR_TARGET, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CONF_ALLOWED_CHAT_IDS as CONF_ALLOWED_CHAT_IDS, CONF_BOT_COUNT as CONF_BOT_COUNT, CONF_CONFIG_ENTRY_ID as CONF_CONFIG_ENTRY_ID, CONF_PROXY_URL as CONF_PROXY_URL, CONF_TRUSTED_NETWORKS as CONF_TRUSTED_NETWORKS, DEFAULT_TRUSTED_NETWORKS as DEFAULT_TRUSTED_NETWORKS, DOMAIN as DOMAIN, PARSER_MD as PARSER_MD, PLATFORM_BROADCAST as PLATFORM_BROADCAST, PLATFORM_POLLING as PLATFORM_POLLING, PLATFORM_WEBHOOKS as PLATFORM_WEBHOOKS, SERVICE_ANSWER_CALLBACK_QUERY as SERVICE_ANSWER_CALLBACK_QUERY, SERVICE_DELETE_MESSAGE as SERVICE_DELETE_MESSAGE, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_EDIT_REPLYMARKUP as SERVICE_EDIT_REPLYMARKUP, SERVICE_LEAVE_CHAT as SERVICE_LEAVE_CHAT, SERVICE_SEND_ANIMATION as SERVICE_SEND_ANIMATION, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_LOCATION as SERVICE_SEND_LOCATION, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_POLL as SERVICE_SEND_POLL, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE, SERVICE_SET_MESSAGE_REACTION as SERVICE_SET_MESSAGE_REACTION
|
|
3
|
+
from .const import ATTR_ALLOWS_MULTIPLE_ANSWERS as ATTR_ALLOWS_MULTIPLE_ANSWERS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CALLBACK_QUERY_ID as ATTR_CALLBACK_QUERY_ID, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ACTION as ATTR_CHAT_ACTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_IS_ANONYMOUS as ATTR_IS_ANONYMOUS, ATTR_IS_BIG as ATTR_IS_BIG, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_OPTIONS as ATTR_OPTIONS, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_QUESTION as ATTR_QUESTION, ATTR_REACTION as ATTR_REACTION, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_SHOW_ALERT as ATTR_SHOW_ALERT, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TARGET as ATTR_TARGET, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CHAT_ACTION_CHOOSE_STICKER as CHAT_ACTION_CHOOSE_STICKER, CHAT_ACTION_FIND_LOCATION as CHAT_ACTION_FIND_LOCATION, CHAT_ACTION_RECORD_VIDEO as CHAT_ACTION_RECORD_VIDEO, CHAT_ACTION_RECORD_VIDEO_NOTE as CHAT_ACTION_RECORD_VIDEO_NOTE, CHAT_ACTION_RECORD_VOICE as CHAT_ACTION_RECORD_VOICE, CHAT_ACTION_TYPING as CHAT_ACTION_TYPING, CHAT_ACTION_UPLOAD_DOCUMENT as CHAT_ACTION_UPLOAD_DOCUMENT, CHAT_ACTION_UPLOAD_PHOTO as CHAT_ACTION_UPLOAD_PHOTO, CHAT_ACTION_UPLOAD_VIDEO as CHAT_ACTION_UPLOAD_VIDEO, CHAT_ACTION_UPLOAD_VIDEO_NOTE as CHAT_ACTION_UPLOAD_VIDEO_NOTE, CHAT_ACTION_UPLOAD_VOICE as CHAT_ACTION_UPLOAD_VOICE, CONF_ALLOWED_CHAT_IDS as CONF_ALLOWED_CHAT_IDS, CONF_BOT_COUNT as CONF_BOT_COUNT, CONF_CONFIG_ENTRY_ID as CONF_CONFIG_ENTRY_ID, CONF_PROXY_URL as CONF_PROXY_URL, CONF_TRUSTED_NETWORKS as CONF_TRUSTED_NETWORKS, DEFAULT_TRUSTED_NETWORKS as DEFAULT_TRUSTED_NETWORKS, DOMAIN as DOMAIN, PARSER_MD as PARSER_MD, PLATFORM_BROADCAST as PLATFORM_BROADCAST, PLATFORM_POLLING as PLATFORM_POLLING, PLATFORM_WEBHOOKS as PLATFORM_WEBHOOKS, SERVICE_ANSWER_CALLBACK_QUERY as SERVICE_ANSWER_CALLBACK_QUERY, SERVICE_DELETE_MESSAGE as SERVICE_DELETE_MESSAGE, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_EDIT_REPLYMARKUP as SERVICE_EDIT_REPLYMARKUP, SERVICE_LEAVE_CHAT as SERVICE_LEAVE_CHAT, SERVICE_SEND_ANIMATION as SERVICE_SEND_ANIMATION, SERVICE_SEND_CHAT_ACTION as SERVICE_SEND_CHAT_ACTION, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_LOCATION as SERVICE_SEND_LOCATION, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_POLL as SERVICE_SEND_POLL, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE, SERVICE_SET_MESSAGE_REACTION as SERVICE_SET_MESSAGE_REACTION
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
|
|
6
6
|
from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_API_KEY as CONF_API_KEY, CONF_PLATFORM as CONF_PLATFORM, CONF_SOURCE as CONF_SOURCE, CONF_URL as CONF_URL, Platform as Platform
|
|
@@ -14,6 +14,7 @@ _LOGGER: Incomplete
|
|
|
14
14
|
CONFIG_SCHEMA: Incomplete
|
|
15
15
|
BASE_SERVICE_SCHEMA: Incomplete
|
|
16
16
|
SERVICE_SCHEMA_SEND_MESSAGE: Incomplete
|
|
17
|
+
SERVICE_SCHEMA_SEND_CHAT_ACTION: Incomplete
|
|
17
18
|
SERVICE_SCHEMA_SEND_FILE: Incomplete
|
|
18
19
|
SERVICE_SCHEMA_SEND_STICKER: Incomplete
|
|
19
20
|
SERVICE_SCHEMA_SEND_LOCATION: Incomplete
|
|
@@ -53,6 +53,7 @@ class TelegramNotificationService:
|
|
|
53
53
|
async def delete_message(self, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> bool: ...
|
|
54
54
|
async def edit_message(self, type_edit: str, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> Any: ...
|
|
55
55
|
async def answer_callback_query(self, message: str | None, callback_query_id: str, show_alert: bool = False, context: Context | None = None, **kwargs: dict[str, Any]) -> None: ...
|
|
56
|
+
async def send_chat_action(self, chat_action: str = '', target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
|
|
56
57
|
async def send_file(self, file_type: str, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
|
|
57
58
|
async def send_sticker(self, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
|
|
58
59
|
async def send_location(self, latitude: Any, longitude: Any, target: Any = None, context: Context | None = None, **kwargs: dict[str, Any]) -> dict[int, int]: ...
|
|
@@ -19,6 +19,7 @@ ISSUE_DEPRECATED_YAML: str
|
|
|
19
19
|
ISSUE_DEPRECATED_YAML_HAS_MORE_PLATFORMS: str
|
|
20
20
|
ISSUE_DEPRECATED_YAML_IMPORT_ISSUE_ERROR: str
|
|
21
21
|
DEFAULT_TRUSTED_NETWORKS: Incomplete
|
|
22
|
+
SERVICE_SEND_CHAT_ACTION: str
|
|
22
23
|
SERVICE_SEND_MESSAGE: str
|
|
23
24
|
SERVICE_SEND_PHOTO: str
|
|
24
25
|
SERVICE_SEND_STICKER: str
|
|
@@ -43,9 +44,21 @@ PARSER_HTML: str
|
|
|
43
44
|
PARSER_MD: str
|
|
44
45
|
PARSER_MD2: str
|
|
45
46
|
PARSER_PLAIN_TEXT: str
|
|
47
|
+
ATTR_CHAT_ACTION: str
|
|
46
48
|
ATTR_DATA: str
|
|
47
49
|
ATTR_MESSAGE: str
|
|
48
50
|
ATTR_TITLE: str
|
|
51
|
+
CHAT_ACTION_TYPING: str
|
|
52
|
+
CHAT_ACTION_UPLOAD_PHOTO: str
|
|
53
|
+
CHAT_ACTION_RECORD_VIDEO: str
|
|
54
|
+
CHAT_ACTION_UPLOAD_VIDEO: str
|
|
55
|
+
CHAT_ACTION_RECORD_VOICE: str
|
|
56
|
+
CHAT_ACTION_UPLOAD_VOICE: str
|
|
57
|
+
CHAT_ACTION_UPLOAD_DOCUMENT: str
|
|
58
|
+
CHAT_ACTION_CHOOSE_STICKER: str
|
|
59
|
+
CHAT_ACTION_FIND_LOCATION: str
|
|
60
|
+
CHAT_ACTION_RECORD_VIDEO_NOTE: str
|
|
61
|
+
CHAT_ACTION_UPLOAD_VIDEO_NOTE: str
|
|
49
62
|
ATTR_ARGS: str
|
|
50
63
|
ATTR_AUTHENTICATION: str
|
|
51
64
|
ATTR_CALLBACK_QUERY: str
|
|
@@ -9,5 +9,4 @@ _LOGGER: Incomplete
|
|
|
9
9
|
|
|
10
10
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
11
11
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
12
|
-
async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
13
12
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -21,6 +21,7 @@ class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
|
|
|
21
21
|
MINOR_VERSION: int
|
|
22
22
|
config_flow = CONFIG_FLOW
|
|
23
23
|
options_flow = OPTIONS_FLOW
|
|
24
|
+
options_flow_reloads: bool
|
|
24
25
|
def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
|
|
25
26
|
@staticmethod
|
|
26
27
|
async def async_setup_preview(hass: HomeAssistant) -> None: ...
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
|
4
4
|
from homeassistant.const import CONF_HOST as CONF_HOST
|
|
5
5
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
6
6
|
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
9
|
_LOGGER: Incomplete
|
|
10
|
+
CONFIG_SCHEMA: Incomplete
|
|
10
11
|
|
|
11
|
-
class
|
|
12
|
+
class ToloConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
12
13
|
VERSION: int
|
|
13
|
-
|
|
14
|
+
_dhcp_discovery_info: DhcpServiceInfo | None
|
|
14
15
|
@staticmethod
|
|
15
16
|
def _check_device_availability(host: str) -> bool: ...
|
|
16
17
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
18
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
17
19
|
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
|
18
20
|
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -12,6 +12,7 @@ from datetime import datetime
|
|
|
12
12
|
from homeassistant.components.http import HomeAssistantView
|
|
13
13
|
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
|
|
14
14
|
from homeassistant.helpers.typing import ConfigType
|
|
15
|
+
from pathlib import Path
|
|
15
16
|
from propcache.api import cached_property
|
|
16
17
|
from time import monotonic
|
|
17
18
|
from typing import Any, Generic, Protocol, TypeVar
|
|
@@ -45,6 +46,7 @@ async def async_get_media_source_audio(hass: HomeAssistant, media_source_id: str
|
|
|
45
46
|
@dataclass
|
|
46
47
|
class ResultStream:
|
|
47
48
|
last_used: float = field(default_factory=monotonic, init=False)
|
|
49
|
+
hass: HomeAssistant
|
|
48
50
|
token: str
|
|
49
51
|
extension: str
|
|
50
52
|
content_type: str
|
|
@@ -54,6 +56,7 @@ class ResultStream:
|
|
|
54
56
|
options: dict
|
|
55
57
|
supports_streaming_input: bool
|
|
56
58
|
_manager: SpeechManager
|
|
59
|
+
_override_media_path: Path | None = ...
|
|
57
60
|
@cached_property
|
|
58
61
|
def url(self) -> str: ...
|
|
59
62
|
@cached_property
|
|
@@ -65,6 +68,8 @@ class ResultStream:
|
|
|
65
68
|
@callback
|
|
66
69
|
def async_set_message_stream(self, message_stream: AsyncGenerator[str]) -> None: ...
|
|
67
70
|
async def async_stream_result(self) -> AsyncGenerator[bytes]: ...
|
|
71
|
+
def async_override_result(self, media_path: str | Path) -> None: ...
|
|
72
|
+
async def _async_stream_override_result(self) -> AsyncGenerator[bytes]: ...
|
|
68
73
|
|
|
69
74
|
class HasLastUsed(Protocol):
|
|
70
75
|
last_used: float
|
|
@@ -15,3 +15,4 @@ class UptimeRobotConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
15
15
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
16
16
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
17
17
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
18
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from . import DOMAIN as DOMAIN, SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE, SERVICE_START as SERVICE_START
|
|
1
|
+
from . import DOMAIN as DOMAIN, SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE, SERVICE_START as SERVICE_START, VacuumEntityFeature as VacuumEntityFeature
|
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
3
|
from homeassistant.helpers import intent as intent
|
|
4
4
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .api import VolvoAuth as VolvoAuth
|
|
2
2
|
from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
|
3
|
-
from .coordinator import VolvoConfigEntry as VolvoConfigEntry, VolvoFastIntervalCoordinator as VolvoFastIntervalCoordinator, VolvoMediumIntervalCoordinator as VolvoMediumIntervalCoordinator, VolvoSlowIntervalCoordinator as VolvoSlowIntervalCoordinator, VolvoVerySlowIntervalCoordinator as VolvoVerySlowIntervalCoordinator
|
|
3
|
+
from .coordinator import VolvoConfigEntry as VolvoConfigEntry, VolvoContext as VolvoContext, VolvoFastIntervalCoordinator as VolvoFastIntervalCoordinator, VolvoMediumIntervalCoordinator as VolvoMediumIntervalCoordinator, VolvoRuntimeData as VolvoRuntimeData, VolvoSlowIntervalCoordinator as VolvoSlowIntervalCoordinator, VolvoVerySlowIntervalCoordinator as VolvoVerySlowIntervalCoordinator
|
|
4
4
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
6
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
2
|
from aiohttp import ClientSession as ClientSession
|
|
3
3
|
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
|
|
4
|
+
from homeassistant.helpers.redact import async_redact_data as async_redact_data
|
|
4
5
|
from volvocarsapi.auth import AccessTokenManager
|
|
5
6
|
|
|
7
|
+
_LOGGER: Incomplete
|
|
8
|
+
_TO_REDACT: Incomplete
|
|
9
|
+
|
|
6
10
|
class VolvoAuth(AccessTokenManager):
|
|
7
11
|
_oauth_session: Incomplete
|
|
8
12
|
def __init__(self, websession: ClientSession, oauth_session: OAuth2Session) -> None: ...
|