diff --git a/homeassistant/components/zha/core/channels/base.py b/homeassistant/components/zha/core/channels/base.py index 0570070785f..9f2fe4f21bd 100644 --- a/homeassistant/components/zha/core/channels/base.py +++ b/homeassistant/components/zha/core/channels/base.py @@ -200,6 +200,10 @@ class ZigbeeChannel(LogMixin): async def async_initialize(self, from_cache): """Initialize channel.""" + if not from_cache and self._ch_pool.skip_configuration: + self._status = ChannelStatus.INITIALIZED + return + self.debug("initializing channel: from_cache: %s", from_cache) attributes = [] for report_config in self._report_config: diff --git a/homeassistant/components/zha/core/channels/general.py b/homeassistant/components/zha/core/channels/general.py index 61d78097b47..4738047c8c6 100644 --- a/homeassistant/components/zha/core/channels/general.py +++ b/homeassistant/components/zha/core/channels/general.py @@ -89,11 +89,12 @@ class BasicChannel(ZigbeeChannel): async def async_initialize(self, from_cache): """Initialize channel.""" - power_source = await self.get_attribute_value( - "power_source", from_cache=from_cache - ) - if power_source is not None: - self._power_source = power_source + if not self._ch_pool.skip_configuration or from_cache: + power_source = await self.get_attribute_value( + "power_source", from_cache=from_cache + ) + if power_source is not None: + self._power_source = power_source await super().async_initialize(from_cache) def get_power_source(self): diff --git a/homeassistant/components/zha/core/device.py b/homeassistant/components/zha/core/device.py index 68fb7393cd5..2b4f8359e90 100644 --- a/homeassistant/components/zha/core/device.py +++ b/homeassistant/components/zha/core/device.py @@ -401,7 +401,7 @@ class ZHADevice(LogMixin): entry = self.gateway.zha_storage.async_create_or_update_device(self) self.debug("stored in registry: %s", entry) - if self._channels.identify_ch is not None: + if self._channels.identify_ch is not None and not self.skip_configuration: await self._channels.identify_ch.trigger_effect( EFFECT_OKAY, EFFECT_DEFAULT_VARIANT )