From bd46c57c77c276014db3192a4e2cc96e23c93202 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 21 二月 2020 13:08:47 +0800
Subject: [PATCH] 先上传个版本吧
---
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 538 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 275 insertions(+), 263 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index c524ce2..2440cd3 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1,13 +1,13 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Timers;
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
{
@@ -255,14 +255,6 @@
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;
@@ -326,6 +318,65 @@
//(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;
@@ -472,7 +523,8 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = ZigbeeColor.Current.GXCTextColor,
Text = Config.Instance.Home.GetCurrentFloorName,
- IsBold=true
+ IsBold = true,
+ TextSize = 14
};
if (Config.Instance.Home.FloorDics.Count > 0)
{
@@ -532,143 +584,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();
+ ChangeResidence(House.GetHouseByHouseId(houseId));
};
-
- 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;
- }
- }
}
- };
- //娑堟伅
- messageBtn.MouseUpEventHandler += (send, e) =>
- {
-
};
#endregion
@@ -707,7 +629,7 @@
if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
{
(roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
-
+
}
var functionSceneView = new FrameLayout()
@@ -803,7 +725,7 @@
//鍒囨崲褰撳墠鎴块棿
Room.CurrentRoom = rList[roomPageView.PageIndex];
RefreshBodyView();
-
+
};
}
else
@@ -846,6 +768,7 @@
floorFL.FloorAction = (floorId) =>
{
floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
+ Common.Room.CurrentRoom = Common.Room.CurrentRoom?.GetLoveRoom();
Show();
};
}
@@ -988,6 +911,7 @@
/// </summary>
private void ShowFunction()
{
+ functionSceneBodyView.RemoveAll();
//閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
var deviceList = Room.CurrentRoom.DeviceUIList;
if (deviceList == null)
@@ -1080,18 +1004,17 @@
})
{ 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);
+ var functionView = new FunctionMainView(xx, yy);
+ functionView.Tag = device;
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(rollerShade));
+ functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+ functionView.SetCollect(true);
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1103,7 +1026,7 @@
(device.CommonDevice as Rollershade).CurtainUpDownStopControl(0);
- ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Open));
((sender as Button).Parent as FunctionMainView).IsSelected = true;
//鎺у埗寤舵椂鍥炶皟
@@ -1129,7 +1052,7 @@
(device.CommonDevice as Rollershade).CurtainUpDownStopControl(1);
- ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
+ ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Close));
((sender as Button).Parent as FunctionMainView).IsSelected = false;
//鎺у埗寤舵椂鍥炶皟
@@ -1148,18 +1071,21 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ 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.action = RefreshBodyView;
rollerShadeControl.Show(device, Room.CurrentRoom);
+ rollerShadeControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
@@ -1188,27 +1114,26 @@
})
{ 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 functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = light.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
- lightView.CollectButton.IsSelected = false;
+ functionView.CollectButton.IsSelected = false;
}
else
{
- lightView.CollectButton.IsSelected = true;
+ functionView.CollectButton.IsSelected = true;
}
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1265,36 +1190,21 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.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.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
{
- 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);
- }
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.AirSwitch)
@@ -1323,18 +1233,17 @@
})
{ 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));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(airSwitch));
+ functionView.IsSelected = airSwitch.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom( device.FileName));
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1391,17 +1300,21 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ 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.action = RefreshBodyView;
lightControl.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.Thermostat)
@@ -1430,17 +1343,17 @@
})
{ 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));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = ac.currentSystemMode != 0;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1497,17 +1410,20 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ 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.action = RefreshBodyView;
lightControl.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.DimmableLight)
@@ -1538,27 +1454,26 @@
})
{ 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 functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = dimmableLight.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
- lightView.CollectButton.IsSelected = false;
+ functionView.CollectButton.IsSelected = false;
}
else
{
- lightView.CollectButton.IsSelected = true;
+ functionView.CollectButton.IsSelected = true;
}
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1615,16 +1530,19 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ 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.action = RefreshBodyView;
dimmableLightControl.Show(device, Room.CurrentRoom);
+ dimmableLightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.IASZone)
@@ -1638,12 +1556,11 @@
lightView.Tag = device;
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
lightView.IsSelected = ias.iASInfo?.Alarm1 == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1652,6 +1569,67 @@
lightView.CollectButton.IsSelected = true;
}
lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
+ else if (device.CommonDevice.Type == DeviceType.TemperatureSensor)
+ {
+ var tempera = device.CommonDevice 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.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(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ lightView.IsSelected = false;
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
+ lightView.CanControl(false);
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
+ {
+ lightView.CollectButton.IsSelected = false;
+ }
+ else
+ {
+ lightView.CollectButton.IsSelected = true;
+ }
+ lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ }
}
else if (device.CommonDevice.Type == DeviceType.DoorLock)
{
@@ -1664,12 +1642,11 @@
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.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ lightView.IsSelected = false;
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1696,13 +1673,12 @@
lightView.Tag = device;
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
lightView.CanControl(false);
- lightView.IsSelected = device.CommonDevice.IsOnline == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ //lightView.IsSelected = device.CommonDevice.IsOnline == 1;
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1720,6 +1696,40 @@
});
//})
//{ IsBackground = true }.Start();
+ }
+ }
+ }
+
+ /// <summary>
+ /// ReFreshEditDeviceAction
+ /// </summary>
+ /// <param name="device"></param>
+ /// <param name="curRoom"></param>
+ /// <param name="functionView"></param>
+ private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView)
+ {
+ if (Common.Room.CurrentRoom.IsLove)
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ if (Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
+ {
+ ShowFunction();
+ }
+ }
+ else
+ {
+ if (curRoom.Id != Common.Room.CurrentRoom.Id)
+ {
+
+ Common.Room.CurrentRoom.DeleteDevice(device.FileName);
+ ShowFunction();
+ }
+ else
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
}
}
}
@@ -1748,7 +1758,7 @@
Height = Application.GetRealHeight(200),
Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
- TextAlignment = TextAlignment.Center,
+ TextAlignment=TextAlignment.Center,
IsMoreLines = true
};
functionSceneBodyView.AddChidren(noScenceTip);
@@ -1759,6 +1769,7 @@
/// </summary>
private void ShowScene()
{
+ functionSceneBodyView.RemoveAll();
//閫夋嫨鍦烘櫙
var sceneList = Room.CurrentRoom.SceneUIList;
if (sceneList == null)
@@ -1794,8 +1805,9 @@
}
var sceneView = new SceneMainView(xx, yy);
- itemView.AddChidren(sceneView);
sceneView.Init(scene);
+ itemView.AddChidren(sceneView);
+ sceneView.CollectionAction += ShowScene;
}
GetDelayScene(sceneScrolView);
}
--
Gitblit v1.8.0