From ed6540fbca0424c48c3025cd22a6deac7db285dc Mon Sep 17 00:00:00 2001 From: PengyuDeng <89559616+PengyuDeng@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:12:07 +0800 Subject: [PATCH] =?UTF-8?q?add(=E8=A7=84=E5=88=99=E5=BC=95=E6=93=8E-?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E8=81=94=E5=8A=A8):=20=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E8=81=94=E5=8A=A8=E5=A2=9E=E5=8A=A0=E8=AF=BB=E5=8F=96=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E5=90=8E=E5=9B=9E=E5=A4=8D=E8=A7=A6=E5=8F=91=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E8=81=94=E5=8A=A8=E7=9A=84=E6=8B=93=E5=B1=95=20(#533)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需要结合前端一起拓展,前端的实现基于属性上报,把属性上报reportProperty修改为eadPropertyReply即可。 --- .../community/rule/engine/scene/DeviceOperation.java | 4 ++++ .../rule/engine/scene/internal/triggers/DeviceTrigger.java | 5 +++++ 2 files changed, 9 insertions(+) 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; }