From caf9d97d5c445fa459b777c5569625bbfd0ff5fc Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 07 五月 2020 09:29:53 +0800
Subject: [PATCH] 2020-05-07-1
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 87 +++++++++++++++++++++++++++++++------------
1 files changed, 63 insertions(+), 24 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index 79f5634..c4d3d74 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -274,7 +274,7 @@
}
#endregion
- #region 鈻� 绌鸿皟鏁版嵁
+ #region 鈻� 绌鸿皟鍜屾柊椋庢暟鎹�
//绌鸿皟鏁版嵁
else if (report.DeviceStatusReport.CluterID == 513)
{
@@ -343,29 +343,59 @@
locadevice.DeviceStatusReport = report.DeviceStatusReport;
foreach (var attData in report.DeviceStatusReport.AttriBute)
{
- if (attData.AttributeId == 0)
+ //鍖哄垎鏄┖璋冭繕鏄柊椋�
+ var device = Shared.Common.LocalDevice.Current.GetDevice(report.DeviceAddr, report.DeviceEpoint);
+
+ if (device.Type == DeviceType.FreshAir)
{
- //椋庢墖妯″紡
- ((AC)locadevice).currentFanMode = attData.AttriButeData;
- //宸茬粡鎺ユ敹鍒扮姸鎬�
- locadevice.HadReadDeviceStatu = true;
+ if (attData.AttributeId == 0)
+ {
+ switch (attData.AttriButeData)
+ {
+ case 0:
+ case 4:
+ ((FreshAir)locadevice).currentFanStatus = attData.AttriButeData;
+ break;
+ case 1:
+ case 2:
+ case 3:
+ ((FreshAir)locadevice).currentFanSpeed = attData.AttriButeData;
+ break;
+ case 5:
+ case 15:
+ ((FreshAir)locadevice).currentFanMode = attData.AttriButeData;
+ break;
+ }
+ //宸茬粡鎺ユ敹鍒扮姸鎬�
+ locadevice.HadReadDeviceStatu = true;
+ }
}
- else if (attData.AttributeId == 4096)
+ else
{
- //椋庢墖鎵
- ((AC)locadevice).currentFanSwingMode = attData.AttriButeData;
- //宸茬粡鎺ユ敹鍒扮姸鎬�
- locadevice.HadReadDeviceStatu = true;
- }
- else if (attData.AttributeId == 4097)
- {
- //杞崲涓轰簩杩涘埗
- var value = Convert.ToString(attData.AttriButeData, 2).PadLeft(16, '0');
- //杩欎釜璁剧疆鏄斁鍦ㄥ悗闈㈢殑
- value = value.Substring(value.Length - 1, 1);
- //鍚敤鎽嗛鍔熻兘
- ((AC)locadevice).UseSwingFunction = value == "1";
- locadevice.ReSave();
+ if (attData.AttributeId == 0)
+ {
+ //椋庢墖妯″紡
+ ((AC)locadevice).currentFanMode = attData.AttriButeData;
+ //宸茬粡鎺ユ敹鍒扮姸鎬�
+ locadevice.HadReadDeviceStatu = true;
+ }
+ else if (attData.AttributeId == 4096)
+ {
+ //椋庢墖鎵
+ ((AC)locadevice).currentFanSwingMode = attData.AttriButeData;
+ //宸茬粡鎺ユ敹鍒扮姸鎬�
+ locadevice.HadReadDeviceStatu = true;
+ }
+ else if (attData.AttributeId == 4097)
+ {
+ //杞崲涓轰簩杩涘埗
+ var value = Convert.ToString(attData.AttriButeData, 2).PadLeft(16, '0');
+ //杩欎釜璁剧疆鏄斁鍦ㄥ悗闈㈢殑
+ value = value.Substring(value.Length - 1, 1);
+ //鍚敤鎽嗛鍔熻兘
+ ((AC)locadevice).UseSwingFunction = value == "1";
+ locadevice.ReSave();
+ }
}
}
}
@@ -477,6 +507,8 @@
if (locadevice != null)
{
((IASZone)locadevice).iASInfo = ias.iASInfo;
+ //濡傛灉鎺ユ敹鍒颁笂鎶�,鍗宠鏄庤繖涓紶鎰熷櫒鏄湪绾跨殑
+ locadevice.IsOnline = 1;
//璁板綍鍥炲鏃堕棿
locadevice.LastDateTime = DateTime.Now;
}
@@ -512,10 +544,17 @@
//甯稿紑妯″紡鍏抽棴
if (info.AlarmCode == 217 || info.AlarmCode == 219)
{
- HdlThreadLogic.Current.RunMain(() =>
+ HdlThreadLogic.Current.RunThread(async () =>
{
- //寮瑰嚭寰愭鐨勯偅涓獥鍙�
- DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, null);
+ //娓╁眳鍩庣殑瑕佺綉鍏充腑鏄惁鏈夐�昏緫瀛樺湪
+ //鍙傛暟:2-甯稿紑鑷姩鍖�;3-澶辨晥鏃堕棿鑷姩鍖�
+ var result = await Shared.Phone.Device.Logic.SkipView.Exist(2);
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //寮瑰嚭寰愭鐨勯偅涓獥鍙�
+ DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush,
+ result != 0 ? true : false, null);
+ });
});
}
}
--
Gitblit v1.8.0