From f9d01e2084e5b53840b09f557b4e2c700c790d80 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 24 六月 2020 10:51:23 +0800 Subject: [PATCH] 2020-06-24 1.增加干节点指令处理。 (干节点0 移动传感器1 煤气传感器10 烟雾传感器11 水浸25 门磁窗磁26 紧急按钮27) --- hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java index db59326..34d027c 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java @@ -34,6 +34,7 @@ import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.CommonSwitchStateBackEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.CurtainFeedBackEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.DeviceStateEvent; +import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.DryContactSensorBackEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.EventCode; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.FreshAirFeedBackEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.GeothermalFeedBackEvent; @@ -189,6 +190,11 @@ break; case Configuration.COMMON_SWITCH_STATE_BACK_COMMAND: handleCommonSwitchStateData(getDatas); + break; + /***2020-06-23 鏂板骞茶妭鐐规寚浠�**/ + case Configuration.DRY_CONTACT_STATE_BACK_COMMAND: + case Configuration.DRY_CONTACT_BROADCAST_STATE_COMMAND: + handleDryContactBroadcastStateData(getDatas); break; case Configuration.SECURITY_ARMING_CTRL_BACK_COMMAND://20190729鏂板 case Configuration.SECURITY_ALARM_CTRL_BACK_COMMAND://鎶ヨ璁剧疆鍙嶉 @@ -2833,4 +2839,42 @@ } + /** + * 骞叉帴鐐瑰箍鎾姸鎬佸弽棣堝弽棣� + * 2020-06-24 鏂板 + * + * @param getDatas + */ + private static void handleDryContactBroadcastStateData(UdpDataBean getDatas) { + outter: + for (int i = 0, len = devicesDataList.size(); i < len; i++) { + if (devicesDataList.get(i).getSourceSubnetID() == getDatas.sourceSubnetID + && devicesDataList.get(i).getSourceDeviceID() == getDatas.sourceDeviceID + ) { + List<AppliancesInfo> infos = devicesDataList.get(i).getAppliancesInfoList(); + for (int j = 0, len2 = infos.size(); j < len2; j++) { + if (infos.get(j).getBigType() == Configuration.SENSOR_BIG_TYPE + && infos.get(j).getChannelNum() == (getDatas.addBytes[1] & 0xFF)) {//2019-07-29 + if (getDatas.addBytes.length >= 3) { + isGetDeviceStateSuccess = true; + int state = getDatas.addBytes[2] & 0xFF; + devicesDataList.get(i).getAppliancesInfoList().get(j).setIntCurState(state); +// devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes); + EventBus.getDefault().post(new DryContactSensorBackEvent(devicesDataList.get(i).getAppliancesInfoList().get(j), true, state)); + } else { + isGetDeviceStateSuccess = true; + EventBus.getDefault().post(new DryContactSensorBackEvent(devicesDataList.get(i).getAppliancesInfoList().get(j), false)); + HDLLog.info("DryContac 杩斿洖addBytes鏁版嵁寮傚父"); + } + break outter; + } else { +// HDLLog.I("DryContac 娌℃湁鎵惧埌鍖归厤绫诲瀷"); + } + } + break outter; + } + } + } + + } -- Gitblit v1.8.0