HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-10-28 8b4d79ca03495e522a1953e04ca17527f33c853a
ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs
@@ -442,15 +442,32 @@
        public class DeviceListData
        {
            /// <summary>
            ///延时执行时间,单位秒。
            /// </summary>
            public int DelayTime;
            /// <summary>
            /// 成员类型
            ///<para>0:设备成员</para>
            ///<para>1:场景成员</para>
            ///<para>2:延时成员</para>
            /// </summary>
            public int Type;
            /// <summary>
            /// 设备mac地址 ,
            ///<para>当Type=0时存在。</para>
            /// </summary>
            public string DeviceAddr;
            /// <summary>
            /// 设备端口号
            ///<para>当Type=0时存在。</para>
            /// </summary>
            public int Epoint;
            /// <summary>
            /// 设备名称
            /// </summary>
            public string DeviceName;
            /// <summary>
            /// 设备列表
            /// 当Type=0时存在
            /// </summary>
            public List<TaskListInfo> TaskList = new List<TaskListInfo>();
            /// <summary>
            /// 场景成员的场景id
@@ -459,26 +476,17 @@
            public int ElseScenesId;
            /// <summary>
            /// 设备mac地址 ,
            ///<para>当Type=0时存在。</para>
            ///延时执行时间,单位秒。
            /// </summary>
            public string DeviceAddr;
            public int DelayTime;
            /// <summary>
            /// 设备端口号
            ///<para>当Type=0时存在。</para>
            /// 场景动作序号,表示第几个动作
            /// </summary>
            public int Epoint;
            public int MemberNumber;
            /// <summary>
            /// 设备名称
            /// </summary>
            public string DeviceName;
            /// <summary>
            /// 设备列表
            /// </summary>
            public List<TaskListInfo> TaskList = new List<TaskListInfo>();
        }
        /// <summary>
@@ -975,7 +983,7 @@
                try{
                    if (sceneMemberData != null)
                    {
                        var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 810 } };
                        var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 820 } };
                        var data = new JObject { };
                        if (sceneMemberData.Type == 0)
                        {
@@ -992,20 +1000,31 @@
                            data = new JObject {
                         { "ScenesId",sceneMemberData.ScenesId},
                         { "DelayTime", sceneMemberData.DelayTime} ,
                         { "Type", sceneMemberData.Type} ,
                         { "DeviceAddr",sceneMemberData.DeviceAddr} ,
                         { "Epoint", sceneMemberData.Epoint} ,
                         { "TaskList", taskList }
                         { "TaskList", taskList },
                         { "DelayTime", sceneMemberData.DelayTime} ,
                         { "MemberNumber",sceneMemberData.MemberNumber},
                        };
                        }
                        else if (sceneMemberData.Type == 1)
                        {
                            data = new JObject {
                         { "ScenesId",sceneMemberData.ScenesId},
                         { "DelayTime", sceneMemberData.DelayTime} ,
                         { "Type", sceneMemberData.Type} ,
                         { "ElseScenesId", sceneMemberData.ElseScenesId }
                         { "ElseScenesId", sceneMemberData.ElseScenesId },
                         { "DelayTime", sceneMemberData.DelayTime} ,
                         { "MemberNumber",sceneMemberData.MemberNumber},
                        };
                        }
                        else if (sceneMemberData.Type == 2)
                        {
                            data = new JObject {
                          { "Type", sceneMemberData.Type} ,
                         { "ScenesId",sceneMemberData.ScenesId},
                         { "DelayTime", sceneMemberData.DelayTime} ,
                         { "MemberNumber",sceneMemberData.MemberNumber},
                        };
                        }
@@ -1135,16 +1154,23 @@
            public int ScenesId;
            /// <summary>
            /// 延时执行时间,单位秒
            /// </summary>
            public int DelayTime;
            /// <summary>
            /// 添加成员类型
            ///<para>0:节点设备</para>
            ///<para>1:其他场景</para>
            ///<para>2:延时类型</para>
            /// </summary>
            public int Type;
            /// <summary>
            /// 延时执行时间,单位秒
            /// 当Type=2时存在
            /// </summary>
            public int DelayTime;
            /// <summary>
            /// 延时执行序号,表示延时索引
            ///当Type=2时存在
            /// </summary>
            public int MemberNumber;
            /// <summary>
            /// 作为成员的其他场景id。
@@ -1157,13 +1183,11 @@
            /// <para>Type=0时存在</para>
            /// </summary>
            public string DeviceAddr;
            /// <summary>
            /// 设备端口号 
            /// <para>Type=0时存在</para>
            /// </summary>
            public int Epoint;
            /// <summary>
            /// 设备列表
            /// <para>Type=0时存在</para>
@@ -1241,19 +1265,33 @@
                                var dInfo = new JObject{
                            { "Type", deviceInfo.Type},
                            { "DeviceAddr",deviceInfo.DeviceAddr},
                            { "Epoint",deviceInfo.Epoint}
                            { "Epoint",deviceInfo.Epoint},
                            { "DelayTime", deviceInfo.DelayTime} ,
                            { "MemberNumber",deviceInfo.MemberNumber},
                            };
                                deviceList.Add(dInfo);
                            }
                            else
                            else if (deviceInfo.Type == 1)
                            {
                                var dInfo = new JObject{
                            { "Type", deviceInfo.Type},
                            { "ElseScenesId",deviceInfo.ElseScenesId}
                            { "ElseScenesId",deviceInfo.ElseScenesId},
                            { "DelayTime", deviceInfo.DelayTime} ,
                            { "MemberNumber",deviceInfo.MemberNumber},
                            };
                                deviceList.Add(dInfo);
                            }
                        }
                            else if (deviceInfo.Type == 2)
                            {
                                var dInfo = new JObject{
                            { "Type", deviceInfo.Type},
                           { "DelayTime", deviceInfo.DelayTime} ,
                           { "MemberNumber",deviceInfo.MemberNumber},
                            };
                                deviceList.Add(dInfo);
                            }
                            }
                        var data = new JObject {
                    {"ScenesId",sceneRemoveMemberData.ScenesId},
@@ -1316,6 +1354,7 @@
            /// 移除成员类型
            ///<para >0:设备成员</para>
            ///<para >1:场景成员</para>
            ///<para >2:延时类型</para>
            /// </summary>
            public int Type;
@@ -1326,14 +1365,27 @@
            public string DeviceAddr;
            /// <summary>
            /// 设备端口号 当Type=0时存在
            /// 设备端口号
            /// 当Type=0时存在
            /// </summary>
            public int Epoint;
            /// <summary>
            /// 场景成员id,当Type=1时存在
            /// 场景成员id
            /// 当Type=1时存在
            /// </summary>
            public int ElseScenesId;
            /// <summary>
            /// 延时执行时间,单位秒
            /// 当Type=2时存在
            /// </summary>
            public int DelayTime;
            /// <summary>
            /// 延时执行序号,表示延时索引
            ///当Type=2时存在
            /// </summary>
            public int MemberNumber;
        }
        /// <summary>
@@ -1759,7 +1811,7 @@
                mainGateway.Actions += action;
                System.Console.WriteLine("Scene/Open_Actions 启动" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
                try{
                    var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 808 } };
                    var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 821 } };
                    var data = new JObject { { "ScenesId", ScenesId }, { "DelayTime", delayTime } };
                    jObject.Add("Data", data);
                    mainGateway.Send(("Scene/Open"),System.Text.Encoding.UTF8.GetBytes(jObject.ToString()));