diff --git a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/DeviceOperation.java b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/DeviceOperation.java index e88e1aaf..ec6b8849 100644 --- a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/DeviceOperation.java +++ b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/DeviceOperation.java @@ -124,6 +124,7 @@ public class DeviceOperation { //属性相关 if (operator == Operator.readProperty || operator == Operator.reportProperty + || operator == Operator.readPropertyReply || operator == Operator.writeProperty) { terms.addAll( this.createTerm( @@ -252,6 +253,7 @@ public class DeviceOperation { case online: case offline: case reportProperty: + case readPropertyReply: return; case reportEvent: Assert.hasText(eventId, "error.scene_rule_trigger_device_operation_event_id_cannot_be_null"); @@ -281,6 +283,8 @@ public class DeviceOperation { reportProperty, //读取属性 readProperty, + //读取属性回复 + readPropertyReply, //修改属性 writeProperty, //调用功能 diff --git a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/internal/triggers/DeviceTrigger.java b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/internal/triggers/DeviceTrigger.java index 8dee22f1..dd99ecec 100644 --- a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/internal/triggers/DeviceTrigger.java +++ b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/internal/triggers/DeviceTrigger.java @@ -107,6 +107,7 @@ public class DeviceTrigger extends DeviceSelectorSpec implements SceneTriggerPro case writeProperty: selectColumns.add("this.success \"success\""); case reportProperty: + case readPropertyReply: selectColumns.add("this.properties \"properties\""); break; case reportEvent: @@ -185,6 +186,9 @@ public class DeviceTrigger extends DeviceSelectorSpec implements SceneTriggerPro case reportProperty: topic = "/device/" + productId + "/%s/message/property/report"; break; + case readPropertyReply: + topic = "/device/" + productId + "/%s/message/property/read/reply"; + break; case reportEvent: topic = "/device/" + productId + "/%s/message/event/" + operation.getEventId(); break; @@ -429,6 +433,7 @@ public class DeviceTrigger extends DeviceSelectorSpec implements SceneTriggerPro case offline: case reportEvent: case reportProperty: + case readPropertyReply: return; }