From a39e669803d485caa354f0c6facde96905c0c44b Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 10 一月 2020 12:00:42 +0800
Subject: [PATCH] 2019.1.10
---
ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs | 123 +++++++++++++++++++++++++++++++----------
1 files changed, 93 insertions(+), 30 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
index 2c63cd3..6b7a615 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
@@ -20,6 +20,10 @@
/// 鎺т欢淇℃伅
/// </summary>
private Dictionary<string, RowControlInfo> dicControl = new Dictionary<string, RowControlInfo>();
+ /// <summary>
+ /// 婵�娲荤殑璁惧鍦板潃
+ /// </summary>
+ private string actionDeviceKeys = null;
#endregion
@@ -114,6 +118,7 @@
btnDeviceName.X = Application.GetRealWidth(193);
btnDeviceName.Y = Application.GetRealHeight(45);
frameTable.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly);
+ rowInfo.btnDeviceName = btnDeviceName;
//鎴块棿
var btnRoom = new NormalViewControl(400, 50, true);
btnRoom.X = btnDeviceName.X;
@@ -122,11 +127,13 @@
btnRoom.TextColor = UserCenterColor.Current.TextGrayColor1;
btnRoom.Text = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
frameTable.AddChidren(btnRoom, ChidrenBindMode.BindEventOnly);
+ rowInfo.btnRoom = btnRoom;
//鎽勬皬搴�
- var btnValue = new NormalViewControl(150, 60, true);
+ var btnValue = new NormalViewControl(300, 60, true);
btnValue.Y = Application.GetRealHeight(58);
- btnValue.X = frameTable.Width - Application.GetRealWidth(150 + 58);
+ btnValue.X = frameTable.Width - Application.GetRealWidth(300 + 58);
btnValue.TextAlignment = TextAlignment.CenterRight;
+ btnValue.TextID = R.MyInternationalizationString.uGetting;
frameTable.AddChidren(btnValue, ChidrenBindMode.BindEventOnly);
rowInfo.btnValue = btnValue;
//璀﹀憡鍥炬爣
@@ -182,6 +189,8 @@
frameTable.ButtonClickEvent += (sender, e) =>
{
+ this.actionDeviceKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
+
var form = new IndoorUnitSettionForm();
form.AddForm(device);
};
@@ -205,7 +214,7 @@
if (i != 0 && i % 5 == 0)
{
//璇诲彇5涓悗锛岄棿闅斾竴娈垫椂闂�
- System.Threading.Thread.Sleep(500);
+ System.Threading.Thread.Sleep(200);
if (this.Parent == null)
{
return;
@@ -215,6 +224,8 @@
((AC)listDevice[i]).ReadLocalTemperature();
//鑾峰彇寮�鍏崇姸鎬�(澶勪簬鏌愮宸ヤ綔鐘舵��,鍗充负鎵撳紑鐘舵��)
((AC)listDevice[i]).ReadSystemMode();
+ //娓呮礂婊ょ綉
+ listDevice[i].ReadAttri(Cluster_ID.Thermostat, AttriButeId.FilterCleaningStatus);
}
});
}
@@ -228,7 +239,7 @@
/// </summary>
private void StartReceiveDataEvent()
{
- HdlDeviceAttributeLogic.Current.AddAttributeEvent("IndoorUnitListFormEvent", "DeviceStatusReport", (device) =>
+ HdlGatewayReceiveLogic.Current.AddAttributeEvent("IndoorUnitListFormEvent", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (device) =>
{
string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
if (dicControl.ContainsKey(mainkeys) == false || device.DeviceStatusReport.CluterID != 513)
@@ -242,27 +253,30 @@
var data = device.DeviceStatusReport.AttriBute[i];
if (data.AttributeId == 0)
{
- //瀹ゅ唴娓╁害
- if (data.AttriButeData == 0)
+ HdlThreadLogic.Current.RunMain(() =>
{
- //0鈩�
- rowInfo.btnValue.Text = "0.0鈩�";
- }
- else if (data.AttriButeData > 32767)
- {
- //璐熸暟(鐗规畩澶勭悊)
- string strValue = (data.AttriButeData - 65536).ToString();
- //灏忔暟鐐归渶瑕佷竴浣�
- strValue = strValue.Substring(0, strValue.Length - 1);
- rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
- }
- else
- {
- //灏忔暟鐐归渶瑕佷竴浣�
- string strValue = data.AttriButeData.ToString();
- strValue = strValue.Substring(0, strValue.Length - 1);
- rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
- }
+ //瀹ゅ唴娓╁害
+ if (data.AttriButeData == 0)
+ {
+ //0鈩�
+ rowInfo.btnValue.Text = "0.0鈩�";
+ }
+ else if (data.AttriButeData > 32767)
+ {
+ //璐熸暟(鐗规畩澶勭悊)
+ string strValue = (data.AttriButeData - 65536).ToString();
+ //灏忔暟鐐归渶瑕佷竴浣�
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
+ }
+ });
}
else if (data.AttributeId == 28)
{
@@ -270,9 +284,25 @@
//Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8
if (data.AttriButeData != 0)
{
- rowInfo.btnSwitch.IsSelected = true;
- rowInfo.btnIcon.IsSelected = true;
- rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed;
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ rowInfo.btnSwitch.IsSelected = true;
+ rowInfo.btnIcon.IsSelected = true;
+ rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed;
+ });
+ }
+ }
+ else if (data.AttributeId == 4097)
+ {
+ //42:闇�瑕佹竻娲楁护缃�
+ if (data.AttriButeData == 42)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ rowInfo.btnWarningIcon.Visible = true;
+ //璇锋敞鎰忔竻娲楁护缃戝摝
+ rowInfo.btnWarningMsg.TextID = R.MyInternationalizationString.uPleaseClreanACfilter;
+ });
}
}
}
@@ -286,11 +316,36 @@
/// <summary>
/// 鐣岄潰鍏抽棴
/// </summary>
- public override void CloseForm()
+ public override void CloseFormBefore()
{
- HdlDeviceAttributeLogic.Current.RemoveEvent("IndoorUnitListFormEvent");
+ HdlGatewayReceiveLogic.Current.RemoveEvent("IndoorUnitListFormEvent");
- base.CloseForm();
+ base.CloseFormBefore();
+ }
+
+ #endregion
+
+ #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+
+ /// <summary>
+ /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
+ /// </summary>
+ public override int FormActionAgainEvent()
+ {
+ if (this.actionDeviceKeys != null && dicControl.ContainsKey(this.actionDeviceKeys) == true)
+ {
+ //鍒锋柊璁惧淇℃伅
+ var device = Common.LocalDevice.Current.GetDevice(this.actionDeviceKeys);
+ if (device != null)
+ {
+ var contr = dicControl[this.actionDeviceKeys];
+ contr.btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
+ contr.btnRoom.Text = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
+ }
+ }
+ this.actionDeviceKeys = null;
+
+ return 1;
}
#endregion
@@ -303,6 +358,14 @@
private class RowControlInfo
{
/// <summary>
+ /// 璁惧鍚嶅瓧
+ /// </summary>
+ public NormalViewControl btnDeviceName = null;
+ /// <summary>
+ /// 璁惧鎴块棿
+ /// </summary>
+ public NormalViewControl btnRoom = null;
+ /// <summary>
/// 璁惧鍥炬爣鑳屾櫙
/// </summary>
public FrameLayout btnIconBack = null;
--
Gitblit v1.8.0