From 34e965100d635346e2d4cd6e6013bdaed66b3004 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:52:13 +0800
Subject: [PATCH] 2019.1.2-3
---
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 1682 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 899 insertions(+), 783 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 2b2ee9c..a5d22e8 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -7,6 +7,7 @@
using Shared.Phone.UserCenter.DoorLock;
using System.Timers;
using Shared.Phone.Device.DeviceLogic;
+using Shared.Phone.UserCenter;
namespace Shared.Phone.UserView
{
@@ -88,6 +89,8 @@
/// sceneScrolView
/// </summary>
private VerticalScrolViewLayout sceneScrolView ;
+
+
#endregion
#region 鈼� 鎺ュ彛____________________________
@@ -135,7 +138,7 @@
continue;
}
- for (int j=0;j<rowFL.ChildrenCount;j++)
+ for (int j = 0; j < rowFL.ChildrenCount; j++)
{
var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI;
if (deviceUI == null || deviceUI.CommonDevice == null)
@@ -221,9 +224,9 @@
var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
ac.DeviceStatusReport = common.DeviceStatusReport;
var attriButeList = ac.DeviceStatusReport.AttriBute;
- foreach(var attList in attriButeList)
+ 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;
+ 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:
@@ -270,7 +273,7 @@
var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
var attriButeList = common.DeviceStatusReport.AttriBute;
ac.DeviceStatusReport = common.DeviceStatusReport;
- foreach(var attList in attriButeList)
+ foreach (var attList in attriButeList)
{
switch (attList.AttributeId)
{
@@ -320,9 +323,68 @@
//姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
dimmableLight.Level = attriButeList[0].AttriButeData;
dimmableLight.LastDateTime = DateTime.Now;
- (rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
+ //(rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
(rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
break;
+ }
+ }
+ break;
+ case DeviceType.TemperatureSensor:
+ //娓╁害
+ if (common.DeviceStatusReport.CluterID == 1026)
+ {
+ var tempera = deviceUI.CommonDevice as TemperatureSensor;
+ foreach (var data in common.DeviceStatusReport.AttriBute)
+ {
+ if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ {
+ if (data.AttriButeData == 0)
+ {
+ tempera.Temperatrue = 0;
+ }
+ else if (data.AttriButeData > 32767)
+ {
+ //璐熸暟(鐗规畩澶勭悊)
+ string strValue = (data.AttriButeData - 65536).ToString();
+ //灏忔暟鐐归渶瑕佷竴浣�
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ }
+
+ tempera.LastDateTime = DateTime.Now;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
+ }
+ }
+ }
+ //婀垮害
+ if (common.DeviceStatusReport.CluterID == 1029)
+ {
+ var tempera = deviceUI.CommonDevice as TemperatureSensor;
+ foreach (var data in common.DeviceStatusReport.AttriBute)
+ {
+ if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
+ {
+ if (data.AttriButeData == 0)
+ {
+ tempera.Humidity = 0;
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ }
+ tempera.LastDateTime = DateTime.Now;
+ (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
+ }
}
}
break;
@@ -336,7 +398,56 @@
}
});
}
+ else if (typeTag == "IASInfoReport")
+ {
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ 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;
+ }
+ switch (deviceUI.CommonDevice.Type)
+ {
+ case DeviceType.IASZone:
+ //ias
+ var ias = common as IASZone;
+ var iAS = deviceUI.CommonDevice 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 = deviceUI.GetDeviceStatu();
+ iAS.LastDateTime = DateTime.Now;
+ break;
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Console.WriteLine($"Error:{ex.Message}");
+ }
+ });
+ }
}
/// <summary>
/// Changeds the IL ogic status.
@@ -419,22 +530,28 @@
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = ZigbeeColor.Current.GXCTextColor,
- Text = Config.Instance.Home.GetCurrentFloorName
+ Text = Config.Instance.Home.GetCurrentFloorName,
+ IsBold = true,
+ TextSize = 14
};
if (Config.Instance.Home.FloorDics.Count > 0)
{
topFrameLayout.AddChidren(floorBtn);
}
- var messageBtn = new Button()
+ if(UserCenterResourse.Option.SafetyShortcut)
{
- X = Application.GetRealWidth(953),
- Width = Application.GetMinRealAverage(69),
- Height = Application.GetMinRealAverage(69),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/Message.png",
- SelectedImagePath = "Item/MessageSelected.png"
- };
+ var safetyBtn = new SafetyShortcutControl();
+ safetyBtn.X = Application.GetRealWidth(860);
+ safetyBtn.Gravity = Gravity.CenterVertical;
+ topFrameLayout.AddChidren(safetyBtn);
+ }
+
+ var messageBtn = new MessageManagementControl();
+ messageBtn.X = Application.GetRealWidth(953);
+ messageBtn.Gravity = Gravity.CenterVertical;
+ messageBtn.UnSelectedImagePath = "Item/Message.png";
+ messageBtn.SelectedImagePath = "Item/MessageSelected.png";
topFrameLayout.AddChidren(messageBtn);
var residecneName = new Button()
@@ -446,7 +563,7 @@
TextAlignment = TextAlignment.CenterLeft,
Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull),
TextSize = 24,
- TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
IsBold=true
};
if (Config.Instance.Home.IsOthreShare)
@@ -475,143 +592,13 @@
}
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) =>
- {
-
};
#endregion
@@ -627,23 +614,30 @@
};
AddChidren(roomPageView);
//绐佸嚭杈硅窛
- roomPageView.TCBJ = Application.GetRealWidth(112);
+ roomPageView.TCBJ = Application.GetRealWidth(181);
//涓や釜page涔嬮棿鐨勯棿璺�
- roomPageView.JMBJ = Application.GetRealWidth(69);
+ roomPageView.JMBJ = Application.GetRealWidth(0);
//褰撳墠鎴块棿
- //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom();
- Room.CurrentRoom = rList[0];
+ Room.CurrentRoom = Room.CurrentRoom ?? rList[0];
foreach (var room in rList)
{
var roomView = new Device.CommonForm.RoomView(0, 0);
roomPageView.AddChidren(roomView);
roomView.Init(room);
+ roomView.HideName(true);
roomView.action += () =>
{
Show();
};
+ }
+ var curIndex = rList.FindIndex((obj) => obj.Id == Room.CurrentRoom.Id);
+ roomPageView.PageIndex = curIndex;
+ if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
+ {
+ (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
+
}
var functionSceneView = new FrameLayout()
@@ -724,9 +718,22 @@
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);
+ }
//鍒囨崲褰撳墠鎴块棿
Room.CurrentRoom = rList[roomPageView.PageIndex];
RefreshBodyView();
+
};
}
else
@@ -769,6 +776,7 @@
floorFL.FloorAction = (floorId) =>
{
floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
+ Common.Room.CurrentRoom = Common.Room.CurrentRoom?.GetLoveRoom();
Show();
};
}
@@ -900,6 +908,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);
@@ -923,683 +932,789 @@
}
else
{
- deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
-
- functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
- for (int i = 0; i < deviceList.Count; i++)
+ var dList = new List<DeviceUI> { };
+ foreach(var device in deviceList)
{
- int t = i % 2;
- int tt = i / 2;
- int xx = 43 + i % 2 * (20 + 487);
- int yy = 14;
- var device = deviceList[i];
- if (device == null || device.CommonDevice == null)
+ var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice });
+ if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�)
{
continue;
}
+ dList.Add(device);
+ }
- if (i % 2 == 0)
- {
- itemView = new FrameLayout()
+ deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
+ functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
+ for (int i = 0; i < dList.Count; i++)
+ {
+ var device = dList[i];
+ //new System.Threading.Thread(() =>
+ //{
+ Application.RunOnMainThread(() =>
{
- Height = Application.GetRealHeight(14 + 348),
- };
- deviceVerticalScrolViewLayout.AddChidren(itemView);
- }
-
- //鏀惰棌
- EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
- {
- if ((sender as Button).IsSelected)
- {
- Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
- (sender as Button).IsSelected = false;
- }
- else
- {
- Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
- (sender as Button).IsSelected = true;
- }
- if (Room.CurrentRoom.IsLove)
- {
- RefreshBodyView();
- }
- };
-
- //////鍒ゆ柇璁惧鏄惁鏀寔鐨勫睘鎬� 濡傚紑鍏崇瓑鎺у埗
- if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
- {
- //绐楀笜 鍗峰笜
- var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
- //涓嶄笂闈炶繙绋�
- if (rollerShade.Gateway == null)
- {
- continue;
- }
- if (rollerShade.Gateway.IsVirtual)
- {
- //鍙戦�佽鍙栫姸鎬佸懡浠�
- ReadStatus(rollerShade, () =>
+ try
{
- ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
- });
- }
- else
- {
- if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds)
- {
- ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
- }
- }
- 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, () =>
+ int t = i % 2;
+ int tt = i / 2;
+ int xx = 43 + i % 2 * (20 + 487);
+ int yy = 14;
+ if (i % 2 == 0)
{
- if (Parent == null)
+ itemView = new FrameLayout()
{
- 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, () =>
+ Height = Application.GetRealHeight(14 + 348),
+ };
+ deviceVerticalScrolViewLayout.AddChidren(itemView);
+ }
+ //鏀惰棌
+ EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
{
- if (Parent == null)
+ if ((sender as Button).IsSelected)
{
- return;
+ Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
+ (sender as Button).IsSelected = false;
}
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
+ else
{
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
+ (sender as Button).IsSelected = true;
}
- });
- }
- };
+ if (Room.CurrentRoom.IsLove)
+ {
+ RefreshBodyView();
+ }
+ };
- 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 == ZigBee.Device.DeviceType.OnOffOutput)
- {
- //寮�鍏崇伅
- var light = device.CommonDevice as ToggleLight;
-
- //琛ヤ笂闈炶繙绋�
- if (light.Gateway == null)
- {
- continue;
- }
- 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);
- }
- }
-
- 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 (device.CommonDevice.Type == DeviceType.WindowCoveringDevice)
{
- if (Parent == null)
+ //绐楀笜 鍗峰笜
+ var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
+ if (rollerShade.Gateway != null)
{
- return;
+ 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(Language.StringByID(R.MyInternationalizationString.Open));
+ ((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(Language.StringByID(R.MyInternationalizationString.Close));
+ ((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;
}
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
{
- if (Parent == null)
+ //寮�鍏崇伅
+ var light = device.CommonDevice as ToggleLight;
+ if (light.Gateway != null)
{
- return;
+ 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;
}
- 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 == ZigBee.Device.DeviceType.AirSwitch)
- {
- //绌烘皵寮�鍏�
- var airSwitch = device.CommonDevice as AirSwitch;
- //琛ヤ笂闈炶繙绋�
- if (airSwitch.Gateway == null)
- {
- continue;
- }
- 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);
- }
- }
-
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.AirSwitch)
{
- if (Parent == null)
+ //绌烘皵寮�鍏�
+ var airSwitch = device.CommonDevice as AirSwitch;
+ if (airSwitch.Gateway != null)
{
- return;
+ 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;
}
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.Thermostat)
{
- if (Parent == null)
+ //鎭掓俯鍣�-AC-绌鸿皟
+ var ac = device.CommonDevice as AC;
+ if (ac.Gateway != null)
{
- return;
+ 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;
}
- 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 == ZigBee.Device.DeviceType.Thermostat)
- {
- //鎭掓俯鍣�-AC-绌鸿皟
- var ac = device.CommonDevice as AC;
-
- //琛ヤ笂闈炶繙绋�
- if (ac.Gateway == null)
- {
- continue;
- }
- 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);
- }
- }
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.DimmableLight)
{
- if (Parent == null)
+ //璋冨厜鐏�
+ var dimmableLight = device.CommonDevice as DimmableLight;
+ if (dimmableLight.Gateway != null)
{
- return;
+ 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;
}
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.IASZone)
{
- if (Parent == null)
+ //鍚勭被浼犳劅鍣�
+ var ias = device.CommonDevice as IASZone;
+
+ 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 = ias.iASInfo?.Alarm1 == 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)
{
- return;
+ lightView.CollectButton.IsSelected = false;
}
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
+ else
{
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ lightView.CollectButton.IsSelected = true;
}
- });
- }
- };
-
- 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 == ZigBee.Device.DeviceType.DimmableLight)
- {
- //璋冨厜鐏�
- var dimmableLight = device.CommonDevice as DimmableLight;
- //琛ヤ笂闈炶繙绋�
- if (dimmableLight.Gateway == null)
- {
- continue;
- }
- 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);
- }
- }
-
- 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, () =>
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ else if (device.CommonDevice.Type == DeviceType.TemperatureSensor)
{
- if (Parent == null)
+ var tempera = device.CommonDevice as TemperatureSensor;
+
+ if (tempera.Gateway != null)
{
- return;
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(100 * i);
+ if (tempera.Gateway.IsVirtual)
+ {
+ ReadStatus(tempera, () =>
+ {
+ if (tempera.SensorDiv == 1)
+ {
+ ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice);
+ }
+ else if (tempera.SensorDiv == 2)
+ {
+ ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device.CommonDevice);
+ }
+ });
+ }
+ else
+ {
+ if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - tempera.LastDateTime).TotalSeconds)
+ {
+ if (tempera.SensorDiv == 1)
+ {
+ ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice);
+ }
+ else if (tempera.SensorDiv == 2)
+ {
+ ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(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 = false;
+ 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.CollectButton.MouseUpEventHandler += collectionEvent;
}
- 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, () =>
+ }
+ else if (device.CommonDevice.Type == DeviceType.DoorLock)
{
- if (Parent == null)
+ //闂ㄩ攣
+ 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)
{
- return;
+ lightView.CollectButton.IsSelected = false;
}
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
+ else
{
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ 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)
+ {
- 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 == ZigBee.Device.DeviceType.DoorLock)
- {
- //闂ㄩ攣
- var dimmableLight = device.CommonDevice as DoorLock;
- //琛ヤ笂闈炶繙绋�
- if (dimmableLight.Gateway == null)
- {
- continue;
- }
-
- 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;
- }
+ }
+ });
+ //})
+ //{ IsBackground = true }.Start();
}
}
-
}
#endregion
@@ -1626,6 +1741,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);
--
Gitblit v1.8.0