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
|
@@ -45,6 +45,8 @@ class AsusWrtBridge(ABC, metaclass=abc.ABCMeta):
|
|
|
45
45
|
_firmware: str | None
|
|
46
46
|
_label_mac: str | None
|
|
47
47
|
_model: str | None
|
|
48
|
+
_model_id: str | None
|
|
49
|
+
_serial_number: str | None
|
|
48
50
|
def __init__(self, host: str) -> None: ...
|
|
49
51
|
@property
|
|
50
52
|
def configuration_url(self) -> str: ...
|
|
@@ -57,6 +59,10 @@ class AsusWrtBridge(ABC, metaclass=abc.ABCMeta):
|
|
|
57
59
|
@property
|
|
58
60
|
def model(self) -> str | None: ...
|
|
59
61
|
@property
|
|
62
|
+
def model_id(self) -> str | None: ...
|
|
63
|
+
@property
|
|
64
|
+
def serial_number(self) -> str | None: ...
|
|
65
|
+
@property
|
|
60
66
|
@abstractmethod
|
|
61
67
|
def is_connected(self) -> bool: ...
|
|
62
68
|
@abstractmethod
|
|
@@ -105,6 +111,8 @@ class AsusWrtHttpBridge(AsusWrtBridge):
|
|
|
105
111
|
_configuration_url: Incomplete
|
|
106
112
|
_firmware: Incomplete
|
|
107
113
|
_model: Incomplete
|
|
114
|
+
_model_id: Incomplete
|
|
115
|
+
_serial_number: Incomplete
|
|
108
116
|
async def async_connect(self) -> None: ...
|
|
109
117
|
async def async_disconnect(self) -> None: ...
|
|
110
118
|
async def _get_data(self, datatype: AsusData, force: bool = False) -> dict[str, Any]: ...
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
from .const import CHARGEPOINT_SETTINGS as CHARGEPOINT_SETTINGS, CHARGEPOINT_STATUS as CHARGEPOINT_STATUS, DOMAIN as DOMAIN, EVSE_ID as EVSE_ID, LOGGER as LOGGER, PLUG_AND_CHARGE as PLUG_AND_CHARGE, VALUE as VALUE
|
|
1
|
+
from .const import BCU_APP as BCU_APP, CHARGEPOINT_SETTINGS as CHARGEPOINT_SETTINGS, CHARGEPOINT_STATUS as CHARGEPOINT_STATUS, CHARGING_CARD_ID as CHARGING_CARD_ID, DOMAIN as DOMAIN, EVSE_ID as EVSE_ID, LOGGER as LOGGER, PLUG_AND_CHARGE as PLUG_AND_CHARGE, SERVICE_START_CHARGE_SESSION as SERVICE_START_CHARGE_SESSION, VALUE as VALUE
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from bluecurrent_api import Client
|
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
-
from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, Platform as Platform
|
|
6
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
|
5
|
+
from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_DEVICE_ID as CONF_DEVICE_ID, Platform as Platform
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, ServiceValidationError as ServiceValidationError
|
|
8
8
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
|
9
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
9
10
|
from typing import Any
|
|
10
11
|
|
|
11
12
|
type BlueCurrentConfigEntry = ConfigEntry[Connector]
|
|
12
13
|
PLATFORMS: Incomplete
|
|
13
14
|
CHARGE_POINTS: str
|
|
15
|
+
CHARGE_CARDS: str
|
|
14
16
|
DATA: str
|
|
15
17
|
DELAY: int
|
|
16
18
|
GRID: str
|
|
17
19
|
OBJECT: str
|
|
18
20
|
VALUE_TYPES: Incomplete
|
|
21
|
+
CONFIG_SCHEMA: Incomplete
|
|
22
|
+
SERVICE_START_CHARGE_SESSION_SCHEMA: Incomplete
|
|
19
23
|
|
|
20
24
|
async def async_setup_entry(hass: HomeAssistant, config_entry: BlueCurrentConfigEntry) -> bool: ...
|
|
25
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
21
26
|
async def async_unload_entry(hass: HomeAssistant, config_entry: BlueCurrentConfigEntry) -> bool: ...
|
|
22
27
|
|
|
23
28
|
class Connector:
|
|
@@ -26,6 +31,7 @@ class Connector:
|
|
|
26
31
|
client: Incomplete
|
|
27
32
|
charge_points: dict[str, dict]
|
|
28
33
|
grid: dict[str, Any]
|
|
34
|
+
charge_cards: dict[str, dict[str, Any]]
|
|
29
35
|
def __init__(self, hass: HomeAssistant, config: BlueCurrentConfigEntry, client: Client) -> None: ...
|
|
30
36
|
async def on_data(self, message: dict) -> None: ...
|
|
31
37
|
async def handle_charge_point_data(self, charge_points_data: list) -> None: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_remove_scanner as async_remove_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
|
|
1
|
+
from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_current_scanners as async_current_scanners, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_remove_scanner as async_remove_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
|
|
2
2
|
from .const import FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS as FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS, SOURCE_LOCAL as SOURCE_LOCAL
|
|
3
3
|
from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
|
|
4
4
|
from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange
|
|
@@ -7,7 +7,7 @@ from habluetooth import BaseHaRemoteScanner as BaseHaRemoteScanner, BaseHaScanne
|
|
|
7
7
|
from home_assistant_bluetooth import BluetoothServiceInfo as BluetoothServiceInfo, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
8
8
|
from homeassistant.core import callback as hass_callback
|
|
9
9
|
|
|
10
|
-
__all__ = ['FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME', 'SOURCE_LOCAL', 'BaseHaRemoteScanner', 'BaseHaScanner', 'BluetoothCallback', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothScannerDevice', 'BluetoothScanningMode', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'HaBluetoothConnector', 'HomeAssistantRemoteScanner', 'async_address_present', 'async_ble_device_from_address', 'async_discovered_service_info', 'async_get_advertisement_callback', 'async_get_fallback_availability_interval', 'async_get_learned_advertising_interval', 'async_get_scanner', 'async_last_service_info', 'async_process_advertisements', 'async_rediscover_address', 'async_register_callback', 'async_register_scanner', 'async_remove_scanner', 'async_scanner_by_source', 'async_scanner_count', 'async_scanner_devices_by_address', 'async_set_fallback_availability_interval', 'async_track_unavailable']
|
|
10
|
+
__all__ = ['FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME', 'SOURCE_LOCAL', 'BaseHaRemoteScanner', 'BaseHaScanner', 'BluetoothCallback', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothScannerDevice', 'BluetoothScanningMode', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'HaBluetoothConnector', 'HomeAssistantRemoteScanner', 'async_address_present', 'async_ble_device_from_address', 'async_current_scanners', 'async_discovered_service_info', 'async_get_advertisement_callback', 'async_get_fallback_availability_interval', 'async_get_learned_advertising_interval', 'async_get_scanner', 'async_last_service_info', 'async_process_advertisements', 'async_rediscover_address', 'async_register_callback', 'async_register_scanner', 'async_remove_scanner', 'async_scanner_by_source', 'async_scanner_count', 'async_scanner_devices_by_address', 'async_set_fallback_availability_interval', 'async_track_unavailable']
|
|
11
11
|
|
|
12
12
|
# Names in __all__ with no definition:
|
|
13
13
|
# HomeAssistantRemoteScanner
|
|
@@ -2,21 +2,24 @@ from .const import DATA_MANAGER as DATA_MANAGER
|
|
|
2
2
|
from .manager import HomeAssistantBluetoothManager as HomeAssistantBluetoothManager
|
|
3
3
|
from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
|
|
4
4
|
from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange, ProcessAdvertisementCallback as ProcessAdvertisementCallback
|
|
5
|
+
from bleak import BleakScanner
|
|
5
6
|
from bleak.backends.device import BLEDevice as BLEDevice
|
|
6
7
|
from collections.abc import Callable as Callable, Iterable
|
|
7
|
-
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothScannerDevice as BluetoothScannerDevice, BluetoothScanningMode as BluetoothScanningMode
|
|
8
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothScannerDevice as BluetoothScannerDevice, BluetoothScanningMode as BluetoothScanningMode
|
|
8
9
|
from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
9
10
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as hass_callback
|
|
10
11
|
from homeassistant.helpers.singleton import singleton as singleton
|
|
11
12
|
|
|
12
13
|
def _get_manager(hass: HomeAssistant) -> HomeAssistantBluetoothManager: ...
|
|
13
14
|
@hass_callback
|
|
14
|
-
def async_get_scanner(hass: HomeAssistant) ->
|
|
15
|
+
def async_get_scanner(hass: HomeAssistant) -> BleakScanner: ...
|
|
15
16
|
@hass_callback
|
|
16
17
|
def async_scanner_by_source(hass: HomeAssistant, source: str) -> BaseHaScanner | None: ...
|
|
17
18
|
@hass_callback
|
|
18
19
|
def async_scanner_count(hass: HomeAssistant, connectable: bool = True) -> int: ...
|
|
19
20
|
@hass_callback
|
|
21
|
+
def async_current_scanners(hass: HomeAssistant) -> list[BaseHaScanner]: ...
|
|
22
|
+
@hass_callback
|
|
20
23
|
def async_discovered_service_info(hass: HomeAssistant, connectable: bool = True) -> Iterable[BluetoothServiceInfoBleak]: ...
|
|
21
24
|
@hass_callback
|
|
22
25
|
def async_last_service_info(hass: HomeAssistant, address: str, connectable: bool = True) -> BluetoothServiceInfoBleak | None: ...
|
|
@@ -7,12 +7,13 @@ from _typeshed import Incomplete
|
|
|
7
7
|
from bleak_retry_connector import BleakSlotManager as BleakSlotManager
|
|
8
8
|
from bluetooth_adapters import BluetoothAdapters as BluetoothAdapters
|
|
9
9
|
from collections.abc import Callable as Callable
|
|
10
|
-
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager
|
|
10
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager, HaScanner
|
|
11
11
|
from homeassistant import config_entries as config_entries
|
|
12
12
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
|
|
13
13
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as hass_callback
|
|
14
14
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
|
15
15
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
16
|
+
from homeassistant.util.package import is_docker_env as is_docker_env
|
|
16
17
|
|
|
17
18
|
_LOGGER: Incomplete
|
|
18
19
|
|
|
@@ -46,3 +47,8 @@ class HomeAssistantBluetoothManager(BluetoothManager):
|
|
|
46
47
|
def async_remove_scanner(self, source: str) -> None: ...
|
|
47
48
|
@hass_callback
|
|
48
49
|
def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
|
|
50
|
+
def on_scanner_start(self, scanner: BaseHaScanner) -> None: ...
|
|
51
|
+
@hass_callback
|
|
52
|
+
def async_check_scanning_mode(self, scanner: HaScanner) -> None: ...
|
|
53
|
+
@hass_callback
|
|
54
|
+
def async_check_degraded_mode(self, scanner: HaScanner) -> None: ...
|
|
@@ -5,13 +5,15 @@ from .models import BluetoothChange as BluetoothChange
|
|
|
5
5
|
from .util import InvalidConfigEntryID as InvalidConfigEntryID, InvalidSource as InvalidSource, config_entry_id_to_source as config_entry_id_to_source
|
|
6
6
|
from _typeshed import Incomplete
|
|
7
7
|
from collections.abc import Callable as Callable, Iterable
|
|
8
|
-
from habluetooth import HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerRegistration as HaScannerRegistration
|
|
8
|
+
from habluetooth import BaseHaScanner as BaseHaScanner, HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerModeChange as HaScannerModeChange, HaScannerRegistration as HaScannerRegistration
|
|
9
9
|
from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
|
10
10
|
from homeassistant.components import websocket_api as websocket_api
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
12
|
from homeassistant.helpers.json import json_bytes as json_bytes
|
|
13
13
|
from typing import Any
|
|
14
14
|
|
|
15
|
+
@callback
|
|
16
|
+
def _async_get_source_from_config_entry(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg_id: int, config_entry_id: str | None, validate_source: bool = True) -> str | None: ...
|
|
15
17
|
@callback
|
|
16
18
|
def async_setup(hass: HomeAssistant) -> None: ...
|
|
17
19
|
def serialize_service_info(service_info: BluetoothServiceInfoBleak, time_diff: float) -> dict[str, Any]: ...
|
|
@@ -44,3 +46,6 @@ async def ws_subscribe_connection_allocations(hass: HomeAssistant, connection: w
|
|
|
44
46
|
@websocket_api.require_admin
|
|
45
47
|
@websocket_api.async_response
|
|
46
48
|
async def ws_subscribe_scanner_details(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
49
|
+
@websocket_api.require_admin
|
|
50
|
+
@websocket_api.async_response
|
|
51
|
+
async def ws_subscribe_scanner_state(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
1
|
+
from .const import CONF_COMMUNITY as CONF_COMMUNITY, DEFAULT_COMMUNITY as DEFAULT_COMMUNITY, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
|
|
2
2
|
from .coordinator import BrotherConfigEntry as BrotherConfigEntry, BrotherDataUpdateCoordinator as BrotherDataUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
|
|
5
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE, Platform as Platform
|
|
5
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, Platform as Platform
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
8
8
|
|
|
9
|
+
_LOGGER: Incomplete
|
|
9
10
|
PLATFORMS: Incomplete
|
|
10
11
|
|
|
11
12
|
async def async_setup_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
|
|
12
13
|
async def async_unload_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
|
|
14
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES
|
|
1
|
+
from .const import CONF_COMMUNITY as CONF_COMMUNITY, DEFAULT_COMMUNITY as DEFAULT_COMMUNITY, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from brother import Brother
|
|
4
4
|
from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
|
|
5
5
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
6
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE
|
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
|
+
from homeassistant.data_entry_flow import section as section
|
|
8
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
9
10
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
|
10
11
|
from homeassistant.util.network import is_host_valid as is_host_valid
|
|
11
12
|
from typing import Any
|
|
12
13
|
|
|
13
14
|
DATA_SCHEMA: Incomplete
|
|
15
|
+
ZEROCONF_SCHEMA: Incomplete
|
|
14
16
|
RECONFIGURE_SCHEMA: Incomplete
|
|
15
17
|
|
|
16
18
|
async def validate_input(hass: HomeAssistant, user_input: dict[str, Any], expected_mac: str | None = None) -> tuple[str, str]: ...
|
|
17
19
|
|
|
18
20
|
class BrotherConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
19
21
|
VERSION: int
|
|
22
|
+
MINOR_VERSION: int
|
|
20
23
|
brother: Brother
|
|
21
24
|
host: str | None
|
|
22
25
|
def __init__(self) -> None: ...
|
|
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
|
|
|
5
5
|
from bthome_ble import SensorUpdate as SensorUpdate
|
|
6
6
|
from homeassistant.components.bluetooth.passive_update_processor import PassiveBluetoothDataUpdate as PassiveBluetoothDataUpdate, PassiveBluetoothProcessorEntity as PassiveBluetoothProcessorEntity
|
|
7
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfConductivity as UnitOfConductivity, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
|
8
|
+
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfConductivity as UnitOfConductivity, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
11
|
from homeassistant.helpers.sensor import sensor_device_info_to_hass_device_info as sensor_device_info_to_hass_device_info
|
|
@@ -3,7 +3,7 @@ import collections
|
|
|
3
3
|
from .const import CAMERA_IMAGE_TIMEOUT as CAMERA_IMAGE_TIMEOUT, CAMERA_STREAM_SOURCE_TIMEOUT as CAMERA_STREAM_SOURCE_TIMEOUT, CONF_DURATION as CONF_DURATION, CONF_LOOKBACK as CONF_LOOKBACK, CameraState as CameraState, DATA_CAMERA_PREFS as DATA_CAMERA_PREFS, DATA_COMPONENT as DATA_COMPONENT, DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM, SERVICE_RECORD as SERVICE_RECORD, StreamType as StreamType
|
|
4
4
|
from .helper import get_camera_from_entity_id as get_camera_from_entity_id
|
|
5
5
|
from .img_util import scale_jpeg_camera_image as scale_jpeg_camera_image
|
|
6
|
-
from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings
|
|
6
|
+
from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings, get_dynamic_camera_stream_settings as get_dynamic_camera_stream_settings
|
|
7
7
|
from .webrtc import CameraWebRTCProvider as CameraWebRTCProvider, DATA_ICE_SERVERS as DATA_ICE_SERVERS, WebRTCAnswer as WebRTCAnswer, WebRTCCandidate as WebRTCCandidate, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCError as WebRTCError, WebRTCMessage as WebRTCMessage, WebRTCSendMessage as WebRTCSendMessage, async_get_supported_provider as async_get_supported_provider, async_register_ice_servers as async_register_ice_servers, async_register_webrtc_provider as async_register_webrtc_provider, async_register_ws as async_register_ws
|
|
8
8
|
from _typeshed import Incomplete
|
|
9
9
|
from aiohttp import web
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM
|
|
1
|
+
from .const import DATA_CAMERA_PREFS as DATA_CAMERA_PREFS, DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from homeassistant.components.stream import Orientation as Orientation
|
|
@@ -25,3 +25,5 @@ class CameraPreferences:
|
|
|
25
25
|
async def async_load(self) -> None: ...
|
|
26
26
|
async def async_update(self, entity_id: str, *, preload_stream: bool | UndefinedType = ..., orientation: Orientation | UndefinedType = ...) -> dict[str, bool | Orientation]: ...
|
|
27
27
|
async def get_dynamic_stream_settings(self, entity_id: str) -> DynamicStreamSettings: ...
|
|
28
|
+
|
|
29
|
+
async def get_dynamic_camera_stream_settings(hass: HomeAssistant, entity_id: str) -> DynamicStreamSettings: ...
|
|
@@ -17,6 +17,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
|
17
17
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
18
18
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
19
19
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
|
20
|
+
from homeassistant.loader import async_get_custom_components as async_get_custom_components, async_get_loaded_integration as async_get_loaded_integration
|
|
20
21
|
from homeassistant.util.location import async_detect_location_info as async_detect_location_info
|
|
21
22
|
from http import HTTPStatus
|
|
22
23
|
from typing import Any, Concatenate
|
|
@@ -82,6 +83,7 @@ class CloudForgotPasswordView(HomeAssistantView):
|
|
|
82
83
|
class DownloadSupportPackageView(HomeAssistantView):
|
|
83
84
|
url: str
|
|
84
85
|
name: str
|
|
86
|
+
async def _get_integration_info(self, hass: HomeAssistant) -> dict[str, Any]: ...
|
|
85
87
|
async def _generate_markdown(self, hass: HomeAssistant, hass_info: dict[str, Any], domains_info: dict[str, dict[str, str]]) -> str: ...
|
|
86
88
|
async def get(self, request: web.Request) -> web.Response: ...
|
|
87
89
|
|
|
@@ -10,7 +10,8 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
|
10
10
|
from typing import Any
|
|
11
11
|
|
|
12
12
|
DEFAULT_HOST: str
|
|
13
|
-
DEFAULT_PIN:
|
|
13
|
+
DEFAULT_PIN: str
|
|
14
|
+
pin_regex: str
|
|
14
15
|
USER_SCHEMA: Incomplete
|
|
15
16
|
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
|
16
17
|
STEP_RECONFIGURE: Incomplete
|
|
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
|
9
9
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
|
10
10
|
from homeassistant.helpers import device_registry as dr
|
|
11
11
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
12
|
-
from typing import TypeVar
|
|
12
|
+
from typing import Any, TypeVar
|
|
13
13
|
|
|
14
14
|
type ComelitConfigEntry = ConfigEntry[ComelitBaseCoordinator]
|
|
15
15
|
T = TypeVar('T', bound=dict[str, dict[int, ComelitSerialBridgeObject]] | AlarmDataObject)
|
|
@@ -25,6 +25,7 @@ class ComelitBaseCoordinator(DataUpdateCoordinator[T], metaclass=abc.ABCMeta):
|
|
|
25
25
|
async def _async_update_data(self) -> T: ...
|
|
26
26
|
@abstractmethod
|
|
27
27
|
async def _async_update_system_data(self) -> T: ...
|
|
28
|
+
async def _async_remove_stale_devices(self, previous_list: dict[int, Any], current_list: dict[int, Any], dev_type: str) -> None: ...
|
|
28
29
|
|
|
29
30
|
class ComelitSerialBridge(ComelitBaseCoordinator[dict[str, dict[int, ComelitSerialBridgeObject]]]):
|
|
30
31
|
_hw_version: str
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge, ComelitVedoSystem as ComelitVedoSystem
|
|
2
2
|
from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
|
|
4
|
+
from aiocomelit.api import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
|
|
5
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
|
6
6
|
from homeassistant.const import CONF_TYPE as CONF_TYPE, UnitOfPower as UnitOfPower
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from .coordinator import CompitConfigEntry as CompitConfigEntry, CompitDataUpdateCoordinator as CompitDataUpdateCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
|
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
7
|
+
|
|
8
|
+
PLATFORMS: Incomplete
|
|
9
|
+
|
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: CompitConfigEntry) -> bool: ...
|
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: CompitConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from .const import DOMAIN as DOMAIN, MANUFACTURER_NAME as MANUFACTURER_NAME
|
|
3
|
+
from .coordinator import CompitConfigEntry as CompitConfigEntry, CompitDataUpdateCoordinator as CompitDataUpdateCoordinator
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from compit_inext_api import Param as Param, Parameter as Parameter
|
|
6
|
+
from compit_inext_api.consts import CompitParameter
|
|
7
|
+
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_OFF as FAN_OFF, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE
|
|
8
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
11
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
12
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
14
|
+
from propcache.api import cached_property
|
|
15
|
+
from typing import Any
|
|
16
|
+
|
|
17
|
+
_LOGGER: logging.Logger
|
|
18
|
+
CLIMATE_DEVICE_CLASS: int
|
|
19
|
+
PARALLEL_UPDATES: int
|
|
20
|
+
COMPIT_MODE_MAP: Incomplete
|
|
21
|
+
COMPIT_FANSPEED_MAP: Incomplete
|
|
22
|
+
COMPIT_PRESET_MAP: Incomplete
|
|
23
|
+
HVAC_MODE_TO_COMPIT_MODE: Incomplete
|
|
24
|
+
FAN_MODE_TO_COMPIT_FAN_MODE: Incomplete
|
|
25
|
+
PRESET_MODE_TO_COMPIT_PRESET_MODE: Incomplete
|
|
26
|
+
|
|
27
|
+
async def async_setup_entry(hass: HomeAssistant, entry: CompitConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
|
|
28
|
+
|
|
29
|
+
class CompitClimate(CoordinatorEntity[CompitDataUpdateCoordinator], ClimateEntity):
|
|
30
|
+
_attr_temperature_unit: Incomplete
|
|
31
|
+
_attr_hvac_modes: Incomplete
|
|
32
|
+
_attr_name: Incomplete
|
|
33
|
+
_attr_has_entity_name: bool
|
|
34
|
+
_attr_supported_features: Incomplete
|
|
35
|
+
_attr_unique_id: Incomplete
|
|
36
|
+
_attr_device_info: Incomplete
|
|
37
|
+
parameters: Incomplete
|
|
38
|
+
device_id: Incomplete
|
|
39
|
+
available_presets: Parameter | None
|
|
40
|
+
available_fan_modes: Parameter | None
|
|
41
|
+
def __init__(self, coordinator: CompitDataUpdateCoordinator, device_id: int, parameters: dict[str, Parameter], device_name: str) -> None: ...
|
|
42
|
+
@property
|
|
43
|
+
def available(self) -> bool: ...
|
|
44
|
+
@property
|
|
45
|
+
def current_temperature(self) -> float | None: ...
|
|
46
|
+
@property
|
|
47
|
+
def target_temperature(self) -> float | None: ...
|
|
48
|
+
@cached_property
|
|
49
|
+
def preset_modes(self) -> list[str] | None: ...
|
|
50
|
+
@cached_property
|
|
51
|
+
def fan_modes(self) -> list[str] | None: ...
|
|
52
|
+
@property
|
|
53
|
+
def preset_mode(self) -> str | None: ...
|
|
54
|
+
@property
|
|
55
|
+
def fan_mode(self) -> str | None: ...
|
|
56
|
+
@property
|
|
57
|
+
def hvac_mode(self) -> HVACMode | None: ...
|
|
58
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
|
59
|
+
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
|
60
|
+
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
|
61
|
+
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
|
62
|
+
async def set_parameter_value(self, parameter: CompitParameter, value: int) -> None: ...
|
|
63
|
+
def get_parameter_value(self, parameter: CompitParameter) -> Param | None: ...
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
|
|
5
|
+
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
_LOGGER: Incomplete
|
|
10
|
+
STEP_USER_DATA_SCHEMA: Incomplete
|
|
11
|
+
STEP_REAUTH_SCHEMA: Incomplete
|
|
12
|
+
|
|
13
|
+
class CompitConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
14
|
+
VERSION: int
|
|
15
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
16
|
+
async def async_step_reauth(self, data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
17
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from compit_inext_api import CompitApiConnector as CompitApiConnector, DeviceInstance
|
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
|
8
|
+
|
|
9
|
+
SCAN_INTERVAL: Incomplete
|
|
10
|
+
_LOGGER: logging.Logger
|
|
11
|
+
type CompitConfigEntry = ConfigEntry[CompitDataUpdateCoordinator]
|
|
12
|
+
|
|
13
|
+
class CompitDataUpdateCoordinator(DataUpdateCoordinator[dict[int, DeviceInstance]]):
|
|
14
|
+
connector: Incomplete
|
|
15
|
+
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, connector: CompitApiConnector) -> None: ...
|
|
16
|
+
async def _async_update_data(self) -> dict[int, DeviceInstance]: ...
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import aiodns
|
|
1
2
|
from .const import CONF_HOSTNAME as CONF_HOSTNAME, CONF_IPV4 as CONF_IPV4, CONF_IPV6 as CONF_IPV6, CONF_PORT_IPV6 as CONF_PORT_IPV6, CONF_RESOLVER as CONF_RESOLVER, CONF_RESOLVER_IPV6 as CONF_RESOLVER_IPV6, DOMAIN as DOMAIN
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from homeassistant.components.sensor import SensorEntity as SensorEntity
|
|
@@ -23,12 +24,15 @@ class WanIpSensor(SensorEntity):
|
|
|
23
24
|
_attr_name: Incomplete
|
|
24
25
|
_attr_unique_id: Incomplete
|
|
25
26
|
hostname: Incomplete
|
|
26
|
-
|
|
27
|
+
port: Incomplete
|
|
28
|
+
_resolver: Incomplete
|
|
27
29
|
querytype: Literal['A', 'AAAA']
|
|
28
30
|
_retries: Incomplete
|
|
29
31
|
_attr_extra_state_attributes: Incomplete
|
|
30
32
|
_attr_device_info: Incomplete
|
|
33
|
+
resolver: aiodns.DNSResolver
|
|
31
34
|
def __init__(self, name: str, hostname: str, resolver: str, ipv6: bool, port: int) -> None: ...
|
|
35
|
+
def create_dns_resolver(self) -> None: ...
|
|
32
36
|
_attr_native_value: Incomplete
|
|
33
37
|
_attr_available: bool
|
|
34
38
|
async def async_update(self) -> None: ...
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.const import Platform as Platform
|
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
|
+
|
|
6
|
+
PLATFORMS: list[Platform]
|
|
7
|
+
logger: Incomplete
|
|
8
|
+
|
|
9
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
|
|
10
|
+
async def async_unload_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
3
|
+
from homeassistant.const import CONF_CODE as CONF_CODE, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
|
|
4
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
5
|
+
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
|
6
|
+
from pydroplet.droplet import DropletDiscovery
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
class DropletConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
10
|
+
_droplet_discovery: DropletDiscovery
|
|
11
|
+
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
|
12
|
+
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
13
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from .const import CONNECT_DELAY as CONNECT_DELAY, DOMAIN as DOMAIN
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
4
|
+
from homeassistant.const import CONF_CODE as CONF_CODE, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
7
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
9
|
+
|
|
10
|
+
VERSION_TIMEOUT: int
|
|
11
|
+
_LOGGER: Incomplete
|
|
12
|
+
TIMEOUT: int
|
|
13
|
+
type DropletConfigEntry = ConfigEntry[DropletDataCoordinator]
|
|
14
|
+
|
|
15
|
+
class DropletDataCoordinator(DataUpdateCoordinator[None]):
|
|
16
|
+
config_entry: DropletConfigEntry
|
|
17
|
+
droplet: Incomplete
|
|
18
|
+
unique_id: Incomplete
|
|
19
|
+
def __init__(self, hass: HomeAssistant, entry: DropletConfigEntry) -> None: ...
|
|
20
|
+
async def _async_setup(self) -> None: ...
|
|
21
|
+
async def _async_update_data(self) -> None: ...
|
|
22
|
+
async def setup(self) -> bool: ...
|
|
23
|
+
def get_availability(self) -> bool: ...
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN, KEY_CURRENT_FLOW_RATE as KEY_CURRENT_FLOW_RATE, KEY_SERVER_CONNECTIVITY as KEY_SERVER_CONNECTIVITY, KEY_SIGNAL_QUALITY as KEY_SIGNAL_QUALITY, KEY_VOLUME as KEY_VOLUME
|
|
2
|
+
from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
13
|
+
from pydroplet.droplet import Droplet as Droplet
|
|
14
|
+
|
|
15
|
+
ML_L_CONVERSION: int
|
|
16
|
+
|
|
17
|
+
@dataclass(kw_only=True, frozen=True)
|
|
18
|
+
class DropletSensorEntityDescription(SensorEntityDescription):
|
|
19
|
+
value_fn: Callable[[Droplet], float | str | None]
|
|
20
|
+
last_reset_fn: Callable[[Droplet], datetime | None] = ...
|
|
21
|
+
|
|
22
|
+
SENSORS: list[DropletSensorEntityDescription]
|
|
23
|
+
|
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
25
|
+
|
|
26
|
+
class DropletSensor(CoordinatorEntity[DropletDataCoordinator], SensorEntity):
|
|
27
|
+
entity_description: DropletSensorEntityDescription
|
|
28
|
+
_attr_has_entity_name: bool
|
|
29
|
+
_attr_unique_id: Incomplete
|
|
30
|
+
_attr_device_info: Incomplete
|
|
31
|
+
def __init__(self, coordinator: DropletDataCoordinator, entity_description: DropletSensorEntityDescription) -> None: ...
|
|
32
|
+
@property
|
|
33
|
+
def available(self) -> bool: ...
|
|
34
|
+
@property
|
|
35
|
+
def native_value(self) -> float | str | None: ...
|
|
36
|
+
@property
|
|
37
|
+
def last_reset(self) -> datetime | None: ...
|
|
@@ -5,6 +5,7 @@ from _typeshed import Incomplete
|
|
|
5
5
|
from collections.abc import Callable as Callable
|
|
6
6
|
from dataclasses import dataclass
|
|
7
7
|
from deebot_client.capabilities import CapabilitySet
|
|
8
|
+
from deebot_client.device import Device as Device
|
|
8
9
|
from deebot_client.events.base import Event as Event
|
|
9
10
|
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
|
10
11
|
from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory
|
|
@@ -22,7 +23,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntr
|
|
|
22
23
|
|
|
23
24
|
class EcovacsNumberEntity[EventT: Event](EcovacsDescriptionEntity[CapabilitySet[EventT, [int]]], NumberEntity):
|
|
24
25
|
entity_description: EcovacsNumberEntityDescription
|
|
25
|
-
|
|
26
|
+
_attr_native_min_value: Incomplete
|
|
26
27
|
_attr_native_max_value: Incomplete
|
|
28
|
+
def __init__(self, device: Device, capability: CapabilitySet[EventT, [int]], entity_description: EcovacsNumberEntityDescription) -> None: ...
|
|
29
|
+
_attr_native_value: Incomplete
|
|
27
30
|
async def async_added_to_hass(self) -> None: ...
|
|
28
31
|
async def async_set_native_value(self, value: float) -> None: ...
|
|
@@ -29,6 +29,7 @@ PORT_PROTOCOL_MAP: Incomplete
|
|
|
29
29
|
async def validate_input(data: dict[str, str], mac: str | None) -> dict[str, str]: ...
|
|
30
30
|
def _address_from_discovery(device: ElkSystem) -> str: ...
|
|
31
31
|
def _make_url_from_data(data: dict[str, str]) -> str: ...
|
|
32
|
+
def _get_protocol_from_url(url: str) -> str: ...
|
|
32
33
|
def _placeholders_from_device(device: ElkSystem) -> dict[str, str]: ...
|
|
33
34
|
|
|
34
35
|
class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
@@ -42,6 +43,7 @@ class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
42
43
|
async def _async_handle_discovery(self) -> ConfigFlowResult: ...
|
|
43
44
|
def is_matching(self, other_flow: Self) -> bool: ...
|
|
44
45
|
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
46
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
45
47
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
46
48
|
async def _async_create_or_error(self, user_input: dict[str, Any], importing: bool) -> tuple[dict[str, str] | None, ConfigFlowResult | None]: ...
|
|
47
49
|
async def async_step_discovered_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|