Fix Shelly device shutdown (#120881)

This commit is contained in:
Shay Levy 2024-07-01 20:06:56 +03:00 committed by GitHub
parent 1209abc944
commit b5367e5994
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 21 additions and 10 deletions

View file

@ -174,10 +174,13 @@ async def _async_setup_block_entry(
await device.initialize()
if not device.firmware_supported:
async_create_issue_unsupported_firmware(hass, entry)
await device.shutdown()
raise ConfigEntryNotReady
except (DeviceConnectionError, MacAddressMismatchError) as err:
await device.shutdown()
raise ConfigEntryNotReady(repr(err)) from err
except InvalidAuthError as err:
await device.shutdown()
raise ConfigEntryAuthFailed(repr(err)) from err
runtime_data.block = ShellyBlockCoordinator(hass, entry, device)
@ -247,10 +250,13 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ShellyConfigEntry)
await device.initialize()
if not device.firmware_supported:
async_create_issue_unsupported_firmware(hass, entry)
await device.shutdown()
raise ConfigEntryNotReady
except (DeviceConnectionError, MacAddressMismatchError) as err:
await device.shutdown()
raise ConfigEntryNotReady(repr(err)) from err
except InvalidAuthError as err:
await device.shutdown()
raise ConfigEntryAuthFailed(repr(err)) from err
runtime_data.rpc = ShellyRpcCoordinator(hass, entry, device)

View file

@ -102,10 +102,11 @@ async def validate_input(
ws_context,
options,
)
await rpc_device.initialize()
await rpc_device.shutdown()
sleep_period = get_rpc_device_wakeup_period(rpc_device.status)
try:
await rpc_device.initialize()
sleep_period = get_rpc_device_wakeup_period(rpc_device.status)
finally:
await rpc_device.shutdown()
return {
"title": rpc_device.name,
@ -121,11 +122,15 @@ async def validate_input(
coap_context,
options,
)
await block_device.initialize()
await block_device.shutdown()
try:
await block_device.initialize()
sleep_period = get_block_device_sleep_period(block_device.settings)
finally:
await block_device.shutdown()
return {
"title": block_device.name,
CONF_SLEEP_PERIOD: get_block_device_sleep_period(block_device.settings),
CONF_SLEEP_PERIOD: sleep_period,
"model": block_device.model,
CONF_GEN: gen,
}

View file

@ -9,7 +9,7 @@
"iot_class": "local_push",
"loggers": ["aioshelly"],
"quality_scale": "platinum",
"requirements": ["aioshelly==10.0.1"],
"requirements": ["aioshelly==11.0.0"],
"zeroconf": [
{
"type": "_http._tcp.local.",

View file

@ -362,7 +362,7 @@ aioruuvigateway==0.1.0
aiosenz==1.0.0
# homeassistant.components.shelly
aioshelly==10.0.1
aioshelly==11.0.0
# homeassistant.components.skybell
aioskybell==22.7.0

View file

@ -335,7 +335,7 @@ aioruuvigateway==0.1.0
aiosenz==1.0.0
# homeassistant.components.shelly
aioshelly==10.0.1
aioshelly==11.0.0
# homeassistant.components.skybell
aioskybell==22.7.0