diff --git a/zigpy_zigate/zigbee/application.py b/zigpy_zigate/zigbee/application.py index a6a919b..9bbf6ee 100644 --- a/zigpy_zigate/zigbee/application.py +++ b/zigpy_zigate/zigbee/application.py @@ -41,10 +41,16 @@ async def _watchdog_feed(self): async def connect(self): api = await ZiGate.new(self._config[zigpy.config.CONF_DEVICE], self) - await api.set_raw_mode() - await api.set_time() - (_, version), lqi = await api.version() + try: + await api.set_raw_mode() + await api.set_time() + + (_, version), lqi = await api.version() + except Exception: + await api.disconnect() + raise + major, minor = version.to_bytes(2, "big") self.version = f"{major:x}.{minor:x}"