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,13 +1,14 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import asyncio
|
|
3
3
|
from .const import OTBR_DOMAIN as OTBR_DOMAIN, ZHA_DOMAIN as ZHA_DOMAIN
|
|
4
|
-
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, async_flash_silabs_firmware as async_flash_silabs_firmware, get_otbr_addon_manager as get_otbr_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
|
|
4
|
+
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, ResetTarget as ResetTarget, async_flash_silabs_firmware as async_flash_silabs_firmware, get_otbr_addon_manager as get_otbr_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from abc import ABC, abstractmethod
|
|
7
|
+
from enum import StrEnum
|
|
7
8
|
from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
|
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, FlowType as FlowType, OptionsFlow as OptionsFlow
|
|
9
10
|
from homeassistant.core import callback as callback
|
|
10
|
-
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
|
11
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow, progress_step as progress_step
|
|
11
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
12
13
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
13
14
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
@@ -16,38 +17,64 @@ from typing import Any
|
|
|
16
17
|
_LOGGER: Incomplete
|
|
17
18
|
STEP_PICK_FIRMWARE_THREAD: str
|
|
18
19
|
STEP_PICK_FIRMWARE_ZIGBEE: str
|
|
20
|
+
STEP_PICK_FIRMWARE_THREAD_MIGRATE: str
|
|
21
|
+
STEP_PICK_FIRMWARE_ZIGBEE_MIGRATE: str
|
|
22
|
+
|
|
23
|
+
class PickedFirmwareType(StrEnum):
|
|
24
|
+
THREAD = 'thread'
|
|
25
|
+
ZIGBEE = 'zigbee'
|
|
26
|
+
|
|
27
|
+
class ZigbeeFlowStrategy(StrEnum):
|
|
28
|
+
ADVANCED = 'advanced'
|
|
29
|
+
RECOMMENDED = 'recommended'
|
|
30
|
+
|
|
31
|
+
class ZigbeeIntegration(StrEnum):
|
|
32
|
+
OTHER = 'other'
|
|
33
|
+
ZHA = 'zha'
|
|
19
34
|
|
|
20
35
|
class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
|
|
21
|
-
|
|
22
|
-
|
|
36
|
+
ZIGBEE_BAUDRATE: int
|
|
37
|
+
BOOTLOADER_RESET_METHODS: list[ResetTarget]
|
|
38
|
+
_picked_firmware_type: PickedFirmwareType
|
|
39
|
+
_zigbee_flow_strategy: ZigbeeFlowStrategy
|
|
23
40
|
_probed_firmware_info: FirmwareInfo | None
|
|
24
41
|
_device: str | None
|
|
25
42
|
_hardware_name: str
|
|
26
|
-
|
|
27
|
-
addon_start_task: asyncio.Task | None
|
|
43
|
+
_zigbee_integration: Incomplete
|
|
28
44
|
addon_uninstall_task: asyncio.Task | None
|
|
29
|
-
firmware_install_task: asyncio.Task | None
|
|
45
|
+
firmware_install_task: asyncio.Task[None] | None
|
|
30
46
|
installing_firmware_name: str | None
|
|
31
47
|
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
|
32
48
|
def _get_translation_placeholders(self) -> dict[str, str]: ...
|
|
33
49
|
async def _async_get_addon_info(self, addon_manager: AddonManager) -> AddonInfo: ...
|
|
34
50
|
async def async_step_pick_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
35
|
-
async def _probe_firmware_info(self, probe_methods: tuple[ApplicationType, ...] = ...) -> bool: ...
|
|
36
51
|
async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
|
|
52
|
+
async def _install_firmware(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType) -> None: ...
|
|
53
|
+
async def _configure_and_start_otbr_addon(self) -> None: ...
|
|
37
54
|
async def async_step_firmware_download_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
38
55
|
async def async_step_firmware_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
56
|
+
async def async_step_unsupported_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
57
|
+
async def async_step_zigbee_installation_type(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
58
|
+
async def async_step_zigbee_intent_recommended(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
59
|
+
async def async_step_zigbee_intent_custom(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
60
|
+
async def async_step_zigbee_integration(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
61
|
+
async def async_step_zigbee_integration_zha(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
62
|
+
async def async_step_zigbee_integration_other(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
63
|
+
async def _async_continue_picked_firmware(self) -> ConfigFlowResult: ...
|
|
64
|
+
async def async_step_finish_thread_installation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
39
65
|
async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
66
|
+
async def async_step_pick_firmware_zigbee_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
40
67
|
async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
41
|
-
async def async_step_addon_operation_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
42
68
|
async def async_step_pre_confirm_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
43
|
-
async def
|
|
44
|
-
|
|
69
|
+
async def async_step_continue_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
70
|
+
@callback
|
|
71
|
+
def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
|
|
45
72
|
async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
73
|
+
async def async_step_pick_firmware_thread_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
46
74
|
async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
47
75
|
async def async_step_install_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
48
76
|
async def async_step_start_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
49
77
|
async def async_step_pre_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
50
|
-
async def async_step_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
51
78
|
@abstractmethod
|
|
52
79
|
def _async_flow_finished(self) -> ConfigFlowResult: ...
|
|
53
80
|
|
|
@@ -58,6 +85,8 @@ class BaseFirmwareConfigFlow(BaseFirmwareInstallFlow, ConfigFlow, metaclass=abc.
|
|
|
58
85
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
|
59
86
|
_probed_firmware_info: Incomplete
|
|
60
87
|
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
88
|
+
@callback
|
|
89
|
+
def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
|
|
61
90
|
|
|
62
91
|
class BaseFirmwareOptionsFlow(BaseFirmwareInstallFlow, OptionsFlow, metaclass=abc.ABCMeta):
|
|
63
92
|
_probed_firmware_info: FirmwareInfo
|
|
@@ -67,3 +96,5 @@ class BaseFirmwareOptionsFlow(BaseFirmwareInstallFlow, OptionsFlow, metaclass=ab
|
|
|
67
96
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
68
97
|
async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
69
98
|
async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
99
|
+
@callback
|
|
100
|
+
def _continue_zha_flow(self, zha_result: ConfigFlowResult) -> ConfigFlowResult: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
2
2
|
from .helpers import async_register_firmware_info_callback as async_register_firmware_info_callback
|
|
3
|
-
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, async_flash_silabs_firmware as async_flash_silabs_firmware
|
|
3
|
+
from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, ResetTarget as ResetTarget, async_flash_silabs_firmware as async_flash_silabs_firmware
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Callable
|
|
6
6
|
from dataclasses import dataclass
|
|
@@ -32,7 +32,7 @@ class FirmwareUpdateExtraStoredData(ExtraStoredData):
|
|
|
32
32
|
|
|
33
33
|
class BaseFirmwareUpdateEntity(CoordinatorEntity[FirmwareUpdateCoordinator], UpdateEntity):
|
|
34
34
|
entity_description: FirmwareUpdateEntityDescription
|
|
35
|
-
|
|
35
|
+
bootloader_reset_methods: list[ResetTarget]
|
|
36
36
|
_attr_supported_features: Incomplete
|
|
37
37
|
_attr_has_entity_name: bool
|
|
38
38
|
_current_device: Incomplete
|
|
@@ -2,7 +2,7 @@ from . import DATA_COMPONENT as DATA_COMPONENT
|
|
|
2
2
|
from .const import OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
|
|
3
3
|
from .silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from collections.abc import AsyncIterator, Callable as Callable, Iterable
|
|
5
|
+
from collections.abc import AsyncIterator, Callable as Callable, Iterable, Sequence
|
|
6
6
|
from contextlib import asynccontextmanager
|
|
7
7
|
from dataclasses import dataclass
|
|
8
8
|
from enum import StrEnum
|
|
@@ -12,20 +12,26 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
13
13
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
14
14
|
from homeassistant.helpers.singleton import singleton as singleton
|
|
15
|
-
from universal_silabs_flasher.const import ApplicationType as FlasherApplicationType
|
|
15
|
+
from universal_silabs_flasher.const import ApplicationType as FlasherApplicationType, ResetTarget as FlasherResetTarget
|
|
16
16
|
|
|
17
17
|
_LOGGER: Incomplete
|
|
18
18
|
|
|
19
19
|
class ApplicationType(StrEnum):
|
|
20
20
|
GECKO_BOOTLOADER = 'bootloader'
|
|
21
|
-
CPC = 'cpc'
|
|
22
21
|
EZSP = 'ezsp'
|
|
23
22
|
SPINEL = 'spinel'
|
|
23
|
+
CPC = 'cpc'
|
|
24
24
|
ROUTER = 'router'
|
|
25
25
|
@classmethod
|
|
26
26
|
def from_flasher_application_type(cls, app_type: FlasherApplicationType) -> ApplicationType: ...
|
|
27
27
|
def as_flasher_application_type(self) -> FlasherApplicationType: ...
|
|
28
28
|
|
|
29
|
+
class ResetTarget(StrEnum):
|
|
30
|
+
RTS_DTR = 'rts_dtr'
|
|
31
|
+
BAUDRATE = 'baudrate'
|
|
32
|
+
YELLOW = 'yellow'
|
|
33
|
+
def as_flasher_reset_target(self) -> FlasherResetTarget: ...
|
|
34
|
+
|
|
29
35
|
@callback
|
|
30
36
|
def get_otbr_addon_manager(hass: HomeAssistant) -> WaitingAddonManager: ...
|
|
31
37
|
@callback
|
|
@@ -60,4 +66,4 @@ async def guess_hardware_owners(hass: HomeAssistant, device_path: str) -> list[F
|
|
|
60
66
|
async def guess_firmware_info(hass: HomeAssistant, device_path: str) -> FirmwareInfo: ...
|
|
61
67
|
async def probe_silabs_firmware_info(device: str, *, probe_methods: Iterable[ApplicationType] | None = None) -> FirmwareInfo | None: ...
|
|
62
68
|
async def probe_silabs_firmware_type(device: str, *, probe_methods: Iterable[ApplicationType] | None = None) -> ApplicationType | None: ...
|
|
63
|
-
async def async_flash_silabs_firmware(hass: HomeAssistant, device: str, fw_data: bytes, expected_installed_firmware_type: ApplicationType,
|
|
69
|
+
async def async_flash_silabs_firmware(hass: HomeAssistant, device: str, fw_data: bytes, expected_installed_firmware_type: ApplicationType, bootloader_reset_methods: Sequence[ResetTarget] = (), progress_callback: Callable[[int, int], None] | None = None) -> FirmwareInfo: ...
|
|
@@ -19,7 +19,7 @@ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry,
|
|
|
19
19
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
20
20
|
|
|
21
21
|
class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
|
|
22
|
-
|
|
22
|
+
bootloader_reset_methods: Incomplete
|
|
23
23
|
_attr_unique_id: Incomplete
|
|
24
24
|
_attr_device_info: Incomplete
|
|
25
25
|
_current_firmware_info: Incomplete
|
|
@@ -6,7 +6,7 @@ from abc import ABC, abstractmethod
|
|
|
6
6
|
from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_yellow_settings as async_get_yellow_settings, async_set_yellow_settings as async_set_yellow_settings, get_supervisor_client as get_supervisor_client
|
|
7
7
|
from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
|
|
8
8
|
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
|
|
9
|
-
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
|
|
9
|
+
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, ResetTarget as ResetTarget, probe_silabs_firmware_info as probe_silabs_firmware_info
|
|
10
10
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
|
|
12
12
|
from homeassistant.helpers import discovery_flow as discovery_flow, selector as selector
|
|
@@ -19,6 +19,7 @@ class FirmwareInstallFlowProtocol(Protocol):
|
|
|
19
19
|
async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
|
|
20
20
|
|
|
21
21
|
class YellowFirmwareMixin(ConfigEntryBaseFlow, FirmwareInstallFlowProtocol, metaclass=abc.ABCMeta):
|
|
22
|
+
BOOTLOADER_RESET_METHODS: Incomplete
|
|
22
23
|
async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
23
24
|
async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
24
25
|
|
|
@@ -30,6 +31,7 @@ class HomeAssistantYellowConfigFlow(YellowFirmwareMixin, BaseFirmwareConfigFlow,
|
|
|
30
31
|
@staticmethod
|
|
31
32
|
@callback
|
|
32
33
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
|
34
|
+
_probed_firmware_info: Incomplete
|
|
33
35
|
async def async_step_system(self, data: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
34
36
|
def _async_flow_finished(self) -> ConfigFlowResult: ...
|
|
35
37
|
|
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as F
|
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
5
5
|
from homeassistant.components.homeassistant_hardware.update import BaseFirmwareUpdateEntity as BaseFirmwareUpdateEntity, FirmwareUpdateEntityDescription as FirmwareUpdateEntityDescription
|
|
6
|
-
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
|
|
6
|
+
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, ResetTarget as ResetTarget
|
|
7
7
|
from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass
|
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
9
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
@@ -19,7 +19,7 @@ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry,
|
|
|
19
19
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
20
20
|
|
|
21
21
|
class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
|
|
22
|
-
|
|
22
|
+
bootloader_reset_methods: Incomplete
|
|
23
23
|
_attr_unique_id: Incomplete
|
|
24
24
|
_attr_device_info: Incomplete
|
|
25
25
|
_current_firmware_info: Incomplete
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
from . import DOMAIN as DOMAIN, HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
-
from .helpers import get_name_for_enum as get_name_for_enum
|
|
3
|
+
from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityDescription as AlarmControlPanelEntityDescription, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
10
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
11
11
|
|
|
12
12
|
PARALLEL_UPDATES: int
|
|
13
13
|
|
|
@@ -19,6 +19,7 @@ class HomeeAlarmControlPanelEntityDescription(AlarmControlPanelEntityDescription
|
|
|
19
19
|
ALARM_DESCRIPTIONS: Incomplete
|
|
20
20
|
|
|
21
21
|
def get_supported_features(state_list: list[AlarmControlPanelState]) -> AlarmControlPanelEntityFeature: ...
|
|
22
|
+
async def add_alarm_control_panel_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
22
23
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
23
24
|
|
|
24
25
|
class HomeeAlarmPanel(HomeeEntity, AlarmControlPanelEntity):
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
9
|
from pyHomee.const import AttributeType
|
|
9
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
10
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
10
11
|
|
|
11
12
|
PARALLEL_UPDATES: int
|
|
12
13
|
BINARY_SENSOR_DESCRIPTIONS: dict[AttributeType, BinarySensorEntityDescription]
|
|
13
14
|
|
|
14
|
-
async def
|
|
15
|
+
async def add_binary_sensor_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeBinarySensor(HomeeEntity, BinarySensorEntity):
|
|
17
19
|
entity_description: Incomplete
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
9
|
from pyHomee.const import AttributeType
|
|
9
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
10
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
10
11
|
|
|
11
12
|
PARALLEL_UPDATES: int
|
|
12
13
|
BUTTON_DESCRIPTIONS: dict[AttributeType, ButtonEntityDescription]
|
|
13
14
|
|
|
15
|
+
async def add_button_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
16
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeButton(HomeeEntity, ButtonEntity):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import CLIMATE_PROFILES as CLIMATE_PROFILES, DOMAIN as DOMAIN, HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, PRESET_MANUAL as PRESET_MANUAL
|
|
3
3
|
from .entity import HomeeNodeEntity as HomeeNodeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from homeassistant.components.climate import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -11,7 +12,8 @@ from typing import Any
|
|
|
11
12
|
PARALLEL_UPDATES: int
|
|
12
13
|
ROOM_THERMOSTATS: Incomplete
|
|
13
14
|
|
|
14
|
-
async def
|
|
15
|
+
async def add_climate_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeClimate(HomeeNodeEntity, ClimateEntity):
|
|
17
19
|
_attr_name: Incomplete
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeNodeEntity as HomeeNodeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -15,7 +16,8 @@ POSITION_ATTRIBUTES: Incomplete
|
|
|
15
16
|
def get_open_close_attribute(node: HomeeNode) -> HomeeAttribute | None: ...
|
|
16
17
|
def get_cover_features(node: HomeeNode, open_close_attribute: HomeeAttribute | None) -> CoverEntityFeature: ...
|
|
17
18
|
def get_device_class(node: HomeeNode) -> CoverDeviceClass | None: ...
|
|
18
|
-
async def
|
|
19
|
+
async def add_cover_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
19
21
|
def is_cover_node(node: HomeeNode) -> bool: ...
|
|
20
22
|
|
|
21
23
|
class HomeeCover(HomeeNodeEntity, CoverEntity):
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
7
8
|
from pyHomee.const import AttributeType
|
|
8
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
9
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
9
10
|
|
|
10
11
|
PARALLEL_UPDATES: int
|
|
11
12
|
REMOTE_PROFILES: Incomplete
|
|
12
13
|
EVENT_DESCRIPTIONS: dict[AttributeType, EventEntityDescription]
|
|
13
14
|
|
|
15
|
+
async def add_event_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
16
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeEvent(HomeeEntity, EventEntity):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import DOMAIN as DOMAIN, PRESET_AUTO as PRESET_AUTO, PRESET_MANUAL as PRESET_MANUAL, PRESET_SUMMER as PRESET_SUMMER
|
|
3
3
|
from .entity import HomeeNodeEntity as HomeeNodeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -13,7 +14,8 @@ from typing import Any
|
|
|
13
14
|
|
|
14
15
|
PARALLEL_UPDATES: int
|
|
15
16
|
|
|
16
|
-
async def
|
|
17
|
+
async def add_fan_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
17
19
|
|
|
18
20
|
class HomeeFan(HomeeNodeEntity, FanEntity):
|
|
19
21
|
_attr_translation_key = DOMAIN
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
1
2
|
from _typeshed import Incomplete
|
|
3
|
+
from collections.abc import Callable as Callable, Coroutine
|
|
2
4
|
from enum import IntEnum
|
|
5
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
6
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
|
7
|
+
from typing import Any
|
|
3
8
|
|
|
4
9
|
_LOGGER: Incomplete
|
|
5
10
|
|
|
11
|
+
async def setup_homee_platform(add_platform_entities: Callable[[HomeeConfigEntry, AddConfigEntryEntitiesCallback, list[HomeeNode]], Coroutine[Any, Any, None]], async_add_entities: AddConfigEntryEntitiesCallback, config_entry: HomeeConfigEntry) -> None: ...
|
|
6
12
|
def get_name_for_enum(att_class: type[IntEnum], att_id: int) -> str | None: ...
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import LIGHT_PROFILES as LIGHT_PROFILES
|
|
3
3
|
from .entity import HomeeNodeEntity as HomeeNodeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -18,6 +19,7 @@ def get_color_mode(supported_modes: set[ColorMode]) -> ColorMode: ...
|
|
|
18
19
|
def get_light_attribute_sets(node: HomeeNode) -> list[dict[AttributeType, HomeeAttribute]]: ...
|
|
19
20
|
def rgb_list_to_decimal(color: tuple[int, int, int]) -> int: ...
|
|
20
21
|
def decimal_to_rgb_list(color: float) -> list[int]: ...
|
|
22
|
+
async def add_light_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
21
23
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
22
24
|
|
|
23
25
|
class HomeeLight(HomeeNodeEntity, LightEntity):
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
-
from .helpers import get_name_for_enum as get_name_for_enum
|
|
3
|
+
from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components.lock import LockEntity as LockEntity
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
|
8
9
|
from typing import Any
|
|
9
10
|
|
|
10
11
|
PARALLEL_UPDATES: int
|
|
11
12
|
|
|
12
|
-
async def
|
|
13
|
+
async def add_lock_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
|
|
14
16
|
class HomeeLock(HomeeEntity, LockEntity):
|
|
15
17
|
_attr_name: Incomplete
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -8,7 +9,7 @@ from homeassistant.components.number import NumberDeviceClass as NumberDeviceCla
|
|
|
8
9
|
from homeassistant.const import EntityCategory as EntityCategory, UnitOfSpeed as UnitOfSpeed
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
12
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
12
13
|
|
|
13
14
|
PARALLEL_UPDATES: int
|
|
14
15
|
|
|
@@ -19,6 +20,7 @@ class HomeeNumberEntityDescription(NumberEntityDescription):
|
|
|
19
20
|
|
|
20
21
|
NUMBER_DESCRIPTIONS: Incomplete
|
|
21
22
|
|
|
23
|
+
async def add_number_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
22
24
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
23
25
|
|
|
24
26
|
class HomeeNumber(HomeeEntity, NumberEntity):
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
9
|
from pyHomee.const import AttributeType
|
|
9
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
10
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
10
11
|
|
|
11
12
|
PARALLEL_UPDATES: int
|
|
12
13
|
SELECT_DESCRIPTIONS: dict[AttributeType, SelectEntityDescription]
|
|
13
14
|
|
|
15
|
+
async def add_select_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
16
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeSelect(HomeeEntity, SelectEntity):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import DOMAIN as DOMAIN, HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, OPEN_CLOSE_MAP as OPEN_CLOSE_MAP, OPEN_CLOSE_MAP_REVERSED as OPEN_CLOSE_MAP_REVERSED, WINDOW_MAP as WINDOW_MAP, WINDOW_MAP_REVERSED as WINDOW_MAP_REVERSED
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity, HomeeNodeEntity as HomeeNodeEntity
|
|
4
|
-
from .helpers import get_name_for_enum as get_name_for_enum
|
|
4
|
+
from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable
|
|
7
7
|
from dataclasses import dataclass
|
|
@@ -36,7 +36,7 @@ class HomeeNodeSensorEntityDescription(SensorEntityDescription):
|
|
|
36
36
|
NODE_SENSOR_DESCRIPTIONS: tuple[HomeeNodeSensorEntityDescription, ...]
|
|
37
37
|
|
|
38
38
|
def entity_used_in(hass: HomeAssistant, entity_id: str) -> list[str]: ...
|
|
39
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry,
|
|
39
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
40
40
|
|
|
41
41
|
class HomeeSensor(HomeeEntity, SensorEntity):
|
|
42
42
|
entity_description: HomeeSensorEntityDescription
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.siren import SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
|
7
9
|
from typing import Any
|
|
8
10
|
|
|
9
11
|
PARALLEL_UPDATES: int
|
|
10
12
|
|
|
11
|
-
async def
|
|
13
|
+
async def add_siren_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
12
15
|
|
|
13
16
|
class HomeeSiren(HomeeEntity, SirenEntity):
|
|
14
17
|
_attr_name: Incomplete
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import CLIMATE_PROFILES as CLIMATE_PROFILES, LIGHT_PROFILES as LIGHT_PROFILES
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -9,7 +10,7 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
12
|
from pyHomee.const import AttributeType
|
|
12
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
13
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
13
14
|
from typing import Any
|
|
14
15
|
|
|
15
16
|
PARALLEL_UPDATES: int
|
|
@@ -22,7 +23,8 @@ class HomeeSwitchEntityDescription(SwitchEntityDescription):
|
|
|
22
23
|
|
|
23
24
|
SWITCH_DESCRIPTIONS: dict[AttributeType, HomeeSwitchEntityDescription]
|
|
24
25
|
|
|
25
|
-
async def
|
|
26
|
+
async def add_switch_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
27
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
26
28
|
|
|
27
29
|
class HomeeSwitch(HomeeEntity, SwitchEntity):
|
|
28
30
|
entity_description: HomeeSwitchEntityDescription
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
7
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
8
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
8
9
|
|
|
9
10
|
PARALLEL_UPDATES: int
|
|
10
11
|
VALVE_DESCRIPTIONS: Incomplete
|
|
11
12
|
|
|
13
|
+
async def add_valve_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
|
|
14
16
|
class HomeeValve(HomeeEntity, ValveEntity):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, HomeDriver as HomeDriver, TYPES as TYPES
|
|
2
|
-
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_REMAINING_DURATION as CHAR_REMAINING_DURATION, CHAR_SET_DURATION as CHAR_SET_DURATION, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, CONF_LINKED_VALVE_DURATION as CONF_LINKED_VALVE_DURATION, CONF_LINKED_VALVE_END_TIME as CONF_LINKED_VALVE_END_TIME, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
|
2
|
+
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_REMAINING_DURATION as CHAR_REMAINING_DURATION, CHAR_SET_DURATION as CHAR_SET_DURATION, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, CONF_LINKED_VALVE_DURATION as CONF_LINKED_VALVE_DURATION, CONF_LINKED_VALVE_END_TIME as CONF_LINKED_VALVE_END_TIME, PROP_MAX_VALUE as PROP_MAX_VALUE, PROP_MIN_STEP as PROP_MIN_STEP, PROP_MIN_VALUE as PROP_MIN_VALUE, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
|
3
3
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components import button as button, input_button as input_button
|
|
@@ -20,6 +20,11 @@ class ValveInfo(NamedTuple):
|
|
|
20
20
|
valve_type: int
|
|
21
21
|
|
|
22
22
|
VALVE_TYPE: dict[str, ValveInfo]
|
|
23
|
+
VALVE_LINKED_DURATION_PROPERTIES: Incomplete
|
|
24
|
+
VALVE_DURATION_MIN_DEFAULT: int
|
|
25
|
+
VALVE_DURATION_MAX_DEFAULT: int
|
|
26
|
+
VALVE_DURATION_STEP_DEFAULT: int
|
|
27
|
+
VALVE_REMAINING_TIME_MAX_DEFAULT: Incomplete
|
|
23
28
|
ACTIVATE_ONLY_SWITCH_DOMAINS: Incomplete
|
|
24
29
|
ACTIVATE_ONLY_RESET_SECONDS: int
|
|
25
30
|
|
|
@@ -74,6 +79,7 @@ class ValveBase(HomeAccessory):
|
|
|
74
79
|
def get_duration(self) -> int: ...
|
|
75
80
|
def get_remaining_duration(self) -> int: ...
|
|
76
81
|
def _get_entity_state(self, entity_id: str | None) -> str | None: ...
|
|
82
|
+
def _get_linked_duration_property(self, attr: str, fallback_value: int) -> int: ...
|
|
77
83
|
|
|
78
84
|
class ValveSwitch(ValveBase):
|
|
79
85
|
def __init__(self, hass: HomeAssistant, driver: HomeDriver, name: str, entity_id: str, aid: int, config: dict[str, Any], *args: Any) -> None: ...
|
|
@@ -12,6 +12,7 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
13
|
from homeassistant.helpers.typing import StateType as StateType
|
|
14
14
|
from homeassistant.util.dt import utcnow as utcnow
|
|
15
|
+
from homeassistant.util.variance import ignore_variance as ignore_variance
|
|
15
16
|
from homewizard_energy.models import CombinedModels as CombinedModels, ExternalDevice
|
|
16
17
|
from typing import Final
|
|
17
18
|
|
|
@@ -29,8 +30,9 @@ class HomeWizardExternalSensorEntityDescription(SensorEntityDescription):
|
|
|
29
30
|
device_name: str
|
|
30
31
|
|
|
31
32
|
def to_percentage(value: float | None) -> float | None: ...
|
|
32
|
-
def
|
|
33
|
+
def uptime_to_datetime(value: int) -> datetime: ...
|
|
33
34
|
|
|
35
|
+
uptime_to_stable_datetime: Incomplete
|
|
34
36
|
SENSORS: Final[tuple[HomeWizardSensorEntityDescription, ...]]
|
|
35
37
|
EXTERNAL_SENSORS: Incomplete
|
|
36
38
|
|
|
@@ -21,7 +21,6 @@ type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator]
|
|
|
21
21
|
class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[MowerDictionary]):
|
|
22
22
|
config_entry: AutomowerConfigEntry
|
|
23
23
|
api: Incomplete
|
|
24
|
-
ws_connected: bool
|
|
25
24
|
reconnect_time: Incomplete
|
|
26
25
|
new_devices_callbacks: list[Callable[[set[str]], None]]
|
|
27
26
|
new_zones_callbacks: list[Callable[[str, set[str]], None]]
|
|
@@ -34,6 +33,7 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[MowerDictionary]):
|
|
|
34
33
|
@override
|
|
35
34
|
@callback
|
|
36
35
|
def async_update_listeners(self) -> None: ...
|
|
36
|
+
async def _async_setup(self) -> None: ...
|
|
37
37
|
async def _async_update_data(self) -> MowerDictionary: ...
|
|
38
38
|
update_interval: Incomplete
|
|
39
39
|
@callback
|