From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 01 十二月 2022 09:56:25 +0800
Subject: [PATCH] 2022年12月01日09:56:23
---
ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs | 105 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 67 insertions(+), 38 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
index 2fe6c56..55ae1c5 100755
--- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -67,9 +67,6 @@
//鍏堟竻闄ゅ惂
this.RemoveAll();
- //鍒濆鍖栭粯璁ゆゼ灞侷D
- this.InitDefultFloorId();
-
//鍒濆鍖栧ご閮ㄦ帶浠�
this.InitTopControl();
//鍒濆鍖栦腑闂存帶浠�
@@ -94,7 +91,7 @@
topFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
this.AddChidren(topFrameLayout);
//鏍囬鍒嗙被
- var btnTitle = new NormalViewControl(300, 95, true);
+ var btnTitle = new NormalViewControl(400, 95, true);
btnTitle.X = ControlCommonResourse.XXLeft;
btnTitle.Gravity = Gravity.CenterVertical;
btnTitle.TextID = R.MyInternationalizationString.Category;
@@ -399,7 +396,7 @@
frameDeviceBack.AddChidren(listDeviceView);
//涓婁竴娆¢�夋嫨鐨勮彍鍗�
- MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
+ MainPage.Controls.DeviceFunctionMenuControl oldSelectContr = null;
DeviceRowInfo nowSelectDeviceInfo = null;
foreach (string strText in dicGroupDevice.Keys)
{
@@ -411,9 +408,9 @@
HorizontalView.AddChidren(devieFrame);
//鑿滃崟鍥剧墖鎺т欢
- var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl();
+ var deviceObjContr = new MainPage.Controls.DeviceFunctionMenuControl();
devieFrame.AddChidren(deviceObjContr);
- deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
+ deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected);
deviceObjContr.ButtonClickEvent += (sender, e) =>
{
//閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞�
@@ -499,6 +496,11 @@
{
cardContr = new Controls.DeviceCurtainRowControl();
}
+ //鏅捐。鏋� Airer
+ if (device.Type == DeviceType.Airer)
+ {
+ cardContr = new Controls.DeviceAirerRowControl();
+ }
//缁х數鍣�
else if (device.Type == DeviceType.OnOffOutput)
{
@@ -524,6 +526,22 @@
{
cardContr = new Controls.DevicePmSensorRowControl();
}
+ // 绌烘皵璐ㄩ噺浼犳劅鍣�
+ else if (device.Type == DeviceType.TemperatureSensor)
+ {
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+ {
+ cardContr = new Controls.DeviceAirQualitySensorRowControl();
+ }
+ else
+ {
+ //娓╂箍搴�
+ cardContr = new Controls.DeviceTemperatureRowControl();
+ }
+ }
//褰╃伅(璋冨厜鍣�)
else if (device.Type == DeviceType.DimmableLight)
{
@@ -533,11 +551,6 @@
else if (device.Type == DeviceType.IASZone)
{
cardContr = new Controls.DeviceSensorRowControl();
- }
- //娓╂箍搴�
- else if (device.Type == DeviceType.TemperatureSensor)
- {
- cardContr = new Controls.DeviceTemperatureRowControl();
}
//闂ㄩ攣
else if (device.Type == DeviceType.DoorLock)
@@ -550,7 +563,7 @@
cardContr = new Controls.DeviceColorTemperatureRowControl();
}
//鏃犳硶璇嗗埆
- else
+ if (cardContr == null)
{
cardContr = new Controls.DeviceRowCommon();
//娌℃湁鐘舵�佸姛鑳�
@@ -585,15 +598,37 @@
}
HdlThreadLogic.Current.RunThread(() =>
{
- for (int i = 0; i < listContr.Count; i++)
+ int sendCount = 0;
+ while (listView.Parent != null)
{
- if (listView.Parent == null)
+ bool hadSend = false;
+ for (int i = 0; i < listContr.Count; i++)
{
- return;
+ if (listView.Parent == null)
+ {
+ return;
+ }
+ //濡傛灉杩樻病鏈夋帴鏀跺埌鏁版嵁,鍒欏啀娆″彂閫�
+ if (listContr[i].ReceiveResponeResultStatu() == false)
+ {
+ //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护
+ listContr[i].SendStatuComand();
+ hadSend = true;
+ System.Threading.Thread.Sleep(300);
+ }
}
- System.Threading.Thread.Sleep(200);
- //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护
- listContr[i].SendStatuComand();
+ if (hadSend == false)
+ {
+ //濡傛灉宸茬粡鍏ㄩ儴鍥炶矾閮芥帴鏀朵簡缃戝叧鍥炲,鍒欎笉鍐嶄簩娆″彂閫�
+ break;
+ }
+ sendCount++;
+ if (sendCount == 2)
+ {
+ //灏卞彂2娆�
+ break;
+ }
+ System.Threading.Thread.Sleep(5000);
}
}, ShowErrorMode.NO);
@@ -824,6 +859,16 @@
{
//澶勭悊涓�鑸澶囩殑涓婃姤鏁版嵁
string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
+ //鏅捐。鏋朵笂鎶ラ渶瑕佺壒娈婂鐞嗭紝鍏朵粬涓婃姤鐨勫洖璺粺涓�杞负绔偣1
+ var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
+ if (tempList.Count > 0)
+ {
+ var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
+ if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
+ {
+ mainKeys = report.DeviceAddr + "_" + 1;
+ }
+ }
if (this.dicDeviceRowControl.ContainsKey(mainKeys) == true)
{
//鍒锋柊鍗$墖淇℃伅
@@ -916,7 +961,8 @@
//璁惧鐘舵�佸繀椤诲埛鏂�
string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device);
contr.SetDeviceStatuText(statuText);
-
+ //浼犳劅鍣ㄥ垏鎹负鐏拌壊鐘舵��
+ contr.SwitchRowStatuAppeal(false);
}, ShowErrorMode.NO);
}
}
@@ -963,7 +1009,7 @@
string path1 = string.Empty;
string path2 = string.Empty;
//鑾峰彇鍥剧墖
- LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
+ LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref path1, ref path2);
dic[typeInfo.BeloneText].IconPath = path1;
dic[typeInfo.BeloneText].IconPathSelected = path2;
dic[typeInfo.BeloneText].Text = typeInfo.BeloneText;
@@ -1022,23 +1068,6 @@
timeStr += sec + secondText;
}
return timeStr;
- }
-
- /// <summary>
- /// 鍒濆鍖栭粯璁ゆゼ灞侷D
- /// </summary>
- private void InitDefultFloorId()
- {
- if (Config.Instance.Home.CurrentFloorId != string.Empty)
- {
- return;
- }
- var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
- foreach (var floorId in dicFloor.Keys)
- {
- Config.Instance.Home.CurrentFloorId = floorId;
- break;
- }
}
#endregion
--
Gitblit v1.8.0