homeassistant-stubs 2025.9.4__py3-none-any.whl → 2025.10.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.
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/__init__.pyi +3 -1
- homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airos/config_flow.pyi +5 -3
- homeassistant-stubs/components/airos/const.pyi +3 -0
- homeassistant-stubs/components/airos/coordinator.pyi +4 -4
- homeassistant-stubs/components/airos/entity.pyi +2 -2
- homeassistant-stubs/components/airos/sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/select.pyi +1 -0
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +1 -0
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/sensor.pyi +3 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +4 -2
- homeassistant-stubs/components/alexa_devices/utils.pyi +4 -1
- 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/config_flow.pyi +2 -1
- 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/dnsip/sensor.pyi +5 -1
- 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/analytics.pyi +4 -0
- homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
- homeassistant-stubs/components/esphome/climate.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +3 -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/manager.pyi +1 -0
- 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 +44 -13
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -2
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +10 -4
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +3 -1
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +2 -2
- 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/lamarzocco/coordinator.pyi +4 -2
- 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 +12 -0
- homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
- homeassistant-stubs/components/portainer/config_flow.pyi +21 -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/util.pyi +1 -0
- 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 +1 -0
- 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 +16 -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/entity.pyi +1 -1
- 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/wled/analytics.pyi +4 -0
- homeassistant-stubs/components/workday/calendar.pyi +23 -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 +1 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0.dist-info}/RECORD +322 -262
- homeassistant-stubs/components/home_connect/time.pyi +0 -29
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .const import CONF_IS_NEW_STYLE_SCALE as CONF_IS_NEW_STYLE_SCALE
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from aioacaia.acaiascale import AcaiaScale
|
|
4
|
+
from homeassistant.components.bluetooth import async_get_scanner as async_get_scanner
|
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
6
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
2
|
-
from .coordinator import AccuWeatherConfigEntry as AccuWeatherConfigEntry, AccuWeatherDailyForecastDataUpdateCoordinator as AccuWeatherDailyForecastDataUpdateCoordinator, AccuWeatherData as AccuWeatherData, AccuWeatherObservationDataUpdateCoordinator as AccuWeatherObservationDataUpdateCoordinator
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from .coordinator import AccuWeatherConfigEntry as AccuWeatherConfigEntry, AccuWeatherDailyForecastDataUpdateCoordinator as AccuWeatherDailyForecastDataUpdateCoordinator, AccuWeatherData as AccuWeatherData, AccuWeatherHourlyForecastDataUpdateCoordinator as AccuWeatherHourlyForecastDataUpdateCoordinator, AccuWeatherObservationDataUpdateCoordinator as AccuWeatherObservationDataUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from homeassistant.const import CONF_API_KEY as CONF_API_KEY,
|
|
4
|
+
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
6
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
7
7
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from collections.abc import Mapping
|
|
2
3
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
3
4
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME
|
|
4
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
@@ -6,4 +7,8 @@ from typing import Any
|
|
|
6
7
|
|
|
7
8
|
class AccuWeatherFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
8
9
|
VERSION: int
|
|
10
|
+
_latitude: float | None
|
|
11
|
+
_longitude: float | None
|
|
9
12
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
13
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
14
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, UPDATE_INTERVAL_DAILY_FORECAST as UPDATE_INTERVAL_DAILY_FORECAST, UPDATE_INTERVAL_HOURLY_FORECAST as UPDATE_INTERVAL_HOURLY_FORECAST, UPDATE_INTERVAL_OBSERVATION as UPDATE_INTERVAL_OBSERVATION
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from accuweather import AccuWeather as AccuWeather
|
|
4
|
+
from collections.abc import Awaitable, Callable as Callable
|
|
4
5
|
from dataclasses import dataclass
|
|
5
6
|
from datetime import timedelta
|
|
6
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
|
+
from homeassistant.const import CONF_NAME as CONF_NAME
|
|
7
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
|
8
11
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
9
12
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, TimestampDataUpdateCoordinator as TimestampDataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
10
13
|
from typing import Any
|
|
@@ -16,20 +19,30 @@ _LOGGER: Incomplete
|
|
|
16
19
|
class AccuWeatherData:
|
|
17
20
|
coordinator_observation: AccuWeatherObservationDataUpdateCoordinator
|
|
18
21
|
coordinator_daily_forecast: AccuWeatherDailyForecastDataUpdateCoordinator
|
|
22
|
+
coordinator_hourly_forecast: AccuWeatherHourlyForecastDataUpdateCoordinator
|
|
19
23
|
type AccuWeatherConfigEntry = ConfigEntry[AccuWeatherData]
|
|
20
24
|
|
|
21
25
|
class AccuWeatherObservationDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
26
|
+
config_entry: AccuWeatherConfigEntry
|
|
22
27
|
accuweather: Incomplete
|
|
23
28
|
location_key: Incomplete
|
|
24
29
|
device_info: Incomplete
|
|
25
|
-
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather
|
|
30
|
+
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather) -> None: ...
|
|
26
31
|
async def _async_update_data(self) -> dict[str, Any]: ...
|
|
27
32
|
|
|
28
|
-
class
|
|
33
|
+
class AccuWeatherForecastDataUpdateCoordinator(TimestampDataUpdateCoordinator[list[dict[str, Any]]]):
|
|
34
|
+
config_entry: AccuWeatherConfigEntry
|
|
29
35
|
accuweather: Incomplete
|
|
30
36
|
location_key: Incomplete
|
|
37
|
+
_fetch_method: Incomplete
|
|
31
38
|
device_info: Incomplete
|
|
32
|
-
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather,
|
|
39
|
+
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather, coordinator_type: str, update_interval: timedelta, fetch_method: Callable[..., Awaitable[list[dict[str, Any]]]]) -> None: ...
|
|
33
40
|
async def _async_update_data(self) -> list[dict[str, Any]]: ...
|
|
34
41
|
|
|
42
|
+
class AccuWeatherDailyForecastDataUpdateCoordinator(AccuWeatherForecastDataUpdateCoordinator):
|
|
43
|
+
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather) -> None: ...
|
|
44
|
+
|
|
45
|
+
class AccuWeatherHourlyForecastDataUpdateCoordinator(AccuWeatherForecastDataUpdateCoordinator):
|
|
46
|
+
def __init__(self, hass: HomeAssistant, config_entry: AccuWeatherConfigEntry, accuweather: AccuWeather) -> None: ...
|
|
47
|
+
|
|
35
48
|
def _get_device_info(location_key: str, name: str) -> DeviceInfo: ...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .const import API_METRIC as API_METRIC, ATTRIBUTION as ATTRIBUTION, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_SPEED as ATTR_SPEED, ATTR_VALUE as ATTR_VALUE, CONDITION_MAP as CONDITION_MAP
|
|
2
|
-
from .coordinator import AccuWeatherConfigEntry as AccuWeatherConfigEntry, AccuWeatherDailyForecastDataUpdateCoordinator as AccuWeatherDailyForecastDataUpdateCoordinator, AccuWeatherData as AccuWeatherData, AccuWeatherObservationDataUpdateCoordinator as AccuWeatherObservationDataUpdateCoordinator
|
|
2
|
+
from .coordinator import AccuWeatherConfigEntry as AccuWeatherConfigEntry, AccuWeatherDailyForecastDataUpdateCoordinator as AccuWeatherDailyForecastDataUpdateCoordinator, AccuWeatherData as AccuWeatherData, AccuWeatherHourlyForecastDataUpdateCoordinator as AccuWeatherHourlyForecastDataUpdateCoordinator, AccuWeatherObservationDataUpdateCoordinator as AccuWeatherObservationDataUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.components.weather import ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as Forecast, WeatherEntityFeature as WeatherEntityFeature
|
|
5
5
|
from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
@@ -11,7 +11,7 @@ PARALLEL_UPDATES: int
|
|
|
11
11
|
|
|
12
12
|
async def async_setup_entry(hass: HomeAssistant, entry: AccuWeatherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
13
|
|
|
14
|
-
class AccuWeatherEntity(CoordinatorWeatherEntity[AccuWeatherObservationDataUpdateCoordinator, AccuWeatherDailyForecastDataUpdateCoordinator]):
|
|
14
|
+
class AccuWeatherEntity(CoordinatorWeatherEntity[AccuWeatherObservationDataUpdateCoordinator, AccuWeatherDailyForecastDataUpdateCoordinator, AccuWeatherHourlyForecastDataUpdateCoordinator]):
|
|
15
15
|
_attr_has_entity_name: bool
|
|
16
16
|
_attr_name: Incomplete
|
|
17
17
|
_attr_native_precipitation_unit: Incomplete
|
|
@@ -25,6 +25,7 @@ class AccuWeatherEntity(CoordinatorWeatherEntity[AccuWeatherObservationDataUpdat
|
|
|
25
25
|
_attr_supported_features: Incomplete
|
|
26
26
|
observation_coordinator: Incomplete
|
|
27
27
|
daily_coordinator: Incomplete
|
|
28
|
+
hourly_coordinator: Incomplete
|
|
28
29
|
def __init__(self, accuweather_data: AccuWeatherData) -> None: ...
|
|
29
30
|
@property
|
|
30
31
|
def condition(self) -> str | None: ...
|
|
@@ -52,3 +53,5 @@ class AccuWeatherEntity(CoordinatorWeatherEntity[AccuWeatherObservationDataUpdat
|
|
|
52
53
|
def uv_index(self) -> float: ...
|
|
53
54
|
@callback
|
|
54
55
|
def _async_forecast_daily(self) -> list[Forecast] | None: ...
|
|
56
|
+
@callback
|
|
57
|
+
def _async_forecast_hourly(self) -> list[Forecast] | None: ...
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
from .const import DEFAULT_SSL as DEFAULT_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
|
|
1
2
|
from .coordinator import AirOSConfigEntry as AirOSConfigEntry, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
|
|
2
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
|
3
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
|
3
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
5
6
|
|
|
6
7
|
_PLATFORMS: list[Platform]
|
|
7
8
|
|
|
8
9
|
async def async_setup_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool: ...
|
|
10
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool: ...
|
|
9
11
|
async def async_unload_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .coordinator import
|
|
1
|
+
from .coordinator import AirOS8Data as AirOS8Data, AirOSConfigEntry as AirOSConfigEntry, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
|
|
2
2
|
from .entity import AirOSEntity as AirOSEntity
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Callable as Callable
|
|
@@ -13,7 +13,7 @@ PARALLEL_UPDATES: int
|
|
|
13
13
|
|
|
14
14
|
@dataclass(frozen=True, kw_only=True)
|
|
15
15
|
class AirOSBinarySensorEntityDescription(BinarySensorEntityDescription):
|
|
16
|
-
value_fn: Callable[[
|
|
16
|
+
value_fn: Callable[[AirOS8Data], bool]
|
|
17
17
|
|
|
18
18
|
BINARY_SENSORS: tuple[AirOSBinarySensorEntityDescription, ...]
|
|
19
19
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
2
|
-
from .coordinator import
|
|
1
|
+
from .const import DEFAULT_SSL as DEFAULT_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
|
|
2
|
+
from .coordinator import AirOS8 as AirOS8
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
5
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
|
5
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
6
|
+
from homeassistant.data_entry_flow import section as section
|
|
6
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
@@ -11,4 +12,5 @@ STEP_USER_DATA_SCHEMA: Incomplete
|
|
|
11
12
|
|
|
12
13
|
class AirOSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
13
14
|
VERSION: int
|
|
15
|
+
MINOR_VERSION: int
|
|
14
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from airos.airos8 import
|
|
3
|
+
from airos.airos8 import AirOS8 as AirOS8, AirOS8Data
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
6
|
from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
|
|
@@ -9,8 +9,8 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
|
9
9
|
_LOGGER: Incomplete
|
|
10
10
|
type AirOSConfigEntry = ConfigEntry[AirOSDataUpdateCoordinator]
|
|
11
11
|
|
|
12
|
-
class AirOSDataUpdateCoordinator(DataUpdateCoordinator[
|
|
12
|
+
class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOS8Data]):
|
|
13
13
|
config_entry: AirOSConfigEntry
|
|
14
14
|
airos_device: Incomplete
|
|
15
|
-
def __init__(self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device:
|
|
16
|
-
async def _async_update_data(self) ->
|
|
15
|
+
def __init__(self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device: AirOS8) -> None: ...
|
|
16
|
+
async def _async_update_data(self) -> AirOS8Data: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
|
|
2
2
|
from .coordinator import AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from homeassistant.const import CONF_HOST as CONF_HOST
|
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_SSL as CONF_SSL
|
|
5
5
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
|
6
6
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
7
7
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .coordinator import
|
|
1
|
+
from .coordinator import AirOS8Data as AirOS8Data, AirOSConfigEntry as AirOSConfigEntry, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
|
|
2
2
|
from .entity import AirOSEntity as AirOSEntity
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Callable as Callable
|
|
@@ -17,7 +17,7 @@ PARALLEL_UPDATES: int
|
|
|
17
17
|
|
|
18
18
|
@dataclass(frozen=True, kw_only=True)
|
|
19
19
|
class AirOSSensorEntityDescription(SensorEntityDescription):
|
|
20
|
-
value_fn: Callable[[
|
|
20
|
+
value_fn: Callable[[AirOS8Data], StateType]
|
|
21
21
|
|
|
22
22
|
SENSORS: tuple[AirOSSensorEntityDescription, ...]
|
|
23
23
|
|
|
@@ -19,6 +19,7 @@ class AirzoneSelectDescription(SelectEntityDescription):
|
|
|
19
19
|
GRILLE_ANGLE_DICT: Final[dict[str, int]]
|
|
20
20
|
MODE_DICT: Final[dict[str, int]]
|
|
21
21
|
SLEEP_DICT: Final[dict[str, int]]
|
|
22
|
+
Q_ADAPT_DICT: Final[dict[str, int]]
|
|
22
23
|
|
|
23
24
|
def main_zone_options(zone_data: dict[str, Any], options: dict[str, int]) -> list[str]: ...
|
|
24
25
|
|
|
@@ -9,6 +9,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
|
|
|
9
9
|
DOMAIN = DOMAIN
|
|
10
10
|
VERSION = CONFIG_FLOW_VERSION
|
|
11
11
|
MINOR_VERSION = CONFIG_FLOW_MINOR_VERSION
|
|
12
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
12
13
|
async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
13
14
|
async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
14
15
|
async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from .coordinator import AmazonConfigEntry as AmazonConfigEntry
|
|
2
2
|
from .entity import AmazonEntity as AmazonEntity
|
|
3
|
+
from .utils import async_update_unique_id as async_update_unique_id
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from aioamazondevices.api import AmazonDevice as AmazonDevice
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
@@ -16,6 +17,7 @@ PARALLEL_UPDATES: int
|
|
|
16
17
|
class AmazonBinarySensorEntityDescription(BinarySensorEntityDescription):
|
|
17
18
|
is_on_fn: Callable[[AmazonDevice, str], bool]
|
|
18
19
|
is_supported: Callable[[AmazonDevice, str], bool] = ...
|
|
20
|
+
is_available_fn: Callable[[AmazonDevice, str], bool] = ...
|
|
19
21
|
|
|
20
22
|
BINARY_SENSORS: Final[Incomplete]
|
|
21
23
|
|
|
@@ -25,3 +27,5 @@ class AmazonBinarySensorEntity(AmazonEntity, BinarySensorEntity):
|
|
|
25
27
|
entity_description: AmazonBinarySensorEntityDescription
|
|
26
28
|
@property
|
|
27
29
|
def is_on(self) -> bool: ...
|
|
30
|
+
@property
|
|
31
|
+
def available(self) -> bool: ...
|
|
@@ -14,5 +14,7 @@ type AmazonConfigEntry = ConfigEntry[AmazonDevicesCoordinator]
|
|
|
14
14
|
class AmazonDevicesCoordinator(DataUpdateCoordinator[dict[str, AmazonDevice]]):
|
|
15
15
|
config_entry: AmazonConfigEntry
|
|
16
16
|
api: Incomplete
|
|
17
|
+
previous_devices: set[str]
|
|
17
18
|
def __init__(self, hass: HomeAssistant, entry: AmazonConfigEntry, session: ClientSession) -> None: ...
|
|
18
19
|
async def _async_update_data(self) -> dict[str, AmazonDevice]: ...
|
|
20
|
+
async def _async_remove_device_stale(self, stale_devices: set[str]) -> None: ...
|
|
@@ -16,6 +16,7 @@ PARALLEL_UPDATES: int
|
|
|
16
16
|
@dataclass(frozen=True, kw_only=True)
|
|
17
17
|
class AmazonSensorEntityDescription(SensorEntityDescription):
|
|
18
18
|
native_unit_of_measurement_fn: Callable[[AmazonDevice, str], str] | None = ...
|
|
19
|
+
is_available_fn: Callable[[AmazonDevice, str], bool] = ...
|
|
19
20
|
|
|
20
21
|
SENSORS: Final[Incomplete]
|
|
21
22
|
|
|
@@ -27,3 +28,5 @@ class AmazonSensorEntity(AmazonEntity, SensorEntity):
|
|
|
27
28
|
def native_unit_of_measurement(self) -> str | None: ...
|
|
28
29
|
@property
|
|
29
30
|
def native_value(self) -> StateType: ...
|
|
31
|
+
@property
|
|
32
|
+
def available(self) -> bool: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .coordinator import AmazonConfigEntry as AmazonConfigEntry
|
|
2
2
|
from .entity import AmazonEntity as AmazonEntity
|
|
3
|
-
from .utils import alexa_api_call as alexa_api_call
|
|
3
|
+
from .utils import alexa_api_call as alexa_api_call, async_update_unique_id as async_update_unique_id
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from aioamazondevices.api import AmazonDevice as AmazonDevice
|
|
6
6
|
from collections.abc import Callable as Callable
|
|
@@ -15,7 +15,7 @@ PARALLEL_UPDATES: int
|
|
|
15
15
|
@dataclass(frozen=True, kw_only=True)
|
|
16
16
|
class AmazonSwitchEntityDescription(SwitchEntityDescription):
|
|
17
17
|
is_on_fn: Callable[[AmazonDevice], bool]
|
|
18
|
-
|
|
18
|
+
is_available_fn: Callable[[AmazonDevice, str], bool] = ...
|
|
19
19
|
method: str
|
|
20
20
|
|
|
21
21
|
SWITCHES: Final[Incomplete]
|
|
@@ -30,3 +30,5 @@ class AmazonSwitchEntity(AmazonEntity, SwitchEntity):
|
|
|
30
30
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
31
31
|
@property
|
|
32
32
|
def is_on(self) -> bool: ...
|
|
33
|
+
@property
|
|
34
|
+
def available(self) -> bool: ...
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
1
|
+
from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
|
|
2
|
+
from .coordinator import AmazonDevicesCoordinator as AmazonDevicesCoordinator
|
|
2
3
|
from .entity import AmazonEntity as AmazonEntity
|
|
3
4
|
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
5
7
|
from typing import Any, Concatenate
|
|
6
8
|
|
|
7
9
|
def alexa_api_call[_T: AmazonEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
|
10
|
+
async def async_update_unique_id(hass: HomeAssistant, coordinator: AmazonDevicesCoordinator, domain: str, old_key: str, new_key: str) -> None: ...
|
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
from .analytics import
|
|
2
|
-
from .
|
|
3
|
-
from .
|
|
4
|
-
from _typeshed import Incomplete
|
|
5
|
-
from homeassistant.components import websocket_api as websocket_api
|
|
6
|
-
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
|
|
7
|
-
from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
|
|
8
|
-
from homeassistant.helpers.event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
|
|
9
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
10
|
-
from homeassistant.util.hass_dict import HassKey as HassKey
|
|
11
|
-
from typing import Any
|
|
1
|
+
from .analytics import AnalyticsInput as AnalyticsInput, AnalyticsModifications as AnalyticsModifications, DeviceAnalyticsModifications as DeviceAnalyticsModifications, EntityAnalyticsModifications as EntityAnalyticsModifications, async_devices_payload as async_devices_payload
|
|
2
|
+
from homeassistant.components import websocket_api
|
|
3
|
+
from homeassistant.core import callback
|
|
12
4
|
|
|
13
|
-
|
|
14
|
-
DATA_COMPONENT: HassKey[Analytics]
|
|
15
|
-
|
|
16
|
-
async def async_setup(hass: HomeAssistant, _: ConfigType) -> bool: ...
|
|
17
|
-
@callback
|
|
18
|
-
@websocket_api.require_admin
|
|
19
|
-
def websocket_analytics(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
20
|
-
@websocket_api.require_admin
|
|
21
|
-
@websocket_api.async_response
|
|
22
|
-
async def websocket_analytics_preferences(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
5
|
+
__all__ = ['AnalyticsInput', 'AnalyticsModifications', 'DeviceAnalyticsModifications', 'EntityAnalyticsModifications', 'async_devices_payload']
|
|
@@ -1,21 +1,53 @@
|
|
|
1
|
-
from .const import ANALYTICS_ENDPOINT_URL as ANALYTICS_ENDPOINT_URL, ANALYTICS_ENDPOINT_URL_DEV as ANALYTICS_ENDPOINT_URL_DEV, ATTR_ADDONS as ATTR_ADDONS, ATTR_ADDON_COUNT as ATTR_ADDON_COUNT, ATTR_ARCH as ATTR_ARCH, ATTR_AUTOMATION_COUNT as ATTR_AUTOMATION_COUNT, ATTR_AUTO_UPDATE as ATTR_AUTO_UPDATE, ATTR_BASE as ATTR_BASE, ATTR_BOARD as ATTR_BOARD, ATTR_CERTIFICATE as ATTR_CERTIFICATE, ATTR_CONFIGURED as ATTR_CONFIGURED, ATTR_CUSTOM_INTEGRATIONS as ATTR_CUSTOM_INTEGRATIONS, ATTR_DIAGNOSTICS as ATTR_DIAGNOSTICS, ATTR_ENERGY as ATTR_ENERGY, ATTR_ENGINE as ATTR_ENGINE, ATTR_HEALTHY as ATTR_HEALTHY, ATTR_INTEGRATIONS as ATTR_INTEGRATIONS, ATTR_INTEGRATION_COUNT as ATTR_INTEGRATION_COUNT, ATTR_OPERATING_SYSTEM as ATTR_OPERATING_SYSTEM, ATTR_PROTECTED as ATTR_PROTECTED, ATTR_RECORDER as ATTR_RECORDER, ATTR_SLUG as ATTR_SLUG, ATTR_STATE_COUNT as ATTR_STATE_COUNT, ATTR_STATISTICS as ATTR_STATISTICS, ATTR_SUPERVISOR as ATTR_SUPERVISOR, ATTR_SUPPORTED as ATTR_SUPPORTED, ATTR_USAGE as ATTR_USAGE, ATTR_USER_COUNT as ATTR_USER_COUNT, ATTR_UUID as ATTR_UUID, ATTR_VERSION as ATTR_VERSION, LOGGER as LOGGER, PREFERENCE_SCHEMA as PREFERENCE_SCHEMA, STORAGE_KEY as STORAGE_KEY, STORAGE_VERSION as STORAGE_VERSION
|
|
1
|
+
from .const import ANALYTICS_ENDPOINT_URL as ANALYTICS_ENDPOINT_URL, ANALYTICS_ENDPOINT_URL_DEV as ANALYTICS_ENDPOINT_URL_DEV, ATTR_ADDONS as ATTR_ADDONS, ATTR_ADDON_COUNT as ATTR_ADDON_COUNT, ATTR_ARCH as ATTR_ARCH, ATTR_AUTOMATION_COUNT as ATTR_AUTOMATION_COUNT, ATTR_AUTO_UPDATE as ATTR_AUTO_UPDATE, ATTR_BASE as ATTR_BASE, ATTR_BOARD as ATTR_BOARD, ATTR_CERTIFICATE as ATTR_CERTIFICATE, ATTR_CONFIGURED as ATTR_CONFIGURED, ATTR_CUSTOM_INTEGRATIONS as ATTR_CUSTOM_INTEGRATIONS, ATTR_DIAGNOSTICS as ATTR_DIAGNOSTICS, ATTR_ENERGY as ATTR_ENERGY, ATTR_ENGINE as ATTR_ENGINE, ATTR_HEALTHY as ATTR_HEALTHY, ATTR_INTEGRATIONS as ATTR_INTEGRATIONS, ATTR_INTEGRATION_COUNT as ATTR_INTEGRATION_COUNT, ATTR_OPERATING_SYSTEM as ATTR_OPERATING_SYSTEM, ATTR_PROTECTED as ATTR_PROTECTED, ATTR_RECORDER as ATTR_RECORDER, ATTR_SLUG as ATTR_SLUG, ATTR_STATE_COUNT as ATTR_STATE_COUNT, ATTR_STATISTICS as ATTR_STATISTICS, ATTR_SUPERVISOR as ATTR_SUPERVISOR, ATTR_SUPPORTED as ATTR_SUPPORTED, ATTR_USAGE as ATTR_USAGE, ATTR_USER_COUNT as ATTR_USER_COUNT, ATTR_UUID as ATTR_UUID, ATTR_VERSION as ATTR_VERSION, DOMAIN as DOMAIN, LOGGER as LOGGER, PREFERENCE_SCHEMA as PREFERENCE_SCHEMA, STORAGE_KEY as STORAGE_KEY, STORAGE_VERSION as STORAGE_VERSION
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from
|
|
3
|
+
from collections.abc import Awaitable, Callable, Iterable, Mapping
|
|
4
|
+
from dataclasses import dataclass, field
|
|
4
5
|
from datetime import datetime
|
|
5
6
|
from homeassistant.components import hassio as hassio
|
|
6
7
|
from homeassistant.components.api import ATTR_INSTALLATION_TYPE as ATTR_INSTALLATION_TYPE
|
|
7
8
|
from homeassistant.config_entries import SOURCE_IGNORE as SOURCE_IGNORE
|
|
8
|
-
from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, BASE_PLATFORMS as BASE_PLATFORMS
|
|
9
|
+
from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_DOMAIN as ATTR_DOMAIN, BASE_PLATFORMS as BASE_PLATFORMS
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
10
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
11
12
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
12
13
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
14
|
+
from homeassistant.helpers.singleton import singleton as singleton
|
|
13
15
|
from homeassistant.helpers.storage import Store as Store
|
|
14
16
|
from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
|
|
15
|
-
from homeassistant.
|
|
17
|
+
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED
|
|
18
|
+
from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integrations as async_get_integrations
|
|
16
19
|
from homeassistant.setup import async_get_loaded_integrations as async_get_loaded_integrations
|
|
17
|
-
from typing import Any
|
|
20
|
+
from typing import Any, Protocol
|
|
18
21
|
|
|
22
|
+
DATA_ANALYTICS_MODIFIERS: str
|
|
23
|
+
type AnalyticsModifier = Callable[[HomeAssistant, AnalyticsInput], Awaitable[AnalyticsModifications]]
|
|
24
|
+
|
|
25
|
+
def _async_get_modifiers(hass: HomeAssistant) -> dict[str, AnalyticsModifier | None]: ...
|
|
26
|
+
|
|
27
|
+
@dataclass
|
|
28
|
+
class AnalyticsInput:
|
|
29
|
+
device_ids: Iterable[str] = field(default_factory=list)
|
|
30
|
+
entity_ids: Iterable[str] = field(default_factory=list)
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
class AnalyticsModifications:
|
|
34
|
+
remove: bool = ...
|
|
35
|
+
devices: Mapping[str, DeviceAnalyticsModifications] | None = ...
|
|
36
|
+
entities: Mapping[str, EntityAnalyticsModifications] | None = ...
|
|
37
|
+
|
|
38
|
+
@dataclass
|
|
39
|
+
class DeviceAnalyticsModifications:
|
|
40
|
+
remove: bool = ...
|
|
41
|
+
|
|
42
|
+
@dataclass
|
|
43
|
+
class EntityAnalyticsModifications:
|
|
44
|
+
remove: bool = ...
|
|
45
|
+
|
|
46
|
+
class AnalyticsPlatformProtocol(Protocol):
|
|
47
|
+
async def async_modify_analytics(self, hass: HomeAssistant, analytics_input: AnalyticsInput) -> AnalyticsModifications: ...
|
|
48
|
+
|
|
49
|
+
async def _async_get_analytics_platform(hass: HomeAssistant, domain: str) -> AnalyticsPlatformProtocol | None: ...
|
|
50
|
+
async def _async_get_modifier(hass: HomeAssistant, domain: str) -> AnalyticsModifier | None: ...
|
|
19
51
|
def gen_uuid() -> str: ...
|
|
20
52
|
|
|
21
53
|
@dataclass
|
|
@@ -49,4 +81,9 @@ class Analytics:
|
|
|
49
81
|
def _async_should_report_integration(self, integration: Integration, yaml_domains: set[str], entity_registry_platforms: set[str]) -> bool: ...
|
|
50
82
|
|
|
51
83
|
def _domains_from_yaml_config(yaml_configuration: dict[str, Any]) -> set[str]: ...
|
|
84
|
+
|
|
85
|
+
DEFAULT_ANALYTICS_CONFIG: Incomplete
|
|
86
|
+
DEFAULT_DEVICE_ANALYTICS_CONFIG: Incomplete
|
|
87
|
+
DEFAULT_ENTITY_ANALYTICS_CONFIG: Incomplete
|
|
88
|
+
|
|
52
89
|
async def async_devices_payload(hass: HomeAssistant) -> dict: ...
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
from .const import CONF_ADBKEY as CONF_ADBKEY, CONF_ADB_SERVER_IP as CONF_ADB_SERVER_IP, CONF_ADB_SERVER_PORT as CONF_ADB_SERVER_PORT, CONF_SCREENCAP_INTERVAL as CONF_SCREENCAP_INTERVAL, CONF_STATE_DETECTION_RULES as CONF_STATE_DETECTION_RULES, DEFAULT_ADB_SERVER_PORT as DEFAULT_ADB_SERVER_PORT, DEVICE_ANDROIDTV as DEVICE_ANDROIDTV, DEVICE_FIRETV as DEVICE_FIRETV, PROP_ETHMAC as PROP_ETHMAC, PROP_WIFIMAC as PROP_WIFIMAC, SIGNAL_CONFIG_ENTITY as SIGNAL_CONFIG_ENTITY
|
|
1
|
+
from .const import CONF_ADBKEY as CONF_ADBKEY, CONF_ADB_SERVER_IP as CONF_ADB_SERVER_IP, CONF_ADB_SERVER_PORT as CONF_ADB_SERVER_PORT, CONF_SCREENCAP_INTERVAL as CONF_SCREENCAP_INTERVAL, CONF_STATE_DETECTION_RULES as CONF_STATE_DETECTION_RULES, DEFAULT_ADB_SERVER_PORT as DEFAULT_ADB_SERVER_PORT, DEVICE_ANDROIDTV as DEVICE_ANDROIDTV, DEVICE_FIRETV as DEVICE_FIRETV, DOMAIN as DOMAIN, PROP_ETHMAC as PROP_ETHMAC, PROP_WIFIMAC as PROP_WIFIMAC, SIGNAL_CONFIG_ENTITY as SIGNAL_CONFIG_ENTITY
|
|
2
|
+
from .services import async_setup_services as async_setup_services
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from androidtv.adb_manager.adb_manager_sync import PythonRSASigner as PythonRSASigner
|
|
4
5
|
from androidtv.setup_async import AndroidTVAsync as AndroidTVAsync, FireTVAsync as FireTVAsync
|
|
@@ -11,10 +12,12 @@ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
|
11
12
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
12
13
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
|
13
14
|
from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
|
|
15
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
14
16
|
from typing import Any
|
|
15
17
|
|
|
16
18
|
ADB_PYTHON_EXCEPTIONS: tuple
|
|
17
19
|
ADB_TCP_EXCEPTIONS: tuple
|
|
20
|
+
CONFIG_SCHEMA: Incomplete
|
|
18
21
|
PLATFORMS: Incomplete
|
|
19
22
|
RELOAD_OPTIONS: Incomplete
|
|
20
23
|
_INVALID_MACS: Incomplete
|
|
@@ -30,6 +33,7 @@ def get_androidtv_mac(dev_props: dict[str, Any]) -> str | None: ...
|
|
|
30
33
|
def _setup_androidtv(hass: HomeAssistant, config: Mapping[str, Any]) -> tuple[str, PythonRSASigner | None, str]: ...
|
|
31
34
|
async def async_connect_androidtv(hass: HomeAssistant, config: Mapping[str, Any], *, state_detection_rules: dict[str, Any] | None = None, timeout: float = 30.0) -> tuple[AndroidTVAsync | FireTVAsync | None, str | None]: ...
|
|
32
35
|
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
36
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
33
37
|
async def async_setup_entry(hass: HomeAssistant, entry: AndroidTVConfigEntry) -> bool: ...
|
|
34
38
|
async def async_unload_entry(hass: HomeAssistant, entry: AndroidTVConfigEntry) -> bool: ...
|
|
35
39
|
async def update_listener(hass: HomeAssistant, entry: AndroidTVConfigEntry) -> None: ...
|
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
from . import AndroidTVConfigEntry as AndroidTVConfigEntry
|
|
2
2
|
from .const import CONF_APPS as CONF_APPS, CONF_EXCLUDE_UNNAMED_APPS as CONF_EXCLUDE_UNNAMED_APPS, CONF_GET_SOURCES as CONF_GET_SOURCES, CONF_SCREENCAP_INTERVAL as CONF_SCREENCAP_INTERVAL, CONF_TURN_OFF_COMMAND as CONF_TURN_OFF_COMMAND, CONF_TURN_ON_COMMAND as CONF_TURN_ON_COMMAND, DEFAULT_EXCLUDE_UNNAMED_APPS as DEFAULT_EXCLUDE_UNNAMED_APPS, DEFAULT_GET_SOURCES as DEFAULT_GET_SOURCES, DEFAULT_SCREENCAP_INTERVAL as DEFAULT_SCREENCAP_INTERVAL, DEVICE_ANDROIDTV as DEVICE_ANDROIDTV, SIGNAL_CONFIG_ENTITY as SIGNAL_CONFIG_ENTITY
|
|
3
3
|
from .entity import AndroidTVEntity as AndroidTVEntity, adb_decorator as adb_decorator
|
|
4
|
+
from .services import ATTR_ADB_RESPONSE as ATTR_ADB_RESPONSE, ATTR_HDMI_INPUT as ATTR_HDMI_INPUT, SERVICE_LEARN_SENDEVENT as SERVICE_LEARN_SENDEVENT
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from androidtv.setup_async import AndroidTVAsync as AndroidTVAsync, FireTVAsync as FireTVAsync
|
|
6
7
|
from datetime import datetime, timedelta
|
|
7
8
|
from homeassistant.components import persistent_notification as persistent_notification
|
|
8
9
|
from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
|
|
9
|
-
from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
|
-
from homeassistant.helpers import entity_platform as entity_platform
|
|
12
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
13
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
14
13
|
from homeassistant.util.dt import utcnow as utcnow
|
|
15
14
|
|
|
16
15
|
_LOGGER: Incomplete
|
|
17
|
-
ATTR_ADB_RESPONSE: str
|
|
18
|
-
ATTR_DEVICE_PATH: str
|
|
19
|
-
ATTR_HDMI_INPUT: str
|
|
20
|
-
ATTR_LOCAL_PATH: str
|
|
21
|
-
SERVICE_ADB_COMMAND: str
|
|
22
|
-
SERVICE_DOWNLOAD: str
|
|
23
|
-
SERVICE_LEARN_SENDEVENT: str
|
|
24
|
-
SERVICE_UPLOAD: str
|
|
25
16
|
ANDROIDTV_STATES: Incomplete
|
|
26
17
|
|
|
27
18
|
async def async_setup_entry(hass: HomeAssistant, entry: AndroidTVConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
4
|
+
from homeassistant.helpers import service as service
|
|
5
|
+
|
|
6
|
+
ATTR_ADB_RESPONSE: str
|
|
7
|
+
ATTR_DEVICE_PATH: str
|
|
8
|
+
ATTR_HDMI_INPUT: str
|
|
9
|
+
ATTR_LOCAL_PATH: str
|
|
10
|
+
SERVICE_ADB_COMMAND: str
|
|
11
|
+
SERVICE_DOWNLOAD: str
|
|
12
|
+
SERVICE_LEARN_SENDEVENT: str
|
|
13
|
+
SERVICE_UPLOAD: str
|
|
14
|
+
|
|
15
|
+
@callback
|
|
16
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
|
@@ -2,7 +2,7 @@ from .const import CONF_APPS as CONF_APPS, DOMAIN as DOMAIN
|
|
|
2
2
|
from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
|
|
5
|
-
from homeassistant.const import
|
|
5
|
+
from homeassistant.const import CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME
|
|
6
6
|
from homeassistant.core import callback as callback
|
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
8
8
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
|
@@ -14,8 +14,6 @@ class AndroidTVRemoteBaseEntity(Entity):
|
|
|
14
14
|
_attr_has_entity_name: bool
|
|
15
15
|
_attr_should_poll: bool
|
|
16
16
|
_api: Incomplete
|
|
17
|
-
_host: Incomplete
|
|
18
|
-
_name: Incomplete
|
|
19
17
|
_apps: dict[str, Any]
|
|
20
18
|
_attr_unique_id: Incomplete
|
|
21
19
|
_attr_is_on: Incomplete
|
|
@@ -10,4 +10,4 @@ from typing import Any
|
|
|
10
10
|
__all__ = ['DOMAIN', 'EVENT_RECORDING', 'OPTION_PREFERRED', 'SAMPLES_PER_CHUNK', 'SAMPLE_CHANNELS', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'async_create_default_pipeline', 'async_get_pipelines', 'async_pipeline_from_audio_stream', 'async_setup', 'async_update_pipeline']
|
|
11
11
|
|
|
12
12
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
13
|
-
async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | dict[str, Any] | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ..., conversation_extra_system_prompt: str | None = None) -> None: ...
|
|
13
|
+
async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | dict[str, Any] | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, satellite_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ..., conversation_extra_system_prompt: str | None = None) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
from .audio_enhancer import AudioEnhancer as AudioEnhancer, EnhancedAudioChunk as EnhancedAudioChunk, MicroVadSpeexEnhancer as MicroVadSpeexEnhancer
|
|
3
|
-
from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
|
|
3
|
+
from .const import ACKNOWLEDGE_PATH as ACKNOWLEDGE_PATH, BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
|
|
4
4
|
from .error import DuplicateWakeUpDetectedError as DuplicateWakeUpDetectedError, IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionAborted as WakeWordDetectionAborted, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
|
|
5
5
|
from .vad import AudioBuffer as AudioBuffer, VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter, chunk_samples as chunk_samples
|
|
6
6
|
from _typeshed import Incomplete
|
|
@@ -152,6 +152,7 @@ class PipelineRun:
|
|
|
152
152
|
audio_enhancer: AudioEnhancer | None = ...
|
|
153
153
|
audio_chunking_buffer: AudioBuffer = field(default_factory=Incomplete)
|
|
154
154
|
_device_id: str | None = ...
|
|
155
|
+
_satellite_id: str | None = ...
|
|
155
156
|
_conversation_data: PipelineConversationData | None = ...
|
|
156
157
|
_intent_agent_only = ...
|
|
157
158
|
_streamed_response_text = ...
|
|
@@ -159,7 +160,7 @@ class PipelineRun:
|
|
|
159
160
|
def __eq__(self, other: object) -> bool: ...
|
|
160
161
|
@callback
|
|
161
162
|
def process_event(self, event: PipelineEvent) -> None: ...
|
|
162
|
-
def start(self, conversation_id: str, device_id: str | None) -> None: ...
|
|
163
|
+
def start(self, conversation_id: str, device_id: str | None, satellite_id: str | None) -> None: ...
|
|
163
164
|
async def end(self) -> None: ...
|
|
164
165
|
async def prepare_wake_word_detection(self) -> None: ...
|
|
165
166
|
async def wake_word_detection(self, stream: AsyncIterable[EnhancedAudioChunk], audio_chunks_for_stt: list[EnhancedAudioChunk]) -> wake_word.DetectionResult | None: ...
|
|
@@ -168,9 +169,10 @@ class PipelineRun:
|
|
|
168
169
|
async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[EnhancedAudioChunk]) -> str: ...
|
|
169
170
|
async def _speech_to_text_stream(self, audio_stream: AsyncIterable[EnhancedAudioChunk], stt_vad: VoiceCommandSegmenter | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[bytes]: ...
|
|
170
171
|
async def prepare_recognize_intent(self, session: chat_session.ChatSession) -> None: ...
|
|
171
|
-
async def recognize_intent(self, intent_input: str, conversation_id: str,
|
|
172
|
+
async def recognize_intent(self, intent_input: str, conversation_id: str, conversation_extra_system_prompt: str | None) -> tuple[str, bool]: ...
|
|
173
|
+
def _get_all_targets_in_satellite_area(self, intent_response: intent.IntentResponse, satellite_id: str | None, device_id: str | None) -> bool: ...
|
|
172
174
|
async def prepare_text_to_speech(self) -> None: ...
|
|
173
|
-
async def text_to_speech(self, tts_input: str) -> None: ...
|
|
175
|
+
async def text_to_speech(self, tts_input: str, override_media_path: Path | None = None) -> None: ...
|
|
174
176
|
def _capture_chunk(self, audio_bytes: bytes | None) -> None: ...
|
|
175
177
|
def _start_debug_recording_thread(self) -> None: ...
|
|
176
178
|
async def _stop_debug_recording_thread(self) -> None: ...
|
|
@@ -191,6 +193,7 @@ class PipelineInput:
|
|
|
191
193
|
tts_input: str | None = ...
|
|
192
194
|
conversation_extra_system_prompt: str | None = ...
|
|
193
195
|
device_id: str | None = ...
|
|
196
|
+
satellite_id: str | None = ...
|
|
194
197
|
async def execute(self) -> None: ...
|
|
195
198
|
async def validate(self) -> None: ...
|
|
196
199
|
|
|
@@ -22,7 +22,7 @@ class AssistPipelineSelect(SelectEntity, restore_state.RestoreEntity):
|
|
|
22
22
|
_unique_id_prefix: Incomplete
|
|
23
23
|
_attr_unique_id: Incomplete
|
|
24
24
|
hass: Incomplete
|
|
25
|
-
def __init__(self, hass: HomeAssistant, domain: str, unique_id_prefix: str) -> None: ...
|
|
25
|
+
def __init__(self, hass: HomeAssistant, domain: str, unique_id_prefix: str, index: int = 0) -> None: ...
|
|
26
26
|
async def async_added_to_hass(self) -> None: ...
|
|
27
27
|
async def async_select_option(self, option: str) -> None: ...
|
|
28
28
|
async def _pipelines_updated(self, change_set: Iterable[collection.CollectionChange]) -> None: ...
|