HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-09-30 404cdc88627f942df7944af04ee05b9d527752d6
ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs
@@ -16,7 +16,7 @@
        /// WcdType=4:开合帘
        /// WcdType=0:卷帘
        /// </summary>
        public int WcdType = 0;
        public int WcdType = -1;
        /// <summary>
        ///窗帘当前高度,单位:cm.
@@ -44,7 +44,7 @@
        //        return 0;
        //    }
        //}
        /// <summary>
        /// 窗帘全开所在的角度,单位:0.1°
        /// </summary>
@@ -91,6 +91,30 @@
        public void ReadWcdType()
        {
            ReadAttri(Device.Cluster_ID.WindowCovering, AttriButeId.WindowCoveringType);
        }
        /// <summary>
        /// 读取当前窗帘模式
        /// </summary>
        /// <param name="commonDevice"></param>
        /// <param name="action"></param>
        public static void ReadWcdTypeAction(CommonDevice commonDevice, Action action)
        {
            new System.Threading.Thread(() =>
            {
                (commonDevice as Rollershade).ReadWcdType();
                var dateTime = DateTime.Now;
                while ((DateTime.Now - dateTime).TotalSeconds < 10)
                {
                    System.Threading.Thread.Sleep(100);
                    if ((commonDevice as Rollershade).WcdType != -1)
                    {
                        break;
                    }
                }
                action?.Invoke();
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
@@ -209,7 +233,7 @@
            var data = new JObject {
                    { "Value", value }
                 };
            jObject.Add("Data", data);
            jObject.Add("Data", data);
            Gateway?.Send("DeviceControl", jObject.ToString());
        }
@@ -231,7 +255,7 @@
            var data = new JObject {
                    { "Value", value }
                 };
            jObject.Add("Data", data);
            jObject.Add("Data", data);
            Gateway?.Send("DeviceControl", jObject.ToString());
        }
@@ -253,7 +277,7 @@
            var data = new JObject {
                    { "Value", value }
                };
            jObject.Add("Data", data);
            jObject.Add("Data", data);
            Gateway?.Send("DeviceControl", jObject.ToString());
        }
@@ -276,7 +300,7 @@
            var data = new JObject {
                    { "Value", value }
                 };
            jObject.Add("Data", data);
            jObject.Add("Data", data);
            Gateway?.Send("DeviceControl", jObject.ToString());
        }
@@ -336,15 +360,15 @@
                try
                {
                    int attributeData = 0;
                    int bit0 = 0;
                    int bit0 = 0;
                    if (isDirectionReversed)
                    {
                        bit0 = 1;
                    }
                    }
                    attributeData = bit0 * 1;
                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 23 }, { "AttributeDataType", 24 }, { "AttributeData", attributeData } };
                    jObject.Add("Data", data);
                    jObject.Add("Data", data);
                    Gateway.Send("SetWritableValue", jObject.ToString());
                }
                catch { }
@@ -425,9 +449,9 @@
                try
                {
                    int attributeData = 0;
                    int bit2 = 0;
                    int attributeData = 0;
                    int bit2 = 0;
                    if (isMotorMaintenance)
                    {
                        bit2 = 1;
@@ -435,7 +459,7 @@
                    attributeData = bit2 * 4;
                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 23 }, { "AttributeDataType", 24 }, { "AttributeData", attributeData } };
                    jObject.Add("Data", data);
                    jObject.Add("Data", data);
                    Gateway.Send("SetWritableValue", jObject.ToString());
                }
                catch { }
@@ -527,7 +551,7 @@
                    }
                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 0xea01 }, { "AttributeDataType", 32 }, { "AttributeData", tempLimit } };
                    jObject.Add("Data", data);
                    jObject.Add("Data", data);
                    Gateway.Send("SetWritableValue", jObject.ToString());
                }
                catch { }
@@ -622,11 +646,11 @@
                System.Console.WriteLine("SetWritableValue_Actions 启动" + "_" + System.DateTime.Now.ToString());
                try
                {
                {
                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 258 }, { "Command", 120 } };
                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 0xea02 }, { "AttributeDataType", 32 }, { "AttributeData", 1 } };
                    jObject.Add("Data", data);
                    jObject.Add("Data", data);
                    Gateway.Send("SetWritableValue", jObject.ToString());
                }
                catch { }
@@ -773,7 +797,7 @@
            /// </summary>
            DownLimit = 0x08,
        }
        }
        #endregion
    }
}