From 06faee1a8e8e77835968c55203524dcadc787abf Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 07 九月 2021 17:03:52 +0800 Subject: [PATCH] 2021-09-07 1.之前标准空调模块协议是13位,新的空调回复协议变成长度19位 2.增加单独的播放和暂定指令,解决取反问题 --- app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java | 133 +++++++++++++++++++++++--------------------- 1 files changed, 69 insertions(+), 64 deletions(-) diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java index c20867d..1515780 100644 --- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java +++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java @@ -432,75 +432,77 @@ // 鑾峰彇鎵�鏈夎澶囩殑鐘舵�併�俤eviceStateBeanList涓烘墍鏈夎澶囩殑鐘舵�佸垪琛� List<DeviceStateBean> deviceStateBeanList = HDLCommand.getAllDevicesState(); // 绗笁鏂瑰彲鏍规嵁鑷繁鐨勯渶姹傚埛鏂拌澶囬〉銆備互涓嬩负绀轰緥浠g爜銆� - for (DeviceStateBean deviceStateBean : deviceStateBeanList) { - //娉ㄦ剰锛佺涓夋柟搴旇灏嗚澶囬泦鍚堝叏閮ㄥ湪杩欓噷閬嶅巻涓�閬嶄互涓嬫搷浣滐紝骞舵洿鏂扮姸鎬佸�笺�傝繖閲屼粎浣滀负Demo婕旂ず锛屽彧鍒ゆ柇涓�涓�� + if(deviceStateBeanList != null) { + for (DeviceStateBean deviceStateBean : deviceStateBeanList) { + //娉ㄦ剰锛佺涓夋柟搴旇灏嗚澶囬泦鍚堝叏閮ㄥ湪杩欓噷閬嶅巻涓�閬嶄互涓嬫搷浣滐紝骞舵洿鏂扮姸鎬佸�笺�傝繖閲屼粎浣滀负Demo婕旂ず锛屽彧鍒ゆ柇涓�涓�� - //鍏堝垽鏂妯″潡鏄惁涓哄綋鍓嶈澶囩殑妯″潡 - if (deviceStateBean.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() - && deviceStateBean.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()) { + //鍏堝垽鏂妯″潡鏄惁涓哄綋鍓嶈澶囩殑妯″潡 + if (deviceStateBean.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && deviceStateBean.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()) { // 鍐嶅垽鏂槸浠�涔堢被鍨嬬殑璁惧銆� - switch (deviceStateBean.getDeviceType()) { - case HDLApConfig.TYPE_LIGHT_DIMMER: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_LIGHT_RELAY: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_LIGHT_MIX_RELAY: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_CURTAIN_GLYSTRO: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_CURTAIN_ROLLER: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_CURTAIN_MODULE: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setCurState(deviceStateBean.getCurState()); - } - break; - case HDLApConfig.TYPE_AC_HVAC: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); - } - break; - case HDLApConfig.TYPE_AC_PANEL: - //鍒ゆ柇鏄摢涓洖璺殑璁惧 - if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { - appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); - } - break; + switch (deviceStateBean.getDeviceType()) { + case HDLApConfig.TYPE_LIGHT_DIMMER: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_LIGHT_RELAY: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_LIGHT_MIX_RELAY: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_CURTAIN_GLYSTRO: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_CURTAIN_ROLLER: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_CURTAIN_MODULE: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setCurState(deviceStateBean.getCurState()); + } + break; + case HDLApConfig.TYPE_AC_HVAC: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); + } + break; + case HDLApConfig.TYPE_AC_PANEL: + //鍒ゆ柇鏄摢涓洖璺殑璁惧 + if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { + appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); + } + break; - default: - break; + default: + break; + } } - } + } } } @@ -702,7 +704,10 @@ if (event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() - && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum() + && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() + && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum() + + && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceType() == appliancesInfo.getDeviceType() ) { // 鍏堝垽鏂槸鍚﹁秴鏃� if (!event.isSuccess()) { -- Gitblit v1.8.0