diff --git a/src/main/java/org/jetlinks/protocol/official/JetlinksTopicMessageCodec.java b/src/main/java/org/jetlinks/protocol/official/JetlinksTopicMessageCodec.java index 07cef14..c17e54d 100644 --- a/src/main/java/org/jetlinks/protocol/official/JetlinksTopicMessageCodec.java +++ b/src/main/java/org/jetlinks/protocol/official/JetlinksTopicMessageCodec.java @@ -179,14 +179,13 @@ class JetlinksTopicMessageCodec { message = object.toJavaObject(ReportFirmwareMessage.class); } else if (result.isUpgradeFirmwareProgress()) { message = object.toJavaObject(UpgradeFirmwareProgressMessage.class); + }else if (topic.endsWith("connected")) { + message = object.toJavaObject(DeviceOnlineMessage.class); + } else if (topic.endsWith("disconnect")) { + message = object.toJavaObject(DeviceOfflineMessage.class); } if (result.isChild()) { - if (topic.endsWith("connected")) { - message = object.toJavaObject(DeviceOnlineMessage.class); - } else if (topic.endsWith("disconnect")) { - message = object.toJavaObject(DeviceOfflineMessage.class); - } if (message == null) { throw new UnsupportedOperationException("unsupported topic:" + topic); }