From ad94907bfe5389114dcb841b339886c6a8ef6851 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 02 四月 2020 17:09:23 +0800
Subject: [PATCH] 2020-04-2-02-3
---
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 2951 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 1,475 insertions(+), 1,476 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 5ff1223..cd1a3ce 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1,30 +1,21 @@
锘縰sing System;
using System.Collections.Generic;
using Shared.Common;
-using Shared.Phone.Device.AC;
-using ZigBee.Device;
using Shared.Phone.Device.CommonForm;
-using Shared.Phone.UserCenter.DoorLock;
-using System.Timers;
using Shared.Phone.Device.DeviceLogic;
+using Shared.Phone.UserCenter;
+using Shared.Phone.UserCenter.DoorLock;
+using ZigBee.Device;
namespace Shared.Phone.UserView
{
-
/// <summary>
- /// 涓婚〉
+ /// 涓婚〉(姝や笢瑗胯鑸嶅純,闄や簡瀹冮噷闈㈢殑闈欐�佹柟娉�)
/// </summary>
- public class UserHomeView : FrameLayout, ZigBee.Common.IStatus
- {
- #region 鈼� 鍙橀噺____________________________
- /// <summary>
- /// 璁惧鏄惁鍦ㄧ嚎鏍囪瘑--Online
- /// </summary>
- private readonly string deviceStatus_Online = "Online";
- /// <summary>
- /// 璁惧鐘舵�佸紑鍏虫爣璇�--Switch
- /// </summary>
- private readonly string deviceStatus_OnOffStatus = "Switch";
+ public class UserHomeView : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
/// <summary>
/// 鍔熻兘ScrolViewLayout
/// </summary>
@@ -33,19 +24,10 @@
/// 鍔熻兘鍜屽満鏅痓odyView
/// </summary>
private FrameLayout functionSceneBodyView;
-
- /// <summary>
- /// The height of the room page view. -- 550
- /// </summary>
- private static readonly int roomPageView_Height = 550;
- /// <summary>
- /// 鍔熻兘鍗$墖楂樺害 --250
- /// </summary>
- private static readonly int deviceFL_Height = 250;
/// <summary>
/// 鍔熻兘鎸夐敭
/// </summary>
- private Button functionBtn;
+ private NormalViewControl btnFunction;
/// <summary>
/// 璇诲彇璁惧鐘舵�佺殑绾跨▼鍒楄〃
@@ -69,624 +51,213 @@
/// </summary>
private bool sendedControlCommand = false;
- /// <summary>
- /// 寤舵椂 300姣
- /// </summary>
- private readonly int sleepSpan = 300;
-
-
private FrameLayout itemView = new FrameLayout();
/// <summary>
- /// floorBtn
+ /// btnFloor
/// </summary>
- private Button floorBtn;
- /// <summary>
- /// timeDic
- /// </summary>
- private Dictionary<string, Timer> timerDic = new Dictionary<string, Timer> { };
+ private NormalViewControl btnFloor;
/// <summary>
/// sceneScrolView
/// </summary>
- private VerticalScrolViewLayout sceneScrolView ;
+ private VerticalScrolViewLayout sceneScrolView;
+
#endregion
-
- #region 鈼� 鎺ュ彛____________________________
-
- /// <summary>
- /// 璇ユ帴鍙e皢寮冪敤 !!!!!!
- /// 鏀圭敤DeviceInfoChange()
- /// </summary>
- /// <returns>The changed.</returns>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
- {
-
- }
-
- /// <summary>
- /// 璁惧鐘舵�佹洿鏂版帴鍙�
- /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para>
- /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para>
- /// <para>type锛氬鏋滀负 DeviceStatusReport:璁惧涓婃姤</para>
- /// <para>type锛氬鏋滀负 IASInfoReport:IAS瀹夐槻淇℃伅涓婃姤</para>
- /// <para>type锛氬鏋滀负 OnlineStatusChange: 璁惧鍦ㄧ嚎鐘舵�佹洿鏂�</para>
- /// </summary>
- /// <param name="common">Common.</param>
- /// <param name="typeTag">Type tag.</param>
- public void DeviceInfoChange(CommonDevice common, string typeTag)
- {
- //璁惧涓婃姤鐘舵�佷腑 褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
- if (typeTag == "DeviceStatusReport")
- {
- Application.RunOnMainThread(() =>
- {
- try
- {
- if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
- for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
- {
- var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
- if (rowFL.ChildrenCount == 0)
- {
- //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
- continue;
- }
- for (int j=0;j<rowFL.ChildrenCount;j++)
- {
- var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI;
- if (deviceUI == null || deviceUI.CommonDevice == null)
- {
- //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
- continue;
- }
- if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint)
- {
- //鍒ゆ柇鏄惁涓哄綋鍓嶈澶�
- continue;
- }
+ #region 鈻� 鍒濆鍖朹____________________________
- switch (deviceUI.CommonDevice.Type)
- {
- case DeviceType.OnOffOutput:
- //寮�鍏冲姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
- {
- var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
- onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport;
- onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- onOffOutputLight.LastDateTime = DateTime.Now;
- }
- break;
-
- case DeviceType.AirSwitch:
- //寮�鍏冲姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
- {
- var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- airSwitch.DeviceStatusReport = common.DeviceStatusReport;
- airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- airSwitch.LastDateTime = DateTime.Now;
- }
- //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
- if (common.DeviceStatusReport.CluterID == 3)
- {
- deviceUI.CommonDevice.IsOnline = 1;
- deviceUI.CommonDevice.LastDateTime = DateTime.Now;
- }
- break;
-
- case DeviceType.WindowCoveringDevice:
- if (common.DeviceStatusReport.CluterID == 258)
- {
- if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0)
- {
- //绐楀笜绫诲瀷
- var rollerShade = deviceUI.CommonDevice as Rollershade;
- rollerShade.DeviceStatusReport = common.DeviceStatusReport;
- rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData;
- rollerShade.LastDateTime = DateTime.Now;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- }
- if (common.DeviceStatusReport.AttriBute[0].AttributeId == 8)
- {
- //绐楀笜鐧惧垎姣�
- var rollerShade = deviceUI.CommonDevice as Rollershade;
- rollerShade.DeviceStatusReport = common.DeviceStatusReport;
- rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData;
- rollerShade.LastDateTime = DateTime.Now;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- }
- }
- if (common.DeviceStatusReport.CluterID == 3)
- {
- deviceUI.CommonDevice.IsOnline = 1;
- deviceUI.CommonDevice.LastDateTime = DateTime.Now;
- }
- break;
-
- case DeviceType.Thermostat:
- //AC鍔熻兘
- if (common.DeviceStatusReport.CluterID == 513)
- {
- var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
- ac.DeviceStatusReport = common.DeviceStatusReport;
- var attriButeList = ac.DeviceStatusReport.AttriBute;
- foreach(var attList in attriButeList)
- {
- 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:
- //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
- ac.currentLocalTemperature = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
- case 17:
- //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
- ac.currentCoolingSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
- case 18:
- //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
- ac.currentHeatingSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
- case 4096:
- //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
- ac.currentAutoSetpoint = curTemp;
- ac.LastDateTime = DateTime.Now;
- break;
-
- case 28:
- //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
- ac.currentSystemMode = attList.AttriButeData;
- ac.LastDateTime = DateTime.Now;
- break;
- case 4099:
- var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0');
- var modeStr = value.Substring(value.Length - 5, 5);
- for (int k = 0; k < modeStr.Length; k++)
- {
- ac.listSupportMode[k] = Convert.ToInt32(modeStr[k]) == 49 ? 1 : 0;
- }
- break;
- }
- }
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- }
- if (common.DeviceStatusReport.CluterID == 514)
- {
- var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
- var attriButeList = common.DeviceStatusReport.AttriBute;
- ac.DeviceStatusReport = common.DeviceStatusReport;
- 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;
- }
- }
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- }
- //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
- if (common.DeviceStatusReport.CluterID == 3)
- {
- var ac = deviceUI.CommonDevice as AC;
- ac.IsOnline = 1;
- ac.LastDateTime = DateTime.Now;
- }
- break;
-
- case DeviceType.DimmableLight:
- //璋冨厜鐏姛鑳�
- if (common.DeviceStatusReport.CluterID == 6)
- {
- var dimmableLight = deviceUI.CommonDevice as DimmableLight;
- dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
- dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = dimmableLight.OnOffStatus == 1;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- dimmableLight.LastDateTime = DateTime.Now;
- }
-
- //浜害
- if (common.DeviceStatusReport.CluterID == 8)
- {
- var dimmableLight = deviceUI.CommonDevice as DimmableLight;
- dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
- var attriButeList = dimmableLight.DeviceStatusReport.AttriBute;
- switch (attriButeList[0].AttributeId)
- {
- case 0:
- //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
- dimmableLight.Level = attriButeList[0].AttriButeData;
- dimmableLight.LastDateTime = DateTime.Now;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
- (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
- break;
- }
- }
- break;
- }
- }
- }
- }
- catch (Exception ex)
- {
- System.Console.WriteLine($"Error:{ex.Message}");
- }
- });
- }
-
- }
/// <summary>
- /// Changeds the IL ogic status.
+ /// 鐣岄潰鏄剧ず
/// </summary>
- /// <param name="logic">Logic.</param>
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
+ public void ShowForm()
{
- //throw new NotImplementedException();
- }
- /// <summary>
- /// Changeds the IS cene status.
- /// </summary>
- /// <param name="scene">Scene.</param>
- public void ChangedISceneStatus(Scene scene)
- {
- //throw new NotImplementedException();
- }
- #endregion
-
- #region 鈼� 鍒濆鍖朹_________________________
-
- /// <summary>
- /// Removes from parent.
- /// </summary>
- public override void RemoveFromParent()
- {
- RemoveStatuList();
- base.RemoveFromParent();
- }
-
- private void RemoveStatuList()
- {
- ZbGateway.StatusList.Remove(this);
- RemoveAllUpdateControlDeviceStatuAction();
- }
-
- /// <summary>
- /// 涓婚〉 --鎴戠殑瀹�
- /// </summary>
- public UserHomeView()
- {
- ZbGateway.StatusList.Add(this);
- BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
- }
-
- /// <summary>
- /// 鏄剧ず鐣岄潰
- /// </summary>
- public void Show()
- {
+ this.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
+ //娓呴櫎鍏ㄩ儴
this.RemoveAll();
+ //鍒濆鍖栧ご閮ㄦ帶浠�
+ this.InitTopFrameLayoutControl();
+ //鍒濆鍖栦腑闂存帶浠�
+ this.InitMidFrameLayoutControl();
+ //娣诲姞璁惧鐘舵�佷笂鎶ヤ簨浠�
+ this.AddDeviceReportEvent();
+ }
- #region topview
- var topFrameLayout = new FrameLayout()
- {
- Y = Application.GetRealHeight(60),
- Height = Application.GetRealHeight(127),
- BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
- };
- AddChidren(topFrameLayout);
-
- var floor = new Button
- {
- X = Application.GetRealWidth(CommonFormResouce.X_Left),
- Width = Application.GetMinRealAverage(69),
- Height = Application.GetMinRealAverage(69),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/Floor.png"
- };
+ /// <summary>
+ /// 鍒濆鍖栧ご閮ㄦ帶浠�
+ /// </summary>
+ private void InitTopFrameLayoutControl()
+ {
+ //澶撮儴瀹瑰櫒
+ base.topFrameLayout = new FrameLayout();
+ topFrameLayout.Y = Application.GetRealHeight(60);
+ topFrameLayout.Height = Application.GetRealHeight(127);
+ topFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
+ this.AddChidren(topFrameLayout);
+
+ //鎷ユ湁妤煎眰
if (Config.Instance.Home.FloorDics.Count > 0)
- {
- topFrameLayout.AddChidren(floor);
+ {
+ //妤煎眰鍥炬爣
+ var btnFloorIcon = new IconViewControl(69);
+ btnFloorIcon.X = ControlCommonResourse.XXLeft;
+ btnFloorIcon.Gravity = Gravity.CenterVertical;
+ btnFloorIcon.UnSelectedImagePath = "Item/Floor.png";
+ topFrameLayout.AddChidren(btnFloorIcon);
+ btnFloorIcon.ButtonClickEvent += (sender, e) =>
+ {
+ //鏄剧ず閫夋嫨妤煎眰鐨勭晫闈�
+ this.ShowSelectFloorForm();
+ };
+ //妤煎眰鍚�
+ this.btnFloor = new NormalViewControl(500, 100, true);
+ btnFloor.X = btnFloorIcon.Right;
+ btnFloor.Gravity = Gravity.CenterVertical;
+ btnFloor.TextColor = ZigbeeColor.Current.GXCTextColor;
+ btnFloor.Text = Config.Instance.Home.GetCurrentFloorName;
+ btnFloor.IsBold = true;
+ topFrameLayout.AddChidren(btnFloor);
+ btnFloor.ButtonClickEvent += (sender, e) =>
+ {
+ //鏄剧ず閫夋嫨妤煎眰鐨勭晫闈�
+ this.ShowSelectFloorForm();
+ };
}
-
- floorBtn = new Button
+ //瀹夐槻蹇嵎鏂瑰紡
+ if (UserCenterResourse.ResidenceOption.SafetyShortcut)
{
- X = floor.Right,
- Width = Application.GetRealWidth(500),
- Height = Application.GetRealHeight(100),
- Gravity = Gravity.CenterVertical,
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = ZigbeeColor.Current.GXCTextColor,
- Text = Config.Instance.Home.GetCurrentFloorName,
- IsBold=true
- };
- if (Config.Instance.Home.FloorDics.Count > 0)
- {
- topFrameLayout.AddChidren(floorBtn);
+ var btnSafety = new SafetyShortcutControl();
+ btnSafety.X = Application.GetRealWidth(860);
+ btnSafety.Gravity = Gravity.CenterVertical;
+ topFrameLayout.AddChidren(btnSafety);
}
+ //娑堟伅鍥炬爣
+ var btnMessage = new MessageManagementControl();
+ btnMessage.X = Application.GetRealWidth(953);
+ btnMessage.Gravity = Gravity.CenterVertical;
+ btnMessage.UnSelectedImagePath = "Item/Message.png";
+ btnMessage.SelectedImagePath = "Item/MessageSelected.png";
+ topFrameLayout.AddChidren(btnMessage);
- var messageBtn = new Button()
- {
- X = Application.GetRealWidth(953),
- Width = Application.GetMinRealAverage(69),
- Height = Application.GetMinRealAverage(69),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/Message.png",
- SelectedImagePath = "Item/MessageSelected.png"
- };
- topFrameLayout.AddChidren(messageBtn);
+ //浣忓畢鍚嶅瓧
+ var btnHouseName = new NormalViewControl(700, 95, true);
+ btnHouseName.X = ControlCommonResourse.XXLeft;
+ btnHouseName.Y = Application.GetRealHeight(161);
+ btnHouseName.TextSize = 24;
+ btnHouseName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor;
+ btnHouseName.IsBold = true;
+ btnHouseName.Text = Config.Instance.Home.Name;
+ this.AddChidren(btnHouseName);
- var residecneName = new Button()
- {
- X = Application.GetRealWidth(CommonFormResouce.X_Left),
- Y = Application.GetRealHeight(161),
- Width = Application.GetRealWidth(700),
- Height = Application.GetRealHeight(95),
- TextAlignment = TextAlignment.CenterLeft,
- Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull),
- TextSize = 24,
- TextColor = ZigbeeColor.Current.GXCTextBlackColor,
- IsBold=true
- };
- if (Config.Instance.Home.IsOthreShare)
- {
- residecneName.Text = $"{Config.Instance.Home.Name}";
- }
- AddChidren(residecneName);
-
- floor.MouseUpEventHandler += SelectFloor;
- floorBtn.MouseUpEventHandler += SelectFloor;
//鍒囨崲浣忓畢
- residecneName.MouseLongEventHandler += (send, e) =>
+ btnHouseName.MouseLongEventHandler += (sender, e) =>
{
- var tempHomeBtn = send as Button;
if (Config.Instance.HomeFilePathList.Count == 0)
{
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
- alert.ResultEventHandler += (senderHouse, eHouse) =>
- {
- if (eHouse)
- {
- return;
- }
- };
+ //褰撳墠浣忓畢涓虹┖锛岃鍏堝缓绔嬩綇瀹�
+ this.ShowMassage(ShowMsgType.Remind, Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst));
}
else
{
- var residenceListView = new Dialog();
- residenceListView.Show();
- var closeBGview = new FrameLayout();
- residenceListView.AddChidren(closeBGview);
- closeBGview.MouseUpEventHandler += (send1, e1) =>
+ var selectHouse = new Device.Category.SelectHouse();
+ selectHouse.Init();
+ selectHouse.HouseAction = (houseId) =>
{
- residenceListView.Close();
- };
-
- var bg = new Button
- {
- X = Application.GetRealWidth(35),
- Y = Application.GetRealHeight(248),
- Width = Application.GetMinRealAverage(449),
- Height = Application.GetMinRealAverage(478),
- UnSelectedImagePath = "Item/SelectHouse.png"
- };
- closeBGview.AddChidren(bg);
-
- var changeHomeFL = new FrameLayout()
- {
- X = Application.GetRealWidth(35),
- Y = Application.GetRealHeight(271),
- Height = Application.GetMinRealAverage(449),
- Width = Application.GetMinRealAverage(440),
- Radius = CommonPage.BigFormRadius,
- BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
- };
- closeBGview.AddChidren(changeHomeFL);
-
- var changeHomeBtn = new Button()
- {
- X = Application.GetRealWidth(80),
- Width = Application.GetRealWidth(350),
- Height = Application.GetRealHeight(150),
- TextColor = ZigbeeColor.Current.GXCTextBlackColor,
- TextID = R.MyInternationalizationString.ChangeHome,
- TextAlignment = TextAlignment.CenterLeft
- };
- changeHomeFL.AddChidren(changeHomeBtn);
-
- var scrolView = new VerticalScrolViewLayout()
- {
- Y = changeHomeBtn.Bottom,
- Height = Application.GetMinRealAverage(305 - 10)
- };
- changeHomeFL.AddChidren(scrolView);
-
- var clickCheckBtn = new Device.CommonForm.SelectedStatuButton();
- var clickNameBtn = new Device.CommonForm.SelectedStatuButton();
- foreach (var homeFilePath in Config.Instance.HomeFilePathList)
- {
- var home = House.GetHouseByFilePath(homeFilePath);
- if (home == null)
- {
- continue;
- }
- var rowView = new RowLayout()
- {
- Height = Application.GetRealHeight(150)
- };
- scrolView.AddChidren(rowView);
- var pointBtn = new Device.CommonForm.SelectedStatuButton()
- {
- X = Application.GetRealWidth(80),
- Width = Application.GetMinRealAverage(80),
- Height = Application.GetMinRealAverage(80),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/House.png",
- SelectedImagePath = "Item/HouseSelected.png",
- IsSelected = home.Id == Config.Instance.Home.Id
- };
- rowView.AddChidren(pointBtn);
- var nameBtn = new Device.CommonForm.SelectedStatuButton()
- {
- X = Application.GetRealWidth(173),
- Width = Application.GetRealWidth(280),
- TextAlignment = TextAlignment.CenterLeft,
- Text = home.Name,
- TextColor = ZigbeeColor.Current.GXCTextGrayColor,
- SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
- IsSelected = home.Id == Config.Instance.Home.Id
- };
- if (home.IsOthreShare)
- {
- nameBtn.Text = $"{home.Name}";
- }
- rowView.AddChidren(nameBtn);
-
- EventHandler<MouseEventArgs> selectedResidenceHandler = (send1, e1) =>
- {
- if (Config.Instance.Home.FileName == homeFilePath)
- {
- return;
- }
- clickCheckBtn.IsSelected = false;
- clickNameBtn.IsSelected = false;
- pointBtn.IsSelected = true;
- nameBtn.IsSelected = true;
-
- residecneName.Text = home.Name;
- if (home.IsOthreShare)
- {
- nameBtn.Text = $"{home.Name}";
- }
- clickCheckBtn = pointBtn;
- clickNameBtn = nameBtn;
- residenceListView.Close();
- ChangeResidence(home);
- };
- nameBtn.MouseUpEventHandler += selectedResidenceHandler;
- pointBtn.MouseUpEventHandler += selectedResidenceHandler;
- rowView.MouseUpEventHandler += selectedResidenceHandler;
- if (home.Id == Config.Instance.Home.Id)
- {
- pointBtn.IsSelected = true;
- nameBtn.IsSelected = true;
- clickCheckBtn = pointBtn;
- clickNameBtn = nameBtn;
- residecneName.Text = home.Name;
- if (home.IsOthreShare)
- {
- residecneName.Text = nameBtn.Text = $"{home.Name}";
- }
- }
- else
- {
- pointBtn.IsSelected = false;
- nameBtn.IsSelected = false;
- }
+ ChangeResidence(House.GetHouseByHouseId(houseId));
};
}
- };
- //娑堟伅
- messageBtn.MouseUpEventHandler += (send, e) =>
+ };
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑闂存帶浠�
+ /// </summary>
+ private void InitMidFrameLayoutControl()
+ {
+ //妫�娴嬫槸鍚︾粦瀹氭湁缃戝叧
+ if (this.CheckHadBindGateway() == false)
+ {
+ //鏄剧ず娌℃湁缁戝畾杩囩綉鍏崇殑鐣岄潰
+ this.ShowNoGatewayTip();
+ }
+ else
{
-
- };
-
- #endregion
-
- if (CanBindGateway() == false)
- {
-
- var roomPageView = new HorizontalPages()
- {
- Y = Application.GetRealHeight(302),
- Width = Application.GetRealWidth(CommonPage.AppRealWidth),
- Height = Application.GetRealHeight(478),
- };
- AddChidren(roomPageView);
+ var roomPageView = new HorizontalPages();
+ roomPageView.Y = Application.GetRealHeight(302);
+ roomPageView.Width = Application.GetRealWidth(CommonPage.AppRealWidth);
+ roomPageView.Height = Application.GetRealHeight(478);
+ this.AddChidren(roomPageView);
//绐佸嚭杈硅窛
- roomPageView.TCBJ = Application.GetRealWidth(112);
+ roomPageView.TCBJ = Application.GetRealWidth(124);
//涓や釜page涔嬮棿鐨勯棿璺�
- roomPageView.JMBJ = Application.GetRealWidth(69);
+ roomPageView.JMBJ = Application.GetRealWidth(58);
//褰撳墠鎴块棿
- //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
- var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom();
- Room.CurrentRoom = rList[0];
+ var rList = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
foreach (var room in rList)
{
var roomView = new Device.CommonForm.RoomView(0, 0);
roomPageView.AddChidren(roomView);
roomView.Init(room);
- roomView.action += () =>
- {
- Show();
- };
+ roomView.HideName(true);
}
-
- var functionSceneView = new FrameLayout()
+ //璁剧疆鎴块棿鐨勫垵濮嬮�夋嫨
+ var curIndex = rList.FindIndex((obj) => obj.Id == HdlRoomLogic.Current.CurrentRoom.Id);
+ roomPageView.PageIndex = curIndex;
+ if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
{
- Y = Application.GetRealHeight(861),
- Width = Application.GetRealWidth(832),
- Height = Application.GetRealHeight(167),
- Gravity = Gravity.CenterHorizontal,
- BackgroundImagePath = "Item/SceneFunctionBG.png"
+ (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
+ }
+ roomPageView.PageChange += (sender, e) =>
+ {
+ if (roomPageView.GetChildren(roomPageView.PageIndex - 1) != null)
+ {
+ (roomPageView.GetChildren(roomPageView.PageIndex - 1) as RoomView).HideName(true);
+ }
+ if (roomPageView.GetChildren(roomPageView.PageIndex + 1) != null)
+ {
+ (roomPageView.GetChildren(roomPageView.PageIndex + 1) as RoomView).HideName(true);
+ }
+ if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
+ {
+ (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
+ }
+ //鍒囨崲褰撳墠鎴块棿
+ HdlRoomLogic.Current.CurrentRoom = rList[roomPageView.PageIndex];
+ //鍒锋柊璁惧妗屽竷鎺т欢
+ this.RefreshBodyView();
};
- AddChidren(functionSceneView);
+
+ //鍔熻兘鍜屽満鏅殑鑳屾櫙鍥�
+ var functionSceneView = new FrameLayout();
+ functionSceneView.Y = Application.GetRealHeight(861);
+ functionSceneView.Width = Application.GetRealWidth(832);
+ functionSceneView.Height = Application.GetRealHeight(167);
+ functionSceneView.Gravity = Gravity.CenterHorizontal;
+ functionSceneView.BackgroundImagePath = "Item/SceneFunctionBG.png";
+ this.AddChidren(functionSceneView);
//鍦烘櫙
- var sceneBtn = new Button()
- {
- X = Application.GetRealWidth(30),
- Y = Application.GetRealHeight(12),
- Width = Application.GetRealWidth(350),
- Height = Application.GetRealHeight(100),
- TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
- SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
- TextID = R.MyInternationalizationString.Scence,
- IsSelected = true,
- TextSize=16,
- IsBold=true
- };
- functionSceneView.AddChidren(sceneBtn);
-
- //鍦烘櫙
- functionBtn = new Button()
- {
- X = Application.GetRealWidth(430),
- Y = Application.GetRealHeight(12),
- Width = Application.GetRealWidth(360),
- Height = Application.GetRealHeight(100),
- TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
- SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
- TextID = R.MyInternationalizationString.Function,
- IsSelected = false,
- TextSize=14
- };
- functionSceneView.AddChidren(functionBtn);
+ var btnScene = new NormalViewControl(350, 100, true);
+ btnScene.X = Application.GetRealWidth(30);
+ btnScene.Y = Application.GetRealHeight(12);
+ btnScene.TextColor = ZigbeeColor.Current.GXCTextGrayColor3;
+ btnScene.SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+ btnScene.TextID = R.MyInternationalizationString.Scence;
+ btnScene.IsSelected = true;
+ btnScene.TextSize = 16;
+ btnScene.IsBold = true;
+ btnScene.TextAlignment = TextAlignment.Center;
+ functionSceneView.AddChidren(btnScene);
+
+ //鍔熻兘
+ btnFunction = new NormalViewControl(360, 100, true);
+ btnFunction.X = Application.GetRealWidth(430);
+ btnFunction.Y = Application.GetRealHeight(12);
+ btnFunction.TextColor = ZigbeeColor.Current.GXCTextGrayColor3;
+ btnFunction.SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+ btnFunction.TextID = R.MyInternationalizationString.Function;
+ btnFunction.IsSelected = false;
+ btnFunction.TextAlignment = TextAlignment.Center;
+ functionSceneView.AddChidren(btnFunction);
//鍔熻兘鍜屽満鏅痓odyView
functionSceneBodyView = new FrameLayout()
@@ -696,190 +267,91 @@
Gravity = Gravity.CenterHorizontal,
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
- AddChidren(functionSceneBodyView);
+ this.AddChidren(functionSceneBodyView);
//閫夋嫨鍔熻兘鍒嗘爮
- functionBtn.MouseUpEventHandler += (sender, e) =>
+ btnFunction.ButtonClickEvent += (sender, e) =>
{
- sceneBtn.IsSelected = false;
- functionBtn.IsSelected = true;
- sceneBtn.TextSize = 14;
- sceneBtn.IsBold = false;
- functionBtn.TextSize = 16;
- functionBtn.IsBold = true;
- RefreshBodyView();
+ btnScene.IsSelected = false;
+ btnFunction.IsSelected = true;
+ btnScene.TextSize = 14;
+ btnScene.IsBold = false;
+ btnFunction.TextSize = 16;
+ btnFunction.IsBold = true;
+ //鍒锋柊璁惧妗屽竷鎺т欢
+ this.RefreshBodyView();
};
//閫夋嫨鍦烘櫙鍒嗘爮
- sceneBtn.MouseUpEventHandler += (sender, e) =>
+ btnScene.ButtonClickEvent += (sender, e) =>
{
- functionBtn.IsSelected = false;
- sceneBtn.IsSelected = true;
- sceneBtn.TextSize = 16;
- sceneBtn.IsBold = true;
- functionBtn.TextSize = 14;
- functionBtn.IsBold = false;
- RefreshBodyView();
+ btnFunction.IsSelected = false;
+ btnScene.IsSelected = true;
+ btnScene.TextSize = 16;
+ btnScene.IsBold = true;
+ btnFunction.TextSize = 14;
+ btnFunction.IsBold = false;
+ this.RefreshBodyView();
};
-
- RefreshBodyView();
-
- roomPageView.PageChange += (sender, e) =>
- {
- //鍒囨崲褰撳墠鎴块棿
- Room.CurrentRoom = rList[roomPageView.PageIndex];
- RefreshBodyView();
- };
- }
- else
- {
- ShowNoGatewayTip();
- }
+ //鍒锋柊璁惧妗屽竷鎺т欢
+ this.RefreshBodyView();
+ }
+ }
- }
-
- #endregion
-
- #region 鈼� 鍒锋柊____________________________
- /// <summary>
- /// RefreshBodyView
- /// </summary>
- public void RefreshBodyView()
- {
- functionSceneBodyView.RemoveAll();
- if (functionBtn.IsSelected)
- {
- ShowFunction();
- }
- else
- {
- ShowScene();
- }
- }
-
- /// <summary>
- /// SelectFloor
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="mouseEventArgs"></param>
- public void SelectFloor(object sender, MouseEventArgs mouseEventArgs)
- {
- var floorFL = new Phone.Device.Category.SelectFloor();
- AddChidren(floorFL);
- floorFL.Init(35, 153);
- floorFL.changeFloor = true;
- floorFL.FloorAction = (floorId) =>
- {
- floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
- Show();
- };
- }
-
- #endregion
-
- #region 鈼� 妫�娴嬫槸鍚︾粦瀹氫簡缃戝叧________________
-
- /// <summary>
- /// 褰撴病鏈夌粦瀹氱綉鍏虫椂锛屾槸鍚︽湁鏉冮檺娣诲姞缃戝叧
- /// </summary>
- /// <returns><c>true</c>, if bing gateway was caned, <c>false</c> otherwise.</returns>
- private bool CanBindGateway()
- {
- if (HadBindGateway() == false && (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2))
- {
- return true;
- }
- return false;
- }
-
- /// <summary>
- /// 鏄惁缁戝畾浜嗙綉鍏�
- /// </summary>
- /// <returns><c>true</c>, if bind gateway was haded, <c>false</c> otherwise.</returns>
- private bool HadBindGateway()
- {
- var gatewayList = UserCenter.HdlGatewayLogic.Current.GetAllLocalGateway();
- if (gatewayList.Count == 0)
- {
- return false;
- }
- return true;
- }
-
/// <summary>
/// 鎻愮ず鐢ㄦ埛娌℃湁缃戝叧锛屽苟蹇�熻烦杞埌娣诲姞缃戝叧鐣岄潰
/// </summary>
private void ShowNoGatewayTip()
{
- var bg = new Button
- {
- Y = Application.GetRealHeight(302),
- Width = Application.GetMinRealAverage(717),
- Height = Application.GetMinRealAverage(478),
- Gravity = Gravity.CenterHorizontal,
- UnSelectedImagePath = "Item/NoBindGW.png"
+ var bg = new PicViewControl(717, 478);
+ bg.Y = Application.GetRealHeight(302);
+ bg.Gravity = Gravity.CenterHorizontal;
+ bg.UnSelectedImagePath = "Item/NoBindGW.png";
+ this.AddChidren(bg);
+
+ var tip = new NormalViewControl(Application.GetMinRealAverage(717), Application.GetMinRealAverage(58), false);
+ tip.Y = Application.GetRealHeight(815);
+ tip.Gravity = Gravity.CenterHorizontal;
+ tip.TextID = R.MyInternationalizationString.NewAccountNeedBingGW;
+ tip.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
+ tip.TextAlignment = TextAlignment.Center;
+ this.AddChidren(tip);
+
+ var addBG = new PicViewControl(971, 366);
+ addBG.Y = Application.GetRealHeight(1048);
+ addBG.UnSelectedImagePath = "Item/VirtualFrame.png";
+ addBG.Gravity = Gravity.CenterHorizontal;
+ this.AddChidren(addBG);
+
+ var addGatewayBtn = new IconViewControl(89);
+ addGatewayBtn.Y = Application.GetRealHeight(1143);
+ addGatewayBtn.UnSelectedImagePath = "Item/Add_GW.png";
+ addGatewayBtn.Gravity = Gravity.CenterHorizontal;
+ this.AddChidren(addGatewayBtn);
+ addGatewayBtn.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm();
+ form.AddForm();
};
- AddChidren(bg);
- var tip = new Button
- {
- Y = Application.GetRealHeight(815),
- Width = Application.GetMinRealAverage(717),
- Height = Application.GetMinRealAverage(58),
- Gravity = Gravity.CenterHorizontal,
- TextID = R.MyInternationalizationString.NewAccountNeedBingGW,
- TextColor = ZigbeeColor.Current.GXCTextGrayColor
+ var addTip = new PicViewControl(717, 58);
+ addTip.Y = Application.GetRealHeight(1256);
+ addTip.Gravity = Gravity.CenterHorizontal;
+ addTip.TextID = R.MyInternationalizationString.AddSmartGW;
+ addTip.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
+ addTip.TextAlignment = TextAlignment.Center;
+ AddChidren(addTip);
+
+ addTip.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm();
+ form.AddForm();
};
- AddChidren(tip);
-
- var addBG = new Button
- {
- Y = Application.GetRealHeight(1048),
- Height = Application.GetMinRealAverage(366),
- Width = Application.GetMinRealAverage(971),
- UnSelectedImagePath = "Item/VirtualFrame.png",
- Gravity = Gravity.CenterHorizontal
- };
- AddChidren(addBG);
-
- var addGatewayBtn = new Button()
- {
- Y = Application.GetRealHeight(1143),
- Height = Application.GetMinRealAverage(89),
- Width = Application.GetMinRealAverage(89),
- UnSelectedImagePath = "Item/Add_GW.png",
- Gravity = Gravity.CenterHorizontal
- };
- AddChidren(addGatewayBtn);
- addGatewayBtn.MouseUpEventHandler += GoToAddGateWay;
-
- var addTip = new Button
- {
- Y = Application.GetRealHeight(1256),
- Width = Application.GetMinRealAverage(717),
- Height = Application.GetMinRealAverage(58),
- Gravity = Gravity.CenterHorizontal,
- TextID = R.MyInternationalizationString.AddSmartGW,
- TextColor = ZigbeeColor.Current.GXCTextBlackColor
- };
- AddChidren(addTip);
- addTip.MouseUpEventHandler += GoToAddGateWay;
- }
-
- /// <summary>
- /// 鍓嶅線娣诲姞缃戝叧鐣岄潰
- /// </summary>
- /// <param name="sender">Sender.</param>
- /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
- private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs)
- {
- var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm { };
- selectNewGateWayForm.AddForm();
- }
-
+ }
+
#endregion
-
- #region 鈼� 鍔熻兘_____________________________
-
+
+ #region 鈻� 鍔熻兘鍒嗘敮___________________________
+
/// <summary>
/// 鏄剧ず娌℃湁鍔熻兘
/// </summary>
@@ -901,6 +373,7 @@
Height = Application.GetRealHeight(200),
Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"),
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+ TextAlignment = TextAlignment.Center,
IsMoreLines = true
};
functionSceneBodyView.AddChidren(noFunctionTip);
@@ -911,708 +384,831 @@
/// </summary>
private void ShowFunction()
{
- //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
- var deviceList = Room.CurrentRoom.DeviceUIList;
- if (deviceList == null)
- {
- return;
- }
-
- if (deviceList.Count == 0)
+ functionSceneBodyView.RemoveAll();
+ //褰撳墠鎴块棿鐨勮澶囨暟
+ if (HdlRoomLogic.Current.CurrentRoom.ListDevice.Count == 0)
{
ShowNoFunctionTip();
}
else
{
+ var dList = new List<CommonDevice>();
+ foreach (var mainkeys in HdlRoomLogic.Current.CurrentRoom.ListDevice)
+ {
+ var device = LocalDevice.Current.GetDevice(mainkeys);
+ if (device == null
+ || device.Type == DeviceType.OnOffSwitch//骞叉帴鐐�
+ || device.Type == DeviceType.Repeater)//涓户鍣�
+ {
+ continue;
+ }
+ dList.Add(device);
+ }
+
deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
- for (int i = 0; i < deviceList.Count; i++)
+ for (int i = 0; i < dList.Count; i++)
{
- var device = deviceList[i];
- //new System.Threading.Thread(() =>
- //{
- Application.RunOnMainThread(() =>
- {
- try
- {
- int t = i % 2;
- int tt = i / 2;
- int xx = 43 + i % 2 * (20 + 487);
- int yy = 14;
- if (i % 2 == 0)
- {
- itemView = new FrameLayout()
- {
- Height = Application.GetRealHeight(14 + 348),
- };
- deviceVerticalScrolViewLayout.AddChidren(itemView);
- }
- //鏀惰棌
- EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
- {
- if ((sender as Button).IsSelected)
- {
- Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
- (sender as Button).IsSelected = false;
- }
- else
- {
- Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
- (sender as Button).IsSelected = true;
- }
- if (Room.CurrentRoom.IsLove)
- {
- RefreshBodyView();
- }
- };
-
- if (device.CommonDevice.Type == DeviceType.WindowCoveringDevice)
- {
- //绐楀笜 鍗峰笜
- var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
- if (rollerShade.Gateway != null)
- {
- new System.Threading.Thread(() =>
- {
- System.Threading.Thread.Sleep(100 * i);
- if (rollerShade.Gateway.IsVirtual)
- {
- ReadStatus(rollerShade, () =>
- {
- ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
- });
- }
- else
- {
- if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds)
- {
- ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
- }
- }
- })
- { IsBackground = true }.Start();
-
- var lightView = new FunctionMainView(xx, yy);
- lightView.Tag = device;
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(rollerShade.DeviceEpointName);
- //lightView.SetStatu(true);
- lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
- lightView.SetCollect(true);
-
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
- ((sender as Button).Parent as FunctionMainView).IsSelected = true;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- else
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
- ((sender as Button).Parent as FunctionMainView).IsSelected = false;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- };
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
- UserView.HomePage.Instance.AddChidren(rollerShadeControl);
- UserView.HomePage.Instance.PageIndex += 1;
- UserView.HomePage.Instance.ScrollEnabled = false;
- //rollerShadeControl.action = RefreshBodyView;
- rollerShadeControl.Show(device, Room.CurrentRoom);
- };
-
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
- {
- //寮�鍏崇伅
- var light = device.CommonDevice as ToggleLight;
- if (light.Gateway != null)
+ var device = dList[i];
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ int t = i % 2;
+ int tt = i / 2;
+ int xx = 43 + i % 2 * (20 + 487);
+ int yy = 14;
+ if (i % 2 == 0)
+ {
+ itemView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(14 + 348),
+ };
+ deviceVerticalScrolViewLayout.AddChidren(itemView);
+ }
+ //鏀惰棌
+ EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
+ {
+ if ((sender as Button).IsSelected)
+ {
+ //鍒犻櫎鎴戠殑鍠滅埍
+ HdlRoomLogic.Current.DeleteLoveDevice(device);
+ (sender as Button).IsSelected = false;
+ }
+ else
+ {
+ //娣诲姞鎴戠殑鍠滅埍
+ HdlRoomLogic.Current.AddLoveDevice(device);
+ (sender as Button).IsSelected = true;
+ }
+ if (HdlRoomLogic.Current.CurrentRoom.IsLove)
+ {
+ //鍒锋柊璁惧妗屽竷鎺т欢
+ this.RefreshBodyView();
+ }
+ };
+
+ if (device.Type == DeviceType.WindowCoveringDevice)
+ {
+ //绐楀笜 鍗峰笜
+ var rollerShade = (ZigBee.Device.Rollershade)device;
+ if (rollerShade.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
{
- new System.Threading.Thread(() =>
- {
- System.Threading.Thread.Sleep(100 * i);
- if (light.Gateway.IsVirtual)
- {
- ReadStatus(light, () =>
- {
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
- });
- }
- else
- {
- if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
- {
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
- }
- }
- })
- { IsBackground = true }.Start();
-
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = light.OnOffStatus == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
-
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
- {
- lightView.CollectButton.IsSelected = false;
- }
- else
- {
- lightView.CollectButton.IsSelected = true;
- }
-
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- light.SwitchControl(1);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = true;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- else
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- light.SwitchControl(0);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = false;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- };
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�)
- {
- var lightControl = new Phone.Device.Light.OnOffControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
- else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇)
- {
- var lightControl = new Phone.Device.Light.PlugControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
- else
- {
- var lightControl = new Phone.Device.Light.LightControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
- };
-
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- else if (device.CommonDevice.Type == DeviceType.AirSwitch)
- {
- //绌烘皵寮�鍏�
- var airSwitch = device.CommonDevice as AirSwitch;
- if (airSwitch.Gateway != null)
- {
- new System.Threading.Thread(() =>
- {
- System.Threading.Thread.Sleep(100 * i);
- if (airSwitch.Gateway.IsVirtual)
- {
- ReadStatus(airSwitch, () =>
- {
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
- });
- }
- else
- {
- if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
- }
- }
- })
- { IsBackground = true }.Start();
-
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(airSwitch.DeviceEpointName);
- //lightView.SetStatu(true);
- lightView.IsSelected = airSwitch.OnOffStatus == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
-
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- airSwitch.SwitchControl(1);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = true;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- else
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- airSwitch.SwitchControl(0);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = false;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- };
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- var lightControl = new Phone.Device.Light.AirSwitchControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- };
-
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- else if (device.CommonDevice.Type == DeviceType.Thermostat)
- {
- //鎭掓俯鍣�-AC-绌鸿皟
- var ac = device.CommonDevice as AC;
- if (ac.Gateway != null)
- {
- new System.Threading.Thread(() =>
- {
- System.Threading.Thread.Sleep(100 * i);
- if (ac.Gateway.IsVirtual)
- {
- ReadStatus(ac, () =>
- {
- ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
- });
- }
- else
- {
- if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
- }
- }
- })
- { IsBackground = true }.Start();
-
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = ac.currentSystemMode != 0;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
-
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- ac.Open();
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = true;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- else
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- ac.Close();
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = false;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- };
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- var lightControl = new Phone.Device.AC.ACControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- };
-
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- else if (device.CommonDevice.Type == DeviceType.DimmableLight)
- {
- //璋冨厜鐏�
- var dimmableLight = device.CommonDevice as DimmableLight;
- if (dimmableLight.Gateway != null)
- {
- new System.Threading.Thread(() =>
- {
- System.Threading.Thread.Sleep(100 * i);
- if (dimmableLight.Gateway.IsVirtual)
- {
- //鍙戦�佽鍙栫姸鎬佸懡浠�
- ReadStatus(dimmableLight, () =>
- {
- ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice);
- });
- }
- else
- {
- //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
- if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
- {
- ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice);
- }
- }
- })
- { IsBackground = true }.Start();
-
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = dimmableLight.OnOffStatus == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
-
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
- {
- lightView.CollectButton.IsSelected = false;
- }
- else
- {
- lightView.CollectButton.IsSelected = true;
- }
-
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- dimmableLight.SwitchControl(1);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = true;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- else
- {
- zbGateway = device.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
-
- dimmableLight.SwitchControl(0);
-
- ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
- ((sender as Button).Parent as FunctionMainView).IsSelected = false;
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
- }
- };
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
- UserView.HomePage.Instance.AddChidren(dimmableLightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //dimmableLightControl.action = RefreshBodyView;
- dimmableLightControl.Show(device, Room.CurrentRoom);
- };
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- else if (device.CommonDevice.Type == DeviceType.DoorLock)
- {
- //闂ㄩ攣
- var dimmableLight = device.CommonDevice as DoorLock;
-
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = dimmableLight.IsOnline == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
- lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
- {
- lightView.CollectButton.IsSelected = false;
- }
- else
- {
- lightView.CollectButton.IsSelected = true;
- }
-
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
- {
- CommonPage.Instance.IsDrawerLockMode = true;
- var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device);
- HomePage.Instance.AddChidren(userDoorLockPage);
- HomePage.Instance.PageIndex += 1;
- userDoorLockPage.Show();
- };
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- else
- {
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.CanControl(false);
- lightView.IsSelected = device.CommonDevice.IsOnline == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
-
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
- {
- lightView.CollectButton.IsSelected = false;
- }
- else
- {
- lightView.CollectButton.IsSelected = true;
- }
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
- }
- }
- catch(Exception ex)
- {
-
- }
- });
+ System.Threading.Thread.Sleep(100 * i);
+ if (rollerShade.Gateway.IsVirtual)
+ {
+ ReadStatus(rollerShade, () =>
+ {
+ ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device);
+ });
+ }
+ else
+ {
+ if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds)
+ {
+ ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var functionView = new FunctionMainView(xx, yy);
+ functionView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(rollerShade));
+ functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+ functionView.SetCollect(true);
+
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ (device as Rollershade).CurtainUpDownStopControl(0);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Open));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = true;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ else
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ (device as Rollershade).CurtainUpDownStopControl(1);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Close));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = false;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ };
+
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
+ UserView.HomePage.Instance.AddChidren(rollerShadeControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ UserView.HomePage.Instance.ScrollEnabled = false;
+ rollerShadeControl.IsDrawerLockMode = true;
+ rollerShadeControl.Show(device, HdlRoomLogic.Current.CurrentRoom);
+ rollerShadeControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+ };
+
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.OnOffOutput)
+ {
+ //寮�鍏崇伅
+ var light = device as ToggleLight;
+ if (light.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (light.Gateway.IsVirtual)
+ {
+ ReadStatus(light, () =>
+ {
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
+ });
+ }
+ else
+ {
+ if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
+ {
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ functionView.IsSelected = light.OnOffStatus == 1;
+ functionView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ functionView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ functionView.CollectButton.IsSelected = true;
+ }
+
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ light.SwitchControl(1);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = true;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ else
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ light.SwitchControl(0);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = false;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ };
+
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+
+ var lightControl = new Phone.Device.Light.OnOffControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.IsDrawerLockMode = true;
+ lightControl.Show(device, HdlRoomLogic.Current.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+ };
+
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.AirSwitch)
+ {
+ //绌烘皵寮�鍏�
+ var airSwitch = device as AirSwitch;
+ if (airSwitch.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (airSwitch.Gateway.IsVirtual)
+ {
+ ReadStatus(airSwitch, () =>
+ {
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
+ });
+ }
+ else
+ {
+ if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(airSwitch));
+ functionView.IsSelected = airSwitch.OnOffStatus == 1;
+ functionView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ airSwitch.SwitchControl(1);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = true;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ else
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ airSwitch.SwitchControl(0);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = false;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ };
+
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ var lightControl = new Phone.Device.Light.AirSwitchControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.IsDrawerLockMode = true;
+ lightControl.Show(device, HdlRoomLogic.Current.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+
+ };
+
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.Thermostat)
+ {
+ //鎭掓俯鍣�-AC-绌鸿皟
+ var ac = device as AC;
+ if (ac.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (ac.Gateway.IsVirtual)
+ {
+ ReadStatus(ac, () =>
+ {
+ ReadDeviceAttributeLogic.Instance.SendACStatuComand(device);
+ });
+ }
+ else
+ {
+ if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ ReadDeviceAttributeLogic.Instance.SendACStatuComand(device);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ functionView.IsSelected = ac.currentSystemMode != 0;
+ functionView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ ac.Open();
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = true;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ else
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ ac.Close();
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = false;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ };
+
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ var lightControl = new Phone.Device.AC.ACControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.IsDrawerLockMode = true;
+ lightControl.Show(device, HdlRoomLogic.Current.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+ };
+
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.DimmableLight)
+ {
+ //璋冨厜鐏�
+ var dimmableLight = device as DimmableLight;
+ if (dimmableLight.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (dimmableLight.Gateway.IsVirtual)
+ {
+ //鍙戦�佽鍙栫姸鎬佸懡浠�
+ ReadStatus(dimmableLight, () =>
+ {
+ ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device);
+ });
+ }
+ else
+ {
+ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
+ if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+ {
+ ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device);
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ functionView.IsSelected = dimmableLight.OnOffStatus == 1;
+ functionView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ functionView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ functionView.CollectButton.IsSelected = true;
+ }
+
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ dimmableLight.SwitchControl(1);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = true;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ else
+ {
+ zbGateway = device.Gateway;
+ sendedControlCommand = false;
+ zbGateway.ReportAction += UpdateDeviceControllStatu;
+ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device);
+
+ dimmableLight.SwitchControl(0);
+
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ ((sender as Button).Parent as FunctionMainView).IsSelected = false;
+
+ //鎺у埗寤舵椂鍥炶皟
+ HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
+ {
+ if (Parent == null)
+ {
+ return;
+ }
+ RemoveUpdateControlDeviceStatuAction(zbGateway);
+ if (sendedControlCommand == false)
+ {
+ HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ }
+ });
+ }
+ };
+
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
+ UserView.HomePage.Instance.AddChidren(dimmableLightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ dimmableLightControl.IsDrawerLockMode = true;
+ dimmableLightControl.Show(device, HdlRoomLogic.Current.CurrentRoom);
+ dimmableLightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+ };
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.IASZone)
+ {
+ //鍚勭被浼犳劅鍣�
+ var ias = device as IASZone;
+
+ var lightView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(lightView);
+ lightView.Init();
+ lightView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ lightView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ lightView.IsSelected = ias.iASInfo?.Alarm1 == 1;
+ lightView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+ lightView.CanControl(false);
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ lightView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ lightView.CollectButton.IsSelected = true;
+ }
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ else if (device.Type == DeviceType.TemperatureSensor)
+ {
+ var tempera = device as TemperatureSensor;
+
+ if (tempera.Gateway != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (tempera.Gateway.IsVirtual)
+ {
+ ReadStatus(tempera, () =>
+ {
+ if (tempera.SensorDiv == 1)
+ {
+ ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device);
+ }
+ else if (tempera.SensorDiv == 2)
+ {
+ ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device);
+ }
+ });
+ }
+ else
+ {
+ if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - tempera.LastDateTime).TotalSeconds)
+ {
+ if (tempera.SensorDiv == 1)
+ {
+ ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device);
+ }
+ else if (tempera.SensorDiv == 2)
+ {
+ ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device);
+ }
+ }
+ }
+ })
+ { IsBackground = true }.Start();
+
+ var lightView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(lightView);
+ lightView.Init();
+ lightView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ lightView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ lightView.IsSelected = false;
+ lightView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+ lightView.CanControl(false);
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ lightView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ lightView.CollectButton.IsSelected = true;
+ }
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ else if (device.Type == DeviceType.DoorLock)
+ {
+ //闂ㄩ攣
+ var dimmableLight = device as DoorLock;
+
+ var lightView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(lightView);
+ lightView.Init();
+ lightView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ lightView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ lightView.IsSelected = false;
+ lightView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+ lightView.CanControl(false);
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ lightView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ lightView.CollectButton.IsSelected = true;
+ }
+
+ lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ var userDoorLockPage = new UserDoorLockPage(HdlRoomLogic.Current.CurrentRoom, device);
+ HomePage.Instance.AddChidren(userDoorLockPage);
+ HomePage.Instance.PageIndex += 1;
+ userDoorLockPage.Show();
+ };
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ else
+ {
+ var lightView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(lightView);
+ lightView.Init();
+ lightView.Tag = LocalDevice.Current.GetDeviceMainKeys(device);
+ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ lightView.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(device));
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ lightView.CanControl(false);
+ lightView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ lightView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ lightView.CollectButton.IsSelected = true;
+ }
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ }
+ catch (Exception ex)
+ {
+
+ }
+ });
//})
//{ IsBackground = true }.Start();
}
}
}
+ /// <summary>
+ /// ReFreshEditDeviceAction
+ /// </summary>
+ /// <param name="device"></param>
+ /// <param name="curRoom"></param>
+ /// <param name="functionView"></param>
+ private void ReFreshEditDeviceAction(CommonDevice device, Common.Room curRoom, FunctionMainView functionView)
+ {
+ if (HdlRoomLogic.Current.CurrentRoom.IsLove)
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ ShowFunction();
+ }
+ }
+ else
+ {
+ if (curRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id)
+ {
+ ShowFunction();
+ }
+ else
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device));
+ functionView.SetCollect(HdlRoomLogic.Current.IsCollectInRoom(device));
+ }
+ }
+ }
+
#endregion
- #region 鈼� 鍦烘櫙_____________________________
+ #region 鈻� 鍦烘櫙鍒嗘敮___________________________
/// <summary>
/// 鏄剧ず娌″満鏅�
@@ -1634,6 +1230,7 @@
Height = Application.GetRealHeight(200),
Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+ TextAlignment = TextAlignment.Center,
IsMoreLines = true
};
functionSceneBodyView.AddChidren(noScenceTip);
@@ -1644,8 +1241,9 @@
/// </summary>
private void ShowScene()
{
+ functionSceneBodyView.RemoveAll();
//閫夋嫨鍦烘櫙
- var sceneList = Room.CurrentRoom.SceneUIList;
+ var sceneList = HdlSceneLogic.Current.GetRoomSceneList(HdlRoomLogic.Current.CurrentRoom);
if (sceneList == null)
{
return;
@@ -1673,14 +1271,15 @@
itemView = new FrameLayout()
{
Height = Application.GetRealHeight(14 + 348),
- Tag = scene
+ Tag = scene.Id
};
sceneScrolView.AddChidren(itemView);
}
var sceneView = new SceneMainView(xx, yy);
- itemView.AddChidren(sceneView);
sceneView.Init(scene);
+ itemView.AddChidren(sceneView);
+ sceneView.CollectionAction += ShowScene;
}
GetDelayScene(sceneScrolView);
}
@@ -1745,9 +1344,29 @@
}
}
- #endregion
+ #endregion
+
+ #region 鈻� 鍒锋柊_______________________________
- #region 鈼� 鍒囨崲浣忓畢_________________________
+ /// <summary>
+ /// 鍒锋柊璁惧妗屽竷鎺т欢
+ /// </summary>
+ public void RefreshBodyView()
+ {
+ functionSceneBodyView.RemoveAll();
+ if (btnFunction.IsSelected)
+ {
+ ShowFunction();
+ }
+ else
+ {
+ ShowScene();
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鍒囨崲浣忓畢___________________________
/// <summary>
/// 鍒囨崲浣忓畢
/// </summary>
@@ -1758,22 +1377,22 @@
{
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
- {
- Config.Instance.HomeId = home.Id;
- Config.Instance.Home = House.GetHouseByFilePath(home.FileName);
- Global.CreateHomeDirectory(home.Id);
- Config.Instance.Save();
- //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
- await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
-
- Room.InitAllRoom();
-
- Application.RunOnMainThread(() =>
- {
- Show();
- CommonPage.Loading.Hide();
- });
- })
+ {
+ Config.Instance.HomeId = home.Id;
+ Config.Instance.Home = House.GetHouseByFilePath(home.FileName);
+ Global.CreateHomeDirectory(home.Id);
+ Config.Instance.Save();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ //鍒濆鍖栧叏閮ㄦ埧闂�
+ HdlRoomLogic.Current.InitAllRoom();
+
+ Application.RunOnMainThread(() =>
+ {
+ ShowForm();
+ CommonPage.Loading.Hide();
+ });
+ })
{ IsBackground = true }.Start();
}
catch (Exception ex)
@@ -1789,7 +1408,7 @@
#endregion
- #region 鈼� 杩涜璁惧鐘舵�佽鍙朹_________________
+ #region 鈻� 杩涜璁惧鐘舵�佽鍙朹__________________
/// <summary>
/// 鍒ゆ柇鏄惁鍙互杩涜璁惧鐘舵�佽鍙栥�傚湪鍥炶皟涓鍙�
@@ -1838,7 +1457,7 @@
#endregion
- #region 鈼� 鎺у埗鐘舵�乢________________________
+ #region 鈻� 鎺у埗鐘舵�乢__________________________
/// <summary>
/// 鏄剧ず璁惧鎺у埗鐘舵��
@@ -1858,7 +1477,7 @@
}
//鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧
sendedControlCommand = true;
- //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success);
+ //HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.Success);
}
/// <summary>
@@ -1906,6 +1525,386 @@
{
commonDeviceList.Add(common);
}
+ }
+
+ #endregion
+
+ #region 鈻� 璁惧鐘舵�佷笂鎶______________________
+
+ /// <summary>
+ /// 娣诲姞璁惧鐘舵�佷笂鎶ヤ簨浠�
+ /// </summary>
+ private void AddDeviceReportEvent()
+ {
+ //璁惧灞炴�т笂鎶�
+ HdlGatewayReceiveLogic.Current.AddAttributeEvent("UserHomeViewDeviceStatus", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ if (report.DeviceStatusReport.AttriBute == null || report.DeviceStatusReport.AttriBute.Count == 0)
+ {
+ return;
+ }
+ for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
+ {
+ var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
+ if (rowFL.ChildrenCount == 0)
+ {
+ //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+ continue;
+ }
+
+ for (int j = 0; j < rowFL.ChildrenCount; j++)
+ {
+ var deviceUI = LocalDevice.Current.GetDevice((rowFL.GetChildren(j) as FunctionMainView).Tag.ToString());
+ if (deviceUI == null)
+ {
+ //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+ continue;
+ }
+ if (report.DeviceAddr != deviceUI.DeviceAddr || report.DeviceEpoint != deviceUI.DeviceEpoint)
+ {
+ //鍒ゆ柇鏄惁涓哄綋鍓嶈澶�
+ continue;
+ }
+
+ switch (deviceUI.Type)
+ {
+ case DeviceType.OnOffOutput:
+ //寮�鍏冲姛鑳�
+ if (report.DeviceStatusReport.CluterID == 6)
+ {
+ var onOffOutputLight = deviceUI as ZigBee.Device.ToggleLight;
+ onOffOutputLight.DeviceStatusReport = report.DeviceStatusReport;
+ onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ onOffOutputLight.LastDateTime = DateTime.Now;
+ }
+ break;
+
+ case DeviceType.AirSwitch:
+ //寮�鍏冲姛鑳�
+ if (report.DeviceStatusReport.CluterID == 6)
+ {
+ var airSwitch = deviceUI as ZigBee.Device.AirSwitch;
+ airSwitch.DeviceStatusReport = report.DeviceStatusReport;
+ airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ airSwitch.LastDateTime = DateTime.Now;
+ }
+ //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
+ if (report.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.IsOnline = 1;
+ deviceUI.LastDateTime = DateTime.Now;
+ }
+ break;
+
+ case DeviceType.WindowCoveringDevice:
+ if (report.DeviceStatusReport.CluterID == 258)
+ {
+ if (report.DeviceStatusReport.AttriBute[0].AttributeId == 0)
+ {
+ //绐楀笜绫诲瀷
+ var rollerShade = deviceUI as Rollershade;
+ rollerShade.DeviceStatusReport = report.DeviceStatusReport;
+ rollerShade.WcdType = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+ rollerShade.LastDateTime = DateTime.Now;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ if (report.DeviceStatusReport.AttriBute[0].AttributeId == 8)
+ {
+ //绐楀笜鐧惧垎姣�
+ var rollerShade = deviceUI as Rollershade;
+ rollerShade.DeviceStatusReport = report.DeviceStatusReport;
+ rollerShade.WcdCurrentPositionLiftPercentage = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+ rollerShade.LastDateTime = DateTime.Now;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ }
+ if (report.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.IsOnline = 1;
+ deviceUI.LastDateTime = DateTime.Now;
+ }
+ break;
+
+ case DeviceType.Thermostat:
+ //AC鍔熻兘
+ if (report.DeviceStatusReport.CluterID == 513)
+ {
+ var ac = deviceUI as ZigBee.Device.AC;
+ ac.DeviceStatusReport = report.DeviceStatusReport;
+ var attriButeList = ac.DeviceStatusReport.AttriBute;
+ foreach (var attList in attriButeList)
+ {
+ var curTemp = attList.AttriButeData / 100;
+ switch (attList.AttributeId)
+ {
+ case 0:
+ //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
+ ac.currentLocalTemperature = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 17:
+ //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
+ ac.currentCoolingSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 18:
+ //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
+ ac.currentHeatingSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ case 4096:
+ //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
+ ac.currentAutoSetpoint = curTemp;
+ ac.LastDateTime = DateTime.Now;
+ break;
+
+ case 28:
+ //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
+ ac.currentSystemMode = attList.AttriButeData;
+ ac.LastDateTime = DateTime.Now;
+ break;
+ }
+ }
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ if (report.DeviceStatusReport.CluterID == 514)
+ {
+ var ac = deviceUI as ZigBee.Device.AC;
+ var attriButeList = report.DeviceStatusReport.AttriBute;
+ ac.DeviceStatusReport = report.DeviceStatusReport;
+ 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;
+ }
+ }
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
+ if (report.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.IsOnline = 1;
+ deviceUI.LastDateTime = DateTime.Now;
+ }
+ break;
+
+ case DeviceType.DimmableLight:
+ //璋冨厜鐏姛鑳�
+ if (report.DeviceStatusReport.CluterID == 6)
+ {
+ var dimmableLight = deviceUI as DimmableLight;
+ dimmableLight.DeviceStatusReport = report.DeviceStatusReport;
+ dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = dimmableLight.OnOffStatus == 1;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ dimmableLight.LastDateTime = DateTime.Now;
+ }
+
+ //浜害
+ if (report.DeviceStatusReport.CluterID == 8)
+ {
+ var dimmableLight = deviceUI as DimmableLight;
+ dimmableLight.DeviceStatusReport = report.DeviceStatusReport;
+ var attriButeList = dimmableLight.DeviceStatusReport.AttriBute;
+ switch (attriButeList[0].AttributeId)
+ {
+ case 0:
+ //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
+ dimmableLight.Level = attriButeList[0].AttriButeData;
+ dimmableLight.LastDateTime = DateTime.Now;
+ //(rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ break;
+ }
+ }
+ break;
+ case DeviceType.TemperatureSensor:
+ //娓╁害
+ if (report.DeviceStatusReport.CluterID == 1026)
+ {
+ var tempera = deviceUI as TemperatureSensor;
+ foreach (var data in report.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, "."));
+ }
+
+ tempera.LastDateTime = DateTime.Now;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ }
+ }
+ //婀垮害
+ if (report.DeviceStatusReport.CluterID == 1029)
+ {
+ var tempera = deviceUI as TemperatureSensor;
+ foreach (var data in report.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;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ }, ShowErrorMode.NO);
+ });
+
+ //浼犳劅鍣ㄤ笂鎶�
+ HdlGatewayReceiveLogic.Current.AddAttributeEvent("UserHomeViewSensor", ReceiveComandDiv.A浼犳劅鍣ㄤ笂鎶�, (report) =>
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
+ {
+ var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
+ if (rowFL.ChildrenCount == 0)
+ {
+ //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+ continue;
+ }
+
+ for (int j = 0; j < rowFL.ChildrenCount; j++)
+ {
+ var deviceUI = LocalDevice.Current.GetDevice((rowFL.GetChildren(j) as FunctionMainView).Tag.ToString());
+ if (deviceUI == null)
+ {
+ //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+ continue;
+ }
+ if (report.DeviceAddr != deviceUI.DeviceAddr || report.DeviceEpoint != deviceUI.DeviceEpoint)
+ {
+ //鍒ゆ柇鏄惁涓哄綋鍓嶈澶�
+ continue;
+ }
+
+ switch (deviceUI.Type)
+ {
+ case DeviceType.IASZone:
+ //ias
+ var ias = report as IASZone;
+ var iAS = deviceUI as ZigBee.Device.IASZone;
+ iAS.iASInfo = ias.iASInfo;
+ (rowFL.GetChildren(j) as FunctionMainView).IsSelected = iAS.iASInfo?.Alarm1 == 1;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI);
+ iAS.LastDateTime = DateTime.Now;
+ break;
+ }
+ }
+ }
+ }, ShowErrorMode.NO);
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 鍒囨崲妤煎眰___________________________
+
+ /// <summary>
+ /// 鏄剧ず閫夋嫨妤煎眰鐨勭晫闈�
+ /// </summary>
+ private void ShowSelectFloorForm()
+ {
+ var floorFL = new Device.Category.SelectFloor();
+ this.AddChidren(floorFL);
+ floorFL.Init(35, 153);
+ floorFL.changeFloor = true;
+ floorFL.FloorAction = (floorId) =>
+ {
+ this.btnFloor.Text = Config.Instance.Home.GetFloorNameById(floorId);
+ HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
+ this.ShowForm();
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+ /// <summary>
+ /// 鐣岄潰鍏抽棴
+ /// </summary>
+ public override void CloseFormBefore()
+ {
+ HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceStatus");
+ HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewSensor");
+
+ base.CloseFormBefore();
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 妫�娴嬫槸鍚︾粦瀹氭湁缃戝叧
+ /// </summary>
+ private bool CheckHadBindGateway()
+ {
+ //鑾峰彇鏈湴宸茬粡缁戝畾鐨勭綉鍏�
+ var gatewayList = HdlGatewayLogic.Current.GetAllLocalGateway();
+ if (gatewayList.Count == 0)
+ {
+ return false;
+ }
+ //涓讳汉鎴栬�呯鐞嗗憳鎵嶈
+ if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+ {
+ return true;
+ }
+ return false;
}
#endregion
--
Gitblit v1.8.0