From 2e7e5f9af5b32cfe1fc3c6ba40bf7eb984bbd0a4 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 11 五月 2020 17:52:06 +0800
Subject: [PATCH] ???????
---
ZigbeeApp/Shared/Common/Device.cs | 63 +++++++++++++++++++++++++++++--
1 files changed, 59 insertions(+), 4 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index fa6b160..7275b4d 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -441,6 +441,8 @@
//濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
+ //淇敼璁惧鍚嶅瓧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ Phone.UserView.UserPage.Instance.RefreshForm = true;
return true;
}
@@ -465,6 +467,8 @@
//澶囦唤鏁版嵁
await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绔偣鍚嶇О, newName);
}
+ //淇敼璁惧鍚嶅瓧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ Phone.UserView.UserPage.Instance.RefreshForm = true;
return true;
}
@@ -628,6 +632,9 @@
/// <param name="deleteRoom">鏄惁浠庢埧闂村垹闄�</param>
public void DeleteMemmoryDevice(CommonDevice device, bool deleteRoom = true)
{
+ //鍒犻櫎缂撳瓨璁惧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ Phone.UserView.UserPage.Instance.RefreshForm = true;
+
if (deleteRoom == true)
{
//浠庢埧闂翠腑鍒犻櫎
@@ -2086,6 +2093,50 @@
#endregion
+ #region 鈻� 鑾峰彇璁惧鍦ㄧ嚎鐘舵�佸垪琛╛______________
+
+ /// <summary>
+ /// 鑾峰彇璁惧鍦ㄧ嚎鐘舵�佸垪琛�(娉ㄦ剰,涓�涓澶囧彧杩斿洖涓�涓洖璺�)
+ /// </summary>
+ /// <param name="gwId">缃戝叧id</param>
+ /// <returns></returns>
+ public List<CommonDevice> GetDeviceOnlineList(string gwId)
+ {
+ var zbway = HdlGatewayLogic.Current.GetLocalGateway(gwId);
+ int statu = 0;
+ var listDevice = this.GetDeviceListFromGateway(zbway, ref statu, false, ShowErrorMode.NO);
+ if (statu == -1)
+ {
+ //褰撳嚭鐜板紓甯告椂,浣跨敤鍚庡鎿嶄綔,鐩存帴鑾峰彇鏈湴鐨勮澶囧垪琛�
+ listDevice = this.GetDeviceByGatewayID(gwId);
+ }
+
+ var dicDevice = new Dictionary<string, CommonDevice>();
+ foreach (var device in listDevice)
+ {
+ if (dicDevice.ContainsKey(device.DeviceAddr) == false)
+ {
+ dicDevice[device.DeviceAddr] = device;
+ continue;
+ }
+ //璁惧鏄惁澶勪簬鍦ㄧ嚎鐘舵��
+ bool online = this.CheckDeviceIsOnline(device);
+ if (online == true)
+ {
+ //濡傛灉璁惧鍥炶矾鍦ㄧ嚎,鍒欎紭鍏堜娇鐢ㄥ湪绾跨殑鍥炶矾,鍚庢潵鐨勭洿鎺ヨ鐩�
+ dicDevice[device.DeviceAddr] = device;
+ }
+ }
+ var listReturn = new List<CommonDevice>();
+ foreach (var device in dicDevice.Values)
+ {
+ listReturn.Add(device);
+ }
+ return listReturn;
+ }
+
+ #endregion
+
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
@@ -2477,8 +2528,6 @@
mainDevice.InClusterList.AddRange(device.DeviceInfo.InClusterList);
mainDevice.OutClusterList.Clear();
mainDevice.OutClusterList.AddRange(device.DeviceInfo.OutClusterList);
- mainDevice.AttributeStatus.Clear();
- mainDevice.AttributeStatus.AddRange(device.DeviceInfo.AttributeStatus);
//濡傛灉鏄俯搴︿紶鎰熷櫒
if (mainDevice.Type == DeviceType.TemperatureSensor)
@@ -2585,11 +2634,9 @@
public void SetNewDeviceMainKeys(CommonDevice device, Newtonsoft.Json.Linq.JObject jobject)
{
//璁剧疆璁惧涓婚敭绫�
- device.Time = jobject.Value<int>("Time");
device.DeviceID = jobject.Value<int>("Device_ID");
device.DeviceAddr = jobject.Value<string>("DeviceAddr");
device.DeviceEpoint = jobject.Value<int>("Epoint");
- device.DataID = jobject.Value<int>("Data_ID");
}
#endregion
@@ -2672,6 +2719,9 @@
this.dicDeviceModelIdEnum["MSW01/M-ZB.10"] = "1304-1200-60000";//姘存蹈浼犳劅鍣�
this.dicDeviceModelIdEnum["MBU01/M-ZB.10"] = "1305-1200-60000";//绱ф�ユ寜閿�
this.dicDeviceModelIdEnum["MGCD01/ZB.10"] = "1306-1200-60000";//鍚搁《鐕冩皵浼犳劅鍣�
+
+ //PM2.5绌烘皵璐ㄩ噺浼犳劅鍣� 銆愯璁惧灞炰簬绗笁鏂硅澶囷紝娌℃湁闀滃儚ID銆�
+ this.dicDeviceModelIdEnum["SZ_PM100"] = "1307-1200-60000";//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
//=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄=========
this.dicDeviceModelIdEnum["MPR0310-ZB.10"] = "2300-2300-60001";//3璺户鐢靛櫒灏忔ā鍧�
@@ -2864,6 +2914,11 @@
/// </summary>
Sensor_CeilingGas = 1306,
/// <summary>
+ /// PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+ /// </summary>
+ Sensor_PMTwoPointFive = 1307,
+
+ /// <summary>
/// 杩愬姩浼犳劅鍣�
/// </summary>
Sensor_Motion = -1306,
--
Gitblit v1.8.0