Fix Shelly device shutdown (#120881)
This commit is contained in:
parent
1209abc944
commit
b5367e5994
5 changed files with 21 additions and 10 deletions
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -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.",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue