homeassistant-stubs 2025.4.3__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 +7 -3
- 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 +8 -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 -1
- 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.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/METADATA +3 -3
- {homeassistant_stubs-2025.4.3.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.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from aiontfy import Ntfy
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.const import CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
|
10
|
+
_LOGGER: Incomplete
|
11
|
+
PLATFORMS: list[Platform]
|
12
|
+
type NtfyConfigEntry = ConfigEntry[Ntfy]
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, entry: NtfyConfigEntry) -> bool: ...
|
15
|
+
async def _async_update_listener(hass: HomeAssistant, entry: NtfyConfigEntry) -> None: ...
|
16
|
+
async def async_unload_entry(hass: HomeAssistant, entry: NtfyConfigEntry) -> bool: ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from .const import CONF_TOPIC as CONF_TOPIC, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, SECTION_AUTH as SECTION_AUTH
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant import data_entry_flow as data_entry_flow
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
|
6
|
+
from homeassistant.const import ATTR_CREDENTIALS as ATTR_CREDENTIALS, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
7
|
+
from homeassistant.core import callback as callback
|
8
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
10
|
+
from typing import Any
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
STEP_USER_DATA_SCHEMA: Incomplete
|
14
|
+
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
15
|
+
STEP_USER_TOPIC_SCHEMA: Incomplete
|
16
|
+
RE_TOPIC: Incomplete
|
17
|
+
|
18
|
+
class NtfyConfigFlow(ConfigFlow, domain=DOMAIN):
|
19
|
+
@classmethod
|
20
|
+
@callback
|
21
|
+
def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
|
22
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
24
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
|
+
|
26
|
+
class TopicSubentryFlowHandler(ConfigSubentryFlow):
|
27
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
28
|
+
async def async_step_generate_topic(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
29
|
+
async def async_step_add_topic(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
@@ -0,0 +1,7 @@
|
|
1
|
+
from . import NtfyConfigEntry as NtfyConfigEntry
|
2
|
+
from homeassistant.components.diagnostics import REDACTED as REDACTED
|
3
|
+
from homeassistant.const import CONF_URL as CONF_URL
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from typing import Any
|
6
|
+
|
7
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: NtfyConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from . import NtfyConfigEntry as NtfyConfigEntry
|
2
|
+
from .const import CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription, NotifyEntityFeature as NotifyEntityFeature
|
5
|
+
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
6
|
+
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_URL as CONF_URL
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: NtfyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
15
|
+
|
16
|
+
class NtfyNotifyEntity(NotifyEntity):
|
17
|
+
entity_description: Incomplete
|
18
|
+
_attr_supported_features: Incomplete
|
19
|
+
_attr_unique_id: Incomplete
|
20
|
+
topic: Incomplete
|
21
|
+
_attr_device_info: Incomplete
|
22
|
+
config_entry: Incomplete
|
23
|
+
ntfy: Incomplete
|
24
|
+
def __init__(self, config_entry: NtfyConfigEntry, subentry: ConfigSubentry) -> None: ...
|
25
|
+
async def async_send_message(self, message: str, title: str | None = None) -> None: ...
|
@@ -1,10 +1,12 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import DOMAIN as DOMAIN, INTEGRATION_SUPPORTED_COMMANDS as INTEGRATION_SUPPORTED_COMMANDS, PLATFORMS as PLATFORMS
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from dataclasses import dataclass
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_RESOURCES as CONF_RESOURCES, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
6
6
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, HomeAssistantError as HomeAssistantError
|
8
|
+
from homeassistant.helpers import device_registry as dr
|
9
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
|
8
10
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
9
11
|
|
10
12
|
NUT_FAKE_SERIAL: Incomplete
|
@@ -19,8 +21,9 @@ class NutRuntimeData:
|
|
19
21
|
user_available_commands: set[str]
|
20
22
|
|
21
23
|
async def async_setup_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
|
22
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
23
|
-
async def
|
24
|
+
async def async_unload_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
|
25
|
+
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
26
|
+
async def _async_update_listener(hass: HomeAssistant, entry: NutConfigEntry) -> None: ...
|
24
27
|
def _manufacturer_from_status(status: dict[str, str]) -> str | None: ...
|
25
28
|
def _model_from_status(status: dict[str, str]) -> str | None: ...
|
26
29
|
def _firmware_from_status(status: dict[str, str]) -> str | None: ...
|
@@ -34,6 +37,7 @@ class NUTDeviceInfo:
|
|
34
37
|
model_id: str | None = ...
|
35
38
|
firmware: str | None = ...
|
36
39
|
serial: str | None = ...
|
40
|
+
mac_address: str | None = ...
|
37
41
|
device_location: str | None = ...
|
38
42
|
|
39
43
|
class PyNUTData:
|
@@ -1,21 +1,22 @@
|
|
1
1
|
import voluptuous as vol
|
2
|
-
from . import PyNUTData as PyNUTData
|
3
|
-
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT,
|
2
|
+
from . import PyNUTData as PyNUTData, _unique_id_from_status as _unique_id_from_status
|
3
|
+
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Mapping
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
7
|
-
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_BASE as CONF_BASE, CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT,
|
8
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
7
|
+
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_BASE as CONF_BASE, CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
9
8
|
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
10
9
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
11
10
|
from typing import Any
|
12
11
|
|
13
12
|
_LOGGER: Incomplete
|
14
|
-
|
13
|
+
REAUTH_SCHEMA: Incomplete
|
14
|
+
PASSWORD_NOT_CHANGED: str
|
15
15
|
|
16
|
-
def _base_schema(nut_config:
|
16
|
+
def _base_schema(nut_config: Mapping[str, Any], use_password_not_changed: bool = False) -> vol.Schema: ...
|
17
17
|
def _ups_schema(ups_list: dict[str, str]) -> vol.Schema: ...
|
18
|
-
async def validate_input(
|
18
|
+
async def validate_input(data: dict[str, Any]) -> dict[str, Any]: ...
|
19
|
+
def _check_host_port_alias_match(first: Mapping[str, Any], second: Mapping[str, Any]) -> bool: ...
|
19
20
|
def _format_host_port_alias(user_input: Mapping[str, Any]) -> str: ...
|
20
21
|
|
21
22
|
class NutConfigFlow(ConfigFlow, domain=DOMAIN):
|
@@ -28,13 +29,9 @@ class NutConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
28
29
|
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
29
30
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
31
|
async def async_step_ups(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
32
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
|
+
async def async_step_reconfigure_ups(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
31
34
|
def _host_port_alias_already_configured(self, user_input: dict[str, Any]) -> bool: ...
|
32
35
|
async def _async_validate_or_error(self, config: dict[str, Any]) -> tuple[dict[str, Any], dict[str, str], dict[str, str]]: ...
|
33
36
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
34
37
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
35
|
-
@staticmethod
|
36
|
-
@callback
|
37
|
-
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
38
|
-
|
39
|
-
class OptionsFlowHandler(OptionsFlow):
|
40
|
-
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,9 +1,11 @@
|
|
1
|
-
from . import NutRuntimeData as NutRuntimeData
|
1
|
+
from . import NutConfigEntry as NutConfigEntry, NutRuntimeData as NutRuntimeData
|
2
2
|
from .const import DOMAIN as DOMAIN, INTEGRATION_SUPPORTED_COMMANDS as INTEGRATION_SUPPORTED_COMMANDS
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.device_automation import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
|
5
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
5
6
|
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_TYPE as CONF_TYPE
|
6
7
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers import device_registry as dr
|
7
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
|
8
10
|
|
9
11
|
ACTION_TYPES: Incomplete
|
@@ -14,3 +16,5 @@ async def async_call_action_from_config(hass: HomeAssistant, config: ConfigType,
|
|
14
16
|
def _get_device_action_name(command_name: str) -> str: ...
|
15
17
|
def _get_command_name(device_action_name: str) -> str: ...
|
16
18
|
def _get_runtime_data_from_device_id(hass: HomeAssistant, device_id: str) -> NutRuntimeData | None: ...
|
19
|
+
def _get_runtime_data_for_device(hass: HomeAssistant, device: dr.DeviceEntry) -> NutRuntimeData | None: ...
|
20
|
+
def _get_runtime_data_from_device_id_exception_on_failure(hass: HomeAssistant, device_id: str) -> NutRuntimeData | None: ...
|
@@ -3,7 +3,7 @@ from .const import KEY_STATUS as KEY_STATUS, KEY_STATUS_DISPLAY as KEY_STATUS_DI
|
|
3
3
|
from .entity import NUTBaseEntity as NUTBaseEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
6
|
-
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE,
|
6
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Final
|
@@ -11,7 +11,10 @@ from typing import Final
|
|
11
11
|
PARALLEL_UPDATES: int
|
12
12
|
AMBIENT_PRESENT: str
|
13
13
|
AMBIENT_SENSORS: Incomplete
|
14
|
-
|
14
|
+
BATTERY_CHARGER_STATUS_OPTIONS: Incomplete
|
15
|
+
FREQUENCY_STATUS_OPTIONS: Incomplete
|
16
|
+
THRESHOLD_STATUS_OPTIONS: Incomplete
|
17
|
+
UPS_BEEPER_STATUS_OPTIONS: Incomplete
|
15
18
|
_LOGGER: Incomplete
|
16
19
|
SENSOR_TYPES: Final[dict[str, SensorEntityDescription]]
|
17
20
|
|
@@ -21,4 +24,4 @@ class NUTSensor(NUTBaseEntity, SensorEntity):
|
|
21
24
|
@property
|
22
25
|
def native_value(self) -> str | None: ...
|
23
26
|
|
24
|
-
def _format_display_state(status: dict[str, str]) -> str: ...
|
27
|
+
def _format_display_state(status: dict[str, str]) -> str | None: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
2
|
+
from .coordinator import OhmeAdvancedSettingsCoordinator as OhmeAdvancedSettingsCoordinator, OhmeChargeSessionCoordinator as OhmeChargeSessionCoordinator, OhmeConfigEntry as OhmeConfigEntry, OhmeDeviceInfoCoordinator as OhmeDeviceInfoCoordinator, OhmeRuntimeData as OhmeRuntimeData
|
3
|
+
from .services import async_setup_services as async_setup_services
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
10
|
+
|
11
|
+
CONFIG_SCHEMA: Incomplete
|
12
|
+
|
13
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, entry: OhmeConfigEntry) -> bool: ...
|
15
|
+
async def async_unload_entry(hass: HomeAssistant, entry: OhmeConfigEntry) -> bool: ...
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable, Coroutine
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class OhmeButtonDescription(OhmeEntityDescription, ButtonEntityDescription):
|
18
|
+
press_fn: Callable[[OhmeApiClient], Coroutine[Any, Any, bool]]
|
19
|
+
|
20
|
+
BUTTON_DESCRIPTIONS: Incomplete
|
21
|
+
|
22
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
|
+
|
24
|
+
class OhmeButton(OhmeEntity, ButtonEntity):
|
25
|
+
entity_description: OhmeButtonDescription
|
26
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
6
|
+
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
USER_SCHEMA: Incomplete
|
10
|
+
REAUTH_SCHEMA: Incomplete
|
11
|
+
|
12
|
+
class OhmeConfigFlow(ConfigFlow, domain=DOMAIN):
|
13
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
14
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def _validate_account(self, email: str, password: str) -> dict[str, str]: ...
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import abc
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from abc import abstractmethod
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from datetime import timedelta
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
10
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
@dataclass()
|
15
|
+
class OhmeRuntimeData:
|
16
|
+
charge_session_coordinator: OhmeChargeSessionCoordinator
|
17
|
+
advanced_settings_coordinator: OhmeAdvancedSettingsCoordinator
|
18
|
+
device_info_coordinator: OhmeDeviceInfoCoordinator
|
19
|
+
type OhmeConfigEntry = ConfigEntry[OhmeRuntimeData]
|
20
|
+
|
21
|
+
class OhmeBaseCoordinator(DataUpdateCoordinator[None], metaclass=abc.ABCMeta):
|
22
|
+
config_entry: OhmeConfigEntry
|
23
|
+
client: OhmeApiClient
|
24
|
+
_default_update_interval: timedelta | None
|
25
|
+
coordinator_name: str
|
26
|
+
name: Incomplete
|
27
|
+
def __init__(self, hass: HomeAssistant, config_entry: OhmeConfigEntry, client: OhmeApiClient) -> None: ...
|
28
|
+
async def _async_update_data(self) -> None: ...
|
29
|
+
@abstractmethod
|
30
|
+
async def _internal_update_data(self) -> None: ...
|
31
|
+
|
32
|
+
class OhmeChargeSessionCoordinator(OhmeBaseCoordinator):
|
33
|
+
coordinator_name: str
|
34
|
+
_default_update_interval: Incomplete
|
35
|
+
async def _internal_update_data(self) -> None: ...
|
36
|
+
|
37
|
+
class OhmeAdvancedSettingsCoordinator(OhmeBaseCoordinator):
|
38
|
+
coordinator_name: str
|
39
|
+
async def _internal_update_data(self) -> None: ...
|
40
|
+
|
41
|
+
class OhmeDeviceInfoCoordinator(OhmeBaseCoordinator):
|
42
|
+
coordinator_name: str
|
43
|
+
_default_update_interval: Incomplete
|
44
|
+
async def _internal_update_data(self) -> None: ...
|
@@ -0,0 +1,5 @@
|
|
1
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from typing import Any
|
4
|
+
|
5
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: OhmeConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeBaseCoordinator as OhmeBaseCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
7
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
8
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
9
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
10
|
+
|
11
|
+
@dataclass(frozen=True)
|
12
|
+
class OhmeEntityDescription(EntityDescription):
|
13
|
+
is_supported_fn: Callable[[OhmeApiClient], bool] = ...
|
14
|
+
available_fn: Callable[[OhmeApiClient], bool] = ...
|
15
|
+
|
16
|
+
class OhmeEntity(CoordinatorEntity[OhmeBaseCoordinator]):
|
17
|
+
_attr_has_entity_name: bool
|
18
|
+
entity_description: OhmeEntityDescription
|
19
|
+
_attr_unique_id: Incomplete
|
20
|
+
_attr_device_info: Incomplete
|
21
|
+
def __init__(self, coordinator: OhmeBaseCoordinator, entity_description: OhmeEntityDescription) -> None: ...
|
22
|
+
@property
|
23
|
+
def available(self) -> bool: ...
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable, Coroutine
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
8
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
|
+
class OhmeNumberDescription(OhmeEntityDescription, NumberEntityDescription):
|
19
|
+
set_fn: Callable[[OhmeApiClient, float], Coroutine[Any, Any, bool]]
|
20
|
+
value_fn: Callable[[OhmeApiClient], float]
|
21
|
+
|
22
|
+
NUMBER_DESCRIPTION: Incomplete
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
25
|
+
|
26
|
+
class OhmeNumber(OhmeEntity, NumberEntity):
|
27
|
+
entity_description: OhmeNumberDescription
|
28
|
+
@property
|
29
|
+
def native_value(self) -> float: ...
|
30
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
4
|
+
from collections.abc import Callable as Callable, Coroutine
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
11
|
+
from typing import Any, Final
|
12
|
+
|
13
|
+
PARALLEL_UPDATES: int
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class OhmeSelectDescription(OhmeEntityDescription, SelectEntityDescription):
|
17
|
+
select_fn: Callable[[OhmeApiClient, Any], Coroutine[Any, Any, bool | None]]
|
18
|
+
options: list[str] | None = ...
|
19
|
+
options_fn: Callable[[OhmeApiClient], list[str]] | None = ...
|
20
|
+
current_option_fn: Callable[[OhmeApiClient], str | None]
|
21
|
+
|
22
|
+
MODE_SELECT_DESCRIPTION: Final[OhmeSelectDescription]
|
23
|
+
VEHICLE_SELECT_DESCRIPTION: Final[OhmeSelectDescription]
|
24
|
+
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
26
|
+
|
27
|
+
class OhmeSelect(OhmeEntity, SelectEntity):
|
28
|
+
entity_description: OhmeSelectDescription
|
29
|
+
async def async_select_option(self, option: str) -> None: ...
|
30
|
+
@property
|
31
|
+
def options(self) -> list[str]: ...
|
32
|
+
@property
|
33
|
+
def current_option(self) -> str | None: ...
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
2
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
7
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
11
|
+
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
15
|
+
class OhmeSensorDescription(OhmeEntityDescription, SensorEntityDescription):
|
16
|
+
value_fn: Callable[[OhmeApiClient], str | int | float | None]
|
17
|
+
|
18
|
+
SENSOR_CHARGE_SESSION: Incomplete
|
19
|
+
SENSOR_ADVANCED_SETTINGS: Incomplete
|
20
|
+
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
22
|
+
|
23
|
+
class OhmeSensor(OhmeEntity, SensorEntity):
|
24
|
+
entity_description: OhmeSensorDescription
|
25
|
+
@property
|
26
|
+
def native_value(self) -> str | int | float | None: ...
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
6
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
7
|
+
from homeassistant.helpers import selector as selector
|
8
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
9
|
+
from typing import Final
|
10
|
+
|
11
|
+
ATTR_CONFIG_ENTRY: Final[str]
|
12
|
+
ATTR_PRICE_CAP: Final[str]
|
13
|
+
SERVICE_LIST_CHARGE_SLOTS: str
|
14
|
+
SERVICE_LIST_CHARGE_SLOTS_SCHEMA: Final[Incomplete]
|
15
|
+
SERVICE_SET_PRICE_CAP: str
|
16
|
+
SERVICE_SET_PRICE_CAP_SCHEMA: Final[Incomplete]
|
17
|
+
|
18
|
+
def __get_client(call: ServiceCall) -> OhmeApiClient: ...
|
19
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Awaitable, Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
|
+
class OhmeConfigSwitchDescription(OhmeEntityDescription, SwitchEntityDescription):
|
19
|
+
configuration_key: str
|
20
|
+
|
21
|
+
@dataclass(frozen=True, kw_only=True)
|
22
|
+
class OhmeSwitchDescription(OhmeEntityDescription, SwitchEntityDescription):
|
23
|
+
is_on_fn: Callable[[OhmeApiClient], bool]
|
24
|
+
off_fn: Callable[[OhmeApiClient], Awaitable]
|
25
|
+
on_fn: Callable[[OhmeApiClient], Awaitable]
|
26
|
+
|
27
|
+
SWITCH_CONFIG: Incomplete
|
28
|
+
SWITCH_DESCRIPTION: Incomplete
|
29
|
+
|
30
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
31
|
+
|
32
|
+
class OhmeSwitch(OhmeEntity, SwitchEntity):
|
33
|
+
entity_description: OhmeSwitchDescription
|
34
|
+
@property
|
35
|
+
def is_on(self) -> bool: ...
|
36
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
37
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
38
|
+
|
39
|
+
class OhmeConfigSwitch(OhmeEntity, SwitchEntity):
|
40
|
+
entity_description: OhmeConfigSwitchDescription
|
41
|
+
@property
|
42
|
+
def is_on(self) -> bool: ...
|
43
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
44
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
45
|
+
async def _toggle(self, on: bool) -> None: ...
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
|
+
from .entity import OhmeEntity as OhmeEntity, OhmeEntityDescription as OhmeEntityDescription
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable, Coroutine
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from datetime import time
|
8
|
+
from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
from ohme import OhmeApiClient as OhmeApiClient
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
|
+
class OhmeTimeDescription(OhmeEntityDescription, TimeEntityDescription):
|
19
|
+
set_fn: Callable[[OhmeApiClient, time], Coroutine[Any, Any, bool]]
|
20
|
+
value_fn: Callable[[OhmeApiClient], time]
|
21
|
+
|
22
|
+
TIME_DESCRIPTION: Incomplete
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OhmeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
25
|
+
|
26
|
+
class OhmeTime(OhmeEntity, TimeEntity):
|
27
|
+
entity_description: OhmeTimeDescription
|
28
|
+
@property
|
29
|
+
def native_value(self) -> time: ...
|
30
|
+
async def async_set_value(self, value: time) -> None: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from . import views as views
|
2
2
|
from .const import DOMAIN as DOMAIN, STEPS as STEPS, STEP_ANALYTICS as STEP_ANALYTICS, STEP_CORE_CONFIG as STEP_CORE_CONFIG, STEP_INTEGRATION as STEP_INTEGRATION, STEP_USER as STEP_USER
|
3
|
+
from .views import BaseOnboardingView as BaseOnboardingView, NoAuthBaseOnboardingView as NoAuthBaseOnboardingView
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|