From 07466c19110693e3e439a7d7c8ad0bc21d9b3287 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 29 四月 2020 09:14:01 +0800 Subject: [PATCH] 优化代码,更改门锁需求接口 --- ZigbeeApp/Shared/Common/Device.cs | 58 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 47 insertions(+), 11 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs old mode 100644 new mode 100755 index 15dcb3c..d9cddaa --- a/ZigbeeApp/Shared/Common/Device.cs +++ b/ZigbeeApp/Shared/Common/Device.cs @@ -115,7 +115,7 @@ { CommonDevice device = null; //鍙嶅簭鍒楀寲涓烘寚瀹氱殑绫伙紝涓嶇劧鏁版嵁浼氫涪澶辫�屽鑷存棤娉曞己杞� - try + try { device = CommonDevice.CommonDeviceByFilePath(file); } @@ -400,6 +400,27 @@ } } + /// <summary> + /// 娣诲姞铏氭嫙璁惧鍒扮紦瀛� + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + public void AddVirtualDeviceToMemory(CommonDevice device) + { + string mainKeys = this.GetDeviceMainKeys(device); + this.dicAllDevice[mainKeys] = device; + + //璁惧鍥炶矾鏀堕泦 + if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == false) + { + this.dicDeviceEpoint[device.DeviceAddr] = new HashSet<int>(); + } + if (this.dicDeviceEpoint[device.DeviceAddr].Contains(device.DeviceEpoint) == false) + { + this.dicDeviceEpoint[device.DeviceAddr].Add(device.DeviceEpoint); + } + device.ReSave(); + } + #endregion #region 鈻� 淇敼璁惧___________________________ @@ -416,6 +437,12 @@ this.SetEpointName(device, newName); this.BackupDeviceAfterReName(device); + + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + return true; + } //涓嶅啀妫�娴嬪悕瀛楁槸鍚︿竴鏍� //鎴愬憳鍙兘淇敼鑷繁鏈湴鐨勫悕瀛� @@ -462,6 +489,11 @@ //鏇存敼鍚嶅瓧鍚庯紝鍒锋柊璁惧缂撳瓨 this.BackupDeviceAfterReName(device2); + } + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + return true; } CommonDevice device = listDevice[0]; @@ -679,7 +711,11 @@ /// <param name="device"></param> public void SetFixedPositionCommand(CommonDevice device) { - device.IdentifyControl(device.DeviceAddr, device.DeviceEpoint, 5); + //濡傛灉褰撳墠浣忓畢涓嶆槸铏氭嫙浣忓畢 + if (Common.Config.Instance.Home.IsVirtually == false) + { + device.IdentifyControl(device.DeviceAddr, device.DeviceEpoint, 5); + } } /// <summary> @@ -1766,11 +1802,11 @@ info.ConcreteType = DeviceConcreteType.Sensor_Humidity; } info.ObjectTypeNameId = 60000;//浼犳劅鍣� - } - //14鏂伴璁惧 + } + //14鏂伴璁惧 else if (dicType.ContainsKey(DeviceType.FreshAir) == true) { - info.ConcreteTextId = R.MyInternationalizationString.DeviceModelId2310; + info.ConcreteTextId = R.MyInternationalizationString.uDeviceModelId2310; info.BeloneType = DeviceBeloneType.A鏂伴; info.ConcreteType = DeviceConcreteType.Relay_FangyueFreshAirModul; info.ObjectTypeNameId = 60011;//鏂伴 @@ -2032,8 +2068,8 @@ list.Add(DeviceBeloneType.A浼犳劅鍣�); //鍏朵粬鐨勭湅鐫�鍔炲憲,閮芥槸鎺掑湪鍚庨潰鐨�,閮藉綊涓鸿繖涓睘鎬� - list.Add(DeviceBeloneType.A鏈煡璁惧); - + list.Add(DeviceBeloneType.A鏈煡璁惧); + return list; } @@ -2834,9 +2870,9 @@ /// <summary> /// 鏂规偊鏂伴灏忔ā鍧� 闀滃儚id锛�2310 /// </summary> - Relay_FangyueFreshAirModul = 2310, - - //=========鈽呪槄璋冨厜鍣ㄧ被(2500-2799)鈽呪槄========= + Relay_FangyueFreshAirModul = 2310, + + //=========鈽呪槄璋冨厜鍣ㄧ被(2500-2799)鈽呪槄========= /// <summary> /// 璋冨厜鍣� /// </summary> @@ -3010,7 +3046,7 @@ /// <summary> /// 骞叉帴鐐� /// </summary> - A骞叉帴鐐� = 16, + A骞叉帴鐐� = 16, /// <summary> /// 鏂伴 /// </summary> -- Gitblit v1.8.0