From 1f6f024bddf48dea1c17c54ade1535a10ef7b39b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 17:16:37 +0800
Subject: [PATCH] 2020-03-23-2
---
ZigbeeApp/Shared/Phone/UserView/UserPage.cs | 280 ++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 182 insertions(+), 98 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
old mode 100755
new mode 100644
index 8ffd033..c850ea8
--- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -3,13 +3,14 @@
using Shared.Common;
using ZigBee.Device;
using Shared.Phone.Device.AC;
-
+using System.Text;
+
namespace Shared.Phone.UserView
{
/// <summary>
/// User page.
/// </summary>
- public class UserPage : FrameLayout,ZigBee.Common.IStatus
+ public class UserPage : FrameLayout, ZigBee.Common.IStatus
{
#region 鈼� 鍙橀噺_______________________
/// <summary>
@@ -39,7 +40,7 @@
/// <summary>
/// 搴曢儴鎸夐挳鏂囧瓧鐨刌鍊�
/// </summary>
- private static readonly int tabBarEnumName_Y = 104;
+ private static readonly int tabBarEnumName_Y = 98;
#endregion
#region 鈼� 鎺ュ彛____________________________
@@ -77,6 +78,10 @@
{
try
{
+ if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0)
+ {
+ return;
+ }
switch (myDevice.Type)
{
case DeviceType.OnOffOutput:
@@ -85,11 +90,6 @@
{
var onOffOutputLight = (ToggleLight)myDevice;
onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport;
- //璁板綍銆佹洿鏂扮姸鎬�
- if (onOffOutputLight.DeviceStatusReport.AttriBute == null || onOffOutputLight.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
onOffOutputLight.LastDateTime = DateTime.Now;
}
@@ -107,13 +107,8 @@
{
var airSwitch = (AirSwitch)myDevice;
airSwitch.DeviceStatusReport = common.DeviceStatusReport;
- if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
airSwitch.LastDateTime = DateTime.Now;
-
}
//褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
if (common.DeviceStatusReport.CluterID == 3)
@@ -129,10 +124,6 @@
var rollershade = (Rollershade)myDevice;
rollershade.DeviceStatusReport = common.DeviceStatusReport;
var attriButeList = rollershade.DeviceStatusReport.AttriBute;
- if (attriButeList == null || attriButeList.Count == 0)
- {
- return;
- }
switch (attriButeList[0].AttributeId)
{
case 0:
@@ -155,38 +146,36 @@
var ac = (AC)myDevice;
ac.DeviceStatusReport = common.DeviceStatusReport;
var attriButeList = ac.DeviceStatusReport.AttriBute;
- if (attriButeList == null || attriButeList.Count == 0)
+ foreach (var attList in attriButeList)
{
- return;
- }
- //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
- var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
- switch (attriButeList[0].AttributeId)
- {
- case 0:
- ac.currentLocalTemperature = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
-
- case 17:
- ac.currentCoolingSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
-
- case 18:
- ac.currentHeatingSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
-
- case 4096:
- ac.currentAutoSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
-
- case 28:
- ac.currentSystemMode = attriButeList[0].AttriButeData;
- ac.LastDateTime = DateTime.Now;
- break;
+ //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
+ var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default;
+ switch (attList.AttributeId)
+ {
+ case 0:
+ ac.currentLocalTemperature = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 17:
+ ac.currentCoolingSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 18:
+ ac.currentHeatingSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 4096:
+ ac.currentAutoSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 28:
+ ac.currentSystemMode = attList.AttriButeData;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 4097:
+ ac.CleanStatu = attList.AttriButeData == 42;
+ break;
+ }
}
}
@@ -194,21 +183,20 @@
{
var ac = (AC)myDevice;
var attriButeList = common.DeviceStatusReport.AttriBute;
- if (attriButeList == null || attriButeList.Count == 0)
- {
- return;
- }
ac.DeviceStatusReport = common.DeviceStatusReport;
- switch (attriButeList[0].AttributeId)
- {
- case 0:
- ac.currentFanMode = attriButeList[0].AttriButeData;
- ac.LastDateTime = DateTime.Now;
- break;
- case 4096:
- ac.currentFanSwingMode = attriButeList[0].AttriButeData;
- ac.LastDateTime = DateTime.Now;
- break;
+ foreach (var attList in attriButeList)
+ {
+ switch (attList.AttributeId)
+ {
+ case 0:
+ ac.currentFanMode = attList.AttriButeData;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 4096:
+ ac.currentFanSwingMode = attList.AttriButeData;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ }
}
}
@@ -227,11 +215,6 @@
{
var dimmableLight = (DimmableLight)myDevice;
dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
- //璁板綍銆佹洿鏂扮姸鎬�
- if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
dimmableLight.LastDateTime = DateTime.Now;
}
@@ -241,10 +224,6 @@
var dimmableLight = (DimmableLight)myDevice;
dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
var attriButeList = dimmableLight.DeviceStatusReport.AttriBute;
- if (attriButeList == null || attriButeList.Count == 0)
- {
- return;
- }
switch (attriButeList[0].AttributeId)
{
case 0:
@@ -260,6 +239,62 @@
myDevice.LastDateTime = DateTime.Now;
}
break;
+
+ case DeviceType.TemperatureSensor:
+ //娓╁害
+ if (common.DeviceStatusReport.CluterID == 1026)
+ {
+ var tempera = (TemperatureSensor)myDevice;
+ foreach (var data in common.DeviceStatusReport.AttriBute)
+ {
+ if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ {
+ if (data.AttriButeData == 0)
+ {
+ tempera.Temperatrue = 0;
+ }
+ else if (data.AttriButeData > 32767)
+ {
+ //璐熸暟(鐗规畩澶勭悊)
+ string strValue = (data.AttriButeData - 65536).ToString();
+ //灏忔暟鐐归渶瑕佷竴浣�
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ }
+ }
+ }
+ }
+ //婀垮害
+ if (common.DeviceStatusReport.CluterID == 1029)
+ {
+ var tempera = (TemperatureSensor)myDevice;
+ foreach (var data in common.DeviceStatusReport.AttriBute)
+ {
+ if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ {
+ if (data.AttriButeData == 0)
+ {
+ tempera.Humidity = 0;
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ tempera.LastDateTime = DateTime.Now;
+ }
+ }
+ }
+ }
+ break;
}
}
catch (Exception ex)
@@ -273,6 +308,21 @@
myDevice.IsOnline = common.IsOnline;
//璁板綍鍥炲鏃堕棿
myDevice.LastDateTime = DateTime.Now;
+ }
+ else if (typeTag == "IASInfoReport")
+ {
+ try
+ {
+ switch (myDevice.Type)
+ {
+ case DeviceType.IASZone:
+ var iAS = (IASZone)myDevice;
+ iAS.iASInfo = (common as IASZone).iASInfo;
+ iAS.LastDateTime = DateTime.Now;
+ break;
+ }
+ }
+ catch { }
}
}
/// <summary>
@@ -316,6 +366,10 @@
{
BackgroundColor = Shared.Common.ZigbeeColor.Current.MainColor;
ZbGateway.StatusList.Add(this);
+ Shared.Application.LocationAction += (lon, lat) =>
+ {
+ Login.AccountLogic.Instance.ReceiveAppLatAndLon(lon.ToString(), lat.ToString());
+ };
}
/// <summary>
@@ -366,7 +420,6 @@
Width = Application.GetMinRealAverage(tabBarEnumIMG_Width),
UnSelectedImagePath = "Navigation/Home.png",
SelectedImagePath = "Navigation/HomeSelected.png",
- IsSelected = true,
Gravity = Gravity.CenterHorizontal
};
/// <summary>
@@ -379,7 +432,6 @@
TextID = R.MyInternationalizationString.HomePage,
TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor,
SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2,
- IsSelected = true,
Gravity = Gravity.CenterHorizontal,
TextSize = 10
};
@@ -391,7 +443,7 @@
/// </summary>
public FrameLayout categoryFL = new FrameLayout
{
- X=Application.GetRealWidth(tabBarEnum_Width),
+ X = Application.GetRealWidth(tabBarEnum_Width),
Width = Application.GetRealWidth(tabBarEnum_Width),
Height = Application.GetRealHeight(CommonPage.TabbarHeight)
};
@@ -417,9 +469,8 @@
TextID = R.MyInternationalizationString.Category,
TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor,
SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2,
- IsSelected = false,
Gravity = Gravity.CenterHorizontal,
- TextSize=10
+ TextSize = 10
};
#endregion
@@ -429,7 +480,7 @@
/// </summary>
public FrameLayout settingFL = new FrameLayout
{
- X = Application.GetRealWidth(tabBarEnum_Width*2),
+ X = Application.GetRealWidth(tabBarEnum_Width * 2),
Width = Application.GetRealWidth(tabBarEnum_Width),
Height = Application.GetRealHeight(CommonPage.TabbarHeight)
};
@@ -455,7 +506,6 @@
TextID = R.MyInternationalizationString.Me,
TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor,
SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2,
- IsSelected = false,
Gravity = Gravity.CenterHorizontal,
TextSize = 10
};
@@ -464,39 +514,73 @@
EventHandler<MouseEventArgs> BottomEventHandler = (sender, e) =>
{
- Instance.homePageName.IsSelected = false;
- Instance.homePageIMG.IsSelected = false;
-
- Instance.categoryName.IsSelected = false;
- Instance.categoryIMG.IsSelected = false;
-
- Instance.settingName.IsSelected = false;
- Instance.settingIMG.IsSelected = false;
-
- Instance.BodyView.RemoveAll();
if (sender == Instance.homePageIMG || sender == Instance.homePageName)
{
+
+ if (Instance.homePageName.IsSelected == true && e != null)
+ {
+ //鍙湁鏄墜鍔ㄧ偣鍑荤殑鏃跺�欐墠澶勭悊
+ return;
+ }
+ Instance.BodyView.RemoveAll();
//涓婚〉
+ CommonPage.Instance.IsDrawerLockMode = false;
Instance.homePageName.IsSelected = true;
- Instance.homePageIMG.IsSelected = true;
- var home = new UserHomeView { };
+ Instance.homePageIMG.IsSelected = true;
+
+ Instance.categoryName.IsSelected = false;
+ Instance.categoryIMG.IsSelected = false;
+
+ Instance.settingName.IsSelected = false;
+ Instance.settingIMG.IsSelected = false;
+
+ var home = new MainPage.UserHomeView2();
Instance.BodyView.AddChidren(home);
- home.Show();
+ home.ShowForm();
+
}
- else if (sender == Instance.categoryIMG || sender==Instance.categoryName)
- {
+ else if (sender == Instance.categoryIMG || sender == Instance.categoryName)
+ {
+ if (Instance.categoryName.IsSelected == true && e != null)
+ {
+ //鍙湁鏄墜鍔ㄧ偣鍑荤殑鏃跺�欐墠澶勭悊
+ return;
+ }
+
+ Instance.BodyView.RemoveAll();
//鍒嗙被
+ CommonPage.Instance.IsDrawerLockMode = true;
Instance.categoryName.IsSelected = true;
- Instance.categoryIMG.IsSelected = true;
+ Instance.categoryIMG.IsSelected = true;
+
+ Instance.homePageName.IsSelected = false;
+ Instance.homePageIMG.IsSelected = false;
+
+ Instance.settingName.IsSelected = false;
+ Instance.settingIMG.IsSelected = false;
+
var category = new Phone.Device.Category.Category { };
Instance.BodyView.AddChidren(category);
category.Show();
}
- else if (sender == Instance.settingIMG || sender==Instance.settingName)
- {
- //涓汉涓績
+ else if (sender == Instance.settingIMG || sender == Instance.settingName)
+ {
+ if (Instance.settingName.IsSelected == true && e != null)
+ {
+ return;
+ }
+ Instance.BodyView.RemoveAll();
+ //涓汉涓績
+ CommonPage.Instance.IsDrawerLockMode = true;
Instance.settingName.IsSelected = true;
- Instance.settingIMG.IsSelected = true;
+ Instance.settingIMG.IsSelected = true;
+
+ Instance.homePageName.IsSelected = false;
+ Instance.homePageIMG.IsSelected = false;
+
+ Instance.categoryName.IsSelected = false;
+ Instance.categoryIMG.IsSelected = false;
+
var form = new UserCenter.UserMain.UserMainForm();
Instance.BodyView.AddChidren(form);
form.ShowForm();
--
Gitblit v1.8.0