homeassistant-stubs 2025.4.3__py3-none-any.whl → 2025.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +4 -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 +26 -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 -9
- 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 +4 -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 +5 -3
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -4
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +16 -16
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +3 -8
- homeassistant-stubs/components/lamarzocco/entity.pyi +1 -6
- 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/remote_calendar/calendar.pyi +2 -0
- homeassistant-stubs/components/remote_calendar/config_flow.pyi +1 -0
- homeassistant-stubs/components/remote_calendar/coordinator.pyi +1 -0
- homeassistant-stubs/components/remote_calendar/ics.pyi +10 -0
- 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/legacy.pyi +1 -0
- 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 +9 -3
- homeassistant-stubs/components/zwave_js/config_flow.pyi +42 -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/aiohttp_client.pyi +9 -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.0.dist-info}/METADATA +3 -3
- {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/RECORD +397 -339
- 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.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
+
from .ics import InvalidIcsException as InvalidIcsException, parse_calendar as parse_calendar
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
5
|
from homeassistant.const import CONF_URL as CONF_URL
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from ical.calendar import Calendar as Calendar
|
4
|
+
|
5
|
+
_LOGGER: Incomplete
|
6
|
+
|
7
|
+
class InvalidIcsException(Exception): ...
|
8
|
+
|
9
|
+
def _compat_calendar_from_ics(ics: str) -> Calendar: ...
|
10
|
+
async def parse_calendar(hass: HomeAssistant, ics: str) -> Calendar: ...
|
@@ -1,18 +1,22 @@
|
|
1
1
|
from . import RenaultConfigEntry as RenaultConfigEntry
|
2
2
|
from .entity import RenaultDataEntity as RenaultDataEntity, RenaultDataEntityDescription as RenaultDataEntityDescription
|
3
|
+
from collections.abc import Callable as Callable
|
3
4
|
from dataclasses import dataclass
|
4
5
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
7
8
|
from homeassistant.helpers.typing import StateType as StateType
|
9
|
+
from renault_api.kamereon.enums import ChargeState
|
8
10
|
from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
|
9
11
|
|
10
12
|
PARALLEL_UPDATES: int
|
13
|
+
_PLUG_FROM_CHARGE_STATUS: set[ChargeState]
|
11
14
|
|
12
15
|
@dataclass(frozen=True, kw_only=True)
|
13
16
|
class RenaultBinarySensorEntityDescription(BinarySensorEntityDescription, RenaultDataEntityDescription):
|
14
|
-
on_key: str
|
15
|
-
on_value: StateType |
|
17
|
+
on_key: str | None = ...
|
18
|
+
on_value: StateType | None = ...
|
19
|
+
value_lambda: Callable[[RenaultBinarySensor], bool | None] | None = ...
|
16
20
|
|
17
21
|
async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
18
22
|
|
@@ -21,4 +25,6 @@ class RenaultBinarySensor(RenaultDataEntity[KamereonVehicleBatteryStatusData], B
|
|
21
25
|
@property
|
22
26
|
def is_on(self) -> bool | None: ...
|
23
27
|
|
28
|
+
def _plugged_in_value_lambda(self) -> bool | None: ...
|
29
|
+
|
24
30
|
BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...]
|
@@ -2,7 +2,7 @@ from .const import CONF_KAMEREON_ACCOUNT_ID as CONF_KAMEREON_ACCOUNT_ID, CONF_LO
|
|
2
2
|
from .renault_hub import RenaultHub as RenaultHub
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
6
6
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from typing import Any
|
8
8
|
|
@@ -18,3 +18,4 @@ class RenaultFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
18
18
|
async def async_step_kamereon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
19
19
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
20
20
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
21
|
+
async def async_step_reconfigure(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import logging
|
2
2
|
from . import RenaultConfigEntry as RenaultConfigEntry
|
3
|
+
from .renault_hub import RenaultHub as RenaultHub
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Awaitable, Callable as Callable
|
5
6
|
from datetime import timedelta
|
@@ -16,8 +17,10 @@ class RenaultDataUpdateCoordinator(DataUpdateCoordinator[T]):
|
|
16
17
|
update_method: Callable[[], Awaitable[T]]
|
17
18
|
access_denied: bool
|
18
19
|
not_supported: bool
|
20
|
+
assumed_state: bool
|
19
21
|
_has_already_worked: bool
|
20
|
-
|
22
|
+
_hub: Incomplete
|
23
|
+
def __init__(self, hass: HomeAssistant, config_entry: RenaultConfigEntry, hub: RenaultHub, logger: logging.Logger, *, name: str, update_interval: timedelta, update_method: Callable[[], Awaitable[T]]) -> None: ...
|
21
24
|
update_interval: Incomplete
|
22
25
|
async def _async_update_data(self) -> T: ...
|
23
26
|
async def async_config_entry_first_refresh(self) -> None: ...
|
@@ -24,3 +24,5 @@ class RenaultEntity(Entity):
|
|
24
24
|
class RenaultDataEntity(CoordinatorEntity[RenaultDataUpdateCoordinator[T]], RenaultEntity):
|
25
25
|
def __init__(self, vehicle: RenaultVehicleProxy, description: RenaultDataEntityDescription) -> None: ...
|
26
26
|
def _get_data_attr(self, key: str) -> StateType: ...
|
27
|
+
@property
|
28
|
+
def assumed_state(self) -> bool: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import RenaultConfigEntry as RenaultConfigEntry
|
2
|
-
from .const import CONF_KAMEREON_ACCOUNT_ID as CONF_KAMEREON_ACCOUNT_ID,
|
3
|
-
from .renault_vehicle import RenaultVehicleProxy as RenaultVehicleProxy
|
2
|
+
from .const import CONF_KAMEREON_ACCOUNT_ID as CONF_KAMEREON_ACCOUNT_ID, COOLING_UPDATES_SECONDS as COOLING_UPDATES_SECONDS, MAX_CALLS_PER_HOURS as MAX_CALLS_PER_HOURS
|
3
|
+
from .renault_vehicle import COORDINATORS as COORDINATORS, RenaultVehicleProxy as RenaultVehicleProxy
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from datetime import timedelta
|
6
6
|
from homeassistant.const import ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME
|
@@ -18,7 +18,10 @@ class RenaultHub:
|
|
18
18
|
_client: Incomplete
|
19
19
|
_account: RenaultAccount | None
|
20
20
|
_vehicles: dict[str, RenaultVehicleProxy]
|
21
|
+
_got_throttled_at_time: float | None
|
21
22
|
def __init__(self, hass: HomeAssistant, locale: str) -> None: ...
|
23
|
+
def set_throttled(self) -> None: ...
|
24
|
+
def is_throttled(self) -> bool: ...
|
22
25
|
async def attempt_login(self, username: str, password: str) -> bool: ...
|
23
26
|
async def async_initialise(self, config_entry: RenaultConfigEntry) -> None: ...
|
24
27
|
async def async_initialise_vehicle(self, vehicle_link: KamereonVehiclesLink, renault_account: RenaultAccount, scan_interval: timedelta, config_entry: RenaultConfigEntry, device_registry: dr.DeviceRegistry) -> None: ...
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from . import RenaultConfigEntry as RenaultConfigEntry
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from .coordinator import RenaultDataUpdateCoordinator as RenaultDataUpdateCoordinator
|
4
|
+
from .renault_hub import RenaultHub as RenaultHub
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
6
7
|
from dataclasses import dataclass
|
@@ -8,7 +9,7 @@ from datetime import datetime, timedelta
|
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
11
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
11
|
-
from renault_api.kamereon import models
|
12
|
+
from renault_api.kamereon import models
|
12
13
|
from renault_api.renault_vehicle import RenaultVehicle as RenaultVehicle
|
13
14
|
from typing import Any, Concatenate
|
14
15
|
|
@@ -32,7 +33,9 @@ class RenaultVehicleProxy:
|
|
32
33
|
coordinators: dict[str, RenaultDataUpdateCoordinator]
|
33
34
|
hvac_target_temperature: int
|
34
35
|
_scan_interval: Incomplete
|
35
|
-
|
36
|
+
_hub: Incomplete
|
37
|
+
def __init__(self, hass: HomeAssistant, config_entry: RenaultConfigEntry, hub: RenaultHub, vehicle: RenaultVehicle, details: models.KamereonVehicleDetails, scan_interval: timedelta) -> None: ...
|
38
|
+
def update_scan_interval(self, scan_interval: timedelta) -> None: ...
|
36
39
|
@property
|
37
40
|
def details(self) -> models.KamereonVehicleDetails: ...
|
38
41
|
@property
|
@@ -24,4 +24,9 @@ SERVICE_CHARGE_SET_SCHEDULES: str
|
|
24
24
|
SERVICE_AC_SET_SCHEDULES: str
|
25
25
|
SERVICES: Incomplete
|
26
26
|
|
27
|
+
async def ac_cancel(service_call: ServiceCall) -> None: ...
|
28
|
+
async def ac_start(service_call: ServiceCall) -> None: ...
|
29
|
+
async def charge_set_schedules(service_call: ServiceCall) -> None: ...
|
30
|
+
async def ac_set_schedules(service_call: ServiceCall) -> None: ...
|
31
|
+
def get_vehicle_proxy(service_call: ServiceCall) -> RenaultVehicleProxy: ...
|
27
32
|
def setup_services(hass: HomeAssistant) -> None: ...
|
@@ -10,7 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
10
|
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
11
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
12
|
from homeassistant.helpers.template import Template as Template
|
13
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity
|
13
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity, ValueTemplate as ValueTemplate
|
14
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
15
15
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
16
16
|
|
@@ -22,7 +22,7 @@ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_ad
|
|
22
22
|
|
23
23
|
class RestBinarySensor(ManualTriggerEntity, RestEntity, BinarySensorEntity):
|
24
24
|
_previous_data: Incomplete
|
25
|
-
_value_template:
|
25
|
+
_value_template: ValueTemplate | None
|
26
26
|
def __init__(self, hass: HomeAssistant, coordinator: DataUpdateCoordinator[None] | None, rest: RestData, config: ConfigType, trigger_entity_config: ConfigType) -> None: ...
|
27
27
|
@property
|
28
28
|
def available(self) -> bool: ...
|
@@ -2,7 +2,7 @@ from .const import CONF_ENCODING as CONF_ENCODING, CONF_JSON_ATTRS as CONF_JSON_
|
|
2
2
|
from .data import DEFAULT_TIMEOUT as DEFAULT_TIMEOUT
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.const import CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_HEADERS as CONF_HEADERS, CONF_METHOD as CONF_METHOD, CONF_PARAMS as CONF_PARAMS, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_RESOURCE as CONF_RESOURCE, CONF_RESOURCE_TEMPLATE as CONF_RESOURCE_TEMPLATE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_TIMEOUT as CONF_TIMEOUT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VERIFY_SSL as CONF_VERIFY_SSL, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, HTTP_DIGEST_AUTHENTICATION as HTTP_DIGEST_AUTHENTICATION
|
5
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, TEMPLATE_ENTITY_BASE_SCHEMA as TEMPLATE_ENTITY_BASE_SCHEMA, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA
|
5
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, TEMPLATE_ENTITY_BASE_SCHEMA as TEMPLATE_ENTITY_BASE_SCHEMA, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA, ValueTemplate as ValueTemplate
|
6
6
|
from homeassistant.util.ssl import SSLCipherList as SSLCipherList
|
7
7
|
|
8
8
|
RESOURCE_SCHEMA: Incomplete
|
@@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
12
12
|
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
13
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
14
|
from homeassistant.helpers.template import Template as Template
|
15
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerSensorEntity as ManualTriggerSensorEntity
|
15
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerSensorEntity as ManualTriggerSensorEntity, ValueTemplate as ValueTemplate
|
16
16
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
17
17
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
18
18
|
from typing import Any
|
@@ -24,7 +24,7 @@ TRIGGER_ENTITY_OPTIONS: Incomplete
|
|
24
24
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
25
25
|
|
26
26
|
class RestSensor(ManualTriggerSensorEntity, RestEntity):
|
27
|
-
_value_template:
|
27
|
+
_value_template: ValueTemplate | None
|
28
28
|
_json_attrs: Incomplete
|
29
29
|
_json_attrs_path: Incomplete
|
30
30
|
_attr_extra_state_attributes: Incomplete
|
@@ -7,7 +7,7 @@ from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
|
7
7
|
from homeassistant.helpers import template as template
|
8
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
9
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
10
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity, TEMPLATE_ENTITY_BASE_SCHEMA as TEMPLATE_ENTITY_BASE_SCHEMA
|
10
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity, TEMPLATE_ENTITY_BASE_SCHEMA as TEMPLATE_ENTITY_BASE_SCHEMA, ValueTemplate as ValueTemplate
|
11
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
12
12
|
from typing import Any
|
13
13
|
|
@@ -37,7 +37,7 @@ class RestSwitch(ManualTriggerEntity, SwitchEntity):
|
|
37
37
|
_auth: Incomplete
|
38
38
|
_body_on: template.Template
|
39
39
|
_body_off: template.Template
|
40
|
-
_is_on_template:
|
40
|
+
_is_on_template: ValueTemplate | None
|
41
41
|
_timeout: int
|
42
42
|
_verify_ssl: bool
|
43
43
|
def __init__(self, hass: HomeAssistant, config: ConfigType, trigger_entity_config: ConfigType) -> None: ...
|
@@ -47,4 +47,5 @@ class RestSwitch(ManualTriggerEntity, SwitchEntity):
|
|
47
47
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
48
48
|
async def set_device_state(self, body: Any) -> httpx.Response: ...
|
49
49
|
async def async_update(self) -> None: ...
|
50
|
-
async def
|
50
|
+
async def get_response(self, hass: HomeAssistant) -> httpx.Response: ...
|
51
|
+
def _async_update(self, text: str) -> None: ...
|
@@ -16,6 +16,7 @@ SCAN_INTERVAL: Incomplete
|
|
16
16
|
_LOGGER: Incomplete
|
17
17
|
|
18
18
|
async def async_setup_entry(hass: HomeAssistant, entry: RoborockConfigEntry) -> bool: ...
|
19
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: RoborockConfigEntry) -> bool: ...
|
19
20
|
def build_setup_functions(hass: HomeAssistant, entry: RoborockConfigEntry, device_map: dict[str, HomeDataDevice], user_data: UserData, product_info: dict[str, HomeDataProduct], home_data_rooms: list[HomeDataRoom], api_client: RoborockApiClient) -> list[Coroutine[Any, Any, RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None]]: ...
|
20
21
|
async def setup_device(hass: HomeAssistant, entry: RoborockConfigEntry, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom], api_client: RoborockApiClient) -> RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None: ...
|
21
22
|
async def setup_device_v1(hass: HomeAssistant, entry: RoborockConfigEntry, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom], api_client: RoborockApiClient) -> RoborockDataUpdateCoordinator | None: ...
|
@@ -1,10 +1,9 @@
|
|
1
1
|
from .bridge import SamsungTVBridge as SamsungTVBridge, async_get_device_info as async_get_device_info, mac_from_device_info as mac_from_device_info, model_requires_encryption as model_requires_encryption
|
2
|
-
from .const import CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
|
2
|
+
from .const import CONF_SESSION_ID as CONF_SESSION_ID, CONF_SSDP_MAIN_TV_AGENT_LOCATION as CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DOMAIN as DOMAIN, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
|
3
3
|
from .coordinator import SamsungTVConfigEntry as SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Coroutine
|
6
6
|
from homeassistant.components import ssdp as ssdp
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
9
8
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
10
9
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
@@ -21,14 +20,14 @@ class DebouncedEntryReloader:
|
|
21
20
|
entry: Incomplete
|
22
21
|
token: Incomplete
|
23
22
|
_debounced_reload: Debouncer[Coroutine[Any, Any, None]]
|
24
|
-
def __init__(self, hass: HomeAssistant, entry:
|
25
|
-
async def async_call(self, hass: HomeAssistant, entry:
|
23
|
+
def __init__(self, hass: HomeAssistant, entry: SamsungTVConfigEntry) -> None: ...
|
24
|
+
async def async_call(self, hass: HomeAssistant, entry: SamsungTVConfigEntry) -> None: ...
|
26
25
|
@callback
|
27
26
|
def async_shutdown(self) -> None: ...
|
28
27
|
async def _async_reload_entry(self) -> None: ...
|
29
28
|
|
30
|
-
async def _async_update_ssdp_locations(hass: HomeAssistant, entry:
|
29
|
+
async def _async_update_ssdp_locations(hass: HomeAssistant, entry: SamsungTVConfigEntry) -> None: ...
|
31
30
|
async def async_setup_entry(hass: HomeAssistant, entry: SamsungTVConfigEntry) -> bool: ...
|
32
|
-
async def _async_create_bridge_with_updated_data(hass: HomeAssistant, entry:
|
31
|
+
async def _async_create_bridge_with_updated_data(hass: HomeAssistant, entry: SamsungTVConfigEntry) -> SamsungTVBridge: ...
|
33
32
|
async def async_unload_entry(hass: HomeAssistant, entry: SamsungTVConfigEntry) -> bool: ...
|
34
|
-
async def async_migrate_entry(hass: HomeAssistant, config_entry:
|
33
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: SamsungTVConfigEntry) -> bool: ...
|
@@ -3,7 +3,7 @@ from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_SESSION_ID as CO
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
6
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_TOKEN as CONF_TOKEN
|
7
7
|
from homeassistant.core import callback as callback
|
8
8
|
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
9
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
@@ -8,6 +8,7 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
8
8
|
from homeassistant.helpers.entity import Entity as Entity
|
9
9
|
from homeassistant.helpers.trigger import PluggableAction as PluggableAction
|
10
10
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
11
|
+
from typing import Any
|
11
12
|
|
12
13
|
class SamsungTVEntity(CoordinatorEntity[SamsungTVDataUpdateCoordinator], Entity):
|
13
14
|
_attr_has_entity_name: bool
|
@@ -22,5 +23,5 @@ class SamsungTVEntity(CoordinatorEntity[SamsungTVDataUpdateCoordinator], Entity)
|
|
22
23
|
def available(self) -> bool: ...
|
23
24
|
async def async_added_to_hass(self) -> None: ...
|
24
25
|
def _wake_on_lan(self) -> None: ...
|
25
|
-
async def
|
26
|
-
async def
|
26
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
27
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -18,6 +18,7 @@ from typing import Any
|
|
18
18
|
SOURCES: Incomplete
|
19
19
|
SUPPORT_SAMSUNGTV: Incomplete
|
20
20
|
APP_LIST_DELAY: int
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
|
22
23
|
async def async_setup_entry(hass: HomeAssistant, entry: SamsungTVConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
24
|
|
@@ -54,7 +55,6 @@ class SamsungTVDevice(SamsungTVEntity, MediaPlayerEntity):
|
|
54
55
|
def _on_upnp_event(self, service: UpnpService, state_variables: Sequence[UpnpStateVariable]) -> None: ...
|
55
56
|
async def _async_launch_app(self, app_id: str) -> None: ...
|
56
57
|
async def _async_send_keys(self, keys: list[str]) -> None: ...
|
57
|
-
async def async_turn_off(self) -> None: ...
|
58
58
|
async def async_set_volume_level(self, volume: float) -> None: ...
|
59
59
|
async def async_volume_up(self) -> None: ...
|
60
60
|
async def async_volume_down(self) -> None: ...
|
@@ -65,5 +65,4 @@ class SamsungTVDevice(SamsungTVEntity, MediaPlayerEntity):
|
|
65
65
|
async def async_media_next_track(self) -> None: ...
|
66
66
|
async def async_media_previous_track(self) -> None: ...
|
67
67
|
async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
|
68
|
-
async def async_turn_on(self) -> None: ...
|
69
68
|
async def async_select_source(self, source: str) -> None: ...
|
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Any
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
async def async_setup_entry(hass: HomeAssistant, entry: SamsungTVConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
12
14
|
|
13
15
|
class SamsungTVRemote(SamsungTVEntity, RemoteEntity):
|
@@ -15,6 +17,4 @@ class SamsungTVRemote(SamsungTVEntity, RemoteEntity):
|
|
15
17
|
_attr_is_on: Incomplete
|
16
18
|
@callback
|
17
19
|
def _handle_coordinator_update(self) -> None: ...
|
18
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
19
20
|
async def async_send_command(self, command: Iterable[str], **kwargs: Any) -> None: ...
|
20
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -7,7 +7,7 @@ from homeassistant.const import CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_SCAN_INTE
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers import discovery as discovery
|
9
9
|
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
10
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA
|
10
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA, ValueTemplate as ValueTemplate
|
11
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
12
12
|
|
13
13
|
type ScrapeConfigEntry = ConfigEntry[ScrapeCoordinator]
|
@@ -9,8 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
9
9
|
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
10
10
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
|
12
|
-
from homeassistant.helpers.template import Template as Template
|
13
|
-
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity, ManualTriggerSensorEntity as ManualTriggerSensorEntity, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA
|
12
|
+
from homeassistant.helpers.template import Template as Template, _SENTINEL as _SENTINEL
|
13
|
+
from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerEntity as ManualTriggerEntity, ManualTriggerSensorEntity as ManualTriggerSensorEntity, TEMPLATE_SENSOR_BASE_SCHEMA as TEMPLATE_SENSOR_BASE_SCHEMA, ValueTemplate as ValueTemplate
|
14
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
15
15
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
16
16
|
from typing import Any
|
@@ -27,14 +27,13 @@ class ScrapeSensor(CoordinatorEntity[ScrapeCoordinator], ManualTriggerSensorEnti
|
|
27
27
|
_index: Incomplete
|
28
28
|
_value_template: Incomplete
|
29
29
|
_attr_native_value: Incomplete
|
30
|
-
_available: bool
|
31
30
|
_attr_name: Incomplete
|
32
31
|
_attr_has_entity_name: bool
|
33
32
|
_attr_device_info: Incomplete
|
34
|
-
def __init__(self, hass: HomeAssistant, coordinator: ScrapeCoordinator, trigger_entity_config: ConfigType, select: str, attr: str | None, index: int, value_template:
|
33
|
+
def __init__(self, hass: HomeAssistant, coordinator: ScrapeCoordinator, trigger_entity_config: ConfigType, select: str, attr: str | None, index: int, value_template: ValueTemplate | None, yaml: bool) -> None: ...
|
35
34
|
def _extract_value(self) -> Any: ...
|
36
35
|
async def async_added_to_hass(self) -> None: ...
|
37
|
-
_attr_available:
|
36
|
+
_attr_available: bool
|
38
37
|
def _async_update_from_rest_data(self) -> None: ...
|
39
38
|
@property
|
40
39
|
def available(self) -> bool: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from .const import BLOCK_EXPECTED_SLEEP_PERIOD as BLOCK_EXPECTED_SLEEP_PERIOD, BLOCK_WRONG_SLEEP_PERIOD as BLOCK_WRONG_SLEEP_PERIOD, CONF_COAP_PORT as CONF_COAP_PORT, CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, LOGGER as LOGGER, MODELS_WITH_WRONG_SLEEP_PERIOD as MODELS_WITH_WRONG_SLEEP_PERIOD, PUSH_UPDATE_ISSUE_ID as PUSH_UPDATE_ISSUE_ID
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyEntryData as ShellyEntryData, ShellyRestCoordinator as ShellyRestCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, ShellyRpcPollingCoordinator as ShellyRpcPollingCoordinator
|
3
|
+
from .repairs import async_manage_ble_scanner_firmware_unsupported_issue as async_manage_ble_scanner_firmware_unsupported_issue
|
3
4
|
from .utils import async_create_issue_unsupported_firmware as async_create_issue_unsupported_firmware, get_coap_context as get_coap_context, get_device_entry_gen as get_device_entry_gen, get_http_port as get_http_port, get_rpc_scripts_event_types as get_rpc_scripts_event_types, get_ws_context as get_ws_context
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from homeassistant.components.bluetooth import async_remove_scanner as async_remove_scanner
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import BLU_TRV_TEMPERATURE_SETTINGS as BLU_TRV_TEMPERATURE_SETTINGS, DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
|
-
from .entity import ShellyRpcEntity as ShellyRpcEntity
|
3
|
+
from .entity import ShellyRpcEntity as ShellyRpcEntity, rpc_call as rpc_call
|
4
4
|
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
@@ -123,4 +123,5 @@ class RpcBluTrvClimate(ShellyRpcEntity, ClimateEntity):
|
|
123
123
|
def current_temperature(self) -> float | None: ...
|
124
124
|
@property
|
125
125
|
def hvac_action(self) -> HVACAction: ...
|
126
|
+
@rpc_call
|
126
127
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
@@ -61,10 +61,12 @@ class BLEScannerMode(StrEnum):
|
|
61
61
|
ACTIVE = 'active'
|
62
62
|
PASSIVE = 'passive'
|
63
63
|
|
64
|
+
BLE_SCANNER_MIN_FIRMWARE: str
|
64
65
|
MAX_PUSH_UPDATE_FAILURES: int
|
65
66
|
PUSH_UPDATE_ISSUE_ID: str
|
66
67
|
NOT_CALIBRATED_ISSUE_ID: str
|
67
68
|
FIRMWARE_UNSUPPORTED_ISSUE_ID: str
|
69
|
+
BLE_SCANNER_FIRMWARE_UNSUPPORTED_ISSUE_ID: str
|
68
70
|
GAS_VALVE_OPEN_STATES: Incomplete
|
69
71
|
OTA_BEGIN: str
|
70
72
|
OTA_ERROR: str
|
@@ -26,6 +26,7 @@ class ShellyEntryData:
|
|
26
26
|
rpc_poll: ShellyRpcPollingCoordinator | None = ...
|
27
27
|
rpc_script_events: dict[int, list[str]] | None = ...
|
28
28
|
rpc_supports_scripts: bool | None = ...
|
29
|
+
rpc_zigbee_enabled: bool | None = ...
|
29
30
|
type ShellyConfigEntry = ConfigEntry[ShellyEntryData]
|
30
31
|
|
31
32
|
class ShellyCoordinatorBase[_DeviceT: BlockDevice | RpcDevice](DataUpdateCoordinator[None]):
|
@@ -3,7 +3,7 @@ from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, Shell
|
|
3
3
|
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_entity_name as get_block_entity_name, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioshelly.block_device import Block as Block
|
6
|
-
from collections.abc import Callable as Callable, Mapping
|
6
|
+
from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
13
13
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
14
14
|
from homeassistant.helpers.typing import StateType as StateType
|
15
15
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
16
|
-
from typing import Any
|
16
|
+
from typing import Any, Concatenate
|
17
17
|
|
18
18
|
@callback
|
19
19
|
def async_setup_entry_attribute_entities(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddEntitiesCallback, sensors: Mapping[tuple[str, str], BlockEntityDescription], sensor_class: Callable) -> None: ...
|
@@ -57,6 +57,8 @@ class RestEntityDescription(EntityDescription):
|
|
57
57
|
name: str = ...
|
58
58
|
value: Callable[[dict, Any], Any] | None = ...
|
59
59
|
|
60
|
+
def rpc_call[_T: ShellyRpcEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
61
|
+
|
60
62
|
class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
61
63
|
block: Incomplete
|
62
64
|
_attr_name: Incomplete
|
@@ -81,6 +83,7 @@ class ShellyRpcEntity(CoordinatorEntity[ShellyRpcCoordinator]):
|
|
81
83
|
async def async_added_to_hass(self) -> None: ...
|
82
84
|
@callback
|
83
85
|
def _update_callback(self) -> None: ...
|
86
|
+
@rpc_call
|
84
87
|
async def call_rpc(self, method: str, params: Any, timeout: float | None = None) -> Any: ...
|
85
88
|
|
86
89
|
class ShellyBlockAttributeEntity(ShellyBlockEntity, Entity):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER, VIRTUAL_NUMBER_MODE_MAP as VIRTUAL_NUMBER_MODE_MAP
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
|
-
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rpc as async_setup_entry_rpc
|
3
|
+
from .entity import BlockEntityDescription as BlockEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
|
4
4
|
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
@@ -27,10 +27,11 @@ class RpcNumberDescription(RpcEntityDescription, NumberEntityDescription):
|
|
27
27
|
step_fn: Callable[[dict], float] | None = ...
|
28
28
|
mode_fn: Callable[[dict], NumberMode] | None = ...
|
29
29
|
method: str
|
30
|
-
method_params_fn: Callable[[int, float], dict]
|
31
30
|
|
32
31
|
class RpcNumber(ShellyRpcAttributeEntity, NumberEntity):
|
33
32
|
entity_description: RpcNumberDescription
|
33
|
+
attribute_value: float | None
|
34
|
+
_id: int | None
|
34
35
|
_attr_native_max_value: Incomplete
|
35
36
|
_attr_native_min_value: Incomplete
|
36
37
|
_attr_native_step: Incomplete
|
@@ -38,12 +39,12 @@ class RpcNumber(ShellyRpcAttributeEntity, NumberEntity):
|
|
38
39
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcNumberDescription) -> None: ...
|
39
40
|
@property
|
40
41
|
def native_value(self) -> float | None: ...
|
42
|
+
@rpc_call
|
41
43
|
async def async_set_native_value(self, value: float) -> None: ...
|
42
44
|
|
43
45
|
class RpcBluTrvNumber(RpcNumber):
|
44
46
|
_attr_device_info: Incomplete
|
45
47
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcNumberDescription) -> None: ...
|
46
|
-
async def async_set_native_value(self, value: float) -> None: ...
|
47
48
|
|
48
49
|
class RpcBluTrvExtTempNumber(RpcBluTrvNumber):
|
49
50
|
_reported_value: float | None
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from .const import BLEScannerMode as BLEScannerMode, BLE_SCANNER_FIRMWARE_UNSUPPORTED_ISSUE_ID as BLE_SCANNER_FIRMWARE_UNSUPPORTED_ISSUE_ID, BLE_SCANNER_MIN_FIRMWARE as BLE_SCANNER_MIN_FIRMWARE, CONF_BLE_SCANNER_MODE as CONF_BLE_SCANNER_MODE, DOMAIN as DOMAIN
|
2
|
+
from .coordinator import ShellyConfigEntry as ShellyConfigEntry
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from aioshelly.rpc_device import RpcDevice as RpcDevice
|
5
|
+
from homeassistant import data_entry_flow as data_entry_flow
|
6
|
+
from homeassistant.components.repairs import RepairsFlow as RepairsFlow
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
|
9
|
+
@callback
|
10
|
+
def async_manage_ble_scanner_firmware_unsupported_issue(hass: HomeAssistant, entry: ShellyConfigEntry) -> None: ...
|
11
|
+
|
12
|
+
class BleScannerFirmwareUpdateFlow(RepairsFlow):
|
13
|
+
_device: Incomplete
|
14
|
+
def __init__(self, device: RpcDevice) -> None: ...
|
15
|
+
async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
16
|
+
async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
17
|
+
async def async_step_update_firmware(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
18
|
+
|
19
|
+
async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str] | None) -> RepairsFlow: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .coordinator import ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
2
|
-
from .entity import RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_entry_rpc as async_setup_entry_rpc
|
2
|
+
from .entity import RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
|
3
3
|
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from dataclasses import dataclass
|
@@ -17,8 +17,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry
|
|
17
17
|
|
18
18
|
class RpcSelect(ShellyRpcAttributeEntity, SelectEntity):
|
19
19
|
entity_description: RpcSelectDescription
|
20
|
+
_id: int
|
20
21
|
_attr_options: Incomplete
|
21
22
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSelectDescription) -> None: ...
|
22
23
|
@property
|
23
24
|
def current_option(self) -> str | None: ...
|
25
|
+
@rpc_call
|
24
26
|
async def async_select_option(self, option: str) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .coordinator import ShellyConfigEntry as ShellyConfigEntry
|
2
|
-
from .entity import RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_entry_rpc as async_setup_entry_rpc
|
2
|
+
from .entity import RpcEntityDescription as RpcEntityDescription, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, async_setup_entry_rpc as async_setup_entry_rpc, rpc_call as rpc_call
|
3
3
|
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from dataclasses import dataclass
|
@@ -17,6 +17,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry
|
|
17
17
|
|
18
18
|
class RpcText(ShellyRpcAttributeEntity, TextEntity):
|
19
19
|
entity_description: RpcTextDescription
|
20
|
+
attribute_value: str | None
|
21
|
+
_id: int
|
20
22
|
@property
|
21
23
|
def native_value(self) -> str | None: ...
|
24
|
+
@rpc_call
|
22
25
|
async def async_set_value(self, value: str) -> None: ...
|
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
|
|
3
3
|
from aiohttp.web import Request as Request, WebSocketResponse as WebSocketResponse
|
4
4
|
from aioshelly.block_device import Block as Block, BlockDevice as BlockDevice, COAP
|
5
5
|
from aioshelly.rpc_device import RpcDevice, WsServer
|
6
|
-
from collections.abc import Iterable
|
6
|
+
from collections.abc import Iterable, Mapping
|
7
7
|
from datetime import datetime
|
8
8
|
from homeassistant.components import network as network
|
9
9
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
@@ -14,7 +14,6 @@ from homeassistant.helpers import singleton as singleton
|
|
14
14
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
15
15
|
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
16
16
|
from homeassistant.util.dt import utcnow as utcnow
|
17
|
-
from types import MappingProxyType
|
18
17
|
from typing import Any
|
19
18
|
|
20
19
|
@callback
|
@@ -63,7 +62,7 @@ def get_release_url(gen: int, model: str, beta: bool) -> str | None: ...
|
|
63
62
|
@callback
|
64
63
|
def async_create_issue_unsupported_firmware(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
65
64
|
def is_rpc_wifi_stations_disabled(config: dict[str, Any], _status: dict[str, Any], key: str) -> bool: ...
|
66
|
-
def get_http_port(data:
|
65
|
+
def get_http_port(data: Mapping[str, Any]) -> int: ...
|
67
66
|
def get_host(host: str) -> str: ...
|
68
67
|
@callback
|
69
68
|
def async_remove_shelly_rpc_entities(hass: HomeAssistant, domain: str, mac: str, keys: list[str]) -> None: ...
|
@@ -11,6 +11,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
11
11
|
from pysmlight import Sensors as Sensors
|
12
12
|
from pysmlight.sse import MessageEvent as MessageEvent
|
13
13
|
|
14
|
+
PARALLEL_UPDATES: int
|
14
15
|
SCAN_INTERVAL = SCAN_INTERNET_INTERVAL
|
15
16
|
|
16
17
|
@dataclass(frozen=True, kw_only=True)
|
@@ -10,6 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
11
|
from pysmlight.web import CmdWrapper as CmdWrapper
|
12
12
|
|
13
|
+
PARALLEL_UPDATES: int
|
13
14
|
_LOGGER: Incomplete
|
14
15
|
|
15
16
|
@dataclass(frozen=True, kw_only=True)
|