homeassistant-stubs 2025.4.4__py3-none-any.whl → 2025.5.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.
- homeassistant-stubs/components/adax/__init__.pyi +5 -4
- homeassistant-stubs/components/adax/climate.pyi +25 -17
- homeassistant-stubs/components/adax/const.pyi +2 -0
- homeassistant-stubs/components/adax/coordinator.pyi +21 -0
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
- homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
- homeassistant-stubs/components/apsystems/switch.pyi +1 -1
- homeassistant-stubs/components/asuswrt/router.pyi +2 -3
- homeassistant-stubs/components/automation/__init__.pyi +2 -2
- homeassistant-stubs/components/automation/config.pyi +2 -2
- homeassistant-stubs/components/automation/const.pyi +0 -4
- homeassistant-stubs/components/axis/hub/api.pyi +2 -2
- homeassistant-stubs/components/backup/config.pyi +10 -2
- homeassistant-stubs/components/backup/onboarding.pyi +30 -0
- homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
- homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
- homeassistant-stubs/components/bond/config_flow.pyi +3 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
- homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
- homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
- homeassistant-stubs/components/canary/__init__.pyi +1 -5
- homeassistant-stubs/components/canary/config_flow.pyi +0 -1
- homeassistant-stubs/components/cloud/const.pyi +1 -0
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
- homeassistant-stubs/components/cloud/tts.pyi +3 -1
- homeassistant-stubs/components/comelit/__init__.pyi +1 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
- homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/comelit/climate.pyi +2 -7
- homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
- homeassistant-stubs/components/comelit/cover.pyi +2 -7
- homeassistant-stubs/components/comelit/entity.pyi +11 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
- homeassistant-stubs/components/comelit/light.pyi +2 -9
- homeassistant-stubs/components/comelit/sensor.pyi +2 -7
- homeassistant-stubs/components/comelit/switch.pyi +2 -6
- homeassistant-stubs/components/comelit/utils.pyi +5 -0
- homeassistant-stubs/components/command_line/__init__.pyi +1 -1
- homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/cover.pyi +2 -2
- homeassistant-stubs/components/command_line/sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/switch.pyi +2 -2
- homeassistant-stubs/components/config/config_entries.pyi +3 -1
- homeassistant-stubs/components/demo/light.pyi +3 -2
- homeassistant-stubs/components/demo/media_player.pyi +4 -0
- homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
- homeassistant-stubs/components/dhcp/const.pyi +5 -0
- homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
- homeassistant-stubs/components/dhcp/models.pyi +25 -0
- homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
- homeassistant-stubs/components/ecovacs/image.pyi +1 -0
- homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
- homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
- homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
- homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
- homeassistant-stubs/components/energy/sensor.pyi +5 -0
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -4
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
- homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
- homeassistant-stubs/components/esphome/button.pyi +2 -0
- homeassistant-stubs/components/esphome/camera.pyi +2 -0
- homeassistant-stubs/components/esphome/climate.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +25 -5
- homeassistant-stubs/components/esphome/const.pyi +2 -1
- homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
- homeassistant-stubs/components/esphome/cover.pyi +2 -0
- homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
- homeassistant-stubs/components/esphome/date.pyi +2 -0
- homeassistant-stubs/components/esphome/datetime.pyi +2 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
- homeassistant-stubs/components/esphome/entity.pyi +12 -9
- homeassistant-stubs/components/esphome/event.pyi +2 -0
- homeassistant-stubs/components/esphome/fan.pyi +4 -3
- homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
- homeassistant-stubs/components/esphome/light.pyi +8 -7
- homeassistant-stubs/components/esphome/lock.pyi +6 -4
- homeassistant-stubs/components/esphome/manager.pyi +7 -3
- homeassistant-stubs/components/esphome/media_player.pyi +2 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -0
- homeassistant-stubs/components/esphome/repairs.pyi +21 -2
- homeassistant-stubs/components/esphome/select.pyi +3 -2
- homeassistant-stubs/components/esphome/sensor.pyi +4 -2
- homeassistant-stubs/components/esphome/switch.pyi +3 -1
- homeassistant-stubs/components/esphome/text.pyi +1 -0
- homeassistant-stubs/components/esphome/time.pyi +2 -0
- homeassistant-stubs/components/esphome/update.pyi +8 -8
- homeassistant-stubs/components/esphome/valve.pyi +3 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/fritz/button.pyi +1 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
- homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
- homeassistant-stubs/components/fritz/image.pyi +1 -0
- homeassistant-stubs/components/fritz/sensor.pyi +1 -0
- homeassistant-stubs/components/fritz/switch.pyi +1 -0
- homeassistant-stubs/components/fritz/update.pyi +1 -0
- homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/fritzbox/climate.pyi +3 -3
- homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
- homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
- homeassistant-stubs/components/heos/const.pyi +4 -0
- homeassistant-stubs/components/heos/media_player.pyi +5 -4
- homeassistant-stubs/components/heos/services.pyi +22 -2
- homeassistant-stubs/components/history/websocket_api.pyi +1 -1
- homeassistant-stubs/components/history_stats/data.pyi +2 -1
- homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
- homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
- homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
- homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
- homeassistant-stubs/components/home_connect/select.pyi +6 -2
- homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
- homeassistant-stubs/components/homee/climate.pyi +47 -0
- homeassistant-stubs/components/homee/const.pyi +1 -0
- homeassistant-stubs/components/homee/number.pyi +12 -4
- homeassistant-stubs/components/homekit/__init__.pyi +5 -3
- homeassistant-stubs/components/homekit/accessories.pyi +2 -1
- homeassistant-stubs/components/homekit/const.pyi +13 -0
- homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
- homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
- homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
- homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
- homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
- homeassistant-stubs/components/homekit/util.pyi +2 -1
- homeassistant-stubs/components/http/headers.pyi +6 -0
- homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
- homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
- homeassistant-stubs/components/hyperion/camera.pyi +3 -4
- homeassistant-stubs/components/hyperion/const.pyi +0 -3
- homeassistant-stubs/components/hyperion/light.pyi +4 -6
- homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
- homeassistant-stubs/components/hyperion/switch.pyi +3 -4
- homeassistant-stubs/components/incomfort/climate.pyi +1 -2
- homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
- homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
- homeassistant-stubs/components/iron_os/entity.pyi +2 -0
- homeassistant-stubs/components/iron_os/update.pyi +4 -2
- homeassistant-stubs/components/isy994/entity.pyi +1 -0
- homeassistant-stubs/components/isy994/services.pyi +1 -0
- homeassistant-stubs/components/isy994/switch.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
- homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
- homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
- homeassistant-stubs/components/kulersky/const.pyi +4 -0
- homeassistant-stubs/components/kulersky/light.pyi +34 -0
- homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -3
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -16
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -8
- homeassistant-stubs/components/lamarzocco/entity.pyi +1 -5
- homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
- homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
- homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
- homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
- homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
- homeassistant-stubs/components/lcn/__init__.pyi +4 -3
- homeassistant-stubs/components/lcn/entity.pyi +3 -3
- homeassistant-stubs/components/lcn/helpers.pyi +2 -2
- homeassistant-stubs/components/lcn/websocket.pyi +1 -1
- homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
- homeassistant-stubs/components/linkplay/const.pyi +8 -2
- homeassistant-stubs/components/linkplay/media_player.pyi +6 -4
- homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
- homeassistant-stubs/components/logger/__init__.pyi +1 -1
- homeassistant-stubs/components/logger/helpers.pyi +4 -2
- homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
- homeassistant-stubs/components/matter/entity.pyi +1 -0
- homeassistant-stubs/components/matter/select.pyi +1 -1
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/matter/switch.pyi +20 -0
- homeassistant-stubs/components/matter/water_heater.pyi +39 -0
- homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
- homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
- homeassistant-stubs/components/mcp/const.pyi +3 -0
- homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
- homeassistant-stubs/components/media_player/__init__.pyi +7 -3
- homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
- homeassistant-stubs/components/media_player/const.pyi +4 -0
- homeassistant-stubs/components/media_player/errors.pyi +1 -0
- homeassistant-stubs/components/media_source/error.pyi +1 -0
- homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
- homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
- homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
- homeassistant-stubs/components/motionmount/select.pyi +1 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
- homeassistant-stubs/components/mqtt/const.pyi +3 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
- homeassistant-stubs/components/mqtt/entity.pyi +3 -0
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
- homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
- homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
- homeassistant-stubs/components/network/__init__.pyi +2 -0
- homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
- homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
- homeassistant-stubs/components/ntfy/const.pyi +6 -0
- homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
- homeassistant-stubs/components/ntfy/notify.pyi +25 -0
- homeassistant-stubs/components/nut/__init__.pyi +7 -3
- homeassistant-stubs/components/nut/config_flow.pyi +11 -14
- homeassistant-stubs/components/nut/const.pyi +0 -1
- homeassistant-stubs/components/nut/device_action.pyi +5 -1
- homeassistant-stubs/components/nut/sensor.pyi +6 -3
- homeassistant-stubs/components/ohme/__init__.pyi +15 -0
- homeassistant-stubs/components/ohme/button.pyi +26 -0
- homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
- homeassistant-stubs/components/ohme/const.pyi +5 -0
- homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
- homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
- homeassistant-stubs/components/ohme/entity.pyi +23 -0
- homeassistant-stubs/components/ohme/number.pyi +30 -0
- homeassistant-stubs/components/ohme/select.pyi +33 -0
- homeassistant-stubs/components/ohme/sensor.pyi +26 -0
- homeassistant-stubs/components/ohme/services.pyi +19 -0
- homeassistant-stubs/components/ohme/switch.pyi +45 -0
- homeassistant-stubs/components/ohme/time.pyi +30 -0
- homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
- homeassistant-stubs/components/onboarding/views.pyi +29 -43
- homeassistant-stubs/components/oncue/__init__.pyi +5 -11
- homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
- homeassistant-stubs/components/onewire/sensor.pyi +1 -2
- homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
- homeassistant-stubs/components/onkyo/const.pyi +0 -2
- homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
- homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
- homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
- homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
- homeassistant-stubs/components/overkiz/entity.pyi +2 -1
- homeassistant-stubs/components/overkiz/number.pyi +1 -1
- homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
- homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
- homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
- homeassistant-stubs/components/pegel_online/const.pyi +6 -0
- homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
- homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
- homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
- homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
- homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
- homeassistant-stubs/components/recorder/core.pyi +2 -0
- homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
- homeassistant-stubs/components/recorder/tasks.pyi +2 -1
- homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
- homeassistant-stubs/components/renault/config_flow.pyi +2 -1
- homeassistant-stubs/components/renault/const.pyi +2 -1
- homeassistant-stubs/components/renault/coordinator.pyi +4 -1
- homeassistant-stubs/components/renault/entity.pyi +2 -0
- homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
- homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
- homeassistant-stubs/components/renault/services.pyi +5 -0
- homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/rest/sensor.pyi +2 -2
- homeassistant-stubs/components/rest/switch.pyi +4 -3
- homeassistant-stubs/components/roborock/__init__.pyi +1 -0
- homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
- homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
- homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
- homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
- homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
- homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
- homeassistant-stubs/components/scrape/__init__.pyi +1 -1
- homeassistant-stubs/components/scrape/sensor.pyi +4 -5
- homeassistant-stubs/components/shelly/__init__.pyi +1 -0
- homeassistant-stubs/components/shelly/climate.pyi +2 -1
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
- homeassistant-stubs/components/shelly/entity.pyi +5 -2
- homeassistant-stubs/components/shelly/number.pyi +4 -3
- homeassistant-stubs/components/shelly/repairs.pyi +19 -0
- homeassistant-stubs/components/shelly/select.pyi +3 -1
- homeassistant-stubs/components/shelly/text.pyi +4 -1
- homeassistant-stubs/components/shelly/utils.pyi +2 -3
- homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/smlight/button.pyi +1 -0
- homeassistant-stubs/components/smlight/sensor.pyi +2 -0
- homeassistant-stubs/components/smlight/switch.pyi +1 -0
- homeassistant-stubs/components/smlight/update.pyi +3 -1
- homeassistant-stubs/components/smtp/__init__.pyi +0 -0
- homeassistant-stubs/components/smtp/const.pyi +17 -0
- homeassistant-stubs/components/smtp/notify.pyi +47 -0
- homeassistant-stubs/components/sql/__init__.pyi +1 -1
- homeassistant-stubs/components/sql/sensor.pyi +4 -4
- homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
- homeassistant-stubs/components/ssdp/common.pyi +5 -0
- homeassistant-stubs/components/ssdp/const.pyi +3 -0
- homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
- homeassistant-stubs/components/ssdp/server.pyi +30 -0
- homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
- homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
- homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
- homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
- homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
- homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
- homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
- homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
- homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
- homeassistant-stubs/components/todo/__init__.pyi +1 -0
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
- homeassistant-stubs/components/tractive/__init__.pyi +1 -1
- homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
- homeassistant-stubs/components/tractive/const.pyi +1 -0
- homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
- homeassistant-stubs/components/tts/__init__.pyi +22 -13
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
- homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
- homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
- homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
- homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
- homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
- homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
- homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
- homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
- homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
- homeassistant-stubs/components/websocket_api/http.pyi +4 -1
- homeassistant-stubs/components/wemo/__init__.pyi +1 -1
- homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
- homeassistant-stubs/components/wemo/models.pyi +3 -4
- homeassistant-stubs/components/workday/config_flow.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
- homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
- homeassistant-stubs/components/zeroconf/const.pyi +3 -0
- homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
- homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
- homeassistant-stubs/components/zone/__init__.pyi +4 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
- homeassistant-stubs/components/zwave_js/api.pyi +8 -3
- homeassistant-stubs/components/zwave_js/config_flow.pyi +41 -59
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
- homeassistant-stubs/config_entries.pyi +13 -9
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core.pyi +1 -3
- homeassistant-stubs/core_config.pyi +1 -1
- homeassistant-stubs/data_entry_flow.pyi +5 -1
- homeassistant-stubs/helpers/area_registry.pyi +5 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
- homeassistant-stubs/helpers/config_validation.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +1 -3
- homeassistant-stubs/helpers/entity.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +3 -3
- homeassistant-stubs/helpers/entity_registry.pyi +6 -6
- homeassistant-stubs/helpers/event.pyi +2 -0
- homeassistant-stubs/helpers/floor_registry.pyi +12 -3
- homeassistant-stubs/helpers/llm.pyi +24 -1
- homeassistant-stubs/helpers/network.pyi +1 -1
- homeassistant-stubs/helpers/script.pyi +2 -1
- homeassistant-stubs/helpers/template.pyi +1 -0
- homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
- homeassistant-stubs/loader.pyi +2 -11
- homeassistant-stubs/setup.pyi +7 -6
- homeassistant-stubs/util/ssl.pyi +2 -0
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/METADATA +3 -3
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/RECORD +391 -334
- homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
- homeassistant-stubs/components/oncue/const.pyi +0 -6
- homeassistant-stubs/components/oncue/entity.pyi +0 -20
- homeassistant-stubs/components/oncue/sensor.pyi +0 -21
- homeassistant-stubs/components/oncue/types.pyi +0 -5
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
import re
|
2
|
+
from .const import DOMAIN as DOMAIN, REQUEST_TIMEOUT as REQUEST_TIMEOUT
|
3
|
+
from .models import HaZeroconf as HaZeroconf
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from homeassistant import config_entries as config_entries
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers import discovery_flow as discovery_flow
|
9
|
+
from homeassistant.helpers.discovery_flow import DiscoveryKey as DiscoveryKey
|
10
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
|
+
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as _ZeroconfServiceInfo
|
12
|
+
from homeassistant.loader import HomeKitDiscoveredIntegration as HomeKitDiscoveredIntegration, ZeroconfMatcher as ZeroconfMatcher
|
13
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
14
|
+
from typing import Any, Final
|
15
|
+
from zeroconf import ServiceStateChange
|
16
|
+
from zeroconf.asyncio import AsyncServiceBrowser, AsyncServiceInfo
|
17
|
+
|
18
|
+
_LOGGER: Incomplete
|
19
|
+
ZEROCONF_TYPE: str
|
20
|
+
HOMEKIT_TYPES: Incomplete
|
21
|
+
_HOMEKIT_MODEL_SPLITS: Incomplete
|
22
|
+
HOMEKIT_PAIRED_STATUS_FLAG: str
|
23
|
+
HOMEKIT_MODEL_LOWER: str
|
24
|
+
HOMEKIT_MODEL_UPPER: str
|
25
|
+
ATTR_DOMAIN: Final[str]
|
26
|
+
ATTR_NAME: Final[str]
|
27
|
+
ATTR_PROPERTIES: Final[str]
|
28
|
+
DATA_DISCOVERY: HassKey[ZeroconfDiscovery]
|
29
|
+
|
30
|
+
def build_homekit_model_lookups(homekit_models: dict[str, HomeKitDiscoveredIntegration]) -> tuple[dict[str, HomeKitDiscoveredIntegration], dict[re.Pattern, HomeKitDiscoveredIntegration]]: ...
|
31
|
+
def _compile_fnmatch(pattern: str) -> re.Pattern: ...
|
32
|
+
def _memorized_fnmatch(name: str, pattern: str) -> bool: ...
|
33
|
+
def _match_against_props(matcher: dict[str, str], props: dict[str, str | None]) -> bool: ...
|
34
|
+
def is_homekit_paired(props: dict[str, Any]) -> bool: ...
|
35
|
+
def async_get_homekit_discovery(homekit_model_lookups: dict[str, HomeKitDiscoveredIntegration], homekit_model_matchers: dict[re.Pattern, HomeKitDiscoveredIntegration], props: dict[str, Any]) -> HomeKitDiscoveredIntegration | None: ...
|
36
|
+
def info_from_service(service: AsyncServiceInfo) -> _ZeroconfServiceInfo | None: ...
|
37
|
+
|
38
|
+
class ZeroconfDiscovery:
|
39
|
+
hass: Incomplete
|
40
|
+
zeroconf: Incomplete
|
41
|
+
zeroconf_types: Incomplete
|
42
|
+
homekit_model_lookups: Incomplete
|
43
|
+
homekit_model_matchers: Incomplete
|
44
|
+
async_service_browser: AsyncServiceBrowser | None
|
45
|
+
_service_update_listeners: set[Callable[[AsyncServiceInfo], None]]
|
46
|
+
_service_removed_listeners: set[Callable[[str], None]]
|
47
|
+
def __init__(self, hass: HomeAssistant, zeroconf: HaZeroconf, zeroconf_types: dict[str, list[ZeroconfMatcher]], homekit_model_lookups: dict[str, HomeKitDiscoveredIntegration], homekit_model_matchers: dict[re.Pattern, HomeKitDiscoveredIntegration]) -> None: ...
|
48
|
+
@callback
|
49
|
+
def async_register_service_update_listener(self, listener: Callable[[AsyncServiceInfo], None]) -> Callable[[], None]: ...
|
50
|
+
@callback
|
51
|
+
def async_register_service_removed_listener(self, listener: Callable[[str], None]) -> Callable[[], None]: ...
|
52
|
+
async def async_setup(self) -> None: ...
|
53
|
+
async def async_stop(self) -> None: ...
|
54
|
+
@callback
|
55
|
+
def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
|
56
|
+
def _async_dismiss_discoveries(self, name: str) -> None: ...
|
57
|
+
@callback
|
58
|
+
def async_service_update(self, zeroconf: HaZeroconf, service_type: str, name: str, state_change: ServiceStateChange) -> None: ...
|
59
|
+
@callback
|
60
|
+
def _async_service_update(self, zeroconf: HaZeroconf, service_type: str, name: str) -> None: ...
|
61
|
+
async def _async_lookup_and_process_service_update(self, zeroconf: HaZeroconf, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
|
62
|
+
@callback
|
63
|
+
def _async_process_service_update(self, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
|
@@ -0,0 +1,40 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, REQUEST_TIMEOUT as REQUEST_TIMEOUT
|
2
|
+
from .discovery import DATA_DISCOVERY as DATA_DISCOVERY, ZeroconfDiscovery as ZeroconfDiscovery
|
3
|
+
from .models import HaAsyncZeroconf as HaAsyncZeroconf
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from homeassistant.components import websocket_api as websocket_api
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers.json import json_bytes as json_bytes
|
9
|
+
from typing import Any
|
10
|
+
from zeroconf import DNSPointer, Zeroconf as Zeroconf
|
11
|
+
from zeroconf.asyncio import AsyncServiceInfo
|
12
|
+
|
13
|
+
_LOGGER: Incomplete
|
14
|
+
CLASS_IN: int
|
15
|
+
TYPE_PTR: int
|
16
|
+
|
17
|
+
@callback
|
18
|
+
def async_setup(hass: HomeAssistant) -> None: ...
|
19
|
+
def serialize_service_info(service_info: AsyncServiceInfo) -> dict[str, Any]: ...
|
20
|
+
|
21
|
+
class _DiscoverySubscription:
|
22
|
+
hass: Incomplete
|
23
|
+
discovery: Incomplete
|
24
|
+
aiozc: Incomplete
|
25
|
+
ws_msg_id: Incomplete
|
26
|
+
connection: Incomplete
|
27
|
+
def __init__(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, ws_msg_id: int, aiozc: HaAsyncZeroconf, discovery: ZeroconfDiscovery) -> None: ...
|
28
|
+
@callback
|
29
|
+
def _async_unsubscribe(self, cancel_callbacks: tuple[Callable[[], None], ...]) -> None: ...
|
30
|
+
async def async_start(self) -> None: ...
|
31
|
+
async def _async_update_from_cache(self) -> None: ...
|
32
|
+
def _async_get_ptr_records(self, zc: Zeroconf) -> list[DNSPointer]: ...
|
33
|
+
async def _async_handle_service(self, info: AsyncServiceInfo) -> None: ...
|
34
|
+
def _async_event_message(self, message: dict[str, Any]) -> None: ...
|
35
|
+
def _async_on_update(self, info: AsyncServiceInfo) -> None: ...
|
36
|
+
def _async_on_remove(self, name: str) -> None: ...
|
37
|
+
|
38
|
+
@websocket_api.require_admin
|
39
|
+
@websocket_api.async_response
|
40
|
+
async def ws_subscribe_discovery(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -7,6 +7,7 @@ from homeassistant.core import Event as Event, EventStateChangedData as EventSta
|
|
7
7
|
from homeassistant.helpers import collection as collection, entity_component as entity_component, event as event, service as service, storage as storage
|
8
8
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
9
9
|
from homeassistant.loader import bind_hass as bind_hass
|
10
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
10
11
|
from homeassistant.util.location import distance as distance
|
11
12
|
from typing import Any, Self
|
12
13
|
|
@@ -28,9 +29,11 @@ STORAGE_KEY = DOMAIN
|
|
28
29
|
STORAGE_VERSION: int
|
29
30
|
ENTITY_ID_SORTER: Incomplete
|
30
31
|
ZONE_ENTITY_IDS: str
|
32
|
+
DATA_ZONE_STORAGE_COLLECTION: HassKey[ZoneStorageCollection]
|
33
|
+
DATA_ZONE_ENTITY_IDS: HassKey[list[str]]
|
31
34
|
|
32
35
|
@bind_hass
|
33
|
-
def async_active_zone(hass: HomeAssistant, latitude: float, longitude: float, radius:
|
36
|
+
def async_active_zone(hass: HomeAssistant, latitude: float, longitude: float, radius: float = 0) -> State | None: ...
|
34
37
|
@callback
|
35
38
|
def async_setup_track_zone_entity_ids(hass: HomeAssistant) -> None: ...
|
36
39
|
def in_zone(zone: State, latitude: float, longitude: float, radius: float = 0) -> bool: ...
|
@@ -59,8 +59,8 @@ class ControllerEvents:
|
|
59
59
|
def async_on_node_removed(self, event: dict) -> None: ...
|
60
60
|
@callback
|
61
61
|
def async_on_identify(self, event: dict) -> None: ...
|
62
|
-
|
63
|
-
def
|
62
|
+
async def async_check_preprovisioned_device(self, node: ZwaveNode) -> None: ...
|
63
|
+
async def async_register_node_in_dev_reg(self, node: ZwaveNode) -> dr.DeviceEntry: ...
|
64
64
|
|
65
65
|
class NodeEvents:
|
66
66
|
config_entry: Incomplete
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .config_validation import BITMASK_SCHEMA as BITMASK_SCHEMA
|
2
2
|
from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_METHOD_NAME as ATTR_METHOD_NAME, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_WAIT_FOR_RESULT as ATTR_WAIT_FOR_RESULT, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
|
3
|
-
from .helpers import async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, get_device_id as get_device_id
|
3
|
+
from .helpers import async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, async_get_provisioning_entry_from_device_id as async_get_provisioning_entry_from_device_id, get_device_id as get_device_id
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aiohttp import web as web
|
6
6
|
from collections.abc import Callable as Callable, Coroutine
|
@@ -69,6 +69,9 @@ UUID: str
|
|
69
69
|
SUPPORTED_PROTOCOLS: str
|
70
70
|
ADDITIONAL_PROPERTIES: str
|
71
71
|
REQUESTED_SECURITY_CLASSES: str
|
72
|
+
PROTOCOL: str
|
73
|
+
DEVICE_NAME: str
|
74
|
+
AREA_ID: str
|
72
75
|
FEATURE: str
|
73
76
|
STRATEGY: str
|
74
77
|
MINIMUM_QR_STRING_LENGTH: int
|
@@ -97,8 +100,7 @@ async def websocket_node_status(hass: HomeAssistant, connection: ActiveConnectio
|
|
97
100
|
@async_get_node
|
98
101
|
async def websocket_node_metadata(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
|
99
102
|
@websocket_api.async_response
|
100
|
-
|
101
|
-
async def websocket_node_alerts(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
|
103
|
+
async def websocket_node_alerts(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
102
104
|
@websocket_api.require_admin
|
103
105
|
@websocket_api.async_response
|
104
106
|
@async_handle_failed_command
|
@@ -126,6 +128,9 @@ async def websocket_grant_security_classes(hass: HomeAssistant, connection: Acti
|
|
126
128
|
async def websocket_validate_dsk_and_enter_pin(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
127
129
|
@websocket_api.require_admin
|
128
130
|
@websocket_api.async_response
|
131
|
+
async def websocket_subscribe_new_devices(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
132
|
+
@websocket_api.require_admin
|
133
|
+
@websocket_api.async_response
|
129
134
|
@async_handle_failed_command
|
130
135
|
@async_get_entry
|
131
136
|
async def websocket_provision_smart_start_node(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
@@ -1,16 +1,14 @@
|
|
1
|
-
import abc
|
2
1
|
import asyncio
|
3
2
|
import voluptuous as vol
|
4
3
|
from .addon import get_addon_manager as get_addon_manager
|
5
|
-
from .const import ADDON_SLUG as ADDON_SLUG, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_EMULATE_HARDWARE as CONF_ADDON_EMULATE_HARDWARE, CONF_ADDON_LOG_LEVEL as CONF_ADDON_LOG_LEVEL, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DOMAIN as DOMAIN
|
4
|
+
from .const import ADDON_SLUG as ADDON_SLUG, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_EMULATE_HARDWARE as CONF_ADDON_EMULATE_HARDWARE, CONF_ADDON_LOG_LEVEL as CONF_ADDON_LOG_LEVEL, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
|
6
5
|
from _typeshed import Incomplete
|
7
|
-
from abc import ABC, abstractmethod
|
8
6
|
from homeassistant.components import usb as usb
|
9
7
|
from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
|
10
|
-
from homeassistant.config_entries import
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_USB as SOURCE_USB
|
11
9
|
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_URL as CONF_URL
|
12
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
13
|
-
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
11
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
14
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
15
13
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
16
14
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
@@ -19,6 +17,8 @@ from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceI
|
|
19
17
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
20
18
|
from homeassistant.helpers.typing import VolDictType as VolDictType
|
21
19
|
from typing import Any
|
20
|
+
from zwave_js_server.client import Client as Client
|
21
|
+
from zwave_js_server.model.driver import Driver as Driver
|
22
22
|
from zwave_js_server.version import VersionInfo as VersionInfo
|
23
23
|
|
24
24
|
_LOGGER: Incomplete
|
@@ -32,6 +32,7 @@ SERVER_VERSION_TIMEOUT: int
|
|
32
32
|
ADDON_LOG_LEVELS: Incomplete
|
33
33
|
ADDON_USER_INPUT_MAP: Incomplete
|
34
34
|
ON_SUPERVISOR_SCHEMA: Incomplete
|
35
|
+
MIN_MIGRATION_SDK_VERSION: Incomplete
|
35
36
|
|
36
37
|
def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
|
37
38
|
def get_on_supervisor_schema(user_input: dict[str, Any]) -> vol.Schema: ...
|
@@ -40,7 +41,9 @@ async def async_get_version_info(hass: HomeAssistant, ws_address: str) -> Versio
|
|
40
41
|
def get_usb_ports() -> dict[str, str]: ...
|
41
42
|
async def async_get_usb_ports(hass: HomeAssistant) -> dict[str, str]: ...
|
42
43
|
|
43
|
-
class
|
44
|
+
class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
45
|
+
VERSION: int
|
46
|
+
_title: str
|
44
47
|
s0_legacy_key: str | None
|
45
48
|
s2_access_control_key: str | None
|
46
49
|
s2_authenticated_key: str | None
|
@@ -54,83 +57,62 @@ class BaseZwaveJSFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
|
|
54
57
|
install_task: asyncio.Task | None
|
55
58
|
start_task: asyncio.Task | None
|
56
59
|
version_info: VersionInfo | None
|
60
|
+
original_addon_config: dict[str, Any] | None
|
61
|
+
revert_reason: str | None
|
62
|
+
backup_task: asyncio.Task | None
|
63
|
+
restore_backup_task: asyncio.Task | None
|
64
|
+
backup_data: bytes | None
|
65
|
+
backup_filepath: str | None
|
66
|
+
use_addon: bool
|
67
|
+
_migrating: bool
|
68
|
+
_reconfigure_config_entry: ConfigEntry | None
|
69
|
+
_usb_discovery: bool
|
57
70
|
def __init__(self) -> None: ...
|
58
|
-
@property
|
59
|
-
@abstractmethod
|
60
|
-
def flow_manager(self) -> FlowManager[ConfigFlowContext, ConfigFlowResult]: ...
|
61
71
|
async def async_step_install_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
62
72
|
async def async_step_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
63
73
|
async def async_step_start_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
64
74
|
async def async_step_start_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
65
75
|
async def _async_start_addon(self) -> None: ...
|
66
|
-
@abstractmethod
|
67
76
|
async def async_step_configure_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
68
|
-
@abstractmethod
|
69
77
|
async def async_step_finish_addon_setup(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
70
78
|
async def _async_get_addon_info(self) -> AddonInfo: ...
|
71
|
-
async def _async_set_addon_config(self,
|
79
|
+
async def _async_set_addon_config(self, config_updates: dict) -> None: ...
|
72
80
|
async def _async_install_addon(self) -> None: ...
|
73
81
|
async def _async_get_addon_discovery_info(self) -> dict: ...
|
74
|
-
|
75
|
-
class ZWaveJSConfigFlow(BaseZwaveJSFlow, ConfigFlow, domain=DOMAIN):
|
76
|
-
VERSION: int
|
77
|
-
_title: str
|
78
|
-
use_addon: bool
|
79
|
-
_usb_discovery: bool
|
80
|
-
def __init__(self) -> None: ...
|
81
|
-
@property
|
82
|
-
def flow_manager(self) -> ConfigEntriesFlowManager: ...
|
83
|
-
@staticmethod
|
84
|
-
@callback
|
85
|
-
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
|
86
82
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
87
|
-
|
83
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
88
84
|
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
89
85
|
async def async_step_zeroconf_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
|
90
|
-
usb_path: Incomplete
|
91
86
|
async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
|
92
87
|
async def async_step_usb_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
93
88
|
async def async_step_manual(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
94
89
|
async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
|
95
90
|
async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
96
|
-
s0_legacy_key: Incomplete
|
97
|
-
s2_access_control_key: Incomplete
|
98
|
-
s2_authenticated_key: Incomplete
|
99
|
-
s2_unauthenticated_key: Incomplete
|
100
|
-
lr_s2_access_control_key: Incomplete
|
101
|
-
lr_s2_authenticated_key: Incomplete
|
102
91
|
async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
103
|
-
async def
|
104
|
-
|
105
|
-
async def async_step_finish_addon_setup(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
92
|
+
async def async_step_configure_addon_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
93
|
+
async def async_step_finish_addon_setup_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
106
94
|
@callback
|
107
95
|
def _async_create_entry_from_vars(self) -> ConfigFlowResult: ...
|
108
|
-
|
109
|
-
class OptionsFlowHandler(BaseZwaveJSFlow, OptionsFlow):
|
110
|
-
original_addon_config: dict[str, Any] | None
|
111
|
-
revert_reason: str | None
|
112
|
-
def __init__(self) -> None: ...
|
113
|
-
@property
|
114
|
-
def flow_manager(self) -> OptionsFlowManager: ...
|
115
96
|
@callback
|
116
|
-
def _async_update_entry(self,
|
117
|
-
async def
|
118
|
-
async def
|
119
|
-
async def
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
async def
|
129
|
-
async def
|
130
|
-
|
131
|
-
version_info: Incomplete
|
132
|
-
async def async_step_finish_addon_setup(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
97
|
+
def _async_update_entry(self, updates: dict[str, Any], *, schedule_reload: bool = True) -> None: ...
|
98
|
+
async def async_step_intent_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
99
|
+
async def async_step_intent_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
100
|
+
async def async_step_backup_nvm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
101
|
+
async def async_step_restore_nvm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
102
|
+
async def async_step_instruct_unplug(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
103
|
+
async def async_step_manual_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
104
|
+
async def async_step_on_supervisor_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
105
|
+
async def async_step_configure_addon_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
106
|
+
async def async_step_choose_serial_port(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
107
|
+
async def async_step_backup_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
108
|
+
async def async_step_restore_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
109
|
+
async def async_step_migration_done(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
110
|
+
async def async_step_finish_addon_setup_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
111
|
+
async def async_step_finish_addon_setup_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
133
112
|
async def async_revert_addon_config(self, reason: str) -> ConfigFlowResult: ...
|
113
|
+
async def _async_backup_network(self) -> None: ...
|
114
|
+
async def _async_restore_network_backup(self) -> None: ...
|
115
|
+
def _get_driver(self) -> Driver: ...
|
134
116
|
|
135
117
|
class CannotConnect(HomeAssistantError): ...
|
136
118
|
|
@@ -12,7 +12,7 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
12
12
|
from homeassistant.helpers.group import expand_entity_ids as expand_entity_ids
|
13
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
14
14
|
from typing import Any
|
15
|
-
from zwave_js_server.model.controller import Controller as Controller
|
15
|
+
from zwave_js_server.model.controller import Controller as Controller, ProvisioningEntry as ProvisioningEntry
|
16
16
|
from zwave_js_server.model.driver import Driver as Driver
|
17
17
|
from zwave_js_server.model.node import Node as ZwaveNode
|
18
18
|
from zwave_js_server.model.value import Value as ZwaveValue, ValueDataType as ValueDataType
|
@@ -46,6 +46,7 @@ def get_device_id_ext(driver: Driver, node: ZwaveNode) -> tuple[str, str] | None
|
|
46
46
|
def get_home_and_node_id_from_device_entry(device_entry: dr.DeviceEntry) -> tuple[str, int] | None: ...
|
47
47
|
@callback
|
48
48
|
def async_get_node_from_device_id(hass: HomeAssistant, device_id: str, dev_reg: dr.DeviceRegistry | None = None) -> ZwaveNode: ...
|
49
|
+
async def async_get_provisioning_entry_from_device_id(hass: HomeAssistant, device_id: str) -> ProvisioningEntry | None: ...
|
49
50
|
@callback
|
50
51
|
def async_get_node_from_entity_id(hass: HomeAssistant, entity_id: str, ent_reg: er.EntityRegistry | None = None, dev_reg: dr.DeviceRegistry | None = None) -> ZwaveNode: ...
|
51
52
|
@callback
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import asyncio
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import data_entry_flow as data_entry_flow, loader as loader
|
4
|
-
from .components import persistent_notification as persistent_notification
|
5
4
|
from .components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
6
5
|
from .const import CONF_NAME as CONF_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
7
6
|
from .core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
|
@@ -22,7 +21,7 @@ from .helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
|
|
22
21
|
from .helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
23
22
|
from .helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
24
23
|
from .loader import async_suggest_report_issue as async_suggest_report_issue
|
25
|
-
from .setup import
|
24
|
+
from .setup import SetupPhases as SetupPhases, async_pause_setup as async_pause_setup, async_process_deps_reqs as async_process_deps_reqs, async_setup_component as async_setup_component, async_start_setup as async_start_setup, async_wait_component as async_wait_component
|
26
25
|
from .util import ulid as ulid_util
|
27
26
|
from .util.async_ import create_eager_task as create_eager_task
|
28
27
|
from .util.decorator import Registry as Registry
|
@@ -82,7 +81,6 @@ class ConfigEntryState(Enum):
|
|
82
81
|
def recoverable(self) -> bool: ...
|
83
82
|
|
84
83
|
DEFAULT_DISCOVERY_UNIQUE_ID: str
|
85
|
-
DISCOVERY_NOTIFICATION_ID: str
|
86
84
|
DISCOVERY_SOURCES: Incomplete
|
87
85
|
EVENT_FLOW_DISCOVERED: str
|
88
86
|
SIGNAL_CONFIG_ENTRY_CHANGED: Incomplete
|
@@ -257,25 +255,29 @@ class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowContext, Co
|
|
257
255
|
_hass_config: Incomplete
|
258
256
|
_pending_import_flows: defaultdict[str, dict[str, asyncio.Future[None]]]
|
259
257
|
_initialize_futures: defaultdict[str, set[asyncio.Future[None]]]
|
260
|
-
|
258
|
+
_discovery_event_debouncer: Incomplete
|
259
|
+
_flow_subscriptions: list[Callable[[str, str], None]]
|
261
260
|
def __init__(self, hass: HomeAssistant, config_entries: ConfigEntries, hass_config: ConfigType) -> None: ...
|
262
261
|
async def async_wait_import_flow_initialized(self, handler: str) -> None: ...
|
263
|
-
@callback
|
264
|
-
def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
|
265
262
|
async def async_init(self, handler: str, *, context: ConfigFlowContext | None = None, data: Any = None) -> ConfigFlowResult: ...
|
266
263
|
async def _async_init(self, flow_id: str, handler: str, context: ConfigFlowContext, data: Any) -> tuple[ConfigFlow, ConfigFlowResult]: ...
|
267
264
|
def _set_pending_import_done(self, flow: ConfigFlow) -> None: ...
|
268
265
|
@callback
|
269
266
|
def async_shutdown(self) -> None: ...
|
267
|
+
@callback
|
268
|
+
def async_flow_removed(self, flow: data_entry_flow.FlowHandler[ConfigFlowContext, ConfigFlowResult]) -> None: ...
|
270
269
|
async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowContext, ConfigFlowResult], result: ConfigFlowResult) -> ConfigFlowResult: ...
|
271
270
|
async def async_create_flow(self, handler_key: str, *, context: ConfigFlowContext | None = None, data: Any = None) -> ConfigFlow: ...
|
272
|
-
async def async_post_init(self, flow: data_entry_flow.FlowHandler[ConfigFlowContext, ConfigFlowResult], result: ConfigFlowResult) -> None: ...
|
273
271
|
@callback
|
274
|
-
def
|
272
|
+
def _async_fire_discovery_event(self) -> None: ...
|
275
273
|
@callback
|
276
274
|
def async_has_matching_discovery_flow(self, handler: str, match_context: ConfigFlowContext, data: Any) -> bool: ...
|
277
275
|
@callback
|
278
276
|
def async_has_matching_flow(self, flow: ConfigFlow) -> bool: ...
|
277
|
+
@callback
|
278
|
+
def async_subscribe_flow(self, listener: Callable[[str, str], None]) -> CALLBACK_TYPE: ...
|
279
|
+
@callback
|
280
|
+
def _async_remove_flow_progress(self, flow_id: str) -> None: ...
|
279
281
|
|
280
282
|
class ConfigEntryItems(UserDict[str, ConfigEntry]):
|
281
283
|
_hass: Incomplete
|
@@ -388,7 +390,7 @@ class ConfigFlow(ConfigEntryBaseFlow):
|
|
388
390
|
@callback
|
389
391
|
def _abort_if_unique_id_mismatch(self, *, reason: str = 'unique_id_mismatch', description_placeholders: Mapping[str, str] | None = None) -> None: ...
|
390
392
|
@callback
|
391
|
-
def _abort_if_unique_id_configured(self, updates: dict[str, Any] | None = None, reload_on_update: bool = True, *, error: str = 'already_configured') -> None: ...
|
393
|
+
def _abort_if_unique_id_configured(self, updates: dict[str, Any] | None = None, reload_on_update: bool = True, *, error: str = 'already_configured', description_placeholders: Mapping[str, str] | None = None) -> None: ...
|
392
394
|
async def async_set_unique_id(self, unique_id: str | None = None, *, raise_on_progress: bool = True) -> ConfigEntry | None: ...
|
393
395
|
@callback
|
394
396
|
def _set_confirm_only(self) -> None: ...
|
@@ -498,3 +500,5 @@ async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool:
|
|
498
500
|
async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
|
499
501
|
async def _load_integration(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> None: ...
|
500
502
|
async def _async_get_flow_handler(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> type[ConfigFlow]: ...
|
503
|
+
@callback
|
504
|
+
def _abort_reauth_flows(hass: HomeAssistant, domain: str, entry_id: str) -> None: ...
|
homeassistant-stubs/const.pyi
CHANGED
@@ -80,6 +80,7 @@ SUN_EVENT_SUNRISE: Final[str]
|
|
80
80
|
CONF_ABOVE: Final[str]
|
81
81
|
CONF_ACCESS_TOKEN: Final[str]
|
82
82
|
CONF_ACTION: Final[str]
|
83
|
+
CONF_ACTIONS: Final[str]
|
83
84
|
CONF_ADDRESS: Final[str]
|
84
85
|
CONF_AFTER: Final[str]
|
85
86
|
CONF_ALIAS: Final[str]
|
@@ -402,6 +403,7 @@ class UnitOfPower(StrEnum):
|
|
402
403
|
|
403
404
|
class UnitOfReactivePower(StrEnum):
|
404
405
|
VOLT_AMPERE_REACTIVE = 'var'
|
406
|
+
KILO_VOLT_AMPERE_REACTIVE = 'kvar'
|
405
407
|
|
406
408
|
_DEPRECATED_POWER_VOLT_AMPERE_REACTIVE: Final[Incomplete]
|
407
409
|
|
@@ -501,8 +503,11 @@ class UnitOfVolume(StrEnum):
|
|
501
503
|
|
502
504
|
class UnitOfVolumeFlowRate(StrEnum):
|
503
505
|
CUBIC_METERS_PER_HOUR = 'm³/h'
|
506
|
+
CUBIC_METERS_PER_SECOND = 'm³/s'
|
504
507
|
CUBIC_FEET_PER_MINUTE = 'ft³/min'
|
508
|
+
LITERS_PER_HOUR = 'L/h'
|
505
509
|
LITERS_PER_MINUTE = 'L/min'
|
510
|
+
LITERS_PER_SECOND = 'L/s'
|
506
511
|
GALLONS_PER_MINUTE = 'gal/min'
|
507
512
|
MILLILITERS_PER_SECOND = 'mL/s'
|
508
513
|
|
homeassistant-stubs/core.pyi
CHANGED
@@ -9,7 +9,7 @@ from . import util as util
|
|
9
9
|
from .auth import AuthManager as AuthManager
|
10
10
|
from .components.http import HomeAssistantHTTP as HomeAssistantHTTP
|
11
11
|
from .config_entries import ConfigEntries as ConfigEntries
|
12
|
-
from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, __version__ as __version__
|
12
|
+
from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, STATE_UNKNOWN as STATE_UNKNOWN, __version__ as __version__
|
13
13
|
from .exceptions import HomeAssistantError as HomeAssistantError, InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, MaxLengthExceeded as MaxLengthExceeded, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
|
14
14
|
from .helpers.deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
15
15
|
from .helpers.entity import StateInfo as StateInfo
|
@@ -145,8 +145,6 @@ class HomeAssistant:
|
|
145
145
|
services: Incomplete
|
146
146
|
states: Incomplete
|
147
147
|
config: Incomplete
|
148
|
-
components: Incomplete
|
149
|
-
helpers: Incomplete
|
150
148
|
state: CoreState
|
151
149
|
exit_code: int
|
152
150
|
_stopped: asyncio.Event | None
|
@@ -25,6 +25,7 @@ class FlowResultType(StrEnum):
|
|
25
25
|
MENU = 'menu'
|
26
26
|
|
27
27
|
EVENT_DATA_ENTRY_FLOW_PROGRESSED: str
|
28
|
+
EVENT_DATA_ENTRY_FLOW_PROGRESS_UPDATE: str
|
28
29
|
FLOW_NOT_COMPLETE_STEPS: Incomplete
|
29
30
|
STEP_ID_OPTIONAL_STEPS: Incomplete
|
30
31
|
_FlowContextT = TypeVar('_FlowContextT', bound='FlowContext', default='FlowContext')
|
@@ -87,9 +88,10 @@ class FlowManager(abc.ABC, Generic[_FlowContextT, _FlowResultT, _HandlerT], meta
|
|
87
88
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
88
89
|
@abc.abstractmethod
|
89
90
|
async def async_create_flow(self, handler_key: _HandlerT, *, context: _FlowContextT | None = None, data: dict[str, Any] | None = None) -> FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]: ...
|
91
|
+
@callback
|
92
|
+
def async_flow_removed(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]) -> None: ...
|
90
93
|
@abc.abstractmethod
|
91
94
|
async def async_finish_flow(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], result: _FlowResultT) -> _FlowResultT: ...
|
92
|
-
async def async_post_init(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], result: _FlowResultT) -> None: ...
|
93
95
|
@callback
|
94
96
|
def async_get(self, flow_id: str) -> _FlowResultT: ...
|
95
97
|
@callback
|
@@ -149,6 +151,8 @@ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
|
|
149
151
|
@callback
|
150
152
|
def async_show_progress(self, *, step_id: str | None = None, progress_action: str, description_placeholders: Mapping[str, str] | None = None, progress_task: asyncio.Task[Any] | None = None) -> _FlowResultT: ...
|
151
153
|
@callback
|
154
|
+
def async_update_progress(self, progress: float) -> None: ...
|
155
|
+
@callback
|
152
156
|
def async_show_progress_done(self, *, next_step_id: str) -> _FlowResultT: ...
|
153
157
|
@callback
|
154
158
|
def async_show_menu(self, *, step_id: str | None = None, menu_options: Container[str], description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .json import json_bytes as json_bytes, json_fragment as json_fragment
|
2
|
-
from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems
|
2
|
+
from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
|
3
3
|
from .registry import BaseRegistry as BaseRegistry, RegistryIndexType as RegistryIndexType
|
4
4
|
from .singleton import singleton as singleton
|
5
5
|
from .storage import Store as Store
|
@@ -61,11 +61,13 @@ class AreaRegistryStore(Store[AreasRegistryStoreData]):
|
|
61
61
|
class AreaRegistryItems(NormalizedNameBaseRegistryItems[AreaEntry]):
|
62
62
|
_labels_index: RegistryIndexType
|
63
63
|
_floors_index: RegistryIndexType
|
64
|
+
_aliases_index: RegistryIndexType
|
64
65
|
def __init__(self) -> None: ...
|
65
66
|
def _index_entry(self, key: str, entry: AreaEntry) -> None: ...
|
66
67
|
def _unindex_entry(self, key: str, replacement_entry: AreaEntry | None = None) -> None: ...
|
67
68
|
def get_areas_for_label(self, label: str) -> list[AreaEntry]: ...
|
68
69
|
def get_areas_for_floor(self, floor: str) -> list[AreaEntry]: ...
|
70
|
+
def get_areas_for_alias(self, alias: str) -> list[AreaEntry]: ...
|
69
71
|
|
70
72
|
class AreaRegistry(BaseRegistry[AreasRegistryStoreData]):
|
71
73
|
areas: AreaRegistryItems
|
@@ -78,6 +80,8 @@ class AreaRegistry(BaseRegistry[AreasRegistryStoreData]):
|
|
78
80
|
@callback
|
79
81
|
def async_get_area_by_name(self, name: str) -> AreaEntry | None: ...
|
80
82
|
@callback
|
83
|
+
def async_get_areas_by_alias(self, alias: str) -> list[AreaEntry]: ...
|
84
|
+
@callback
|
81
85
|
def async_list_areas(self) -> Iterable[AreaEntry]: ...
|
82
86
|
@callback
|
83
87
|
def async_get_or_create(self, name: str) -> AreaEntry: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import abc
|
2
2
|
import logging
|
3
|
+
from . import http as http
|
3
4
|
from .aiohttp_client import async_get_clientsession as async_get_clientsession
|
4
5
|
from .network import NoURLAvailableError as NoURLAvailableError
|
5
6
|
from _typeshed import Incomplete
|
@@ -7,7 +8,6 @@ from abc import ABC, ABCMeta, abstractmethod
|
|
7
8
|
from aiohttp import client as client, web
|
8
9
|
from collections.abc import Awaitable, Callable as Callable
|
9
10
|
from homeassistant import config_entries as config_entries
|
10
|
-
from homeassistant.components import http as http
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.loader import async_get_application_credentials as async_get_application_credentials
|
13
13
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
@@ -145,6 +145,7 @@ class multi_select:
|
|
145
145
|
def _deprecated_or_removed(key: str, replacement_key: str | None, default: Any | None, raise_if_present: bool, option_removed: bool) -> Callable[[dict], dict]: ...
|
146
146
|
def deprecated(key: str, replacement_key: str | None = None, default: Any | None = None, raise_if_present: bool | None = False) -> Callable[[dict], dict]: ...
|
147
147
|
def removed(key: str, default: Any | None = None, raise_if_present: bool | None = True) -> Callable[[dict], dict]: ...
|
148
|
+
def renamed(old_key: str, new_key: str) -> Callable[[Any], Any]: ...
|
148
149
|
def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
|
149
150
|
def key_dependency[_KT: Hashable, _VT](key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
|
150
151
|
def custom_serializer(schema: Any) -> Any: ...
|
@@ -170,7 +170,7 @@ class DeviceRegistryItems[_EntryTypeT: (DeviceEntry, DeletedDeviceEntry)](BaseRe
|
|
170
170
|
def __init__(self) -> None: ...
|
171
171
|
def _index_entry(self, key: str, entry: _EntryTypeT) -> None: ...
|
172
172
|
def _unindex_entry(self, key: str, replacement_entry: _EntryTypeT | None = None) -> None: ...
|
173
|
-
def get_entry(self, identifiers: set[tuple[str, str]] | None, connections: set[tuple[str, str]] | None) -> _EntryTypeT | None: ...
|
173
|
+
def get_entry(self, identifiers: set[tuple[str, str]] | None = None, connections: set[tuple[str, str]] | None = None) -> _EntryTypeT | None: ...
|
174
174
|
def get_entries(self, identifiers: set[tuple[str, str]] | None, connections: set[tuple[str, str]] | None) -> Iterable[_EntryTypeT]: ...
|
175
175
|
|
176
176
|
class ActiveDeviceRegistryItems(DeviceRegistryItems[DeviceEntry]):
|
@@ -195,8 +195,6 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
|
|
195
195
|
def async_get(self, device_id: str) -> DeviceEntry | None: ...
|
196
196
|
@callback
|
197
197
|
def async_get_device(self, identifiers: set[tuple[str, str]] | None = None, connections: set[tuple[str, str]] | None = None) -> DeviceEntry | None: ...
|
198
|
-
def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
|
199
|
-
def _async_get_deleted_devices(self, identifiers: set[tuple[str, str]] | None = None, connections: set[tuple[str, str]] | None = None) -> Iterable[DeletedDeviceEntry]: ...
|
200
198
|
def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
|
201
199
|
@callback
|
202
200
|
def async_get_or_create(self, *, config_entry_id: str, config_subentry_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., created_at: str | datetime | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., model_id: str | None | UndefinedType = ..., modified_at: str | datetime | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
|
@@ -15,7 +15,7 @@ from enum import Enum, IntFlag
|
|
15
15
|
from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
16
16
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ReleaseChannel as ReleaseChannel, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, get_release_channel as get_release_channel
|
17
17
|
from homeassistant.core_config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
|
18
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError,
|
18
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, NoEntitySpecifiedError as NoEntitySpecifiedError
|
19
19
|
from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
|
20
20
|
from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
|
21
21
|
from homeassistant.util.frozen_dataclass_compat import FrozenOrThawed as FrozenOrThawed
|