Ignore Shelly block update with cfgChanged None (#113587)
This commit is contained in:
parent
a7fd1c278c
commit
d17e397455
2 changed files with 13 additions and 1 deletions
|
@ -217,7 +217,7 @@ class ShellyBlockCoordinator(ShellyCoordinatorBase[BlockDevice]):
|
|||
# Check for input events and config change
|
||||
cfg_changed = 0
|
||||
for block in self.device.blocks:
|
||||
if block.type == "device":
|
||||
if block.type == "device" and block.cfgChanged is not None:
|
||||
cfg_changed = block.cfgChanged
|
||||
|
||||
# Shelly TRV sends information about changing the configuration for no
|
||||
|
|
|
@ -68,6 +68,18 @@ async def test_block_reload_on_cfg_change(
|
|||
mock_block_device.mock_update()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# Make sure cfgChanged with None is ignored
|
||||
monkeypatch.setattr(mock_block_device.blocks[DEVICE_BLOCK_ID], "cfgChanged", None)
|
||||
mock_block_device.mock_update()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# Wait for debouncer
|
||||
freezer.tick(timedelta(seconds=ENTRY_RELOAD_COOLDOWN))
|
||||
async_fire_time_changed(hass)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert hass.states.get("switch.test_name_channel_1") is not None
|
||||
|
||||
# Generate config change from switch to light
|
||||
monkeypatch.setitem(
|
||||
mock_block_device.settings["relays"][RELAY_BLOCK_ID], "appliance_type", "light"
|
||||
|
|
Loading…
Add table
Reference in a new issue