homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.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/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
- homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
- homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
- homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
- homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
- homeassistant-stubs/components/axis/config_flow.pyi +2 -2
- homeassistant-stubs/components/axis/entity.pyi +1 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/coordinator.pyi +3 -0
- homeassistant-stubs/components/backup/entity.pyi +5 -2
- homeassistant-stubs/components/backup/event.pyi +23 -0
- homeassistant-stubs/components/backup/manager.pyi +22 -3
- homeassistant-stubs/components/backup/models.pyi +2 -2
- homeassistant-stubs/components/blue_current/button.pyi +25 -0
- homeassistant-stubs/components/blue_current/entity.pyi +3 -6
- homeassistant-stubs/components/bluesound/button.pyi +35 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
- homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
- homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
- homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
- homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
- homeassistant-stubs/components/bring/__init__.pyi +1 -1
- homeassistant-stubs/components/bring/coordinator.pyi +21 -3
- homeassistant-stubs/components/bring/entity.pyi +3 -3
- homeassistant-stubs/components/bring/event.pyi +3 -2
- homeassistant-stubs/components/bring/sensor.pyi +1 -0
- homeassistant-stubs/components/bring/todo.pyi +1 -0
- homeassistant-stubs/components/camera/__init__.pyi +2 -10
- homeassistant-stubs/components/camera/webrtc.pyi +1 -22
- homeassistant-stubs/components/climate/__init__.pyi +3 -13
- homeassistant-stubs/components/climate/const.pyi +0 -3
- homeassistant-stubs/components/climate/significant_change.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
- homeassistant-stubs/components/cloud/client.pyi +2 -1
- homeassistant-stubs/components/cloud/const.pyi +0 -1
- homeassistant-stubs/components/cloud/google_config.pyi +1 -1
- homeassistant-stubs/components/cloud/http_api.pyi +0 -2
- homeassistant-stubs/components/comelit/climate.pyi +14 -5
- homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
- homeassistant-stubs/components/comelit/const.pyi +3 -0
- homeassistant-stubs/components/comelit/cover.pyi +3 -1
- homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
- homeassistant-stubs/components/comelit/light.pyi +2 -0
- homeassistant-stubs/components/comelit/switch.pyi +2 -0
- homeassistant-stubs/components/comelit/utils.pyi +11 -0
- homeassistant-stubs/components/command_line/notify.pyi +3 -1
- homeassistant-stubs/components/config/entity_registry.pyi +6 -0
- homeassistant-stubs/components/deconz/entity.pyi +1 -0
- homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/demo/media_player.pyi +2 -1
- homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
- homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
- homeassistant-stubs/components/downloader/__init__.pyi +3 -4
- homeassistant-stubs/components/downloader/services.pyi +7 -0
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/button.pyi +2 -2
- homeassistant-stubs/components/ecovacs/number.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
- homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
- homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
- homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
- homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
- homeassistant-stubs/components/elkm1/climate.pyi +0 -6
- homeassistant-stubs/components/esphome/entity.pyi +1 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- homeassistant-stubs/components/esphome/update.pyi +8 -4
- homeassistant-stubs/components/feedreader/event.pyi +1 -2
- homeassistant-stubs/components/fritz/__init__.pyi +1 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
- homeassistant-stubs/components/fritz/const.pyi +2 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
- homeassistant-stubs/components/frontend/storage.pyi +25 -9
- homeassistant-stubs/components/fyta/image.pyi +18 -4
- homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
- homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
- homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
- homeassistant-stubs/components/google/__init__.pyi +7 -8
- homeassistant-stubs/components/google/api.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +5 -5
- homeassistant-stubs/components/google/config_flow.pyi +3 -2
- homeassistant-stubs/components/google/const.pyi +0 -2
- homeassistant-stubs/components/google/coordinator.pyi +5 -5
- homeassistant-stubs/components/google/diagnostics.pyi +2 -3
- homeassistant-stubs/components/google/store.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
- homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
- homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
- homeassistant-stubs/components/guardian/__init__.pyi +11 -18
- homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
- homeassistant-stubs/components/guardian/button.pyi +4 -5
- homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
- homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
- homeassistant-stubs/components/guardian/entity.pyi +3 -3
- homeassistant-stubs/components/guardian/sensor.pyi +3 -4
- homeassistant-stubs/components/guardian/services.pyi +28 -0
- homeassistant-stubs/components/guardian/switch.pyi +4 -5
- homeassistant-stubs/components/guardian/util.pyi +2 -2
- homeassistant-stubs/components/guardian/valve.pyi +4 -5
- homeassistant-stubs/components/habitica/const.pyi +1 -6
- homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -4
- homeassistant-stubs/components/habitica/util.pyi +2 -0
- homeassistant-stubs/components/hardware/__init__.pyi +3 -1
- homeassistant-stubs/components/hardware/const.pyi +4 -0
- homeassistant-stubs/components/hardware/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/models.pyi +14 -1
- homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
- homeassistant-stubs/components/heos/media_player.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
- homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
- homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
- homeassistant-stubs/components/home_connect/entity.pyi +0 -1
- homeassistant-stubs/components/home_connect/light.pyi +2 -2
- homeassistant-stubs/components/home_connect/number.pyi +1 -0
- homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
- homeassistant-stubs/components/home_connect/switch.pyi +1 -19
- homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
- homeassistant-stubs/components/homee/const.pyi +2 -0
- homeassistant-stubs/components/homee/event.pyi +19 -0
- homeassistant-stubs/components/homee/fan.pyi +38 -0
- homeassistant-stubs/components/homee/sensor.pyi +5 -1
- homeassistant-stubs/components/homekit/const.pyi +1 -0
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/homeworks/button.pyi +2 -3
- homeassistant-stubs/components/homeworks/light.pyi +2 -3
- homeassistant-stubs/components/http/decorators.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
- homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
- homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
- homeassistant-stubs/components/immich/__init__.pyi +10 -0
- homeassistant-stubs/components/immich/config_flow.pyi +27 -0
- homeassistant-stubs/components/immich/const.pyi +4 -0
- homeassistant-stubs/components/immich/coordinator.pyi +27 -0
- homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
- homeassistant-stubs/components/immich/entity.pyi +10 -0
- homeassistant-stubs/components/immich/media_source.pyi +37 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
- homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
- homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
- homeassistant-stubs/components/iqvia/entity.pyi +5 -6
- homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/__init__.pyi +6 -7
- homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/button.pyi +2 -3
- homeassistant-stubs/components/isy994/climate.pyi +3 -4
- homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
- homeassistant-stubs/components/isy994/cover.pyi +3 -5
- homeassistant-stubs/components/isy994/fan.pyi +3 -5
- homeassistant-stubs/components/isy994/light.pyi +3 -4
- homeassistant-stubs/components/isy994/lock.pyi +2 -5
- homeassistant-stubs/components/isy994/models.pyi +2 -0
- homeassistant-stubs/components/isy994/number.pyi +3 -4
- homeassistant-stubs/components/isy994/select.pyi +3 -4
- homeassistant-stubs/components/isy994/sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/services.pyi +1 -1
- homeassistant-stubs/components/isy994/switch.pyi +2 -4
- homeassistant-stubs/components/isy994/system_health.pyi +1 -3
- homeassistant-stubs/components/isy994/util.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
- homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
- homeassistant-stubs/components/knx/const.pyi +7 -0
- homeassistant-stubs/components/knx/cover.pyi +20 -9
- homeassistant-stubs/components/knx/schema.pyi +1 -6
- homeassistant-stubs/components/knx/storage/const.pyi +6 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
- homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
- homeassistant-stubs/components/lcn/const.pyi +3 -1
- homeassistant-stubs/components/lcn/cover.pyi +7 -2
- homeassistant-stubs/components/lcn/entity.pyi +1 -0
- homeassistant-stubs/components/lcn/helpers.pyi +0 -1
- homeassistant-stubs/components/lcn/schemas.pyi +1 -1
- homeassistant-stubs/components/lcn/services.pyi +2 -3
- homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +2 -0
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/media_player/intent.pyi +11 -1
- homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
- homeassistant-stubs/components/metoffice/const.pyi +7 -6
- homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
- homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
- homeassistant-stubs/components/metoffice/weather.pyi +23 -11
- homeassistant-stubs/components/miele/__init__.pyi +15 -0
- homeassistant-stubs/components/miele/api.pyi +9 -0
- homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
- homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
- homeassistant-stubs/components/miele/button.pyi +32 -0
- homeassistant-stubs/components/miele/climate.pyi +55 -0
- homeassistant-stubs/components/miele/config_flow.pyi +17 -0
- homeassistant-stubs/components/miele/const.pyi +127 -0
- homeassistant-stubs/components/miele/coordinator.pyi +29 -0
- homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
- homeassistant-stubs/components/miele/entity.pyi +24 -0
- homeassistant-stubs/components/miele/fan.pyi +39 -0
- homeassistant-stubs/components/miele/light.pyi +39 -0
- homeassistant-stubs/components/miele/sensor.pyi +72 -0
- homeassistant-stubs/components/miele/switch.pyi +52 -0
- homeassistant-stubs/components/miele/vacuum.pyi +84 -0
- homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/const.pyi +9 -0
- homeassistant-stubs/components/modbus/light.pyi +24 -1
- homeassistant-stubs/components/modbus/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/button.pyi +1 -3
- homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
- homeassistant-stubs/components/mqtt/const.pyi +57 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -25
- homeassistant-stubs/components/mqtt/fan.pyi +1 -31
- homeassistant-stubs/components/mqtt/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/nest/config_flow.pyi +2 -0
- homeassistant-stubs/components/number/const.pyi +3 -2
- homeassistant-stubs/components/nut/__init__.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
- homeassistant-stubs/components/pandora/media_player.pyi +12 -13
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
- homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
- homeassistant-stubs/components/qbus/climate.pyi +1 -0
- homeassistant-stubs/components/qbus/entity.pyi +3 -3
- homeassistant-stubs/components/qbus/light.pyi +1 -0
- homeassistant-stubs/components/qbus/scene.pyi +21 -0
- homeassistant-stubs/components/qbus/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/services.pyi +7 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/media_source.pyi +2 -1
- homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
- homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
- homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
- homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
- homeassistant-stubs/components/sensor/__init__.pyi +1 -0
- homeassistant-stubs/components/sensor/const.pyi +5 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/shelly/button.pyi +5 -4
- homeassistant-stubs/components/shelly/climate.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/cover.pyi +2 -0
- homeassistant-stubs/components/shelly/entity.pyi +4 -2
- homeassistant-stubs/components/shelly/event.pyi +4 -2
- homeassistant-stubs/components/shelly/light.pyi +2 -0
- homeassistant-stubs/components/shelly/number.pyi +3 -2
- homeassistant-stubs/components/shelly/select.pyi +2 -0
- homeassistant-stubs/components/shelly/sensor.pyi +9 -2
- homeassistant-stubs/components/shelly/switch.pyi +2 -2
- homeassistant-stubs/components/shelly/text.pyi +2 -0
- homeassistant-stubs/components/shelly/update.pyi +1 -0
- homeassistant-stubs/components/shelly/utils.pyi +12 -7
- homeassistant-stubs/components/shelly/valve.pyi +2 -0
- homeassistant-stubs/components/smlight/button.pyi +3 -2
- homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
- homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/squeezebox/button.pyi +3 -0
- homeassistant-stubs/components/squeezebox/const.pyi +12 -2
- homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
- homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
- homeassistant-stubs/components/squeezebox/update.pyi +50 -0
- homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
- homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -0
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -1
- homeassistant-stubs/components/tts/__init__.pyi +4 -1
- homeassistant-stubs/components/tts/const.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +4 -0
- homeassistant-stubs/components/tts/legacy.pyi +3 -1
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
- homeassistant-stubs/components/wallbox/const.pyi +10 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
- homeassistant-stubs/components/wallbox/select.pyi +29 -0
- homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
- homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
- homeassistant-stubs/components/wemo/light.pyi +1 -0
- homeassistant-stubs/components/whois/const.pyi +1 -0
- homeassistant-stubs/components/whois/sensor.pyi +2 -1
- homeassistant-stubs/components/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -1
- homeassistant-stubs/config_entries.pyi +0 -1
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core_config.pyi +0 -2
- homeassistant-stubs/helpers/condition.pyi +1 -6
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
- homeassistant-stubs/helpers/config_validation.pyi +7 -2
- homeassistant-stubs/helpers/device_registry.pyi +4 -4
- homeassistant-stubs/helpers/entity_component.pyi +5 -2
- homeassistant-stubs/helpers/entity_platform.pyi +4 -1
- homeassistant-stubs/helpers/entity_registry.pyi +7 -6
- homeassistant-stubs/helpers/selector.pyi +55 -50
- homeassistant-stubs/helpers/service.pyi +3 -3
- homeassistant-stubs/helpers/template.pyi +4 -1
- homeassistant-stubs/util/aiohttp.pyi +5 -0
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +388 -331
- homeassistant-stubs/components/metoffice/data.pyi +0 -10
- homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -8,7 +8,7 @@ from homeassistant.components.websocket_api import messages as messages
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
10
|
from homeassistant.helpers.json import json_bytes as json_bytes
|
11
|
-
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
11
|
+
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
12
12
|
from typing import Any, Literal
|
13
13
|
|
14
14
|
CLEAR_STATISTICS_TIME_OUT: int
|
@@ -9,6 +9,7 @@ from homeassistant.components.stream import create_stream as create_stream
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
|
11
11
|
_LOGGER: Incomplete
|
12
|
+
VOD_SPLIT_TIME: Incomplete
|
12
13
|
|
13
14
|
async def async_get_media_source(hass: HomeAssistant) -> ReolinkVODMediaSource: ...
|
14
15
|
def res_name(stream: str) -> str: ...
|
@@ -22,4 +23,4 @@ class ReolinkVODMediaSource(MediaSource):
|
|
22
23
|
async def _async_generate_root(self) -> BrowseMediaSource: ...
|
23
24
|
async def _async_generate_resolution_select(self, config_entry_id: str, channel: int) -> BrowseMediaSource: ...
|
24
25
|
async def _async_generate_camera_days(self, config_entry_id: str, channel: int, stream: str) -> BrowseMediaSource: ...
|
25
|
-
async def _async_generate_camera_files(self, config_entry_id: str, channel: int, stream: str, year: int, month: int, day: int) -> BrowseMediaSource: ...
|
26
|
+
async def _async_generate_camera_files(self, config_entry_id: str, channel: int, stream: str, year: int, month: int, day: int, event: str | None = None) -> BrowseMediaSource: ...
|
@@ -6,7 +6,6 @@ from homeassistant.components import websocket_api as websocket_api
|
|
6
6
|
from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
|
7
7
|
from homeassistant.components.http.decorators import require_admin as require_admin
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import Unauthorized as Unauthorized
|
10
9
|
from homeassistant.helpers.data_entry_flow import FlowManagerIndexView as FlowManagerIndexView, FlowManagerResourceView as FlowManagerResourceView
|
11
10
|
from typing import Any
|
12
11
|
|
@@ -1,19 +1,19 @@
|
|
1
|
-
from .bridge import SamsungTVBridge as SamsungTVBridge,
|
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,
|
1
|
+
from .bridge import SamsungTVBridge as SamsungTVBridge, 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, DOMAIN as DOMAIN, ENTRY_RELOAD_COOLDOWN as ENTRY_RELOAD_COOLDOWN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, 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
|
-
from collections.abc import Coroutine
|
5
|
+
from collections.abc import Coroutine, Mapping
|
6
6
|
from homeassistant.components import ssdp as ssdp
|
7
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
|
8
8
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
9
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
10
10
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
11
11
|
from typing import Any
|
12
12
|
|
13
13
|
PLATFORMS: Incomplete
|
14
14
|
|
15
15
|
@callback
|
16
|
-
def _async_get_device_bridge(hass: HomeAssistant, data:
|
16
|
+
def _async_get_device_bridge(hass: HomeAssistant, data: Mapping[str, Any]) -> SamsungTVBridge: ...
|
17
17
|
|
18
18
|
class DebouncedEntryReloader:
|
19
19
|
hass: Incomplete
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import abc
|
2
|
-
from .const import CONF_SESSION_ID as CONF_SESSION_ID, ENCRYPTED_WEBSOCKET_PORT as ENCRYPTED_WEBSOCKET_PORT, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, METHOD_WEBSOCKET as METHOD_WEBSOCKET, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, TIMEOUT_REQUEST as TIMEOUT_REQUEST, TIMEOUT_WEBSOCKET as TIMEOUT_WEBSOCKET, VALUE_CONF_ID as VALUE_CONF_ID, VALUE_CONF_NAME as VALUE_CONF_NAME, WEBSOCKET_PORTS as WEBSOCKET_PORTS
|
2
|
+
from .const import CONF_SESSION_ID as CONF_SESSION_ID, DOMAIN as DOMAIN, ENCRYPTED_WEBSOCKET_PORT as ENCRYPTED_WEBSOCKET_PORT, LEGACY_PORT as LEGACY_PORT, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, METHOD_WEBSOCKET as METHOD_WEBSOCKET, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, TIMEOUT_REQUEST as TIMEOUT_REQUEST, TIMEOUT_WEBSOCKET as TIMEOUT_WEBSOCKET, VALUE_CONF_ID as VALUE_CONF_ID, VALUE_CONF_NAME as VALUE_CONF_NAME, WEBSOCKET_PORTS as WEBSOCKET_PORTS
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from abc import ABC, abstractmethod
|
5
5
|
from collections.abc import Callable as Callable, Mapping
|
6
6
|
from datetime import datetime
|
7
7
|
from homeassistant.const import CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_METHOD as CONF_METHOD, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TOKEN as CONF_TOKEN
|
8
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
10
|
from homeassistant.helpers import entity_component as entity_component
|
10
11
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
11
12
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
@@ -1,9 +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
|
2
|
-
from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, 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, DEFAULT_MANUFACTURER as DEFAULT_MANUFACTURER, DOMAIN as DOMAIN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_INVALID_PIN as RESULT_INVALID_PIN, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS,
|
2
|
+
from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, 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, DEFAULT_MANUFACTURER as DEFAULT_MANUFACTURER, DOMAIN as DOMAIN, LOGGER as LOGGER, METHOD_ENCRYPTED_WEBSOCKET as METHOD_ENCRYPTED_WEBSOCKET, METHOD_LEGACY as METHOD_LEGACY, RESULT_AUTH_MISSING as RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT as RESULT_CANNOT_CONNECT, RESULT_INVALID_PIN as RESULT_INVALID_PIN, RESULT_NOT_SUPPORTED as RESULT_NOT_SUPPORTED, RESULT_SUCCESS as RESULT_SUCCESS, SUCCESSFUL_RESULTS as SUCCESSFUL_RESULTS, UPNP_SVC_MAIN_TV_AGENT as UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_RENDERING_CONTROL as UPNP_SVC_RENDERING_CONTROL
|
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,
|
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_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
|
@@ -24,6 +24,7 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
24
24
|
VERSION: int
|
25
25
|
MINOR_VERSION: int
|
26
26
|
_host: str
|
27
|
+
_bridge: SamsungTVBridge
|
27
28
|
_mac: str | None
|
28
29
|
_udn: str | None
|
29
30
|
_upnp_udn: str | None
|
@@ -36,7 +37,6 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
36
37
|
_name: str | None
|
37
38
|
_title: str
|
38
39
|
_id: int | None
|
39
|
-
_bridge: SamsungTVBridge | None
|
40
40
|
_device_info: dict[str, Any] | None
|
41
41
|
_authenticator: SamsungTVEncryptedWSAsyncAuthenticator | None
|
42
42
|
def __init__(self) -> None: ...
|
@@ -48,7 +48,7 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
48
48
|
async def _async_create_bridge(self) -> None: ...
|
49
49
|
async def _async_get_device_info_and_method(self) -> tuple[str, str | None, dict[str, Any] | None]: ...
|
50
50
|
async def _async_get_and_check_device_info(self) -> bool: ...
|
51
|
-
async def _async_set_name_host_from_input(self, user_input: dict[str, Any]) ->
|
51
|
+
async def _async_set_name_host_from_input(self, user_input: dict[str, Any]) -> bool: ...
|
52
52
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
53
53
|
async def async_step_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
54
54
|
async def async_step_encrypted_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -2,7 +2,7 @@ from .const import CONF_MANUFACTURER as CONF_MANUFACTURER, DOMAIN as DOMAIN, LOG
|
|
2
2
|
from .coordinator import SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
|
3
3
|
from .triggers.turn_on import async_get_turn_on_trigger as async_get_turn_on_trigger
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL
|
5
|
+
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
7
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
8
8
|
from homeassistant.helpers.entity import Entity as Entity
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import asyncio
|
2
2
|
from .bridge import SamsungTVWSBridge as SamsungTVWSBridge
|
3
|
-
from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, LOGGER as LOGGER
|
3
|
+
from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION as CONF_SSDP_RENDERING_CONTROL_LOCATION, DOMAIN as DOMAIN, LOGGER as LOGGER
|
4
4
|
from .coordinator import SamsungTVConfigEntry as SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator as SamsungTVDataUpdateCoordinator
|
5
5
|
from .entity import SamsungTVEntity as SamsungTVEntity
|
6
6
|
from _typeshed import Incomplete
|
@@ -10,6 +10,7 @@ from async_upnp_client.profiles.dlna import DmrDevice
|
|
10
10
|
from collections.abc import Sequence
|
11
11
|
from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
12
12
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
13
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
14
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
14
15
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
15
16
|
from homeassistant.util.async_ import create_eager_task as create_eager_task
|
@@ -91,6 +91,7 @@ class SensorEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
91
91
|
@override
|
92
92
|
def state(self) -> Any: ...
|
93
93
|
def _display_precision_or_none(self) -> int | None: ...
|
94
|
+
def _get_adjusted_display_precision(self) -> int | None: ...
|
94
95
|
def _update_suggested_precision(self) -> None: ...
|
95
96
|
def _custom_unit_or_undef(self, primary_key: str, secondary_key: str) -> str | None | UndefinedType: ...
|
96
97
|
@callback
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from enum import StrEnum
|
3
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
4
|
-
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
3
|
+
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
4
|
+
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
5
5
|
from typing import Final
|
6
6
|
|
7
7
|
DOMAIN: Final[str]
|
@@ -51,6 +51,7 @@ class SensorDeviceClass(StrEnum):
|
|
51
51
|
PRECIPITATION = 'precipitation'
|
52
52
|
PRECIPITATION_INTENSITY = 'precipitation_intensity'
|
53
53
|
PRESSURE = 'pressure'
|
54
|
+
REACTIVE_ENERGY = 'reactive_energy'
|
54
55
|
REACTIVE_POWER = 'reactive_power'
|
55
56
|
SIGNAL_STRENGTH = 'signal_strength'
|
56
57
|
SOUND_PRESSURE = 'sound_pressure'
|
@@ -82,5 +83,7 @@ STATE_CLASSES_SCHEMA: Final[Incomplete]
|
|
82
83
|
STATE_CLASSES: Final[list[str]]
|
83
84
|
UNIT_CONVERTERS: dict[SensorDeviceClass | str | None, type[BaseUnitConverter]]
|
84
85
|
DEVICE_CLASS_UNITS: dict[SensorDeviceClass, set[type[StrEnum] | str | None]]
|
86
|
+
DEFAULT_PRECISION_LIMIT: int
|
87
|
+
UNITS_PRECISION: Incomplete
|
85
88
|
DEVICE_CLASS_STATE_CLASSES: dict[SensorDeviceClass, set[SensorStateClass]]
|
86
89
|
STATE_CLASS_UNITS: dict[SensorStateClass | str, set[type[StrEnum] | str | None]]
|
@@ -1,17 +1,18 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD
|
2
2
|
from .coordinator import ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
|
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, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_virtual_component_ids as get_virtual_component_ids, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
8
8
|
from homeassistant.const import EntityCategory as EntityCategory, STATE_ON as STATE_ON
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
|
11
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
11
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
13
12
|
from typing import Final
|
14
13
|
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
15
16
|
@dataclass(frozen=True, kw_only=True)
|
16
17
|
class BlockBinarySensorDescription(BlockEntityDescription, BinarySensorEntityDescription): ...
|
17
18
|
@dataclass(frozen=True, kw_only=True)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SHELLY_GAS_MODELS as SHELLY_GAS_MODELS
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
|
-
from .utils import get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids
|
3
|
+
from .utils import get_block_device_info as get_block_device_info, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_key_ids as get_rpc_key_ids
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
6
6
|
from dataclasses import dataclass
|
@@ -9,12 +9,14 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
11
|
from homeassistant.helpers import entity_registry as er
|
12
|
-
from homeassistant.helpers.device_registry import
|
12
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
13
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
14
14
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
15
15
|
from homeassistant.util import slugify as slugify
|
16
16
|
from typing import Any, Final
|
17
17
|
|
18
|
+
PARALLEL_UPDATES: int
|
19
|
+
|
18
20
|
@dataclass(frozen=True, kw_only=True)
|
19
21
|
class ShellyButtonDescription[_ShellyCoordinatorT: ShellyBlockCoordinator | ShellyRpcCoordinator](ButtonEntityDescription):
|
20
22
|
press_action: str
|
@@ -28,20 +30,19 @@ def async_migrate_unique_ids(coordinator: ShellyRpcCoordinator | ShellyBlockCoor
|
|
28
30
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
29
31
|
|
30
32
|
class ShellyBaseButton(CoordinatorEntity[ShellyRpcCoordinator | ShellyBlockCoordinator], ButtonEntity):
|
33
|
+
_attr_has_entity_name: bool
|
31
34
|
entity_description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]
|
32
35
|
def __init__(self, coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]) -> None: ...
|
33
36
|
async def async_press(self) -> None: ...
|
34
37
|
async def _press_method(self) -> None: ...
|
35
38
|
|
36
39
|
class ShellyButton(ShellyBaseButton):
|
37
|
-
_attr_name: Incomplete
|
38
40
|
_attr_unique_id: Incomplete
|
39
41
|
_attr_device_info: Incomplete
|
40
42
|
def __init__(self, coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, description: ShellyButtonDescription[ShellyRpcCoordinator | ShellyBlockCoordinator]) -> None: ...
|
41
43
|
async def _press_method(self) -> None: ...
|
42
44
|
|
43
45
|
class ShellyBluTrvButton(ShellyBaseButton):
|
44
|
-
_attr_name: Incomplete
|
45
46
|
_attr_unique_id: Incomplete
|
46
47
|
_attr_device_info: Incomplete
|
47
48
|
_id: Incomplete
|
@@ -1,7 +1,7 @@
|
|
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
3
|
from .entity import ShellyRpcEntity as ShellyRpcEntity, rpc_call as rpc_call
|
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
|
4
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_blu_trv_device_info as get_blu_trv_device_info, 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
|
7
7
|
from collections.abc import Mapping
|
@@ -10,7 +10,6 @@ from homeassistant.components.climate import ClimateEntity as ClimateEntity, Cli
|
|
10
10
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
14
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
15
14
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
16
15
|
from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData, RestoreEntity as RestoreEntity
|
@@ -19,6 +18,8 @@ from homeassistant.util.unit_conversion import TemperatureConverter as Temperatu
|
|
19
18
|
from homeassistant.util.unit_system import US_CUSTOMARY_SYSTEM as US_CUSTOMARY_SYSTEM
|
20
19
|
from typing import Any
|
21
20
|
|
21
|
+
PARALLEL_UPDATES: int
|
22
|
+
|
22
23
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
24
|
@callback
|
24
25
|
def async_setup_climate_entities(async_add_entities: AddConfigEntryEntitiesCallback, coordinator: ShellyBlockCoordinator) -> None: ...
|
@@ -39,6 +40,7 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
|
|
39
40
|
_attr_supported_features: Incomplete
|
40
41
|
_attr_target_temperature_step: Incomplete
|
41
42
|
_attr_temperature_unit: Incomplete
|
43
|
+
_attr_has_entity_name: bool
|
42
44
|
block: Block | None
|
43
45
|
control_result: dict[str, Any] | None
|
44
46
|
device_block: Block | None
|
@@ -46,9 +48,9 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
|
|
46
48
|
last_state_attributes: Mapping[str, Any]
|
47
49
|
_preset_modes: list[str]
|
48
50
|
_last_target_temp: Incomplete
|
49
|
-
_attr_name: Incomplete
|
50
51
|
_unique_id: Incomplete
|
51
52
|
_attr_device_info: Incomplete
|
53
|
+
_attr_name: Incomplete
|
52
54
|
_channel: Incomplete
|
53
55
|
def __init__(self, coordinator: ShellyBlockCoordinator, sensor_block: Block | None, device_block: Block | None, entry: RegistryEntry | None = None) -> None: ...
|
54
56
|
@property
|
@@ -110,12 +112,10 @@ class RpcBluTrvClimate(ShellyRpcEntity, ClimateEntity):
|
|
110
112
|
_attr_hvac_mode: Incomplete
|
111
113
|
_attr_target_temperature_step: Incomplete
|
112
114
|
_attr_temperature_unit: Incomplete
|
113
|
-
_attr_has_entity_name: bool
|
114
115
|
_id: Incomplete
|
115
116
|
_config: Incomplete
|
116
117
|
_attr_unique_id: Incomplete
|
117
118
|
_attr_device_info: Incomplete
|
118
|
-
_attr_name: Incomplete
|
119
119
|
def __init__(self, coordinator: ShellyRpcCoordinator, id_: int) -> None: ...
|
120
120
|
@property
|
121
121
|
def target_temperature(self) -> float | None: ...
|
@@ -77,9 +77,11 @@ GEN2_RELEASE_URL: str
|
|
77
77
|
GEN2_BETA_RELEASE_URL: Incomplete
|
78
78
|
DEVICES_WITHOUT_FIRMWARE_CHANGELOG: Incomplete
|
79
79
|
CONF_GEN: str
|
80
|
+
VIRTUAL_COMPONENTS: Incomplete
|
80
81
|
VIRTUAL_COMPONENTS_MAP: Incomplete
|
81
82
|
VIRTUAL_NUMBER_MODE_MAP: Incomplete
|
82
83
|
API_WS_URL: str
|
83
84
|
COMPONENT_ID_PATTERN: Incomplete
|
84
85
|
ROLE_TO_DEVICE_CLASS_MAP: Incomplete
|
85
86
|
MAX_SCRIPT_SIZE: int
|
87
|
+
All_LIGHT_TYPES: Incomplete
|
@@ -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, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
12
14
|
@callback
|
13
15
|
def async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
@@ -1,13 +1,12 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
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
|
3
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_rpc_device_info as get_rpc_device_info, 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
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
|
10
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
11
10
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
12
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
12
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
@@ -60,6 +59,7 @@ class RestEntityDescription(EntityDescription):
|
|
60
59
|
def rpc_call[_T: ShellyRpcEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
61
60
|
|
62
61
|
class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
62
|
+
_attr_has_entity_name: bool
|
63
63
|
block: Incomplete
|
64
64
|
_attr_name: Incomplete
|
65
65
|
_attr_device_info: Incomplete
|
@@ -71,6 +71,7 @@ class ShellyBlockEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
|
71
71
|
async def set_state(self, **kwargs: Any) -> Any: ...
|
72
72
|
|
73
73
|
class ShellyRpcEntity(CoordinatorEntity[ShellyRpcCoordinator]):
|
74
|
+
_attr_has_entity_name: bool
|
74
75
|
key: Incomplete
|
75
76
|
_attr_device_info: Incomplete
|
76
77
|
_attr_unique_id: Incomplete
|
@@ -100,6 +101,7 @@ class ShellyBlockAttributeEntity(ShellyBlockEntity, Entity):
|
|
100
101
|
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
101
102
|
|
102
103
|
class ShellyRestAttributeEntity(CoordinatorEntity[ShellyBlockCoordinator]):
|
104
|
+
_attr_has_entity_name: bool
|
103
105
|
entity_description: RestEntityDescription
|
104
106
|
block_coordinator: Incomplete
|
105
107
|
attribute: Incomplete
|
@@ -1,18 +1,19 @@
|
|
1
1
|
from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import ShellyBlockEntity as ShellyBlockEntity
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from collections.abc import Callable as Callable
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
12
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
13
12
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
14
13
|
from typing import Any, Final
|
15
14
|
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
|
16
17
|
@dataclass(frozen=True, kw_only=True)
|
17
18
|
class ShellyBlockEventDescription(EventEntityDescription):
|
18
19
|
removal_condition: Callable[[dict, Block], bool] | None = ...
|
@@ -38,6 +39,7 @@ class ShellyBlockEvent(ShellyBlockEntity, EventEntity):
|
|
38
39
|
def _async_handle_event(self, event: dict[str, Any]) -> None: ...
|
39
40
|
|
40
41
|
class ShellyRpcEvent(CoordinatorEntity[ShellyRpcCoordinator], EventEntity):
|
42
|
+
_attr_has_entity_name: bool
|
41
43
|
entity_description: ShellyRpcEventDescription
|
42
44
|
event_id: Incomplete
|
43
45
|
_attr_device_info: Incomplete
|
@@ -9,6 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
10
|
from typing import Any
|
11
11
|
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
13
15
|
@callback
|
14
16
|
def async_setup_block_entry(hass: HomeAssistant, config_entry: ShellyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
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
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
|
-
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
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, 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
|
7
7
|
from collections.abc import Callable as Callable
|
@@ -10,11 +10,12 @@ from homeassistant.components.number import NumberEntity as NumberEntity, Number
|
|
10
10
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
|
14
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
15
14
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
16
15
|
from typing import Any, Final
|
17
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
18
|
+
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
|
20
21
|
rest_path: str = ...
|
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Final
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class RpcSelectDescription(RpcEntityDescription, SelectEntityDescription): ...
|
13
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, ROLE_TO_DEVICE_CLASS_MAP as ROLE_TO_DEVICE_CLASS_MAP
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
3
3
|
from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_rpc_device_info as get_rpc_device_info, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from collections.abc import Callable as Callable
|
@@ -9,18 +9,20 @@ from dataclasses import dataclass
|
|
9
9
|
from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
|
10
10
|
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
|
13
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
14
13
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
15
14
|
from homeassistant.helpers.typing import StateType as StateType
|
16
15
|
from typing import Final
|
17
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
18
|
+
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class BlockSensorDescription(BlockEntityDescription, SensorEntityDescription): ...
|
20
21
|
|
21
22
|
@dataclass(frozen=True, kw_only=True)
|
22
23
|
class RpcSensorDescription(RpcEntityDescription, SensorEntityDescription):
|
23
24
|
device_class_fn: Callable[[dict], SensorDeviceClass | None] | None = ...
|
25
|
+
emeter_phase: str | None = ...
|
24
26
|
|
25
27
|
@dataclass(frozen=True, kw_only=True)
|
26
28
|
class RestSensorDescription(RestEntityDescription, SensorEntityDescription): ...
|
@@ -33,6 +35,11 @@ class RpcSensor(ShellyRpcAttributeEntity, SensorEntity):
|
|
33
35
|
@property
|
34
36
|
def native_value(self) -> StateType: ...
|
35
37
|
|
38
|
+
class RpcEmeterPhaseSensor(RpcSensor):
|
39
|
+
entity_description: RpcSensorDescription
|
40
|
+
_attr_device_info: Incomplete
|
41
|
+
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
|
42
|
+
|
36
43
|
class RpcBluTrvSensor(RpcSensor):
|
37
44
|
_attr_device_info: Incomplete
|
38
45
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcSensorDescription) -> None: ...
|
@@ -13,6 +13,8 @@ from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
|
13
13
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
14
14
|
from typing import Any
|
15
15
|
|
16
|
+
PARALLEL_UPDATES: int
|
17
|
+
|
16
18
|
@dataclass(frozen=True, kw_only=True)
|
17
19
|
class BlockSwitchDescription(BlockEntityDescription, SwitchEntityDescription): ...
|
18
20
|
|
@@ -60,13 +62,11 @@ class BlockRelaySwitch(ShellyBlockAttributeEntity, SwitchEntity):
|
|
60
62
|
|
61
63
|
class RpcSwitch(ShellyRpcAttributeEntity, SwitchEntity):
|
62
64
|
entity_description: RpcSwitchDescription
|
63
|
-
_attr_has_entity_name: bool
|
64
65
|
@property
|
65
66
|
def is_on(self) -> bool: ...
|
66
67
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
67
68
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
68
69
|
|
69
70
|
class RpcRelaySwitch(RpcSwitch):
|
70
|
-
_attr_has_entity_name: bool
|
71
71
|
_attr_unique_id: str
|
72
72
|
def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcEntityDescription) -> None: ...
|
@@ -8,6 +8,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
9
|
from typing import Final
|
10
10
|
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
11
13
|
@dataclass(frozen=True, kw_only=True)
|
12
14
|
class RpcTextDescription(RpcEntityDescription, TextEntityDescription): ...
|
13
15
|
|
@@ -14,6 +14,7 @@ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
|
14
14
|
from typing import Any, Final
|
15
15
|
|
16
16
|
LOGGER: Incomplete
|
17
|
+
PARALLEL_UPDATES: int
|
17
18
|
|
18
19
|
@dataclass(frozen=True, kw_only=True)
|
19
20
|
class RpcUpdateDescription(RpcEntityDescription, UpdateEntityDescription):
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import API_WS_URL as API_WS_URL, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
|
1
|
+
from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
|
2
2
|
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
|
@@ -11,7 +11,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
11
11
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
12
12
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
13
13
|
from homeassistant.helpers import singleton as singleton
|
14
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
14
|
+
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
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
17
|
from typing import Any
|
@@ -19,8 +19,9 @@ from typing import Any
|
|
19
19
|
@callback
|
20
20
|
def async_remove_shelly_entity(hass: HomeAssistant, domain: str, unique_id: str) -> None: ...
|
21
21
|
def get_number_of_channels(device: BlockDevice, block: Block) -> int: ...
|
22
|
-
def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str: ...
|
23
|
-
def get_block_channel_name(device: BlockDevice, block: Block | None) -> str: ...
|
22
|
+
def get_block_entity_name(device: BlockDevice, block: Block | None, description: str | None = None) -> str | None: ...
|
23
|
+
def get_block_channel_name(device: BlockDevice, block: Block | None) -> str | None: ...
|
24
|
+
def get_block_sub_device_name(device: BlockDevice, block: Block) -> str: ...
|
24
25
|
def is_block_momentary_input(settings: dict[str, Any], block: Block, include_detached: bool = False) -> bool: ...
|
25
26
|
def is_block_exclude_from_relay(settings: dict[str, Any], block: Block) -> bool: ...
|
26
27
|
def get_device_uptime(uptime: float, last_uptime: datetime | None) -> datetime: ...
|
@@ -43,10 +44,11 @@ def get_info_auth(info: dict[str, Any]) -> bool: ...
|
|
43
44
|
def get_info_gen(info: dict[str, Any]) -> int: ...
|
44
45
|
def get_model_name(info: dict[str, Any]) -> str: ...
|
45
46
|
def get_shelly_model_name(model: str, sleep_period: int, device: BlockDevice | RpcDevice) -> str | None: ...
|
46
|
-
def get_rpc_channel_name(device: RpcDevice, key: str) -> str: ...
|
47
|
-
def
|
47
|
+
def get_rpc_channel_name(device: RpcDevice, key: str) -> str | None: ...
|
48
|
+
def get_rpc_sub_device_name(device: RpcDevice, key: str, emeter_phase: str | None = None) -> str: ...
|
49
|
+
def get_rpc_entity_name(device: RpcDevice, key: str, description: str | None = None) -> str | None: ...
|
48
50
|
def get_device_entry_gen(entry: ConfigEntry) -> int: ...
|
49
|
-
def get_rpc_key_instances(keys_dict: dict[str, Any], key: str) -> list[str]: ...
|
51
|
+
def get_rpc_key_instances(keys_dict: dict[str, Any], key: str, all_lights: bool = False) -> list[str]: ...
|
50
52
|
def get_rpc_key_ids(keys_dict: dict[str, Any], key: str) -> list[int]: ...
|
51
53
|
def is_rpc_momentary_input(config: dict[str, Any], status: dict[str, Any], key: str) -> bool: ...
|
52
54
|
def is_block_channel_type_light(settings: dict[str, Any], channel: int) -> bool: ...
|
@@ -75,3 +77,6 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
|
|
75
77
|
def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
|
76
78
|
def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
|
77
79
|
async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
|
80
|
+
def get_rpc_device_info(device: RpcDevice, mac: str, key: str | None = None, emeter_phase: str | None = None) -> DeviceInfo: ...
|
81
|
+
def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
|
82
|
+
def get_block_device_info(device: BlockDevice, mac: str, block: Block | None = None) -> DeviceInfo: ...
|