Refactor Shelly wrapper to coordinator (#79628)
This commit is contained in:
parent
4d3d22320f
commit
22c68b95bf
14 changed files with 336 additions and 321 deletions
|
@ -6,8 +6,8 @@ from homeassistant.config_entries import ConfigEntry
|
|||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from . import BlockDeviceWrapper, RpcDeviceWrapper
|
||||
from .const import BLOCK, DATA_CONFIG_ENTRY, DOMAIN, RPC
|
||||
from .coordinator import ShellyBlockCoordinator, ShellyRpcCoordinator
|
||||
|
||||
TO_REDACT = {CONF_USERNAME, CONF_PASSWORD}
|
||||
|
||||
|
@ -21,21 +21,21 @@ async def async_get_config_entry_diagnostics(
|
|||
device_settings: str | dict = "not initialized"
|
||||
device_status: str | dict = "not initialized"
|
||||
if BLOCK in data:
|
||||
block_wrapper: BlockDeviceWrapper = data[BLOCK]
|
||||
block_coordinator: ShellyBlockCoordinator = data[BLOCK]
|
||||
device_info = {
|
||||
"name": block_wrapper.name,
|
||||
"model": block_wrapper.model,
|
||||
"sw_version": block_wrapper.sw_version,
|
||||
"name": block_coordinator.name,
|
||||
"model": block_coordinator.model,
|
||||
"sw_version": block_coordinator.sw_version,
|
||||
}
|
||||
if block_wrapper.device.initialized:
|
||||
if block_coordinator.device.initialized:
|
||||
device_settings = {
|
||||
k: v
|
||||
for k, v in block_wrapper.device.settings.items()
|
||||
for k, v in block_coordinator.device.settings.items()
|
||||
if k in ["cloud", "coiot"]
|
||||
}
|
||||
device_status = {
|
||||
k: v
|
||||
for k, v in block_wrapper.device.status.items()
|
||||
for k, v in block_coordinator.device.status.items()
|
||||
if k
|
||||
in [
|
||||
"update",
|
||||
|
@ -51,19 +51,19 @@ async def async_get_config_entry_diagnostics(
|
|||
]
|
||||
}
|
||||
else:
|
||||
rpc_wrapper: RpcDeviceWrapper = data[RPC]
|
||||
rpc_coordinator: ShellyRpcCoordinator = data[RPC]
|
||||
device_info = {
|
||||
"name": rpc_wrapper.name,
|
||||
"model": rpc_wrapper.model,
|
||||
"sw_version": rpc_wrapper.sw_version,
|
||||
"name": rpc_coordinator.name,
|
||||
"model": rpc_coordinator.model,
|
||||
"sw_version": rpc_coordinator.sw_version,
|
||||
}
|
||||
if rpc_wrapper.device.initialized:
|
||||
if rpc_coordinator.device.initialized:
|
||||
device_settings = {
|
||||
k: v for k, v in rpc_wrapper.device.config.items() if k in ["cloud"]
|
||||
k: v for k, v in rpc_coordinator.device.config.items() if k in ["cloud"]
|
||||
}
|
||||
device_status = {
|
||||
k: v
|
||||
for k, v in rpc_wrapper.device.status.items()
|
||||
for k, v in rpc_coordinator.device.status.items()
|
||||
if k in ["sys", "wifi"]
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue