From e20935bfac23a845597e87a6508d452ad43ecd27 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Sat, 23 Mar 2024 20:26:55 -0400 Subject: [PATCH] Fix UI issue (#88) --- custom_components/lock_code_manager/__init__.py | 1 + .../lock_code_manager/providers/zwave_js.py | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/custom_components/lock_code_manager/__init__.py b/custom_components/lock_code_manager/__init__.py index 0113528f..d02b6e13 100644 --- a/custom_components/lock_code_manager/__init__.py +++ b/custom_components/lock_code_manager/__init__.py @@ -171,6 +171,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b f"Unable to start because lock {entity_id} can't be found" ) + hass.data.setdefault(DOMAIN, {CONF_LOCKS: {}, COORDINATORS: {}, "resources": False}) hass.data[DOMAIN][entry_id] = { CONF_LOCKS: {}, COORDINATORS: {}, diff --git a/custom_components/lock_code_manager/providers/zwave_js.py b/custom_components/lock_code_manager/providers/zwave_js.py index 6d7137ad..686253b2 100644 --- a/custom_components/lock_code_manager/providers/zwave_js.py +++ b/custom_components/lock_code_manager/providers/zwave_js.py @@ -6,7 +6,6 @@ import logging from typing import Callable, Iterable -from zwave_js_server.client import Client from zwave_js_server.const.command_class.lock import ATTR_CODE_SLOT, ATTR_USERCODE from zwave_js_server.const.command_class.notification import ( AccessControlNotificationEvent, @@ -144,9 +143,12 @@ async def async_unload(self) -> None: async def async_is_connection_up(self) -> bool: """Return whether connection to lock is up.""" - client: Client = self.hass.data[ZWAVE_JS_DOMAIN][ - self.lock_config_entry.entry_id - ][DATA_CLIENT] + if ( + client := self.hass.data.get(ZWAVE_JS_DOMAIN, {}) + .get(self.lock_config_entry.entry_id, {}) + .get(DATA_CLIENT) + ) is None: + return False return ( self.lock_config_entry.state == ConfigEntryState.LOADED and client.connected