From 34e965100d635346e2d4cd6e6013bdaed66b3004 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:52:13 +0800
Subject: [PATCH] 2019.1.2-3
---
ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs | 97 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 92 insertions(+), 5 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs b/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs
index 56b3416..6171782 100644
--- a/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs
+++ b/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs
@@ -35,13 +35,15 @@
/// <param name="device">璁惧</param>
public void SendACStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
new System.Threading.Thread(() =>
{
SendFanStatuComand(device);
- System.Console.WriteLine("鍙戦�佹椂闂�:" + DateTime.Now.ToString("o"));
- System.Threading.Thread.Sleep(500);
+ System.Threading.Thread.Sleep(300);
SendThermostatStatuComand(device);
- System.Console.WriteLine("鎺ユ敹鏃堕棿:" + DateTime.Now.ToString("o"));
})
{ IsBackground = true }.Start();
}
@@ -52,6 +54,10 @@
/// <param name="device">璁惧</param>
private void SendThermostatStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
var jObject = new Newtonsoft.Json.Linq.JObject
{
{ "DeviceAddr",device.DeviceAddr },
@@ -89,7 +95,6 @@
{
{ "AttriButeId", (int)AttriButeId.CleanStatu}
}
-
};
var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
jObject.Add("Data", data);
@@ -102,6 +107,10 @@
/// <param name="device">璁惧</param>
private void SendFanStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
var jObject = new Newtonsoft.Json.Linq.JObject
{
{ "DeviceAddr",device.DeviceAddr },
@@ -122,7 +131,7 @@
};
var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
jObject.Add("Data", data);
- device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
+ device.Gateway?.Send("GetDeviceStatus", jObject.ToString());
}
#endregion
@@ -134,6 +143,10 @@
/// <param name="device">绐楀笜</param>
public void SendCurtainStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
var jObject = new Newtonsoft.Json.Linq.JObject
{
{ "DeviceAddr",device.DeviceAddr },
@@ -172,6 +185,10 @@
/// <param name="device"></param>
public void SendDimmableLightStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
new System.Threading.Thread(() =>
{
SendSwitchStatuComand(device);
@@ -187,6 +204,10 @@
/// <param name="device">绐楀笜</param>
private void SendSwitchStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
var jObject = new Newtonsoft.Json.Linq.JObject
{
{ "DeviceAddr",device.DeviceAddr },
@@ -212,6 +233,10 @@
/// <param name="device">绐楀笜</param>
private void SendLevelStatuComand(CommonDevice device)
{
+ if (device == null)
+ {
+ return;
+ }
var jObject = new Newtonsoft.Json.Linq.JObject
{
{ "DeviceAddr",device.DeviceAddr },
@@ -231,7 +256,69 @@
device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
}
+ #endregion
+
+ #region 鈼� 娓╂箍搴___________________________
+
+ /// <summary>
+ /// 璇诲彇娓╁害
+ /// </summary>
+ /// <param name="device"></param>
+ public void SendTemperatureStatuComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.TemperatureMeasurement },
+ { "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());
+ }
+
+ /// <summary>
+ /// 璇诲彇婀垮害
+ /// </summary>
+ /// <param name="device"></param>
+ public void SendHumidityStatuComand(CommonDevice device)
+ {
+ if (device == null)
+ {
+ return;
+ }
+ var jObject = new Newtonsoft.Json.Linq.JObject
+ {
+ { "DeviceAddr",device.DeviceAddr },
+ { "Epoint", device.DeviceEpoint },
+ { "Cluster_ID", (int)Cluster_ID.RelativeHumidityMeasurement },
+ { "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
+
}
}
--
Gitblit v1.8.0