黄学彪
2020-09-22 ade5917841b0fdcb1df7353ef7c56b1a1bdc9282
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceFixedAttributeLogic.cs
@@ -14,11 +14,11 @@
        /// <summary>
        /// 设备固定信息的逻辑
        /// </summary>
        private static HdlDeviceFixedAttributeLogic m_Current = null;
        /// </summary>
        private static HdlDeviceFixedAttributeLogic m_Current = null;
        /// <summary>
        /// 设备固定信息的逻辑
        /// </summary>
        /// </summary>
        public static HdlDeviceFixedAttributeLogic Current
        {
            get
@@ -52,15 +52,15 @@
            lock (this.hsGetHardInfoDevice)
            {
                //先移除
                this.RemoveDeviceHardInfoThread(device);
                string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
                this.hsGetHardInfoDevice.Add(mainkeys);
                if (HdlDeviceAttributeLogic.Current.IsEsixt("DeviceGetFixedAttribute") == false)
                string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
                if (this.hsGetHardInfoDevice.Contains(mainKeys) == true)
                {
                    this.hsGetHardInfoDevice.Remove(mainKeys);
                }
                if (HdlGatewayReceiveLogic.Current.IsEsixt("DeviceGetFixedAttribute") == false)
                {
                    //添加事件
                    HdlDeviceAttributeLogic.Current.AddAttributeEvent("DeviceGetFixedAttribute", "DeviceStatusReport", this.SetFixedAttributeByInterfaceResult);
                    HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceGetFixedAttribute",  ReceiveComandDiv.A设备属性上报, this.SetFixedAttributeByInterfaceResult);
                }
                //发送命令
                this.SeFixedAttributeComand(device);
@@ -89,6 +89,8 @@
                //不需要发送
                return;
            }
            string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
            this.hsGetHardInfoDevice.Add(mainkeys);
            //发送
            var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
            jObject.Add("Data", data);
@@ -108,18 +110,18 @@
        private void GetCurtainComand(CommonDevice device, ref Newtonsoft.Json.Linq.JObject jObject, ref Newtonsoft.Json.Linq.JArray attriBute)
        {
            jObject = new Newtonsoft.Json.Linq.JObject
            {
               { "DeviceAddr",device.DeviceAddr },
               { "Epoint", device.DeviceEpoint },
               { "Cluster_ID", (int)Cluster_ID.WindowCovering },
               { "Command", 108 }
            {
               { "DeviceAddr",device.DeviceAddr },
               { "Epoint", device.DeviceEpoint },
               { "Cluster_ID", (int)Cluster_ID.WindowCovering },
               { "Command", 108 }
            };
            attriBute = new Newtonsoft.Json.Linq.JArray
            {
            {
               new Newtonsoft.Json.Linq.JObject
               {
               {
                  { "AttriButeId", (int)AttriButeId.WindowCoveringType }
               }
               }
            };
        }