From 19ed05b3590dab0944d79e3fe05cc5e4213c2357 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期五, 26 八月 2022 10:27:00 +0800
Subject: [PATCH] 更改服务器地址
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs | 809 ++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 487 insertions(+), 322 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs
old mode 100755
new mode 100644
index 2083d28..6fda75c
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs
@@ -1,134 +1,74 @@
-锘縰sing Shared.Common;
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter
-{
- /// <summary>
- /// 璁惧灞炴�х殑閫昏緫绫�
- /// </summary>
- public class HdlDeviceAttributeLogic
- {
- #region 鈻� 鍙橀噺澹版槑___________________________
-
- /// <summary>
- /// 灞炴�х殑閫昏緫
+锘縰sing Shared.Common;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 璁惧灞炴�х殑閫昏緫绫�
+ /// </summary>
+ public class HdlDeviceAttributeLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 灞炴�х殑閫昏緫
/// </summary>
- private static HdlDeviceAttributeLogic m_Current = null;
- /// <summary>
- /// 灞炴�х殑閫昏緫
+ private static HdlDeviceAttributeLogic m_Current = null;
+ /// <summary>
+ /// 灞炴�х殑閫昏緫
/// </summary>
- public static HdlDeviceAttributeLogic Current
- {
- get
- {
- if (m_Current == null)
- {
- m_Current = new HdlDeviceAttributeLogic();
- }
- return m_Current;
- }
- set
- {
- m_Current = value;
- }
- }
-
- #endregion
-
- #region 鈻� 鍐欏叆璁惧灞炴�______________________
-
- /// <summary>
- /// 璁剧疆绌鸿皟鐨勮嚜瀹氫箟妯″紡
- /// </summary>
- /// <param name="device">璁惧瀵硅薄</param>
- /// <param name="clusterId">闀濱D</param>
- /// <param name="attributeId">灞炴�D</param>
- /// <param name="attributeDataType">鏁版嵁绫诲瀷</param>
- /// <param name="attributeData">闇�瑕佸啓鍏ョ殑鏁版嵁(鏁板�兼垨鑰呭瓧绗︿覆)</param>
- /// <returns></returns>
- public async System.Threading.Tasks.Task<CommonDevice.SetWritableValueResponAllData> WriteDeviceAttribute(CommonDevice device, int clusterId, int attributeId, int attributeDataType, object attributeData)
- {
- var MyGateway = device.Gateway;
- if (MyGateway == null)
- {
- return null;
- }
-
- CommonDevice.SetWritableValueResponAllData d = null;
- Action<string, string> action = (topic, message) =>
- {
- var gatewayID = topic.Split('/')[0];
- var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
-
- if (topic == gatewayID + "/" + "Error_Respon")
- {
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
- if (temp == null)
- {
- d = new CommonDevice.SetWritableValueResponAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
- }
- else
- {
- d = new CommonDevice.SetWritableValueResponAllData { errorResponData = temp, errorMessageBase = HdlCheckLogic.Current.CheckCommonErrorCode(temp.Error) };
- }
- }
-
- if (topic == gatewayID + "/" + "SetWritableValue_Respon")
- {
- var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.SetWritableValueResponData>(jobject["Data"].ToString());
- if (tempData == null)
- {
- d = new CommonDevice.SetWritableValueResponAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
- }
- else
- {
- d = new CommonDevice.SetWritableValueResponAllData { setWritableValueResponData = tempData };
- }
- }
- };
- MyGateway.Actions += action;
- try
- {
- var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", device.DeviceEpoint }, { "Cluster_ID", clusterId }, { "Command", 120 } };
- Newtonsoft.Json.Linq.JObject data = null;
- if (attributeData is int)
- {
- data = new Newtonsoft.Json.Linq.JObject { { "Undivided", 0 }, { "AttributeId", attributeId }, { "AttributeDataType", attributeDataType }, { "AttributeData", Convert.ToInt32(attributeData) } };
- }
- else
- {
- data = new Newtonsoft.Json.Linq.JObject { { "Undivided", 0 }, { "AttributeId", attributeId }, { "AttributeDataType", attributeDataType }, { "AttributeData", attributeData.ToString() } };
- }
- jObject.Add("Data", data);
- MyGateway.Send("SetWritableValue", jObject.ToString());
- }
- catch { }
-
- var timeOut = 0;
- while (timeOut <= 30)
- {
- await System.Threading.Tasks.Task.Delay(100);
- if (d != null)
- {
- break;
- }
- timeOut++;
- }
- if (timeOut > 30 && d == null)
- {
- d = new CommonDevice.SetWritableValueResponAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
- }
- MyGateway.Actions -= action;
- return d;
- }
-
- #endregion
-
+ public static HdlDeviceAttributeLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlDeviceAttributeLogic();
+ }
+ return m_Current;
+ }
+ set
+ {
+ m_Current = value;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鍐欏叆璁惧灞炴�______________________
+
+ /// <summary>
+ /// 鑾峰彇鏇存敼璁惧绉佹湁灞炴�х殑鍛戒护
+ /// </summary>
+ /// <param name="clusterId"></param>
+ /// <param name="attributeId"></param>
+ /// <param name="attributeDataType"></param>
+ /// <param name="attributeData"></param>
+ /// <returns></returns>
+ public string GetWriteDeviceAttributeText(string DeviceAddr, int DeviceEpoint, int clusterId, int attributeId, int attributeDataType, object attributeData)
+ {
+ var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", clusterId }, { "Command", 120 } };
+ Newtonsoft.Json.Linq.JObject data = null;
+ if (attributeData is int)
+ {
+ data = new Newtonsoft.Json.Linq.JObject { { "Undivided", 0 }, { "AttributeId", attributeId }, { "AttributeDataType", attributeDataType }, { "AttributeData", Convert.ToInt32(attributeData) } };
+ }
+ else
+ {
+ data = new Newtonsoft.Json.Linq.JObject { { "Undivided", 0 }, { "AttributeId", attributeId }, { "AttributeDataType", attributeDataType }, { "AttributeData", attributeData.ToString() } };
+ }
+ jObject.Add("Data", data);
+
+ return jObject.ToString();
+ }
+
+ #endregion
+
#region 鈻� 绌鸿皟_______________________________
-
+
/// <summary>
/// SendACStatuComand
/// </summary>
@@ -148,172 +88,365 @@
{ IsBackground = true }.Start();
}
- /// <summary>
- /// SendThermostatStatuComand
- /// </summary>
- /// <param name="device">璁惧</param>
- public void SendThermostatStatuComand(CommonDevice device)
- {
+ /// <summary>
+ /// SendThermostatStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ public void SendThermostatStatuComand(CommonDevice device)
+ {
if (device == null)
{
return;
}
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.Thermostat },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.LocalTemperature}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.CoolingSetpoint}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.HeatingSetpoint}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.AutoSetpoint}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.SystemMode}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.AcModeSupport}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.CleanStatu}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.Thermostat },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.LocalTemperature}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.CoolingSetpoint}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.HeatingSetpoint}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.AutoSetpoint}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.SystemMode}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.AcModeSupport}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.CleanStatu}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
}
- /// <summary>
- /// SendFanStatuComand
- /// </summary>
- /// <param name="device">璁惧</param>
- private void SendFanStatuComand(CommonDevice device)
- {
+ /// <summary>
+ /// SendFanStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ private void SendFanStatuComand(CommonDevice device)
+ {
if (device == null)
{
return;
}
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.FanControl },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.FanMode}
- },
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.FanSwing}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.FanControl },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.FanMode}
+ },
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.FanSwing}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
}
#endregion
- #region 鈻� 鏂伴_______________________________
- /// <summary>
- /// SendFreshAirStatuComand
- /// </summary>
- /// <param name="device">璁惧</param>
- public void SendFreshAirStatuComand(CommonDevice device)
- {
- if (device == null)
- {
- return;
- }
- new System.Threading.Thread(() =>
- {
- SendFreshAirFanStatuComand(device);
- System.Threading.Thread.Sleep(300);
- })
- { IsBackground = true }.Start();
- }
-
- /// <summary>
- /// SendFanStatuComand
- /// </summary>
- /// <param name="device">璁惧</param>
- private void SendFreshAirFanStatuComand(CommonDevice device)
- {
- if (device == null)
- {
- return;
- }
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.FanControl },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.FanMode}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
- }
-
+ #region 鈻� 鏂伴_______________________________
+ /// <summary>
+ /// SendFreshAirStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ public void SendFreshAirStatuComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ new System.Threading.Thread(() =>
+ {
+ SendFreshAirFanStatuComand(device);
+ System.Threading.Thread.Sleep(300);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// SendFanStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ private void SendFreshAirFanStatuComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.FanControl },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.FanMode}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
+ }
+
+ #endregion
+
+ #region 鈻� PM2.5_______________________________
+ /// <summary>
+ /// SendPmSensorComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ public void SendPmSensorComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ new System.Threading.Thread(() =>
+ {
+ SendPm2P5Comand(device);
+ //璇诲彇Pm2.5浼犳劅鍣ㄧ殑娓╁害鏁版嵁
+ HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(device);
+ //璇诲彇Pm2.5浼犳劅鍣ㄧ殑婀垮害鏁版嵁
+ HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(device);
+ System.Threading.Thread.Sleep(300);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// SendFanStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ private void SendPm2P5Comand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.PmTwoPointFiveMeasurement },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.MeasuredValue}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
+ }
+
+ #endregion
+
+ #region 鈻� 绌烘皵璐ㄩ噺浼犳劅鍣╛______________________________
+ /// <summary>
+ /// SendAirQualitySensorComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ public void SendAirQualitySensorComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ new System.Threading.Thread(() =>
+ {
+ SendSwitchStatuComand(device);
+ //绌烘皵璐ㄩ噺浼犳劅鍣ㄧ殑PM2.5鏁版嵁
+ SendPm2P5Comand(device);
+ //绌烘皵璐ㄩ噺浼犳劅鍣ㄧ殑CO2鏁版嵁[2021.01.13浜у搧瑕佹眰鏆傛椂鍘绘帀]
+ //SendCO2Comand(device);
+ //绌烘皵璐ㄩ噺浼犳劅鍣ㄧ殑娓╁害鏁版嵁
+ HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(device);
+ //绌烘皵璐ㄩ噺浼犳劅鍣ㄧ殑婀垮害鏁版嵁
+ HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(device);
+ System.Threading.Thread.Sleep(300);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// SendCO2Comand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ private void SendCO2Comand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.CO2},
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.MeasuredValue}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
+ }
+
+ #endregion
+
+ #region 鈻� 鏅捐。鏋禵______________________________
+ /// <summary>
+ /// SendAirerComand
+ ///鍥炶矾2:璇诲彇鐓ф槑寮�鍏崇姸鎬�
+ ///鍥炶矾3:璇诲彇椋庡共寮�鍏崇姸鎬佸拰鏃堕棿鍊�
+ ///鍥炶矾4:璇诲彇鐑樺共寮�鍏崇姸鎬佸拰鏃堕棿鍊�
+ ///鍥炶矾5:璇诲彇娑堟瘨寮�鍏崇姸鎬佸拰鏃堕棿鍊�
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ /// <param name="ctrlEpoint">鎺у埗绔偣</param>
+ public void SendAirerComand(CommonDevice device, int ctrlEpoint)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ new System.Threading.Thread(() =>
+ {
+ SendAirerStatuComand(device, ctrlEpoint);
+ System.Threading.Thread.Sleep(300);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// SendAirerStatuComand
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ private void SendAirerStatuComand(CommonDevice device, int ctrlEpoint = 1)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", ctrlEpoint },
+ { "Cluster_ID", (int)Cluster_ID.Switch},
+ { "Command", 108 }
+ };
+ Newtonsoft.Json.Linq.JArray attriBute = new Newtonsoft.Json.Linq.JArray();
+
+ //鏅捐。鏋剁殑鏅捐。鏋剁殑锛堢儤骞诧紝椋庡共锛屾秷姣�,鐓ф槑鐘舵�佽鍙栵級
+ attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ //鏅捐。鏋剁殑鐓ф槑寮�鍏崇姸鎬�
+ { "AttriButeId", (int)AttriButeId.Switch}
+ }
+ };
+
+ //if (device.DeviceEpoint != 2)
+ //{
+ //鐢变簬璁惧涓嶆敮鎸佹椂闂村姛鑳斤紝鍚庢湡鎵嶆敮鎸侊紝娉ㄦ剰澶勭悊鏃堕棿瑕佹牴鎹儤骞诧紝椋庡共锛屾秷姣掓槸鍚﹀紑鎵嶅彂閫佺浉搴斿ぇ鏃堕棿璇诲彇鏁版嵁
+ //attriBute = new Newtonsoft.Json.Linq.JArray {
+ // new Newtonsoft.Json.Linq.JObject
+ // {
+ // //鏅捐。鏋剁殑寮�鍏崇姸鎬侊紙鐑樺共锛岄骞诧紝娑堟瘨锛�
+ // { "AttriButeId", (int)AttriButeId.Switch}
+ // },
+ // new Newtonsoft.Json.Linq.JObject
+ // {
+ // //鏅捐。鏋剁殑鏅捐。鏋剁殑锛堢儤骞诧紝椋庡共锛屾秷姣掞級鍓╀綑鏃堕棿
+ // { "AttriButeId", (int)AttriButeId.AirerRemainTime}
+ // },
+ // new Newtonsoft.Json.Linq.JObject
+ // {
+ // //鏅捐。鏋剁殑锛堢儤骞诧紝椋庡共锛屾秷姣掞級鏃堕棿
+ // { "AttriButeId", (int)AttriButeId.AirerTime}
+ // }
+ // };
+ //}
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
+ }
+
#endregion
#region 鈻� 绐楀笜_______________________________
- /// <summary>
- /// 鍙戦�佽幏鍙栫獥甯樼姸鎬佸懡浠�
- /// </summary>
- /// <param name="device">绐楀笜</param>
- public void SendCurtainStatuComand(CommonDevice device)
- {
+ /// <summary>
+ /// 鍙戦�佽幏鍙栫獥甯樼姸鎬佸懡浠�
+ /// </summary>
+ /// <param name="device">绐楀笜</param>
+ public void SendCurtainStatuComand(CommonDevice device)
+ {
if (device == null)
{
return;
}
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.WindowCovering },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.CurrentPositionLiftPercentage}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.WindowCovering },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.CurrentPositionLiftPercentage}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
}
#endregion
@@ -348,62 +481,94 @@
{ IsBackground = true }.Start();
}
- /// <summary>
- /// 鍙戦�佽幏鍙栫伅鍏夌姸鎬佸懡浠�
- /// </summary>
- /// <param name="device">绐楀笜</param>
- private void SendSwitchStatuComand(CommonDevice device)
- {
+ /// <summary>
+ /// 鍙戦�佽幏鍙栫伅鍏夌姸鎬佸懡浠�
+ /// </summary>
+ /// <param name="device">绐楀笜</param>
+ private void SendSwitchStatuComand(CommonDevice device)
+ {
if (device == null)
{
return;
}
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.Switch },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.Switch}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.Switch },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.Switch}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
}
- /// <summary>
- /// 鍙戦�佽幏鍙栫伅鍏夌姸鎬佸懡浠�
- /// </summary>
- /// <param name="device">绐楀笜</param>
- private void SendLevelStatuComand(CommonDevice device)
- {
+ /// <summary>
+ /// 鍙戦�佽幏鍙栫伅鍏夌姸鎬佸懡浠�
+ /// </summary>
+ /// <param name="device">绐楀笜</param>
+ public void SendLevelStatuComand(CommonDevice device)
+ {
if (device == null)
{
return;
}
- var jObject = new Newtonsoft.Json.Linq.JObject
- {
- { "DeviceAddr",device.DeviceAddr },
- { "Epoint", device.DeviceEpoint },
- { "Cluster_ID", (int)Cluster_ID.LevelControl },
- { "Command", 108 }
- };
- var attriBute = new Newtonsoft.Json.Linq.JArray
- {
- new Newtonsoft.Json.Linq.JObject
- {
- { "AttriButeId", (int)AttriButeId.LevelControl}
- }
- };
- var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
- jObject.Add("Data", data);
- device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.LevelControl },
+ { "Command", 108 }
+ };
+ var attriBute = new Newtonsoft.Json.Linq.JArray
+ {
+ new Newtonsoft.Json.Linq.JObject
+ {
+ { "AttriButeId", (int)AttriButeId.LevelControl}
+ }
+ };
+ var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
+ jObject.Add("Data", data);
+ device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ }
+
+ #endregion
+
+ #region 鈻� 鑹叉俯鐏痏____________________________
+
+ /// <summary>
+ /// 鍙戦�佽幏鍙栬壊娓╃伅鐘舵�佸懡浠�
+ /// </summary>
+ /// <param name="device"></param>
+ public void SendColorTemperatureLightStatuComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var colorDevice = (ColorTemperatureLight)device;
+ new System.Threading.Thread(() =>
+ {
+ colorDevice.ReadOnOffStatus();
+ System.Threading.Thread.Sleep(300);
+ colorDevice.ReadLevel();
+ System.Threading.Thread.Sleep(300);
+ colorDevice.ReadColorTemperature();
+ if (LocalDevice.Current.IsMiniLight(device) == true)
+ {
+ //mini澶滅伅闇�瑕佽鍙栬渹楦e櫒鐘舵��
+ System.Threading.Thread.Sleep(300);
+ colorDevice.ReadBuzzerStatu();
+ }
+ })
+ { IsBackground = true }.Start();
}
#endregion
@@ -468,6 +633,6 @@
device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
}
- #endregion
- }
-}
+ #endregion
+ }
+}
--
Gitblit v1.8.0