homeassistant-stubs 2025.10.4__py3-none-any.whl → 2025.11.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of homeassistant-stubs might be problematic. Click here for more details.
- homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
- homeassistant-stubs/components/airly/config_flow.pyi +3 -0
- homeassistant-stubs/components/airos/__init__.pyi +4 -2
- homeassistant-stubs/components/airos/config_flow.pyi +10 -1
- homeassistant-stubs/components/airos/coordinator.pyi +1 -1
- homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
- homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
- homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
- homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
- homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
- homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
- homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
- homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
- homeassistant-stubs/components/asuswrt/router.pyi +1 -1
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +2 -1
- homeassistant-stubs/components/backup/util.pyi +2 -32
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
- homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
- homeassistant-stubs/components/bluetooth/api.pyi +2 -0
- homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
- homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
- homeassistant-stubs/components/calendar/trigger.pyi +1 -1
- homeassistant-stubs/components/camera/__init__.pyi +1 -9
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
- homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
- homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +2 -1
- homeassistant-stubs/components/cloud/client.pyi +1 -1
- homeassistant-stubs/components/cloud/const.pyi +1 -1
- homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/comelit/cover.pyi +2 -2
- homeassistant-stubs/components/comelit/light.pyi +1 -1
- homeassistant-stubs/components/comelit/sensor.pyi +1 -0
- homeassistant-stubs/components/comelit/switch.pyi +1 -1
- homeassistant-stubs/components/comelit/utils.pyi +5 -1
- homeassistant-stubs/components/config/config_entries.pyi +5 -1
- homeassistant-stubs/components/cover/__init__.pyi +1 -11
- homeassistant-stubs/components/demo/valve.pyi +14 -5
- homeassistant-stubs/components/derivative/__init__.pyi +0 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
- homeassistant-stubs/components/derivative/sensor.pyi +2 -1
- homeassistant-stubs/components/device_automation/condition.pyi +7 -6
- homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
- homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
- homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +14 -2
- homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
- homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
- homeassistant-stubs/components/esphome/__init__.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
- homeassistant-stubs/components/esphome/climate.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
- homeassistant-stubs/components/esphome/const.pyi +2 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
- homeassistant-stubs/components/esphome/manager.pyi +8 -3
- homeassistant-stubs/components/esphome/select.pyi +1 -1
- homeassistant-stubs/components/evohome/climate.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
- homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
- homeassistant-stubs/components/filter/__init__.pyi +0 -1
- homeassistant-stubs/components/filter/config_flow.pyi +1 -0
- homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
- homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
- homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
- homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
- homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
- homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
- homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
- homeassistant-stubs/components/fritz/models.pyi +2 -2
- homeassistant-stubs/components/fritz/services.pyi +3 -0
- homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/github/__init__.pyi +12 -0
- homeassistant-stubs/components/github/config_flow.pyi +28 -0
- homeassistant-stubs/components/github/const.pyi +10 -0
- homeassistant-stubs/components/github/coordinator.pyi +26 -0
- homeassistant-stubs/components/github/diagnostics.pyi +7 -0
- homeassistant-stubs/components/github/sensor.pyi +37 -0
- homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
- homeassistant-stubs/components/google_drive/api.pyi +1 -0
- homeassistant-stubs/components/google_sheets/services.pyi +9 -2
- homeassistant-stubs/components/group/__init__.pyi +0 -1
- homeassistant-stubs/components/group/config_flow.pyi +2 -0
- homeassistant-stubs/components/group/entity.pyi +3 -0
- homeassistant-stubs/components/group/light.pyi +1 -1
- homeassistant-stubs/components/group/util.pyi +1 -0
- homeassistant-stubs/components/group/valve.pyi +47 -0
- homeassistant-stubs/components/habitica/__init__.pyi +1 -0
- homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
- homeassistant-stubs/components/habitica/const.pyi +1 -0
- homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
- homeassistant-stubs/components/habitica/entity.pyi +15 -2
- homeassistant-stubs/components/habitica/image.pyi +6 -2
- homeassistant-stubs/components/habitica/notify.pyi +42 -0
- homeassistant-stubs/components/habitica/sensor.pyi +9 -4
- homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/__init__.pyi +2 -10
- homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
- homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
- homeassistant-stubs/components/home_connect/const.pyi +1 -0
- homeassistant-stubs/components/home_connect/select.pyi +1 -1
- homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
- homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
- homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
- homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
- homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
- homeassistant-stubs/components/homee/__init__.pyi +1 -0
- homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
- homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
- homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
- homeassistant-stubs/components/imap/__init__.pyi +3 -1
- homeassistant-stubs/components/imap/coordinator.pyi +4 -1
- homeassistant-stubs/components/inels/__init__.pyi +18 -0
- homeassistant-stubs/components/inels/config_flow.pyi +13 -0
- homeassistant-stubs/components/inels/const.pyi +7 -0
- homeassistant-stubs/components/inels/entity.pyi +20 -0
- homeassistant-stubs/components/inels/switch.pyi +34 -0
- homeassistant-stubs/components/knx/climate.pyi +23 -11
- homeassistant-stubs/components/knx/const.pyi +14 -0
- homeassistant-stubs/components/knx/schema.pyi +1 -13
- homeassistant-stubs/components/knx/sensor.pyi +8 -9
- homeassistant-stubs/components/knx/storage/const.pyi +20 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
- homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
- homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +2 -3
- homeassistant-stubs/components/litterrobot/update.pyi +2 -0
- homeassistant-stubs/components/lock/__init__.pyi +1 -6
- homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
- homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
- homeassistant-stubs/components/london_underground/const.pyi +1 -0
- homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
- homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
- homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
- homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
- homeassistant-stubs/components/lunatone/const.pyi +3 -0
- homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
- homeassistant-stubs/components/lunatone/light.pyi +43 -0
- homeassistant-stubs/components/matrix/__init__.pyi +10 -2
- homeassistant-stubs/components/matrix/const.pyi +5 -0
- homeassistant-stubs/components/matrix/services.pyi +3 -1
- homeassistant-stubs/components/matter/__init__.pyi +5 -0
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/button.pyi +1 -1
- homeassistant-stubs/components/matter/climate.pyi +7 -1
- homeassistant-stubs/components/matter/cover.pyi +6 -2
- homeassistant-stubs/components/matter/entity.pyi +4 -2
- homeassistant-stubs/components/matter/event.pyi +5 -1
- homeassistant-stubs/components/matter/fan.pyi +5 -1
- homeassistant-stubs/components/matter/light.pyi +6 -2
- homeassistant-stubs/components/matter/lock.pyi +5 -1
- homeassistant-stubs/components/matter/models.pyi +3 -3
- homeassistant-stubs/components/matter/number.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +1 -1
- homeassistant-stubs/components/matter/sensor.pyi +4 -1
- homeassistant-stubs/components/matter/services.pyi +11 -0
- homeassistant-stubs/components/matter/switch.pyi +5 -2
- homeassistant-stubs/components/matter/update.pyi +4 -1
- homeassistant-stubs/components/matter/vacuum.pyi +6 -2
- homeassistant-stubs/components/matter/valve.pyi +6 -2
- homeassistant-stubs/components/matter/water_heater.pyi +8 -1
- homeassistant-stubs/components/mcp/__init__.pyi +1 -6
- homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
- homeassistant-stubs/components/mcp/const.pyi +1 -0
- homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
- homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
- homeassistant-stubs/components/mcp_server/http.pyi +23 -1
- homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
- homeassistant-stubs/components/media_player/__init__.pyi +1 -9
- homeassistant-stubs/components/media_player/const.pyi +10 -69
- homeassistant-stubs/components/media_player/intent.pyi +7 -9
- homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
- homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
- homeassistant-stubs/components/metoffice/weather.pyi +11 -11
- homeassistant-stubs/components/min_max/__init__.pyi +0 -1
- homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
- homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
- homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
- homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
- homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
- homeassistant-stubs/components/mqtt/const.pyi +7 -1
- homeassistant-stubs/components/mqtt/number.pyi +1 -5
- homeassistant-stubs/components/mqtt/siren.pyi +1 -9
- homeassistant-stubs/components/music_assistant/const.pyi +4 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
- homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
- homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
- homeassistant-stubs/components/nasweb/switch.pyi +1 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/onedrive/backup.pyi +2 -1
- homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
- homeassistant-stubs/components/onewire/const.pyi +0 -2
- homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
- homeassistant-stubs/components/onewire/entity.pyi +6 -14
- homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
- homeassistant-stubs/components/onewire/select.pyi +3 -10
- homeassistant-stubs/components/onewire/sensor.pyi +5 -7
- homeassistant-stubs/components/onewire/switch.pyi +7 -14
- homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
- homeassistant-stubs/components/open_router/entity.pyi +4 -1
- homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
- homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
- homeassistant-stubs/components/opower/coordinator.pyi +1 -0
- homeassistant-stubs/components/ping/__init__.pyi +1 -0
- homeassistant-stubs/components/ping/config_flow.pyi +1 -0
- homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
- homeassistant-stubs/components/ping/entity.pyi +1 -0
- homeassistant-stubs/components/portainer/button.pyi +29 -0
- homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
- homeassistant-stubs/components/portainer/const.pyi +1 -0
- homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
- homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
- homeassistant-stubs/components/portainer/entity.pyi +2 -0
- homeassistant-stubs/components/portainer/sensor.pyi +41 -0
- homeassistant-stubs/components/portainer/switch.pyi +35 -0
- homeassistant-stubs/components/qbus/entity.pyi +1 -3
- homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
- homeassistant-stubs/components/recorder/const.pyi +1 -1
- homeassistant-stubs/components/recorder/core.pyi +3 -3
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
- homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
- homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/migration.pyi +4 -1
- homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +17 -12
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
- homeassistant-stubs/components/recorder/tasks.pyi +1 -0
- homeassistant-stubs/components/recorder/util.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
- homeassistant-stubs/components/renault/sensor.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
- homeassistant-stubs/components/reolink/siren.pyi +2 -0
- homeassistant-stubs/components/reolink/switch.pyi +25 -7
- homeassistant-stubs/components/roborock/__init__.pyi +1 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
- homeassistant-stubs/components/roborock/entity.pyi +1 -1
- homeassistant-stubs/components/roborock/models.pyi +1 -1
- homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
- homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
- homeassistant-stubs/components/sensibo/climate.pyi +3 -26
- homeassistant-stubs/components/sensibo/services.pyi +31 -0
- homeassistant-stubs/components/sensor/const.pyi +2 -1
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/sensor/recorder.pyi +6 -3
- homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
- homeassistant-stubs/components/sfr_box/button.pyi +4 -9
- homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
- homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
- homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
- homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
- homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
- homeassistant-stubs/components/shelly/button.pyi +26 -16
- homeassistant-stubs/components/shelly/climate.pyi +61 -7
- homeassistant-stubs/components/shelly/const.pyi +15 -3
- homeassistant-stubs/components/shelly/cover.pyi +31 -10
- homeassistant-stubs/components/shelly/entity.pyi +5 -4
- homeassistant-stubs/components/shelly/event.pyi +4 -0
- homeassistant-stubs/components/shelly/light.pyi +23 -7
- homeassistant-stubs/components/shelly/number.pyi +11 -2
- homeassistant-stubs/components/shelly/repairs.pyi +2 -2
- homeassistant-stubs/components/shelly/select.pyi +4 -1
- homeassistant-stubs/components/shelly/sensor.pyi +8 -7
- homeassistant-stubs/components/shelly/switch.pyi +7 -4
- homeassistant-stubs/components/shelly/text.pyi +4 -1
- homeassistant-stubs/components/shelly/update.pyi +4 -0
- homeassistant-stubs/components/shelly/utils.pyi +10 -5
- homeassistant-stubs/components/shelly/valve.pyi +34 -5
- homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
- homeassistant-stubs/components/sma/__init__.pyi +15 -0
- homeassistant-stubs/components/sma/config_flow.pyi +27 -0
- homeassistant-stubs/components/sma/const.pyi +11 -0
- homeassistant-stubs/components/sma/coordinator.pyi +28 -0
- homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
- homeassistant-stubs/components/sma/sensor.pyi +33 -0
- homeassistant-stubs/components/sql/__init__.pyi +2 -4
- homeassistant-stubs/components/sql/sensor.pyi +6 -13
- homeassistant-stubs/components/sql/services.pyi +17 -0
- homeassistant-stubs/components/sql/util.pyi +16 -3
- homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
- homeassistant-stubs/components/squeezebox/button.pyi +1 -0
- homeassistant-stubs/components/squeezebox/const.pyi +0 -1
- homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
- homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
- homeassistant-stubs/components/squeezebox/util.pyi +6 -0
- homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
- homeassistant-stubs/components/sun/condition.pyi +10 -5
- homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
- homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
- homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
- homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
- homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
- homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
- homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
- homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
- homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
- homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
- homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
- homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
- homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
- homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
- homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
- homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
- homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
- homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tod/__init__.pyi +0 -1
- homeassistant-stubs/components/tod/config_flow.pyi +1 -0
- homeassistant-stubs/components/tolo/__init__.pyi +3 -5
- homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
- homeassistant-stubs/components/tolo/button.pyi +3 -5
- homeassistant-stubs/components/tolo/climate.pyi +3 -5
- homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
- homeassistant-stubs/components/tolo/entity.pyi +2 -3
- homeassistant-stubs/components/tolo/fan.pyi +3 -5
- homeassistant-stubs/components/tolo/light.pyi +3 -5
- homeassistant-stubs/components/tolo/number.pyi +3 -5
- homeassistant-stubs/components/tolo/select.pyi +4 -5
- homeassistant-stubs/components/tolo/sensor.pyi +3 -5
- homeassistant-stubs/components/tolo/switch.pyi +3 -5
- homeassistant-stubs/components/trend/__init__.pyi +0 -1
- homeassistant-stubs/components/trend/config_flow.pyi +1 -0
- homeassistant-stubs/components/tts/__init__.pyi +2 -3
- homeassistant-stubs/components/unifi/light.pyi +44 -0
- homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
- homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
- homeassistant-stubs/components/usb/__init__.pyi +2 -0
- homeassistant-stubs/components/usb/utils.pyi +7 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
- homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
- homeassistant-stubs/components/vivotek/camera.pyi +35 -0
- homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
- homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
- homeassistant-stubs/components/volvo/__init__.pyi +2 -0
- homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
- homeassistant-stubs/components/volvo/button.pyi +27 -0
- homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
- homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
- homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
- homeassistant-stubs/components/volvo/entity.pyi +9 -5
- homeassistant-stubs/components/volvo/sensor.pyi +9 -8
- homeassistant-stubs/components/waqi/__init__.pyi +8 -0
- homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
- homeassistant-stubs/components/waqi/const.pyi +1 -1
- homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
- homeassistant-stubs/components/webostv/media_player.pyi +3 -0
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
- homeassistant-stubs/components/wled/select.pyi +6 -3
- homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
- homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
- homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
- homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
- homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
- homeassistant-stubs/components/zone/condition.pyi +10 -4
- homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
- homeassistant-stubs/config_entries.pyi +9 -0
- homeassistant-stubs/const.pyi +4 -21
- homeassistant-stubs/core.pyi +1 -7
- homeassistant-stubs/data_entry_flow.pyi +2 -0
- homeassistant-stubs/helpers/automation.pyi +6 -0
- homeassistant-stubs/helpers/condition.pyi +15 -5
- homeassistant-stubs/helpers/debounce.pyi +6 -1
- homeassistant-stubs/helpers/entity_platform.pyi +1 -1
- homeassistant-stubs/helpers/event.pyi +1 -1
- homeassistant-stubs/helpers/instance_id.pyi +1 -0
- homeassistant-stubs/helpers/llm.pyi +6 -1
- homeassistant-stubs/helpers/selector.pyi +5 -4
- homeassistant-stubs/helpers/service.pyi +4 -4
- homeassistant-stubs/helpers/template/__init__.pyi +0 -5
- homeassistant-stubs/helpers/trigger.pyi +18 -5
- homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
- homeassistant-stubs/runner.pyi +1 -1
- homeassistant-stubs/util/async_iterator.pyi +33 -0
- homeassistant-stubs/util/unit_conversion.pyi +15 -0
- {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/RECORD +433 -397
- homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
- homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
- homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
- homeassistant-stubs/components/neato/__init__.pyi +0 -15
- homeassistant-stubs/components/neato/api.pyi +0 -17
- homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
- homeassistant-stubs/components/neato/button.pyi +0 -18
- homeassistant-stubs/components/neato/camera.pyi +0 -34
- homeassistant-stubs/components/neato/config_flow.pyi +0 -15
- homeassistant-stubs/components/neato/const.pyi +0 -13
- homeassistant-stubs/components/neato/entity.pyi +0 -11
- homeassistant-stubs/components/neato/hub.pyi +0 -17
- homeassistant-stubs/components/neato/sensor.pyi +0 -30
- homeassistant-stubs/components/neato/switch.pyi +0 -34
- homeassistant-stubs/components/neato/vacuum.pyi +0 -70
- homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
- homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
- homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
- homeassistant-stubs/components/sfr_box/models.pyi +0 -12
- {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from .entity import GroupEntity as GroupEntity
|
|
2
|
+
from .util import reduce_attribute as reduce_attribute
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from homeassistant.components.valve import ATTR_CURRENT_POSITION as ATTR_CURRENT_POSITION, ATTR_POSITION as ATTR_POSITION, ValveEntity as ValveEntity, ValveEntityFeature as ValveEntityFeature, ValveState as ValveState
|
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
|
+
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE, SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION, SERVICE_STOP_VALVE as SERVICE_STOP_VALVE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
|
8
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
|
|
9
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
KEY_OPEN_CLOSE: str
|
|
13
|
+
KEY_STOP: str
|
|
14
|
+
KEY_SET_POSITION: str
|
|
15
|
+
DEFAULT_NAME: str
|
|
16
|
+
PARALLEL_UPDATES: int
|
|
17
|
+
PLATFORM_SCHEMA: Incomplete
|
|
18
|
+
|
|
19
|
+
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
21
|
+
@callback
|
|
22
|
+
def async_create_preview_valve(hass: HomeAssistant, name: str, validated_config: dict[str, Any]) -> ValveGroup: ...
|
|
23
|
+
|
|
24
|
+
class ValveGroup(GroupEntity, ValveEntity):
|
|
25
|
+
_attr_available: bool
|
|
26
|
+
_attr_current_valve_position: int | None
|
|
27
|
+
_attr_is_closed: bool | None
|
|
28
|
+
_attr_is_closing: bool | None
|
|
29
|
+
_attr_is_opening: bool | None
|
|
30
|
+
_attr_reports_position: bool
|
|
31
|
+
_entity_ids: Incomplete
|
|
32
|
+
_valves: dict[str, set[str]]
|
|
33
|
+
_attr_name: Incomplete
|
|
34
|
+
_attr_extra_state_attributes: Incomplete
|
|
35
|
+
_attr_unique_id: Incomplete
|
|
36
|
+
def __init__(self, unique_id: str | None, name: str, entities: list[str]) -> None: ...
|
|
37
|
+
@callback
|
|
38
|
+
def async_update_supported_features(self, entity_id: str, new_state: State | None) -> None: ...
|
|
39
|
+
async def async_open_valve(self) -> None: ...
|
|
40
|
+
async def async_handle_open_valve(self) -> None: ...
|
|
41
|
+
async def async_close_valve(self) -> None: ...
|
|
42
|
+
async def async_handle_close_valve(self) -> None: ...
|
|
43
|
+
async def async_set_valve_position(self, position: int) -> None: ...
|
|
44
|
+
async def async_stop_valve(self) -> None: ...
|
|
45
|
+
_attr_supported_features: Incomplete
|
|
46
|
+
@callback
|
|
47
|
+
def async_update_group_state(self) -> None: ...
|
|
@@ -15,5 +15,6 @@ PLATFORMS: Incomplete
|
|
|
15
15
|
|
|
16
16
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
17
17
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEntry) -> bool: ...
|
|
18
|
+
async def _async_update_listener(hass: HomeAssistant, entry: HabiticaConfigEntry) -> None: ...
|
|
18
19
|
async def shutdown_party_coordinator(hass: HomeAssistant, party_added: UUID) -> None: ...
|
|
19
20
|
async def async_unload_entry(hass: HomeAssistant, entry: HabiticaConfigEntry) -> bool: ...
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
from .
|
|
1
|
+
from . import HABITICA_KEY as HABITICA_KEY
|
|
2
|
+
from .const import CONF_API_USER as CONF_API_USER, CONF_PARTY_MEMBER as CONF_PARTY_MEMBER, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, FORGOT_PASSWORD_URL as FORGOT_PASSWORD_URL, HABITICANS_URL as HABITICANS_URL, SECTION_DANGER_ZONE as SECTION_DANGER_ZONE, SECTION_REAUTH_API_KEY as SECTION_REAUTH_API_KEY, SECTION_REAUTH_LOGIN as SECTION_REAUTH_LOGIN, SIGN_UP_URL as SIGN_UP_URL, SITE_DATA_URL as SITE_DATA_URL, X_CLIENT as X_CLIENT
|
|
2
3
|
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from collections.abc import Mapping
|
|
5
6
|
from habiticalib import LoginData as LoginData, UserData as UserData
|
|
6
7
|
from homeassistant import data_entry_flow as data_entry_flow
|
|
7
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
|
|
8
9
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
10
|
+
from homeassistant.core import callback as callback
|
|
9
11
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
10
|
-
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
|
12
|
+
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
|
11
13
|
from typing import Any
|
|
12
14
|
|
|
13
15
|
STEP_ADVANCED_DATA_SCHEMA: Incomplete
|
|
@@ -25,3 +27,9 @@ class HabiticaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
25
27
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
26
28
|
async def validate_login(self, user_input: Mapping[str, Any]) -> tuple[dict[str, str], LoginData | None, UserData | None]: ...
|
|
27
29
|
async def validate_api_key(self, user_input: Mapping[str, Any]) -> tuple[dict[str, str], UserData | None]: ...
|
|
30
|
+
@classmethod
|
|
31
|
+
@callback
|
|
32
|
+
def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
|
|
33
|
+
|
|
34
|
+
class PartyMembersSubentryFlowHandler(ConfigSubentryFlow):
|
|
35
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
@@ -5,13 +5,14 @@ from abc import abstractmethod
|
|
|
5
5
|
from collections.abc import Callable as Callable
|
|
6
6
|
from dataclasses import dataclass
|
|
7
7
|
from datetime import timedelta
|
|
8
|
-
from habiticalib import Avatar as Avatar, ContentData as ContentData, GroupData, Habitica as Habitica, TaskData as TaskData, UserData as UserData
|
|
8
|
+
from habiticalib import Avatar as Avatar, ContentData as ContentData, GroupData as GroupData, Habitica as Habitica, TaskData as TaskData, UserData as UserData
|
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
12
12
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
|
13
13
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
14
14
|
from typing import Any
|
|
15
|
+
from uuid import UUID
|
|
15
16
|
|
|
16
17
|
_LOGGER: Incomplete
|
|
17
18
|
|
|
@@ -19,6 +20,11 @@ _LOGGER: Incomplete
|
|
|
19
20
|
class HabiticaData:
|
|
20
21
|
user: UserData
|
|
21
22
|
tasks: list[TaskData]
|
|
23
|
+
|
|
24
|
+
@dataclass
|
|
25
|
+
class HabiticaPartyData:
|
|
26
|
+
party: GroupData
|
|
27
|
+
members: dict[UUID, UserData]
|
|
22
28
|
type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator]
|
|
23
29
|
|
|
24
30
|
class HabiticaBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT], metaclass=abc.ABCMeta):
|
|
@@ -38,6 +44,6 @@ class HabiticaDataUpdateCoordinator(HabiticaBaseCoordinator[HabiticaData]):
|
|
|
38
44
|
async def execute(self, func: Callable[[Habitica], Any]) -> None: ...
|
|
39
45
|
async def generate_avatar(self, avatar: Avatar) -> bytes: ...
|
|
40
46
|
|
|
41
|
-
class HabiticaPartyCoordinator(HabiticaBaseCoordinator[
|
|
47
|
+
class HabiticaPartyCoordinator(HabiticaBaseCoordinator[HabiticaPartyData]):
|
|
42
48
|
_update_interval: Incomplete
|
|
43
|
-
async def _update_data(self) ->
|
|
49
|
+
async def _update_data(self) -> HabiticaPartyData: ...
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, NAME as NAME
|
|
2
2
|
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator, HabiticaPartyCoordinator as HabiticaPartyCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from habiticalib import ContentData as ContentData
|
|
4
|
+
from habiticalib import ContentData as ContentData, UserData as UserData
|
|
5
|
+
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
|
5
6
|
from homeassistant.const import CONF_URL as CONF_URL
|
|
6
7
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
7
8
|
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
|
@@ -10,9 +11,21 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
|
|
|
10
11
|
class HabiticaBase(CoordinatorEntity[HabiticaDataUpdateCoordinator]):
|
|
11
12
|
_attr_has_entity_name: bool
|
|
12
13
|
entity_description: Incomplete
|
|
14
|
+
subentry: Incomplete
|
|
13
15
|
_attr_unique_id: Incomplete
|
|
14
16
|
_attr_device_info: Incomplete
|
|
15
|
-
def __init__(self, coordinator: HabiticaDataUpdateCoordinator, entity_description: EntityDescription) -> None: ...
|
|
17
|
+
def __init__(self, coordinator: HabiticaDataUpdateCoordinator, entity_description: EntityDescription, subentry: ConfigSubentry | None = None) -> None: ...
|
|
18
|
+
@property
|
|
19
|
+
def user(self) -> UserData | None: ...
|
|
20
|
+
|
|
21
|
+
class HabiticaPartyMemberBase(HabiticaBase):
|
|
22
|
+
party_coordinator: Incomplete
|
|
23
|
+
def __init__(self, coordinator: HabiticaDataUpdateCoordinator, party_coordinator: HabiticaPartyCoordinator, entity_description: EntityDescription, subentry: ConfigSubentry | None = None) -> None: ...
|
|
24
|
+
@property
|
|
25
|
+
def user(self) -> UserData | None: ...
|
|
26
|
+
@property
|
|
27
|
+
def available(self) -> bool: ...
|
|
28
|
+
async def async_added_to_hass(self) -> None: ...
|
|
16
29
|
|
|
17
30
|
class HabiticaPartyBase(CoordinatorEntity[HabiticaPartyCoordinator]):
|
|
18
31
|
_attr_has_entity_name: bool
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from . import HABITICA_KEY as HABITICA_KEY
|
|
2
2
|
from .const import ASSETS_URL as ASSETS_URL
|
|
3
3
|
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator, HabiticaPartyCoordinator as HabiticaPartyCoordinator
|
|
4
|
-
from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
|
|
4
|
+
from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase, HabiticaPartyMemberBase as HabiticaPartyMemberBase
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from enum import StrEnum
|
|
7
7
|
from habiticalib import Avatar as Avatar, ContentData as ContentData
|
|
8
8
|
from homeassistant.components.image import Image as Image, ImageEntity as ImageEntity, ImageEntityDescription as ImageEntityDescription
|
|
9
|
+
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
12
|
|
|
@@ -23,10 +24,13 @@ class HabiticaImage(HabiticaBase, ImageEntity):
|
|
|
23
24
|
_avatar: Avatar | None
|
|
24
25
|
_cache: bytes | None
|
|
25
26
|
_attr_image_last_updated: Incomplete
|
|
26
|
-
def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator) -> None: ...
|
|
27
|
+
def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator, subentry: ConfigSubentry | None = None) -> None: ...
|
|
27
28
|
def _handle_coordinator_update(self) -> None: ...
|
|
28
29
|
async def async_image(self) -> bytes | None: ...
|
|
29
30
|
|
|
31
|
+
class HabiticaPartyMemberImage(HabiticaImage, HabiticaPartyMemberBase):
|
|
32
|
+
def __init__(self, hass: HomeAssistant, coordinator: HabiticaDataUpdateCoordinator, party_coordinator: HabiticaPartyCoordinator, subentry: ConfigSubentry | None = None) -> None: ...
|
|
33
|
+
|
|
30
34
|
class HabiticaPartyImage(HabiticaPartyBase, ImageEntity):
|
|
31
35
|
entity_description: Incomplete
|
|
32
36
|
_attr_content_type: str
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import abc
|
|
2
|
+
from . import HABITICA_KEY as HABITICA_KEY
|
|
3
|
+
from .const import DOMAIN as DOMAIN
|
|
4
|
+
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator
|
|
5
|
+
from .entity import HabiticaBase as HabiticaBase
|
|
6
|
+
from _typeshed import Incomplete
|
|
7
|
+
from abc import abstractmethod
|
|
8
|
+
from enum import StrEnum
|
|
9
|
+
from habiticalib import GroupData as GroupData, UserData as UserData
|
|
10
|
+
from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription
|
|
11
|
+
from homeassistant.const import CONF_NAME as CONF_NAME
|
|
12
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
13
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
14
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
15
|
+
|
|
16
|
+
PARALLEL_UPDATES: int
|
|
17
|
+
|
|
18
|
+
class HabiticaNotify(StrEnum):
|
|
19
|
+
PARTY_CHAT = 'party_chat'
|
|
20
|
+
PRIVATE_MESSAGE = 'private_message'
|
|
21
|
+
|
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
23
|
+
|
|
24
|
+
class HabiticaBaseNotifyEntity(HabiticaBase, NotifyEntity, metaclass=abc.ABCMeta):
|
|
25
|
+
def __init__(self, coordinator: HabiticaDataUpdateCoordinator) -> None: ...
|
|
26
|
+
@abstractmethod
|
|
27
|
+
async def _send_message(self, message: str) -> None: ...
|
|
28
|
+
async def async_send_message(self, message: str, title: str | None = None) -> None: ...
|
|
29
|
+
|
|
30
|
+
class HabiticaPartyChatNotifyEntity(HabiticaBaseNotifyEntity):
|
|
31
|
+
_attr_translation_placeholders: Incomplete
|
|
32
|
+
entity_description: Incomplete
|
|
33
|
+
party: Incomplete
|
|
34
|
+
def __init__(self, coordinator: HabiticaDataUpdateCoordinator, party: GroupData) -> None: ...
|
|
35
|
+
async def _send_message(self, message: str) -> None: ...
|
|
36
|
+
|
|
37
|
+
class HabiticaPrivateMessageNotifyEntity(HabiticaBaseNotifyEntity):
|
|
38
|
+
_attr_translation_placeholders: Incomplete
|
|
39
|
+
entity_description: Incomplete
|
|
40
|
+
member: Incomplete
|
|
41
|
+
def __init__(self, coordinator: HabiticaDataUpdateCoordinator, member: UserData) -> None: ...
|
|
42
|
+
async def _send_message(self, message: str) -> None: ...
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from . import HABITICA_KEY as HABITICA_KEY
|
|
2
2
|
from .const import ASSETS_URL as ASSETS_URL
|
|
3
3
|
from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
|
|
4
|
-
from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase
|
|
4
|
+
from .entity import HabiticaBase as HabiticaBase, HabiticaPartyBase as HabiticaPartyBase, HabiticaPartyMemberBase as HabiticaPartyMemberBase
|
|
5
5
|
from .util import collected_quest_items as collected_quest_items, get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list, pending_damage as pending_damage, pending_quest_items as pending_quest_items, quest_attributes as quest_attributes, quest_boss as quest_boss, rage_attributes as rage_attributes
|
|
6
6
|
from _typeshed import Incomplete
|
|
7
7
|
from collections.abc import Callable as Callable
|
|
8
8
|
from dataclasses import dataclass
|
|
9
|
+
from datetime import datetime
|
|
9
10
|
from enum import StrEnum
|
|
10
11
|
from habiticalib import ContentData as ContentData, GroupData as GroupData, TaskData as TaskData, UserData as UserData
|
|
11
12
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
|
@@ -20,7 +21,7 @@ PARALLEL_UPDATES: int
|
|
|
20
21
|
|
|
21
22
|
@dataclass(kw_only=True, frozen=True)
|
|
22
23
|
class HabiticaSensorEntityDescription(SensorEntityDescription):
|
|
23
|
-
value_fn: Callable[[UserData, ContentData], StateType]
|
|
24
|
+
value_fn: Callable[[UserData, ContentData], StateType | datetime]
|
|
24
25
|
attributes_fn: Callable[[UserData, ContentData], dict[str, Any] | None] | None = ...
|
|
25
26
|
entity_picture: str | None = ...
|
|
26
27
|
|
|
@@ -68,7 +69,9 @@ class HabiticaSensorEntity(StrEnum):
|
|
|
68
69
|
COLLECTED_ITEMS = 'collected_items'
|
|
69
70
|
BOSS_RAGE = 'boss_rage'
|
|
70
71
|
BOSS_RAGE_LIMIT = 'boss_rage_limit'
|
|
72
|
+
LAST_CHECKIN = 'last_checkin'
|
|
71
73
|
|
|
74
|
+
SENSOR_DESCRIPTIONS_COMMON: tuple[HabiticaSensorEntityDescription, ...]
|
|
72
75
|
SENSOR_DESCRIPTIONS: tuple[HabiticaSensorEntityDescription, ...]
|
|
73
76
|
SENSOR_DESCRIPTIONS_PARTY: tuple[HabiticaPartySensorEntityDescription, ...]
|
|
74
77
|
|
|
@@ -77,16 +80,18 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: HabiticaConfigEnt
|
|
|
77
80
|
class HabiticaSensor(HabiticaBase, SensorEntity):
|
|
78
81
|
entity_description: HabiticaSensorEntityDescription
|
|
79
82
|
@property
|
|
80
|
-
def native_value(self) -> StateType: ...
|
|
83
|
+
def native_value(self) -> StateType | datetime: ...
|
|
81
84
|
@property
|
|
82
85
|
def extra_state_attributes(self) -> dict[str, float | None] | None: ...
|
|
83
86
|
@property
|
|
84
87
|
def entity_picture(self) -> str | None: ...
|
|
85
88
|
|
|
89
|
+
class HabiticaPartyMemberSensor(HabiticaSensor, HabiticaPartyMemberBase): ...
|
|
90
|
+
|
|
86
91
|
class HabiticaPartySensor(HabiticaPartyBase, SensorEntity):
|
|
87
92
|
entity_description: HabiticaPartySensorEntityDescription
|
|
88
93
|
@property
|
|
89
|
-
def native_value(self) -> StateType: ...
|
|
94
|
+
def native_value(self) -> StateType | datetime: ...
|
|
90
95
|
@property
|
|
91
96
|
def entity_picture(self) -> str | None: ...
|
|
92
97
|
@property
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from homeassistant.components.hardware
|
|
3
|
+
from homeassistant.components.hardware import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
|
|
4
4
|
from homeassistant.components.hassio import get_os_info as get_os_info
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
from . import
|
|
2
|
-
from .const import DATA_HARDWARE as DATA_HARDWARE, DOMAIN as DOMAIN
|
|
3
|
-
from .hardware import async_process_hardware_platforms as async_process_hardware_platforms
|
|
4
|
-
from .models import HardwareData as HardwareData, SystemStatus as SystemStatus
|
|
5
|
-
from _typeshed import Incomplete
|
|
6
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
1
|
+
from .models import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo, USBInfo as USBInfo
|
|
8
2
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
3
|
+
__all__ = ['BoardInfo', 'HardwareInfo', 'USBInfo']
|
|
@@ -15,4 +15,3 @@ _LOGGER: Incomplete
|
|
|
15
15
|
async def async_setup_entry(hass: HomeAssistant, entry: HistoryStatsConfigEntry) -> bool: ...
|
|
16
16
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
17
17
|
async def async_unload_entry(hass: HomeAssistant, entry: HistoryStatsConfigEntry) -> bool: ...
|
|
18
|
-
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
@@ -30,6 +30,7 @@ class HistoryStatsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
|
|
|
30
30
|
MINOR_VERSION: int
|
|
31
31
|
config_flow = CONFIG_FLOW
|
|
32
32
|
options_flow = OPTIONS_FLOW
|
|
33
|
+
options_flow_reloads: bool
|
|
33
34
|
def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
|
|
34
35
|
@staticmethod
|
|
35
36
|
async def async_setup_preview(hass: HomeAssistant) -> None: ...
|
|
@@ -2,3 +2,4 @@ from homeassistant.components.application_credentials import AuthorizationServer
|
|
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
3
|
|
|
4
4
|
async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
|
|
5
|
+
async def async_get_description_placeholders(hass: HomeAssistant) -> dict[str, str]: ...
|
|
@@ -33,6 +33,7 @@ TRANSLATION_KEYS_PROGRAMS_MAP: Incomplete
|
|
|
33
33
|
PROGRAMS_TRANSLATION_KEYS_MAP: Incomplete
|
|
34
34
|
AVAILABLE_MAPS_ENUM: Incomplete
|
|
35
35
|
CLEANING_MODE_OPTIONS: Incomplete
|
|
36
|
+
SUCTION_POWER_OPTIONS: Incomplete
|
|
36
37
|
BEAN_AMOUNT_OPTIONS: Incomplete
|
|
37
38
|
COFFEE_TEMPERATURE_OPTIONS: Incomplete
|
|
38
39
|
BEAN_CONTAINER_OPTIONS: Incomplete
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
|
2
|
-
from .const import AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS, TEMPERATURE_OPTIONS as TEMPERATURE_OPTIONS, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP, VARIO_PERFECT_OPTIONS as VARIO_PERFECT_OPTIONS, VENTING_LEVEL_OPTIONS as VENTING_LEVEL_OPTIONS, WARMING_LEVEL_OPTIONS as WARMING_LEVEL_OPTIONS
|
|
2
|
+
from .const import AVAILABLE_MAPS_ENUM as AVAILABLE_MAPS_ENUM, BEAN_AMOUNT_OPTIONS as BEAN_AMOUNT_OPTIONS, BEAN_CONTAINER_OPTIONS as BEAN_CONTAINER_OPTIONS, CLEANING_MODE_OPTIONS as CLEANING_MODE_OPTIONS, COFFEE_MILK_RATIO_OPTIONS as COFFEE_MILK_RATIO_OPTIONS, COFFEE_TEMPERATURE_OPTIONS as COFFEE_TEMPERATURE_OPTIONS, DOMAIN as DOMAIN, DRYING_TARGET_OPTIONS as DRYING_TARGET_OPTIONS, FLOW_RATE_OPTIONS as FLOW_RATE_OPTIONS, HOT_WATER_TEMPERATURE_OPTIONS as HOT_WATER_TEMPERATURE_OPTIONS, INTENSIVE_LEVEL_OPTIONS as INTENSIVE_LEVEL_OPTIONS, PROGRAMS_TRANSLATION_KEYS_MAP as PROGRAMS_TRANSLATION_KEYS_MAP, SPIN_SPEED_OPTIONS as SPIN_SPEED_OPTIONS, SUCTION_POWER_OPTIONS as SUCTION_POWER_OPTIONS, TEMPERATURE_OPTIONS as TEMPERATURE_OPTIONS, TRANSLATION_KEYS_PROGRAMS_MAP as TRANSLATION_KEYS_PROGRAMS_MAP, VARIO_PERFECT_OPTIONS as VARIO_PERFECT_OPTIONS, VENTING_LEVEL_OPTIONS as VENTING_LEVEL_OPTIONS, WARMING_LEVEL_OPTIONS as WARMING_LEVEL_OPTIONS
|
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry, HomeConnectCoordinator as HomeConnectCoordinator
|
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity, HomeConnectOptionEntity as HomeConnectOptionEntity, constraint_fetcher as constraint_fetcher
|
|
5
5
|
from .utils import bsh_key_to_translation_key as bsh_key_to_translation_key, get_dict_from_home_connect_error as get_dict_from_home_connect_error
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
-
from homeassistant.components.hassio import
|
|
3
|
+
from homeassistant.components.hassio import GreenOptions as GreenOptions, SupervisorError as SupervisorError, get_supervisor_client as get_supervisor_client
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
|
5
|
-
from homeassistant.core import callback as callback
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
|
|
6
6
|
from homeassistant.helpers import selector as selector
|
|
7
7
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
8
8
|
from typing import Any
|
|
@@ -19,5 +19,7 @@ class HomeAssistantGreenConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
19
19
|
|
|
20
20
|
class HomeAssistantGreenOptionsFlow(OptionsFlow):
|
|
21
21
|
_hw_settings: dict[str, bool] | None
|
|
22
|
+
_supervisor_client: Incomplete
|
|
23
|
+
def __init__(self, hass: HomeAssistant, *args: Any, **kwargs: Any) -> None: ...
|
|
22
24
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
23
25
|
async def async_step_hardware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
|
-
from homeassistant.components.hardware
|
|
2
|
+
from homeassistant.components.hardware import BoardInfo as BoardInfo, HardwareInfo as HardwareInfo
|
|
3
3
|
from homeassistant.components.hassio import get_os_info as get_os_info
|
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
5
5
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
from . import DATA_COMPONENT as DATA_COMPONENT
|
|
2
|
+
from .const import HARDWARE_INTEGRATION_DOMAINS as HARDWARE_INTEGRATION_DOMAINS
|
|
2
3
|
from .util import FirmwareInfo as FirmwareInfo
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from collections import defaultdict
|
|
5
6
|
from collections.abc import AsyncIterator, Awaitable, Callable as Callable
|
|
6
7
|
from contextlib import asynccontextmanager
|
|
7
|
-
from homeassistant.
|
|
8
|
+
from homeassistant.components.usb import USBDevice as USBDevice, async_get_usb_matchers_for_device as async_get_usb_matchers_for_device, usb_device_from_path as usb_device_from_path
|
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
|
8
10
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as hass_callback
|
|
9
|
-
from typing import Protocol
|
|
11
|
+
from typing import Protocol, TypedDict
|
|
10
12
|
|
|
11
13
|
_LOGGER: Incomplete
|
|
12
14
|
|
|
15
|
+
class HardwareFirmwareDiscoveryInfo(TypedDict):
|
|
16
|
+
usb_device: USBDevice | None
|
|
17
|
+
firmware_info: FirmwareInfo
|
|
18
|
+
|
|
13
19
|
class SyncHardwareFirmwareInfoModule(Protocol):
|
|
14
20
|
def get_firmware_info(self, hass: HomeAssistant, entry: ConfigEntry) -> FirmwareInfo | None: ...
|
|
15
21
|
|
|
@@ -17,6 +23,9 @@ class AsyncHardwareFirmwareInfoModule(Protocol):
|
|
|
17
23
|
async def async_get_firmware_info(self, hass: HomeAssistant, entry: ConfigEntry) -> FirmwareInfo | None: ...
|
|
18
24
|
type HardwareFirmwareInfoModule = SyncHardwareFirmwareInfoModule | AsyncHardwareFirmwareInfoModule
|
|
19
25
|
|
|
26
|
+
@hass_callback
|
|
27
|
+
def async_get_hardware_domain_for_usb_device(hass: HomeAssistant, usb_device: USBDevice) -> str | None: ...
|
|
28
|
+
|
|
20
29
|
class HardwareInfoDispatcher:
|
|
21
30
|
hass: Incomplete
|
|
22
31
|
_providers: dict[str, HardwareFirmwareInfoModule]
|
|
@@ -26,6 +35,7 @@ class HardwareInfoDispatcher:
|
|
|
26
35
|
def register_firmware_info_provider(self, domain: str, platform: HardwareFirmwareInfoModule) -> None: ...
|
|
27
36
|
def register_firmware_info_callback(self, device: str, callback: Callable[[FirmwareInfo], None]) -> CALLBACK_TYPE: ...
|
|
28
37
|
async def notify_firmware_info(self, domain: str, firmware_info: FirmwareInfo) -> None: ...
|
|
38
|
+
async def _async_trigger_hardware_discovery(self, firmware_info: FirmwareInfo) -> None: ...
|
|
29
39
|
async def iter_firmware_info(self) -> AsyncIterator[FirmwareInfo]: ...
|
|
30
40
|
def register_firmware_update_in_progress(self, device: str, source_domain: str) -> None: ...
|
|
31
41
|
def unregister_firmware_update_in_progress(self, device: str, source_domain: str) -> None: ...
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
|
6
|
+
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
_LOGGER: Incomplete
|
|
10
|
+
|
|
11
|
+
class BaseBetaFirmwareSwitch(SwitchEntity, RestoreEntity):
|
|
12
|
+
_attr_has_entity_name: bool
|
|
13
|
+
_attr_entity_category: Incomplete
|
|
14
|
+
_attr_entity_registry_enabled_default: bool
|
|
15
|
+
_attr_translation_key: str
|
|
16
|
+
_coordinator: Incomplete
|
|
17
|
+
_config_entry: Incomplete
|
|
18
|
+
def __init__(self, coordinator: FirmwareUpdateCoordinator, config_entry: ConfigEntry) -> None: ...
|
|
19
|
+
_attr_is_on: Incomplete
|
|
20
|
+
async def async_added_to_hass(self) -> None: ...
|
|
21
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
|
22
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
|
23
|
+
async def _update_coordinator_prerelease(self) -> None: ...
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
|
|
1
|
+
from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
3
5
|
from homeassistant.components.homeassistant_hardware.util import guess_firmware_info as guess_firmware_info
|
|
4
6
|
from homeassistant.components.usb import USBDevice as USBDevice, async_register_port_event_callback as async_register_port_event_callback, scan_serial_ports as scan_serial_ports
|
|
5
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
9
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
|
10
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
9
12
|
|
|
10
13
|
_LOGGER: Incomplete
|
|
14
|
+
type HomeAssistantSkyConnectConfigEntry = ConfigEntry[HomeAssistantSkyConnectData]
|
|
15
|
+
|
|
16
|
+
@dataclass
|
|
17
|
+
class HomeAssistantSkyConnectData:
|
|
18
|
+
coordinator: FirmwareUpdateCoordinator
|
|
19
|
+
|
|
11
20
|
CONFIG_SCHEMA: Incomplete
|
|
12
21
|
|
|
13
22
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
14
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
|
15
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
|
16
|
-
async def async_migrate_entry(hass: HomeAssistant, config_entry:
|
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
|
|
24
|
+
async def async_unload_entry(hass: HomeAssistant, entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
|
|
25
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry) -> bool: ...
|
|
@@ -4,7 +4,9 @@ from .util import get_hardware_variant as get_hardware_variant, get_usb_service_
|
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components import usb as usb
|
|
6
6
|
from homeassistant.components.homeassistant_hardware import firmware_config_flow as firmware_config_flow, silabs_multiprotocol_addon as silabs_multiprotocol_addon
|
|
7
|
+
from homeassistant.components.homeassistant_hardware.helpers import HardwareFirmwareDiscoveryInfo as HardwareFirmwareDiscoveryInfo
|
|
7
8
|
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
|
|
9
|
+
from homeassistant.components.usb import usb_service_info_from_device as usb_service_info_from_device, usb_unique_id_from_service_info as usb_unique_id_from_service_info
|
|
8
10
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlowContext as ConfigFlowContext, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
|
9
11
|
from homeassistant.core import callback as callback
|
|
10
12
|
from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
|
|
@@ -34,6 +36,8 @@ class HomeAssistantSkyConnectConfigFlow(SkyConnectFirmwareMixin, firmware_config
|
|
|
34
36
|
_device: Incomplete
|
|
35
37
|
_hardware_name: Incomplete
|
|
36
38
|
async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
|
|
39
|
+
_probed_firmware_info: Incomplete
|
|
40
|
+
async def async_step_import(self, fw_discovery_info: HardwareFirmwareDiscoveryInfo) -> ConfigFlowResult: ...
|
|
37
41
|
def _async_flow_finished(self) -> ConfigFlowResult: ...
|
|
38
42
|
|
|
39
43
|
class HomeAssistantSkyConnectMultiPanOptionsFlowHandler(silabs_multiprotocol_addon.OptionsFlowHandler):
|
|
@@ -2,7 +2,7 @@ from .config_flow import HomeAssistantSkyConnectConfigFlow as HomeAssistantSkyCo
|
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
|
3
3
|
from .util import get_hardware_variant as get_hardware_variant
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from homeassistant.components.hardware
|
|
5
|
+
from homeassistant.components.hardware import HardwareInfo as HardwareInfo, USBInfo as USBInfo
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
7
|
|
|
8
8
|
DOCUMENTATION_URL: str
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from . import HomeAssistantSkyConnectConfigEntry as HomeAssistantSkyConnectConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN, HardwareVariant as HardwareVariant, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
5
|
+
from homeassistant.components.homeassistant_hardware.switch import BaseBetaFirmwareSwitch as BaseBetaFirmwareSwitch
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
8
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
9
|
+
|
|
10
|
+
_LOGGER: Incomplete
|
|
11
|
+
|
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
|
+
|
|
14
|
+
class BetaFirmwareSwitch(BaseBetaFirmwareSwitch):
|
|
15
|
+
_attr_unique_id: Incomplete
|
|
16
|
+
_attr_device_info: Incomplete
|
|
17
|
+
def __init__(self, coordinator: FirmwareUpdateCoordinator, config_entry: HomeAssistantSkyConnectConfigEntry) -> None: ...
|
|
@@ -1,29 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant,
|
|
1
|
+
from . import HomeAssistantSkyConnectConfigEntry as HomeAssistantSkyConnectConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
|
|
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
6
|
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
|
|
7
7
|
from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass
|
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
|
-
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
12
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
13
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
14
12
|
|
|
15
13
|
_LOGGER: Incomplete
|
|
16
14
|
FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
|
|
17
15
|
|
|
18
|
-
def _async_create_update_entity(hass: HomeAssistant, config_entry:
|
|
19
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
|
16
|
+
def _async_create_update_entity(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
|
|
17
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeAssistantSkyConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
20
18
|
|
|
21
19
|
class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
|
|
22
20
|
bootloader_reset_methods: Incomplete
|
|
23
21
|
_attr_unique_id: Incomplete
|
|
24
22
|
_attr_device_info: Incomplete
|
|
25
23
|
_current_firmware_info: Incomplete
|
|
26
|
-
def __init__(self, device: str, config_entry:
|
|
24
|
+
def __init__(self, device: str, config_entry: HomeAssistantSkyConnectConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
|
|
27
25
|
def _update_attributes(self) -> None: ...
|
|
28
26
|
@callback
|
|
29
27
|
def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
|
|
1
|
+
from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
|
+
from dataclasses import dataclass
|
|
3
4
|
from homeassistant.components.hassio import get_os_info as get_os_info
|
|
5
|
+
from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
|
|
4
6
|
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
|
|
5
7
|
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, guess_firmware_info as guess_firmware_info
|
|
6
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
|
|
7
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
10
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
|
9
11
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
|
12
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
10
13
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
11
14
|
|
|
12
15
|
_LOGGER: Incomplete
|
|
16
|
+
type HomeAssistantYellowConfigEntry = ConfigEntry[HomeAssistantYellowData]
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
@dataclass
|
|
19
|
+
class HomeAssistantYellowData:
|
|
20
|
+
coordinator: FirmwareUpdateCoordinator
|
|
21
|
+
|
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, entry: HomeAssistantYellowConfigEntry) -> bool: ...
|
|
23
|
+
async def async_unload_entry(hass: HomeAssistant, entry: HomeAssistantYellowConfigEntry) -> bool: ...
|
|
24
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: HomeAssistantYellowConfigEntry) -> bool: ...
|
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as F
|
|
|
3
3
|
from .hardware import BOARD_NAME as BOARD_NAME
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from abc import ABC, abstractmethod
|
|
6
|
-
from homeassistant.components.hassio import
|
|
6
|
+
from homeassistant.components.hassio import SupervisorError as SupervisorError, YellowOptions as YellowOptions, 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
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
|