From 96c686f89f126ad4cf1e262b83301fb7cc8bf2d5 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 07 十一月 2019 10:57:31 +0800
Subject: [PATCH] 2019.11.7
---
ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 433 +++++++++++++++++++++++------------------------------
1 files changed, 190 insertions(+), 243 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
index 4405a9a..64f7bda 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -162,118 +162,87 @@
{
case DeviceType.OnOffOutput:
//寮�鍏冲姛鑳�
- if ((common as ToggleLight).DeviceStatusReport.CluterID == 6)
+ if (common.DeviceStatusReport.CluterID == 6)
{
var light = deviceUI.CommonDevice as ToggleLight;
- light.DeviceStatusReport = (common as ToggleLight).DeviceStatusReport;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
+ light.DeviceStatusReport = common.DeviceStatusReport;
+ //璁板綍銆佹洿鏂扮姸鎬�
+ if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0)
{
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
- {
- //璁板綍銆佹洿鏂扮姸鎬�
- if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0)
- {
- continue;
- }
- light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
- (tempView as Button).IsSelected = light.OnOffStatus == 1;
- //璁板綍鍥炲鏃堕棿
- light.LastDateTime = DateTime.Now;
- }
+ continue;
}
- }
- if ((common as ToggleLight).DeviceStatusReport.CluterID == 3)
- {
- var light = deviceUI.CommonDevice as ToggleLight;
- light.IsOnline = 1;
+ light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+
+ row.SetStatu(light.OnOffStatus == 1);
+ row.SetStatuText(deviceUI.GetDeviceStatu());
//璁板綍鍥炲鏃堕棿
light.LastDateTime = DateTime.Now;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = light.IsOnline == 1;
- }
- }
+ }
+ if (common.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.CommonDevice.IsOnline = 1;
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row.SetStatu(true);
}
break;
case DeviceType.AirSwitch:
//寮�鍏冲姛鑳�
- if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6)
+ if (common.DeviceStatusReport.CluterID == 6)
{
var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
+ airSwitch.DeviceStatusReport = common.DeviceStatusReport;
+ //璁板綍銆佹洿鏂扮姸鎬�
+ if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
{
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
- {
- //璁板綍銆佹洿鏂扮姸鎬�
- if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
- airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
- (tempView as Button).IsSelected = airSwitch.OnOffStatus == 1;
- //璁板綍鍥炲鏃堕棿
- airSwitch.LastDateTime = DateTime.Now;
- }
+ return;
}
- }
- if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3)
- {
- var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- airSwitch.IsOnline = 1;
+ airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row.SetStatu(airSwitch.OnOffStatus == 1);
+ row.SetStatuText(deviceUI.GetDeviceStatu());
//璁板綍鍥炲鏃堕棿
airSwitch.LastDateTime = DateTime.Now;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = airSwitch.IsOnline == 1;
- }
- }
+ }
+ if (common.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.CommonDevice.IsOnline = 1;
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row.SetStatu(true);
}
break;
case DeviceType.WindowCoveringDevice:
- if ((common as Rollershade).DeviceStatusReport.CluterID == 3)
+
+ if (common.DeviceStatusReport.CluterID == 258)
{
- var rollerShape = deviceUI.CommonDevice as Rollershade;
- //璁板綍鍥炲鏃堕棿
- rollerShape.LastDateTime = DateTime.Now;
- rollerShape.IsOnline = 1;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
+ if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0)
{
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = rollerShape.IsOnline == 1;
- }
+ //绐楀笜绫诲瀷
+ var rollerShade = deviceUI.CommonDevice as Rollershade;
+ rollerShade.DeviceStatusReport = common.DeviceStatusReport;
+ rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData;
+ rollerShade.LastDateTime = DateTime.Now;
}
+ if (common.DeviceStatusReport.AttriBute[0].AttributeId == 8)
+ {
+ var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow;
+ //绐楀笜鐧惧垎姣�
+ var rollerShade = deviceUI.CommonDevice as Rollershade;
+ rollerShade.DeviceStatusReport = common.DeviceStatusReport;
+ rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData;
+ row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}");
+ rollerShade.LastDateTime = DateTime.Now;
+ }
+ }
+ if (common.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.CommonDevice.IsOnline = 1;
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow;
+ row.SetStatu(true);
}
break;
@@ -358,49 +327,29 @@
break;
case DeviceType.DimmableLight:
//璋冨厜鐏姛鑳�
- if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6)
+ if (common.DeviceStatusReport.CluterID == 6)
{
- var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
- dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
+ var dimmableLight = deviceUI.CommonDevice as DimmableLight;
+ dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
+ //璁板綍銆佹洿鏂扮姸鎬�
+ if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
{
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
- {
- //璁板綍銆佹洿鏂扮姸鎬�
- if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
- {
- return;
- }
- dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
- (tempView as Button).IsSelected = dimmableLight.OnOffStatus == 1;
- //璁板綍鍥炲鏃堕棿
- dimmableLight.LastDateTime = DateTime.Now;
- }
+ continue;
}
- }
- if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3)
- {
- var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
- dimmableLight.IsOnline = 1;
+ dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+
+ row.SetStatu(dimmableLight.OnOffStatus == 1);
+ row.SetStatuText(deviceUI.GetDeviceStatu());
//璁板綍鍥炲鏃堕棿
dimmableLight.LastDateTime = DateTime.Now;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = dimmableLight.IsOnline == 1;
- }
- }
+ }
+ if (common.DeviceStatusReport.CluterID == 3)
+ {
+ deviceUI.CommonDevice.IsOnline = 1;
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row.SetStatu(true);
}
break;
}
@@ -433,77 +382,35 @@
switch (deviceUI.CommonDevice.Type)
{
case DeviceType.OnOffOutput:
- var light = deviceUI.CommonDevice as ToggleLight;
- light.IsOnline = (common as ToggleLight).IsOnline;
- //璁板綍鍥炲鏃堕棿
- light.LastDateTime = DateTime.Now;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = light.IsOnline == 1;
- }
- }
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
break;
case DeviceType.AirSwitch:
- var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
- airSwitch.IsOnline = (common as ZigBee.Device.AirSwitch).IsOnline;
- //璁板綍鍥炲鏃堕棿
- airSwitch.LastDateTime = DateTime.Now;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = airSwitch.IsOnline == 1;
- }
- }
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ var row1 = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row1.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
break;
case DeviceType.WindowCoveringDevice:
- var rollerShape = deviceUI.CommonDevice as Rollershade;
- //璁板綍鍥炲鏃堕棿
- rollerShape.LastDateTime = DateTime.Now;
- rollerShape.IsOnline = (common as Rollershade).IsOnline;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = rollerShape.IsOnline == 1;
- }
- }
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ var row2 = rowLayout.GetChildren(0) as CategoryFunctionForWinRow;
+ row2.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
break;
+ case DeviceType.DimmableLight:
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ var row3 = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ row3.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
+ break;
case DeviceType.Thermostat:
- var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
- //璁板綍鍥炲鏃堕棿
- ac.LastDateTime = DateTime.Now;
- ac.IsOnline = (common as ZigBee.Device.AC).IsOnline;
- for (int j = 0; j < rowLayout.ChildrenCount; j++)
- {
- var tempView = rowLayout.GetChildren(j);
- if (tempView.Tag == null)
- {
- continue;
- }
- if (tempView.Tag.ToString() == deviceStatus_Online)
- {
- (tempView as Button).IsSelected = ac.IsOnline == 1;
- }
- }
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ //var row4 = rowLayout.GetChildren(0) as CategoryFunctionRow;
+ //row4.SetStatu(deviceUI.CommonDevice.IsOnline == 1);
break;
}
}
@@ -802,6 +709,15 @@
UserView.HomePage.Instance.PageIndex += 1;
addLogicPage.Show();
}
+ /// <summary>
+ /// HidenFloor
+ /// </summary>
+ /// <param name="statu"></param>
+ private void HidenFloor(bool statu)
+ {
+ selectFloorBtn.Visible = !statu;
+ floorBtn.Visible = !statu;
+ }
#endregion
@@ -814,14 +730,17 @@
functionSceneAutoBodyView.RemoveAll();
if (functionBtn.IsSelected)
{
+ HidenFloor(false);
ShowFunction();
}
else if (sceneBtn.IsSelected)
{
+ HidenFloor(false);
ShowScene();
}
else if (automationBtn.IsSelected)
{
+ HidenFloor(true);
ShowAutotion();
}
}
@@ -994,8 +913,9 @@
var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(light.IsOnline == 1);
- deviceRow.SetZoneText(deviceUI.GetZone());
+ deviceRow.SetOnLineStatu(light.IsOnline == 1);
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
+ deviceRow.SetStatu(light.OnOffStatus == 1);
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1014,6 +934,7 @@
{
light.SwitchControl(0);
}
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
//鎺у埗寤舵椂鍥炶皟
DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
{
@@ -1031,11 +952,30 @@
deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
{
- var lightControl = new Phone.Device.Light.LightControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- lightControl.action = RefreshBodyView;
- lightControl.Show(deviceUI, room);
+ if (deviceUI.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(deviceUI, room);
+ }
+ else if (deviceUI.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(deviceUI, room);
+ }
+ else
+ {
+ var lightControl = new Phone.Device.Light.LightControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ //lightControl.action = RefreshBodyView;
+ lightControl.Show(deviceUI, room);
+ }
};
var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1082,7 +1022,7 @@
var deviceTypeRowLayout = new RowLayout()
{
- Height = Application.GetRealHeight(127 + 35),
+ Height = Application.GetRealHeight(129 + 35),
LineColor = ZigbeeColor.Current.GXCBackgroundColor,
Tag = deviceUI
};
@@ -1091,8 +1031,9 @@
var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(airSwitch.IsOnline == 1);
- deviceRow.SetZoneText(deviceUI.GetZone());
+ deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1);
+ deviceRow.SetStatu(airSwitch.OnOffStatus == 1);
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1111,6 +1052,7 @@
{
airSwitch.SwitchControl(0);
}
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
//鎺у埗寤舵椂鍥炶皟
DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
{
@@ -1128,10 +1070,11 @@
deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
{
- var lightControl = new Phone.Device.Light.LightControl();
+
+ var lightControl = new Phone.Device.Light.AirSwitchControl();
UserView.HomePage.Instance.AddChidren(lightControl);
UserView.HomePage.Instance.PageIndex += 1;
- lightControl.action = RefreshBodyView;
+ //lightControl.action = RefreshBodyView;
lightControl.Show(deviceUI, room);
};
@@ -1190,8 +1133,9 @@
var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(dimmableLight.IsOnline == 1);
- deviceRow.SetZoneText(deviceUI.GetZone());
+ deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1);
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
+ deviceRow.SetStatu(dimmableLight.OnOffStatus == 1);
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1210,6 +1154,7 @@
{
dimmableLight.SwitchControl(0);
}
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
//鎺у埗寤舵椂鍥炶皟
DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
{
@@ -1231,7 +1176,7 @@
UserView.HomePage.Instance.AddChidren(dimmableLightControl);
UserView.HomePage.Instance.PageIndex += 1;
UserView.HomePage.Instance.ScrollEnabled = false;
- dimmableLightControl.action = RefreshBodyView;
+ //dimmableLightControl.action = RefreshBodyView;
dimmableLightControl.Show(deviceUI, room);
};
@@ -1296,10 +1241,12 @@
};
deviceListScrolView.AddChidren(deviceTypeRowLayout);
- var deviceRow = new FunctionRow(0, 35);
+ var deviceRow = new CategoryFunctionRow(0, 35);
deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(ac.IsOnline == 1);
+ deviceRow.SetOnLineStatu(ac.IsOnline == 1);
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
+ deviceRow.SetStatu(ac.currentSystemMode != 1);
deviceTypeRowLayout.AddChidren(deviceRow);
deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
@@ -1318,6 +1265,7 @@
{
ac.Close();
}
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
//鎺у埗寤舵椂鍥炶皟
DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
{
@@ -1363,6 +1311,7 @@
UserHomeView.ReadStatus(rollerShade, () =>
{
rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ rollerShade.ReadWcdCurrentPositionLiftPercentage();
});
}
else
@@ -1371,23 +1320,44 @@
if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
{
rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ rollerShade.ReadWcdCurrentPositionLiftPercentage();
}
}
var deviceTypeRowLayout = new RowLayout()
{
- Height = Application.GetRealHeight(127 + 35),
- LineColor = ZigbeeColor.Current.GXCLineColor,
+ Height = Application.GetRealHeight(129 + 35),
+ LineColor = ZigbeeColor.Current.GXCBackgroundColor,
Tag = deviceUI
};
deviceListScrolView.AddChidren(deviceTypeRowLayout);
- var deviceRow = new FunctionRow(0, 35);
- deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+ var deviceRow = new CategoryFunctionForWinRow(0, 35);
+ deviceRow.Init(deviceUI);
deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
- deviceRow.SetStatu(rollerShade.IsOnline == 1);
+ deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1);
+ deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
+ deviceRow.SetStatu(rollerShade.WcdCurrentPositionLiftPercentage != 0);
+ deviceRow.SetRollerShadeIcon(rollerShade.WcdType);
deviceTypeRowLayout.AddChidren(deviceRow);
+
+ if (rollerShade.WcdType == -1)
+ {
+ CommonPage.Loading.Start();
+ new System.Threading.Thread(() =>
+ {
+ Rollershade.ReadWcdTypeAction(rollerShade, () =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ deviceRow.SetRollerShadeIcon(rollerShade.WcdType);
+ CommonPage.Loading.Hide();
+ });
+ });
+ })
+ { IsBackground = true }.Start();
+ }
var editBtn = new CommonForm.RowLayoutEditButton()
{
@@ -1405,37 +1375,14 @@
deviceTypeRowLayout.AddRightView(delBtn);
delBtn.MouseUpEventHandler += delEvent;
-
- deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) =>
+ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
{
- zbGateway = deviceUI.CommonDevice.Gateway;
- sendedControlCommand = false;
- zbGateway.ReportAction += UpdateDeviceControllStatu;
- AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
- (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected;
- if ((sender as CommonForm.SelectedStatuButton).IsSelected)
- {
- rollerShade.CurtainUpDownStopControl(0);
- }
- else
- {
- rollerShade.CurtainUpDownStopControl(1);
- }
-
- //鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
- {
- if (Parent == null)
- {
- return;
- }
- RemoveUpdateControlDeviceStatuAction(zbGateway);
- if (sendedControlCommand == false)
- {
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
- }
- });
+ 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(deviceUI, room);
};
}
else
--
Gitblit v1.8.0