From 8c52c7c268ca5b2147b5276da0e2d550876213c3 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 09 十二月 2019 15:00:04 +0800
Subject: [PATCH] 2019-12-09-2
---
ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs | 155 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 137 insertions(+), 18 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
index 06a88f2..e61dadc 100755
--- a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
+++ b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
@@ -12,6 +12,10 @@
public class SceneTargetDeviceUI
{
/// <summary>
+ /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 2鏃堕棿娈� 1鍏朵粬鍦烘櫙
+ /// </summary>
+ public int Type = 0;
+ /// <summary>
/// 浠诲姟鍒楄〃涓殑鏁版嵁鍒楄〃
/// Type=0 瀛樺湪
/// </summary>
@@ -21,28 +25,31 @@
/// Type=0 瀛樺湪
/// </summary>
public DeviceUI DeviceUI = new DeviceUI();
+
/// <summary>
- /// 閫夋嫨鐨勫満鏅�
- /// Type=2 瀛樺湪
- /// </summary>
- public SceneUI SceneUI = new SceneUI();
- /// <summary>
+ /// Type=0銆�1銆�2 瀛樺湪
/// 寤舵椂鏃堕棿
- /// Type=1 瀛樺湪
/// </summary>
public int DelayTime = 0;
/// <summary>
- /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 1鏃堕棿娈� 2鍦烘櫙
+ /// 褰揟ype=2鏃跺瓨鍦�
+ /// 寤舵椂鎵ц搴忓彿锛岃〃绀虹鍑犱釜寤舵椂鍔ㄤ綔
/// </summary>
- public int Type = 0;
+ public int DelayTimeSerialNumber = 0;
+
+ /// <summary>
+ /// 閫夋嫨鐨勫満鏅�
+ /// Type=1 瀛樺湪
+ /// </summary>
+ public SceneUI SceneUI = new SceneUI();
/// <summary>
/// 浣滀负鎴愬憳鐨勫叾浠栧満鏅痠d銆�
- /// Type=2 瀛樺湪
+ /// Type=1 瀛樺湪
/// </summary>
public int ElseScenesId = 0;
/// <summary>
/// 鍦烘櫙鍚嶇О
- /// Type=2 瀛樺湪
+ /// Type=1 瀛樺湪
/// </summary>
public string SceneName = string.Empty;
/// <summary>
@@ -57,13 +64,125 @@
}
}
- //public string TargetHasd
- //{
- // get
- // {
- // return GetHashCode().ToString();
- // }
- //}
-
+ /// <summary>
+ /// GetDeviceStatu
+ /// </summary>
+ /// <returns></returns>
+ public string GetDeviceStatu()
+ {
+ if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
+ {
+ if (TaskList.Count == 0)
+ {
+ return null;
+ }
+ if (TaskList[0].Data1 == 1)
+ {
+ return Language.StringByID(R.MyInternationalizationString.Open);
+ }
+ return Language.StringByID(R.MyInternationalizationString.Shut);
+ }
+ else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
+ {
+ if (TaskList.Count == 0)
+ {
+ return null;
+ }
+ if (TaskList[0].Data1 == 1)
+ {
+ return Language.StringByID(R.MyInternationalizationString.Open);
+ }
+ return Language.StringByID(R.MyInternationalizationString.Shut);
+ }
+ else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
+ {
+ if (TaskList.Count == 0)
+ {
+ return null;
+ }
+ if (TaskList[0].Data1 == 0)
+ {
+ return Language.StringByID(R.MyInternationalizationString.Shut);
+ }
+ return $"{(int)(TaskList[0].Data1 * 1.0 / 254 * 100)}%";
+ }
+ else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
+ {
+ if (TaskList.Count == 0)
+ {
+ return null;
+ }
+ if (TaskList[0].Data1 == 0)
+ {
+ return Language.StringByID(R.MyInternationalizationString.Shut);
+ }
+ return $"{TaskList[0].Data1}%";
+ }
+ else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
+ {
+ //娓╁害锛屾ā寮忥紝椋庨��
+ string tempareture = string.Empty;
+ string model = string.Empty;
+ string wind = string.Empty;
+ if (TaskList.Count == 0)
+ {
+ return null;
+ }
+ foreach(var taskListInfo in TaskList)
+ {
+ if(taskListInfo.Data1==3)
+ {
+ if(taskListInfo.Data2==0)
+ {
+ return Language.StringByID(R.MyInternationalizationString.Shut);
+ }
+ else if(taskListInfo.Data2==1)
+ {
+ model = Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+ }
+ else if(taskListInfo.Data2==3)
+ {
+ model = Language.StringByID(R.MyInternationalizationString.Mode_Cool);
+ }
+ else if (taskListInfo.Data2 == 4)
+ {
+ model = Language.StringByID(R.MyInternationalizationString.Mode_Heat);
+ }
+ else if (taskListInfo.Data2 == 7)
+ {
+ model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
+ }
+ else if (taskListInfo.Data2 == 8)
+ {
+ model = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
+ }
+ }
+ else if(taskListInfo.Data1==4 || taskListInfo.Data1==5)
+ {
+ tempareture = $"{ taskListInfo.Data2/100} 鈩�";
+ }
+ else if (taskListInfo.Data1 == 6)
+ {
+ if (taskListInfo.Data2 == 1)
+ {
+ wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
+ }
+ else if(taskListInfo.Data2 ==2)
+ {
+ wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
+ }
+ else if (taskListInfo.Data2 == 3)
+ {
+ wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
+ }
+ }
+ }
+ return $"{tempareture},{model},{wind}";
+ }
+ else
+ {
+ return null;
+ }
+ }
}
}
--
Gitblit v1.8.0